1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-12 20:58:37 +03:00

300 Commits

Author SHA1 Message Date
Volker Lendecke
ecf90c495e r19991: Sorry for this 2000-liner...
The main thing here is a rewrite of srv_winreg_nt.c. The core functionality
has moved to registry/reg_api.c which is then usable by the rest of Samba as
well.

On that way it fixes creating keys with more than one element in the
path. This did not work before.

Two things that sneaked in (sorry :-) is the change of some routines from
NTSTATUS to WERROR the removed "parent" argument to regkey_open_internal.

Volker
(This used to be commit fea52801de8c7b85c578d200c599475680c5339f)
2007-10-10 12:16:18 -05:00
Volker Lendecke
e57de5730c r19990: Fix comment
(This used to be commit 8b3d860f27d166f1a0b8019f9c9c91355c6becdf)
2007-10-10 12:16:18 -05:00
Volker Lendecke
575845ccbe r19963: Add 'registry shares = yes' and registry key security descriptors.
(This used to be commit 6cab254c49e07b11c170511ec613f0f33914c3e6)
2007-10-10 12:16:16 -05:00
Volker Lendecke
4a42371c20 r19948: Fix a memleak
(This used to be commit fd429c8c06e01452f04700518c93ecfaa51c3140)
2007-10-10 12:16:15 -05:00
Volker Lendecke
1c91cca86e r19947: Change regkey_open_internal to take the parent key and a talloc_ctx as
arguments. This also replaces regkey_close_internal by TALLOC_FREE.

Volker
(This used to be commit a177bbb2d5611f03cec25b7577c2e6a542f94a69)
2007-10-10 12:16:14 -05:00
Volker Lendecke
213bc9d440 r19913: Fix a const warning
(This used to be commit a660993d140b860691c3ed0b71d3e8023e5a7c57)
2007-10-10 12:16:08 -05:00
Volker Lendecke
b189e6d76e r19912: Move the subkey cache to srv_winreg_nt.c
(This used to be commit 01a53590a6325413551016effe302585a3a1e656)
2007-10-10 12:16:08 -05:00
Volker Lendecke
015534e254 r19872: Move the value cache to srv_winreg_nt.c. Fix some minor issues found while
playing with regedit.exe.

Volker
(This used to be commit 81bd816fa2afe89261aff2f395e8d056b73e515c)
2007-10-10 12:16:03 -05:00
Volker Lendecke
fb904d2299 r19858: Fix a memleak, add a const
(This used to be commit ed4dc405127cefd1c222e1bdd63fcaaae8e83f13)
2007-10-10 12:16:03 -05:00
Volker Lendecke
969a7faa7c r19853: Update a link
(This used to be commit ce44158dde64cb65a3f51dfe1734f3c3d7f1bfd9)
2007-10-10 12:16:02 -05:00
Volker Lendecke
7a19259051 r19841: Wrap regdb_store_keys and regdb_store_values in tdb transactions
(This used to be commit 5ec737922041b723b9e60c08049ace5fa2fa5dec)
2007-10-10 12:16:01 -05:00
Volker Lendecke
9e29e5d2b8 r19839: Fix the build, we are not there yet :-)
(This used to be commit ff4123c8f2e07e282800c166a4e00b1015ddd45c)
2007-10-10 12:16:01 -05:00
Volker Lendecke
45111ff1cb r19838: We have to delete the value record as well, otherwise the old values pop up
again if the key is re-created.

Volker
(This used to be commit f722f3341f65f8737c10eb59048c1263a58afd44)
2007-10-10 12:16:01 -05:00
Volker Lendecke
aad7194999 r19837: Some reformatting (Jerry, I hope you do not mind
(This used to be commit 6639f8c1190419e183d92ed0322e1026375717e6)
2007-10-10 12:16:01 -05:00
Volker Lendecke
45fcd0f0b7 r19828: Add a helper function to pull *and* unparse local registry values
(This used to be commit 969eb9cda6eba93068472e952e27138b9384c364)
2007-10-10 12:16:00 -05:00
Volker Lendecke
bfad442144 r19780: Ok, regkey_open_internal needs a regkey_close_internal. Giving a talloc ctx is
misleading here. This needs fixing properly :-)

Volker
(This used to be commit f808182346aa16bb2f3a9383e28d318099a5e14e)
2007-10-10 12:15:55 -05:00
Volker Lendecke
76b320c8df r19779: Fail properly on talloc_strdup failure
(This used to be commit b57e446789530cb7e18e107478ca8b59a19d990f)
2007-10-10 12:15:55 -05:00
Volker Lendecke
e82cd437cc r19778: Make regkey_open_internal take a talloc ctx
(This used to be commit cb7f4211b8441642dce9594522dc9588475a7719)
2007-10-10 12:15:55 -05:00
Volker Lendecke
cbc03ec6df r19777: Make regsubkey_ctr_addkey return WERROR. Nobody checks this so far, but this
will change.

Volker
(This used to be commit 17c7c337f64b082c1bf1045a4093c279deeec958)
2007-10-10 12:15:54 -05:00
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 b41c52b9db5fc4a553b20a7a5a051a4afced9366)
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 2f58645b7094e81dff3734f11aa183ea2ab53d2d)
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 ae20201494f44cb98e58ba98531a79feeeb82b47)
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 09652dc71ce13bd305e653557e43731378398dd6)
2007-10-10 11:38:55 -05:00
Volker Lendecke
02eea79624 r17333: Some C++ warnings
(This used to be commit be9aaffdaccae06c8c035eaf31862e34b7cfbe38)
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 c0d9114706345c6bc1fa392bbf9ee81b146cba85)
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 9dafb7f48ca3e7af956b0a7d1720c2546fc4cfb8)
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 590b58cb507e5a6e459ff0c975beb9056336f233)
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 7580eb947cdeb786be00efa5da727e32b28c99d6)
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 d04462f1d8cf009985b9112f093306a64689af64)
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 067feef34388e93ded8db7fd3b4a6a4b752a3059)
2007-10-10 11:19:03 -05:00
Volker Lendecke
1d21b9659b r16490: Fix a memleak and two typos
(This used to be commit 8cf364e602eea408fd9cd6acd12f2b72971361ae)
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 4fbeae1a3ac3499e5d9f566655cbafccd9d691cb)
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 d6547d12b1c9f9454876665a5bdb010f46b9f5ff)
2007-10-10 11:18:52 -05:00
Volker Lendecke
30832e95dc r15104: Implement Samba4's tdb_name().
Volker
(This used to be commit d52002c1c9d28e637ca4d1553e800b0b97790f36)
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 a40c7a0cd888dcee3cac1a41602863f54c51ef17)
2007-10-10 11:15:47 -05:00
Jeremy Allison
e4c66fe4ca r14766: Fix possible NULL deref. Coverity #254.
Jeremy.
(This used to be commit e2e2d8b939dd425a97b36102c6a541e3cf6236ad)
2007-10-10 11:15:47 -05:00
Volker Lendecke
db249de135 r14247: Fix Coverity bug # 136
(This used to be commit 1b247ff2ed380f5b7d28917d74d6ef5609330a45)
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 053efc20981e0280c6af0ebb9e17cea07da85fe8)
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 1d710d06a214f3f1740e80e0bffd6aab44aac2b0)
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 270fef5175559ba6345bb2c3e264c527a6a084c5)
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 46bf28c81c27dfdc412318a83bf565211a58a47d)
2007-10-10 11:05:31 -05:00
Gerald Carter
77460a9075 r11579: syncing up perf counter code cfrom trunk
(This used to be commit 59c00924b67aa3d37a933731a56d03963ec7f1b5)
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 34c3fd77b320d4fe5e0f1452aa09ea5ec2797494)
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 d720867a788c735e56d53d63265255830ec21208)
2007-10-10 11:05:02 -05:00
Gerald Carter
afca439d19 r11136: patches from Brian Moran for eventlogadm utility
(This used to be commit 47b626a8f72629fd1bbabf35b68e24d202df2555)
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 24e7663086f5d15c7e3fd8069667169b91d1acda)
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 db8d85aa1ec5c486f061f97627b6b18a0e17cd34)
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 e858eed813b5a9a8d57262142c5bbde2951b5590)
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 6c6bf6ca5fd430a7a20bf20ed08050328660e570)
2007-10-10 11:04:54 -05:00
Gerald Carter
0bf72b6e33 r10781: merging eventlog and svcctl code from trunk
(This used to be commit f10aa9fb84bfac4f1a22b74d63999668700ffaac)
2007-10-10 11:04:53 -05:00