summaryrefslogtreecommitdiff
path: root/source4/lib/registry
AgeCommit message (Collapse)AuthorFilesLines
2010-03-25python: use '#!/usr/bin/env python' to cope with varying install locationsAndrew Tridgell1-1/+1
this should be much more portable
2010-03-23s4:registry - "reg_ldb_pack_value" - provide workarounds when the server ↵Matthias Dieter Wallnöfer1-0/+9
receives non-standard data. For now we reset/delete the "data" attribute. Anyway there is the need to find a better solution (we probably want to change the format and save all data as we got it like Windows itself does). These workarounds are needed since for example the Windows 2000 Registry Editor initialises empty REG_SZ strings with content '\0' and length 1 (not a valid UTF16 sequence - "convert_string_talloc" breaks). So we simply reset/delete the "data" attribute which works (no content).
2010-03-23s4:registry - "LDB backend" - fix indentationMatthias Dieter Wallnöfer1-1/+2
2010-03-23s4:registry - "LDB backend" - revert the length check for UTF16 stringsMatthias Dieter Wallnöfer1-10/+5
Let this do the "convert_string_talloc" function as it was before.
2010-03-23s4:registry - "LDB backend" - revert the binary storage of "REG_SZ", ↵Matthias Dieter Wallnöfer1-110/+19
"REG_DWORD" and "REG_QWORD" We agreed that this hack isn't the best of the possible solutions.
2010-03-22s4:registry - "reg_key_del/add_abs": call "talloc_free" only on valid objectsMatthias Dieter Wallnöfer1-6/+6
2010-03-22s4:registry - "reg_import_hive_key" - change a "talloc_steal" into a ↵Matthias Dieter Wallnöfer1-1/+1
"talloc_reference" Use a "talloc_reference" since the "hive" variable can continue to exist also after the destructed "struct local_key" object. It is also referenced by the "mountpoints" structure under the "ctx" object.
2010-03-22s4:registry - "patchfile" - add another "W_ERROR_HAVE_NO_MEMORY" macro callMatthias Dieter Wallnöfer1-0/+1
2010-03-22s4:registry - "local" - add also here more "W_ERROR_HAVE_NO_MEMORY" macro testsMatthias Dieter Wallnöfer1-8/+26
2010-03-22s4:registry - "util.c" - initialise "result" in "reg_key_add_abs"Matthias Dieter Wallnöfer1-0/+2
2010-03-22s4:registry - "samba.c" - add a "talloc_free"Matthias Dieter Wallnöfer1-0/+2
2010-03-22s4:registry - add more "W_ERROR_HAVE_NO_MEMORY" invocations (on talloc'ed stuff)Matthias Dieter Wallnöfer4-1/+13
2010-03-22s4:registry - "util" - remove "const" from "reg_abs_path"Matthias Dieter Wallnöfer1-3/+3
Here it's not really needed
2010-03-22s4:registry - adaptions for "add also a memory context argument for ↵Matthias Dieter Wallnöfer2-2/+2
"reg_key_del_abs"
2010-03-22s4:registry - "util" - add also a memory context argument for "reg_key_del_abs"Matthias Dieter Wallnöfer2-5/+4
2010-03-22s4:registry - "util" - make "reg_key_add_abs" consistent with "reg_key_del_abs"Matthias Dieter Wallnöfer1-6/+3
2010-03-22s4:registry - "util" - fix up memory allocated dataMatthias Dieter Wallnöfer1-1/+10
2010-03-22s4:registry - "dir.c" - fix up dynamic memory allocation operationsMatthias Dieter Wallnöfer1-15/+50
- Added free operations where needed - Use always the "mem_ctx" for temporary data - Proof with W_ERROR_HAVE_NO_MEMORY if stuff was allocated
2010-03-22s4:registry - adaptions for "add memory contexts for delete value/key functions"Matthias Dieter Wallnöfer13-62/+57
2010-03-22s4:registry - registry.h - add memory contexts for delete value/key functionsMatthias Dieter Wallnöfer1-8/+16
2010-03-22s4:registry - "RPC backend" - use "talloc_steal" and not "talloc_reference"Matthias Dieter Wallnöfer1-4/+4
No need to create additional references but we need to assign the strings to the right context.
2010-03-22s4:registry - "patchfile" - check if strings could be allocatedMatthias Dieter Wallnöfer1-0/+10
2010-03-22s4:registry - "patchfile" - initialise the data blobsMatthias Dieter Wallnöfer1-2/+2
2010-03-22s4:registry - "patchfile" - add more "talloc_free"s to save memoryMatthias Dieter Wallnöfer1-5/+30
2010-03-22s4:registry - "util.c" - "reg_string_to_val" - consider always the return valuesMatthias Dieter Wallnöfer1-7/+9
In some cases we didn't consider them.
2010-03-22s4:registry - "patchfile_preg.c" - also here don't accumulate the memory usageMatthias Dieter Wallnöfer1-4/+26
Free always the unused stuff.
2010-03-22s4:registry - "patchfile_dotreg.c" - fix a memory leakMatthias Dieter Wallnöfer1-3/+5
Here we allocate memory on the "NULL" context through "reg_val_data_string" on each call of "set_value". So when we have written out the allocated data on the specified file descriptor we should immediately free this memory! Otherwise we may end up with a big memory consumption on big registry databases.
2010-03-22s4:registry - "patchfile" - add commentsMatthias Dieter Wallnöfer1-0/+6
Helps to understand when we need to generate the hive diffs.
2010-03-22s4:registry - "patchfile.c" - consider also the hives in the generated diffsMatthias Dieter Wallnöfer1-0/+9
Apparently the diffs for the hives weren't generated previously.
2010-03-22s4:registry - "patchfile.c" - fix a typoMatthias Dieter Wallnöfer1-1/+1
2010-03-21s4:regtree - fix counter variables to be "unsigned"Matthias Dieter Wallnöfer1-3/+4
2010-03-21s4:registry - "LDB backend" - "reg_ldb_unpack_value"Matthias Dieter Wallnöfer1-1/+1
When the name isn't found it is the default value. Call it "" to be consistent.
2010-03-21s4:registry - "LDB backend" - "reg_key_get_info"Matthias Dieter Wallnöfer1-2/+29
Consider also the default value (if it exists) as value. That means: - count it when setting "num_values" - take also his buffer length as a candidate for the maximum value buffer length This is what Windows does.
2010-03-21s4:registry - "LDB backend" - "ldb_get_default_value"Matthias Dieter Wallnöfer1-1/+1
There exist also key objects (the hives) which don't contain a "key" entry at all. This prevented to display their default value (my fault).
2010-03-21s4:registry - "LDB backend" - make the key argument "const" of ↵Matthias Dieter Wallnöfer1-1/+2
ldb_get_default_value
2010-03-21s4:registry - "LDB backend" - fix indentationMatthias Dieter Wallnöfer1-2/+2
2010-03-21s4:regshell - here we don't need a newline - "ctime" itself provides oneMatthias Dieter Wallnöfer1-1/+1
2010-03-21s4:regshell - don't return an error code if we get a security descriptors errorMatthias Dieter Wallnöfer1-2/+2
s4 itself doesn't support them so print only the error code out (in s4's case WERR_NOT_SUPPORTED).
2010-03-21s4:registry - "LDB backend" - reg_key_get_info - adapt max. subkey and value ↵Matthias Dieter Wallnöfer1-8/+8
length Those lengths are measured in UTF8 string lengths and not in UTF16 ones (the returned strings are generally in this format). Discovered this by checking the s3 registry code. Therefore we have to multiply the both numbers by two. Discovered with the "regedt32" (old NT registry editor).
2010-03-21s4:registry - "LDB backend" - don't test for "0" as string termination on ↵Matthias Dieter Wallnöfer1-2/+1
binary and unknown typed values
2010-03-21s4:registry - handle type "DWORD_BIG_ENDIAN" as type "DWORD"Matthias Dieter Wallnöfer3-16/+5
Further tests show that (at least per default) there aren't any differences between them.
2010-03-21s4:registry - "LDB backend" - fix up memory allocation for dynamic integersMatthias Dieter Wallnöfer1-2/+2
We don't need to reserve memory for NULL termination when storing data as integers.
2010-03-21s4:registry - "LDB backend" - Fix up the storage of binary ↵Matthias Dieter Wallnöfer1-11/+12
REG_SZ/REG_EXPAND_SZ values There seem to exist also UTF16 sequences which have byte sizes of a multiple of two but are invalid (gd's winreg test shows this).
2010-03-16s4:registry - use a macro for reverse byte orderMatthias Dieter Wallnöfer2-10/+4
2010-03-16s4:registry - check also for other registry value types in the generic testMatthias Dieter Wallnöfer1-0/+16
2010-03-16s4:registry - add a test for the "REG_DWORD_BIG_ENDIAN" datatypeMatthias Dieter Wallnöfer1-0/+14
2010-03-16s4:registry - introduce the "REG_DWORD_BIG_ENDIAN" datatypeMatthias Dieter Wallnöfer2-4/+26
It's like the normal REG_DWORD type but the byte order swapped
2010-03-15s4:registry - rpc - don't crash when communication partner isn't availableMatthias Dieter Wallnöfer1-4/+4
2010-03-15s4:registry - util.c - treat unsupported and binary values as the same in ↵Matthias Dieter Wallnöfer1-17/+5
the conversion functions We don't need to provide an extra representation for all available registry types. But if we treat all unsupported types as binary we also get our tools (regtree, regshell, regdiff...) working with them in a basic manner.
2010-03-15s4:registry - util.c - move the "REG_NONE" case in the conversion functions ↵Matthias Dieter Wallnöfer1-6/+6
on top of the switch (As in the "reg_value_types" structure)