Age | Commit message (Collapse) | Author | Files | Lines |
|
(This used to be commit 92bc870768a2ff839b3b10897a4f09a3ece92704)
|
|
(This used to be commit 0742faaacd496f9cc4581a1fad74217024383661)
|
|
registry
stuff. Revert the last change.
This needs better fixing.
Volker
(This used to be commit ad1e00430bf5c4130023d30e9c8266ecdc640d2b)
|
|
Initializing the reg_db now uses reg_createkey and reg_setvalue.
Volker
(This used to be commit cab5ccbbe484795f13531726d68b978073262e33)
|
|
(This used to be commit 281640823bfe25f513f44f6c6d7022a11b957fa5)
|
|
(This used to be commit ad22a467185e871d893e8133741b525889c2aa6f)
|
|
(This used to be commit a6039eb46c6506b4e55e816d50edb618e800007f)
|
|
(This used to be commit dc0300ec70ff67aaec9b0bab6a1dd4d0e6fde5ac)
|
|
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)
|
|
(This used to be commit 8b3d860f27d166f1a0b8019f9c9c91355c6becdf)
|
|
(This used to be commit 6cab254c49e07b11c170511ec613f0f33914c3e6)
|
|
(This used to be commit fd429c8c06e01452f04700518c93ecfaa51c3140)
|
|
arguments. This also replaces regkey_close_internal by TALLOC_FREE.
Volker
(This used to be commit a177bbb2d5611f03cec25b7577c2e6a542f94a69)
|
|
(This used to be commit a660993d140b860691c3ed0b71d3e8023e5a7c57)
|
|
(This used to be commit 01a53590a6325413551016effe302585a3a1e656)
|
|
while
playing with regedit.exe.
Volker
(This used to be commit 81bd816fa2afe89261aff2f395e8d056b73e515c)
|
|
(This used to be commit ed4dc405127cefd1c222e1bdd63fcaaae8e83f13)
|
|
(This used to be commit ce44158dde64cb65a3f51dfe1734f3c3d7f1bfd9)
|
|
(This used to be commit 5ec737922041b723b9e60c08049ace5fa2fa5dec)
|
|
(This used to be commit ff4123c8f2e07e282800c166a4e00b1015ddd45c)
|
|
pop up
again if the key is re-created.
Volker
(This used to be commit f722f3341f65f8737c10eb59048c1263a58afd44)
|
|
(This used to be commit 6639f8c1190419e183d92ed0322e1026375717e6)
|
|
(This used to be commit 969eb9cda6eba93068472e952e27138b9384c364)
|
|
talloc ctx is
misleading here. This needs fixing properly :-)
Volker
(This used to be commit f808182346aa16bb2f3a9383e28d318099a5e14e)
|
|
(This used to be commit b57e446789530cb7e18e107478ca8b59a19d990f)
|
|
(This used to be commit cb7f4211b8441642dce9594522dc9588475a7719)
|
|
but this
will change.
Volker
(This used to be commit 17c7c337f64b082c1bf1045a4093c279deeec958)
|
|
descriptor
buffers.
Make security access masks simply a uint32 rather than a structure
with a uint32 in it.
(This used to be commit b41c52b9db5fc4a553b20a7a5a051a4afced9366)
|
|
and DLIST_DEMOTE() now take the type of the tmp pointer
not the tmp pointer itself anymore.
metze
(This used to be commit 2f58645b7094e81dff3734f11aa183ea2ab53d2d)
|
|
Jeremy.
(This used to be commit ae20201494f44cb98e58ba98531a79feeeb82b47)
|
|
Stanford checker.
Jeremy.
(This used to be commit 09652dc71ce13bd305e653557e43731378398dd6)
|
|
(This used to be commit be9aaffdaccae06c8c035eaf31862e34b7cfbe38)
|
|
(This used to be commit c0d9114706345c6bc1fa392bbf9ee81b146cba85)
|
|
to do the upper layer directories but this is what
everyone is waiting for....
Jeremy.
(This used to be commit 9dafb7f48ca3e7af956b0a7d1720c2546fc4cfb8)
|
|
Jeremy.
(This used to be commit 590b58cb507e5a6e459ff0c975beb9056336f233)
|
|
Jeremy.
(This used to be commit 7580eb947cdeb786be00efa5da727e32b28c99d6)
|
|
Jeremy.
(This used to be commit d04462f1d8cf009985b9112f093306a64689af64)
|
|
Jeremy.
(This used to be commit 067feef34388e93ded8db7fd3b4a6a4b752a3059)
|
|
(This used to be commit 8cf364e602eea408fd9cd6acd12f2b72971361ae)
|
|
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)
|
|
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)
|
|
Volker
(This used to be commit d52002c1c9d28e637ca4d1553e800b0b97790f36)
|
|
Jeremy.
(This used to be commit a40c7a0cd888dcee3cac1a41602863f54c51ef17)
|
|
Jeremy.
(This used to be commit e2e2d8b939dd425a97b36102c6a541e3cf6236ad)
|
|
(This used to be commit 1b247ff2ed380f5b7d28917d74d6ef5609330a45)
|
|
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)
|
|
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)
|
|
eventlog registry keys so that file properties can be displayed
(This used to be commit 270fef5175559ba6345bb2c3e264c527a6a084c5)
|
|
printer as the username map might get in the way
(This used to be commit 46bf28c81c27dfdc412318a83bf565211a58a47d)
|
|
(This used to be commit 59c00924b67aa3d37a933731a56d03963ec7f1b5)
|