1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-04 05:18:06 +03:00
Commit Graph

131 Commits

Author SHA1 Message Date
Jelmer Vernooij
4db7642caa r18745: Use the Samba4 data structures for security descriptors and security descriptor
buffers.

Make security access masks simply a uint32 rather than a structure
with a uint32 in it.
(This used to be commit b41c52b9db)
2007-10-10 12:00:54 -05:00
Stefan Metzmacher
258a465e20 r18605: sync dlinklist.h with samba4, that means DLIST_ADD_END()
and DLIST_DEMOTE() now take the type of the tmp pointer
not the tmp pointer itself anymore.

metze
(This used to be commit 2f58645b70)
2007-10-10 11:51:59 -05:00
Jeremy Allison
2eff779b17 r17878: Fix possible null deref found by Stanford checker.
Jeremy.
(This used to be commit ae20201494)
2007-10-10 11:38:56 -05:00
Jeremy Allison
5f925a0190 r17867: Fix null deref in error code path. Found by the
Stanford checker.
Jeremy.
(This used to be commit 09652dc71c)
2007-10-10 11:38:55 -05:00
Volker Lendecke
02eea79624 r17333: Some C++ warnings
(This used to be commit be9aaffdac)
2007-10-10 11:38:26 -05:00
Volker Lendecke
4f33673b41 r17047: Fix a typo and a possible NULL dereference
(This used to be commit c0d9114706)
2007-10-10 11:19:22 -05:00
Jeremy Allison
fbdcf2663b r16945: Sync trunk -> 3.0 for 3.0.24 code. Still need
to do the upper layer directories but this is what
everyone is waiting for....

Jeremy.
(This used to be commit 9dafb7f48c)
2007-10-10 11:19:14 -05:00
Jeremy Allison
68e4fc8066 r16650: Fix bug #3890 reported by jason@ncac.gwu.edu.
Jeremy.
(This used to be commit 590b58cb50)
2007-10-10 11:19:06 -05:00
Jeremy Allison
7d6856240b r16636: Fix bug #3884 reported by jason@ncac.gwu.edu
Jeremy.
(This used to be commit 7580eb947c)
2007-10-10 11:19:05 -05:00
Jeremy Allison
6a9b101dd6 r16634: Fix bug #3883 reported by jason@ncac.gwu.edu.
Jeremy.
(This used to be commit d04462f1d8)
2007-10-10 11:19:04 -05:00
Jeremy Allison
5fb4cc9dff r16603: Klockwork #2028. Fix null deref on error path.
Jeremy.
(This used to be commit 067feef343)
2007-10-10 11:19:03 -05:00
Volker Lendecke
1d21b9659b r16490: Fix a memleak and two typos
(This used to be commit 8cf364e602)
2007-10-10 11:18:57 -05:00
Jeremy Allison
f014291edd r16424: Fix possible null deref and a memory leak found by
examining Klockwork #1519. get_printer_subkeys()
could return zero without initializing it's return
pointer arg. Fixed this. Added free of subkey pointer
return in registry/reg_printing.c (interesting that
neithe Coverity or Klocwork found this one).
Jeremy.
(This used to be commit 4fbeae1a3a)
2007-10-10 11:18:52 -05:00
Volker Lendecke
3c34f6085a r16409: Fix Klocwork ID's.
1177

In reg_perfcount.c: 1200 1202 1203 1204
In regfio.c: 1243 1245 1246 1247 1251

Jerry, the reg_perfcount and regfio.c ones, can you take a look please? This
is really your code, and I'm not sure I did the right thing to return an
error.

smbcacls.c: 1377
srv_eventlog_nt.c: 1415 1416 1417
srv_lsa_nt.c: 1420 1421
srv_netlog_nt.c: 1429
srv_samr_nt: 1458 1459 1460

Volker

Volker
(This used to be commit d6547d12b1)
2007-10-10 11:18:52 -05:00
Volker Lendecke
30832e95dc r15104: Implement Samba4's tdb_name().
Volker
(This used to be commit d52002c1c9)
2007-10-10 11:16:23 -05:00
Jeremy Allison
68dcff3f3a r14768: Fix potential null deref coverity bugs #255, #256.
Jeremy.
(This used to be commit a40c7a0cd8)
2007-10-10 11:15:47 -05:00
Jeremy Allison
e4c66fe4ca r14766: Fix possible NULL deref. Coverity #254.
Jeremy.
(This used to be commit e2e2d8b939)
2007-10-10 11:15:47 -05:00
Volker Lendecke
db249de135 r14247: Fix Coverity bug # 136
(This used to be commit 1b247ff2ed)
2007-10-10 11:15:20 -05:00
Jeremy Allison
2615b079f0 r13978: Here is why it's essential to use SAFE_FREE instead of free.
If we use free(data.dptr) and then the subsequent tdb_open
fails in _reg_perfcount_get_counter_data() then data.dptr
is left as a non-zero pointer that has been freed. This would
cause it to be reused later on. Coverity bug #162.
Jeremy.
(This used to be commit 053efc2098)
2007-10-10 11:11:02 -05:00
Jeremy Allison
894358a8f3 r13915: Fixed a very interesting class of realloc() bugs found by Coverity.
realloc can return NULL in one of two cases - (1) the realloc failed,
(2) realloc succeeded but the new size requested was zero, in which
case this is identical to a free() call.

The error paths dealing with these two cases should be different,
but mostly weren't. Secondly the standard idiom for dealing with
realloc when you know the new size is non-zero is the following :

 tmp = realloc(p, size);
 if (!tmp) {
    SAFE_FREE(p);
    return error;
 } else {
    p = tmp;
 }

However, there were *many* *many* places in Samba where we were
using the old (broken) idiom of :

 p = realloc(p, size)
 if (!p) {
    return error;
 }

which will leak the memory pointed to by p on realloc fail.

This commit (hopefully) fixes all these cases by moving to
a standard idiom of :

 p = SMB_REALLOC(p, size)
 if (!p) {
    return error;
 }

Where if the realloc returns null due to the realloc failing
or size == 0 we *guarentee* that the storage pointed to by p
has been freed. This allows me to remove a lot of code that
was dealing with the standard (more verbose) method that required
a tmp pointer. This is almost always what you want. When a
realloc fails you never usually want the old memory, you
want to free it and get into your error processing asap.

For the 11 remaining cases where we really do need to keep the
old pointer I have invented the new macro SMB_REALLOC_KEEP_OLD_ON_ERROR,
which can be used as follows :

 tmp = SMB_REALLOC_KEEP_OLD_ON_ERROR(p, size);
 if (!tmp) {
    SAFE_FREE(p);
    return error;
 } else {
    p = tmp;
 }

SMB_REALLOC_KEEP_OLD_ON_ERROR guarentees never to free the
pointer p, even on size == 0 or realloc fail. All this is
done by a hidden extra argument to Realloc(), BOOL free_old_on_error
which is set appropriately by the SMB_REALLOC and SMB_REALLOC_KEEP_OLD_ON_ERROR
macros (and their array counterparts).

It remains to be seen what this will do to our Coverity bug count :-).

Jeremy.
(This used to be commit 1d710d06a2)
2007-10-10 11:10:59 -05:00
Gerald Carter
15615dc1f6 r12002: patch from marcin to allow for the creation of a File value in the eventlog registry keys so that file properties can be displayed
(This used to be commit 270fef5175)
2007-10-10 11:05:41 -05:00
Gerald Carter
f2ecd4fed0 r11860: BUG 3156: don't use find_service() when explicitly looking for a printer as the username map might get in the way
(This used to be commit 46bf28c81c)
2007-10-10 11:05:31 -05:00
Gerald Carter
77460a9075 r11579: syncing up perf counter code cfrom trunk
(This used to be commit 59c00924b6)
2007-10-10 11:05:21 -05:00
Gerald Carter
f1195329a7 r11227: patch from brian moran to fix typo in eventlog message file registry value name
(This used to be commit 34c3fd77b3)
2007-10-10 11:05:06 -05:00
Jeremy Allison
8d7c886671 r11137: Compile with only 2 warnings (I'm still working on that code) on a gcc4
x86_64 box.
Jeremy.
(This used to be commit d720867a78)
2007-10-10 11:05:02 -05:00
Gerald Carter
afca439d19 r11136: patches from Brian Moran for eventlogadm utility
(This used to be commit 47b626a8f7)
2007-10-10 11:05:02 -05:00
Gerald Carter
c246649e3d r11123: * patches from Brian Moran for creating new eventlog
source keys
* my patches to get registry utility functions linking
  with eventlogadm tool
(This used to be commit 24e7663086)
2007-10-10 11:05:00 -05:00
Gerald Carter
d45d113659 r11073: safety checks on pointers to prevent crashing when converting REG_MULTI_SZ
(This used to be commit db8d85aa1e)
2007-10-10 11:05:00 -05:00
Gerald Carter
5b52e4a0eb r11072: add routines for converting REG_MULTI_SZ to and from char**
(This used to be commit e858eed813)
2007-10-10 11:05:00 -05:00
Gerald Carter
01a1e5cdb0 r10819: merging a couple of fixes from trunk
* only keep the registry,tdb file open when we have an open key handle
* tpot's setup.py fix
* removing files that no longer exist in trunk and copying some
  that were missing in 3.0
(This used to be commit 6c6bf6ca5f)
2007-10-10 11:04:54 -05:00
Gerald Carter
0bf72b6e33 r10781: merging eventlog and svcctl code from trunk
(This used to be commit f10aa9fb84)
2007-10-10 11:04:53 -05:00
Gerald Carter
54abd2aa66 r10656: BIG merge from trunk. Features not copied over
* \PIPE\unixinfo
* winbindd's {group,alias}membership new functions
* winbindd's lookupsids() functionality
* swat (trunk changes to be reverted as per discussion with Deryck)
(This used to be commit 939c3cb5d7)
2007-10-10 11:04:48 -05:00
Gerald Carter
7b31155d2c r10012: fix build breakage caused by forgotten commit in local tree
(This used to be commit 8c819cd0c6)
2007-10-10 11:03:31 -05:00
Jelmer Vernooij
e8a5fad39d r9965: Fix some typo's
(This used to be commit d30356b9ad)
2007-10-10 11:03:29 -05:00
Gerald Carter
4fa0ed6349 r9914: key ordering in hash list is case insensitive
(This used to be commit 18d0543183)
2007-10-10 11:03:28 -05:00
Gerald Carter
926ebe50ff r9895: fix typo in registry path
(This used to be commit ef7e0d70c6)
2007-10-10 11:03:27 -05:00
Gerald Carter
790a29253c r9894: Add new registry key expected by Windows XP clients.
HKLM\\SYSTEM\\CurrentControlSet\\Control\\Termininal Server\\DefaultUserConfiguration

Apparently this started showing up after the winreg-write support
was added in 3.0.20rc1 or so.

Also modifed init_registry_data() to always run and add the
required keys.  Initial values however are only written if
they don't already exist.

This makes it easier to add new keys without having to rev the
tdb version number (which is really unnecessary in this case).

Portions of patch reviewed by Thomas Bork on the general samba ml.
(This used to be commit b12a05b237)
2007-10-10 11:03:27 -05:00
Gerald Carter
44707ad2e0 r9739: conver the reg_objects (REGSUBKEY_CTR & REGVAL_CTR) to use
the new talloc() features:

 Note that the REGSUB_CTR and REGVAL_CTR objects *must* be talloc()'d
 since the methods use the object pointer as the talloc context for
 internal private data.

 There is no longer a regXXX_ctr_intit() and regXXX_ctr_destroy()
 pair of functions.  Simply TALLOC_ZERO_P() and TALLOC_FREE() the
 object.

Also had to convert the printer_info_2->NT_PRINTER_DATA field
to be talloc()'d as well.  This is just a stop on the road to
cleaning up the printer memory management.
(This used to be commit ef721333ab)
2007-10-10 11:03:25 -05:00
Gerald Carter
f5b2238bb3 r9657: fix final issue with regf sk_records; profiles now successfully rewrites
Win2k and WinXP user profile security descriptors.
(This used to be commit 3a3bf4ddb7)
2007-10-10 11:03:24 -05:00
Gerald Carter
d602d8c442 r9656: fix bug in sk record list with next offsets
(This used to be commit c588c2ee69)
2007-10-10 11:03:23 -05:00
Gerald Carter
030bba20f1 r9486: ensure that the registry hash records are sorted by original subkey name and not the 4 character hash key
(This used to be commit 8d34756191)
2007-10-10 11:01:11 -05:00
Tim Potter
9a14b005a1 r9278: Remove unused variable. Bugzilla #2983.
(This used to be commit 5d592691e4)
2007-10-10 11:00:30 -05:00
Gerald Carter
30865196bf r9115: using #define for reg paths rather than typing the string
(This used to be commit e9427912a7)
2007-10-10 11:00:26 -05:00
Gerald Carter
ac42cd59f2 r9086: * fix invalid read in parse_spoolss when writing a devmode to
the wire
* fix dup_a_regval() when size is 0
* ensure we pass a pstring to unlink_internals (fixes delete_driver
  code)
(This used to be commit 353e63ff42)
2007-10-10 11:00:25 -05:00
Gerald Carter
638b694070 r8607: BUG 2900 more compiler warnings
(This used to be commit ed93cc50e1)
2007-10-10 11:00:12 -05:00
Gerald Carter
6ac01319b4 r8606: BUG 2899: fix compiler warning in regfio routine
(This used to be commit d6b1f695a0)
2007-10-10 11:00:12 -05:00
Gerald Carter
7a51eb50d4 r8604: BUG 2890: fix unitialized variable reported by Jason Mader <jason@ncac.gwu.edu>
(This used to be commit 9f8344e31d)
2007-10-10 11:00:12 -05:00
Gerald Carter
6fe5451543 r8501: * disable printer handle object cache (was mostly used
for NT4 clients enumerating printer data on slow CPUs)
* fix pinter and secdesc record upgrade to normalize the key
  (rev'd printer tdb version)
* fixed problem that was normalizing the printername name field

in general, this should fix the issues upgrading print servers
from 3.0.14a to 3.0.20
(This used to be commit d07179de2f)
2007-10-10 11:00:06 -05:00
Gerald Carter
b5c7572419 r8327: * don't use unitialized variables
(This used to be commit bd87819795)
2007-10-10 10:58:20 -05:00
Gerald Carter
1cb4334fb9 r8325: * punt....don't normalize the printer name in the RegCreateKey().
Print Migrator now works as long as the addprinter command can
  handle the name
(This used to be commit 61f14cdcbd)
2007-10-10 10:58:19 -05:00