summaryrefslogtreecommitdiff
path: root/source4/lib/registry
AgeCommit message (Collapse)AuthorFilesLines
2008-02-26registry: Implement recursive deletes for regf-backed registry.Andrew Kroeger1-4/+49
When deleting a registry key that contains subkeys or values, Windows performs a recursive deletion that removes any subkeys or values. This update makes deletes for an regf-backed registry consistent with Windows. The regf-backed registry does not have transactional integrity when performing multiple operations. Therefore, if an error occurs during the recursive deletion, the regf-backed registry may be left in an inconsistent state. (This used to be commit b0321bad290d1a9399b4aba140a622e3af6d7575)
2008-02-26registry: Implement recursive deletes for dir-backed registry.Andrew Kroeger1-6/+54
When deleting a registry key that contains subkeys or values, Windows performs a recursive deletion that removes any subkeys or values. This update makes deletes for an dir-backed registry consistent with Windows. The dir-backed registry relies on the underlying filesystem, which does not generally have transactional integrity when performing multiple operations. Therefore, if an error occurs during the recursive deletion, the dir-backed registry may be left in an inconsistent state. (This used to be commit 6b5fbf7e4e38342bcd80e63f46cd295f89ab1ee9)
2008-02-26registry: Implement recursive deletes for ldb-backed registry.Andrew Kroeger1-27/+116
When deleting a registry key that contains subkeys or values, Windows performs a recursive deletion that removes any subkeys or values. This update makes deletes for an ldb-backed registry consistent with Windows. Under ldb, the deletion is done using an explicit transaction. If an error occurs during the deletion the entire transaction is cancelled, leaving the registry as it was before the deletions started. (This used to be commit ca796c8fb10598674a5eef31d15863e79bcf3db8)
2008-02-21Remove more uses of global_loadparm.Jelmer Vernooij7-24/+38
(This used to be commit 3430cc60972b94d0d238bc39f473feed96949c5d)
2008-02-11Fix switching of hives in regshell (#5254)Jelmer Vernooij1-0/+3
(This used to be commit 5f33545c78e13871d622c0a5a0ded789bf624869)
2008-02-09registry: Fix warning.Jelmer Vernooij1-1/+1
(This used to be commit dad809030478a85ac13a73bce9c07314792f01c2)
2008-01-22build: Remove support for DESCRIPTION setting that is now unused.Jelmer Vernooij1-1/+0
(This used to be commit 91d7ba5202e6c375456a42c2c6861f63c7fcfc20)
2008-01-22dcerpc: Use manually written .pc files for dcerpc and ndr.Jelmer Vernooij1-1/+1
(This used to be commit 676fd18fa2914b7b5530014a944a11ea1d6f631d)
2008-01-22registry: Use manually written .pc file.Jelmer Vernooij2-0/+13
(This used to be commit 5c64d4adaf50215ec2645f76e6c0335572147614)
2008-01-18registry: Use correct return values.Jelmer Vernooij7-32/+53
(This used to be commit 98ebdbe52fd615ea62a3caa17acfe8bb31b8f85d)
2008-01-18registry: Avoid mapping registry return codes: return the right value in the ↵Jelmer Vernooij3-3/+3
first place. (This used to be commit 434e4857cec17d6d9e8983e151c170eed59fc6d1)
2008-01-18When Windows attempts to create a new key, it looks for an available key nameAndrew Kroeger1-7/+13
starting with "New Key #1" and iterating up to "New Key #99" before giving up. ldb_open_key() calls reg_path_to_ldb() to build the appropriate dn from the key name. reg_path_to_ldb() was not catching the error returned by ldb_dn_add_base_fmt() due to the unescaped '#' character, causing the returned dn to be that of the parent key, not the potential new key. Additionally, Windows expects a return value of WERR_BADFILE when a key does not exist, but WERR_NOT_FOUND was being returned instead. Correcting the building of the dn and the providing the expected return value allows new key creation to succeed. When attempting to delete a key, Windows passes the complete path to the key, not just the name of the child key to be deleted. Using reg_path_to_ldb() to build the correct dn allows key deletion to succeed. (This used to be commit d57792d67b865ef43e7f21640b158862627f4b45)
2008-01-18registry: Improve error codes and update tests.Jelmer Vernooij6-20/+23
Rather than map the error returned by the registry to the correct error, return the correct error in the first place. Also deal with the fact that the right error code is now returned in a couple of places. (This used to be commit 1e31fcb8a097810a97e2d4bb1f243f1b34cc2415)
2008-01-18When Windows initially creates a new value, the value name is "New Value #1".Andrew Kroeger1-2/+22
The '#' character was causing problems, as it was not being escaped for the dn, but the failure returned by ldb_dn_add_child_fmt() was not being caught. This was causing the new value to be added on the parent key, not the current key. When attempting to delete the new value (now on the parent key) the same escaping error was returned by ldb_dn_add_child_fmt(), causing the delete to delete the key and not the value. When attempting to rename a value, Windows first tries to ensure the new name does not already exist. When a value does not exist, Windows expects a return value of WERR_BADFILE, but WERR_NOT_FOUND was being returned instead. Providing the WERR_BADFILE that Windows expects allows values to be renamed. (This used to be commit 94fb39cfd967455ce5a554720c1c7e6183f91056)
2008-01-18registry: Properly check return values from ldb_*() functions.Andrew Kroeger1-3/+3
There were a few cases left that attempted to detect errors from ldb_*() function calls using "(ret < 0)". As all LDB_* error codes are greater than zero, there was no chance any errors would be detected. Changed all such tests to use "(ret != LDB_SUCCESS)". (This used to be commit 0ed6f1b1628da5b922f02a5f9a6c60071b6277f2)
2008-01-18registry: Check for more specific LDB return codes, handle changing existing ↵Jelmer Vernooij1-6/+11
values better. (This used to be commit c8b22ef30c7fc0ccc15e9fc9a38fdc639fc4b976)
2008-01-07r26692: registry: Treat key and value names case-insensitively.Jelmer Vernooij1-0/+10
(This used to be commit 9fc5f098e01145db5b01efb0bf22cdddf0213d20)
2008-01-07r26689: registry: Return max_subkeynamelen, max_valnamelen and ↵Jelmer Vernooij13-44/+171
max_valbufsize in getkeyinfo(). (This used to be commit b06896d2378e536f5044dbe500a5232a89d6d0b5)
2008-01-07r26688: Fix listing remote predefined keys and subkeys. This fixes bug 3431.Jelmer Vernooij4-36/+64
(This used to be commit 846876ad32dc86fe7c367db084e76c670c61b389)
2008-01-05r26665: registry: Fix tests on bigendian machines.Jelmer Vernooij1-2/+6
(This used to be commit bcd8f50f7952d1e502326f11ddfa8cfe8a982b1b)
2008-01-01r26639: librpc: Pass iconv convenience on from RPC connection to NDR ↵Jelmer Vernooij1-1/+1
library, so it can be overridden by OpenChange. (This used to be commit 2f29f80e07adef1f020173f2cd6d947d0ef505ce)
2008-01-01r26638: libndr: Require explicitly specifying iconv_convenience for ↵Jelmer Vernooij1-2/+2
ndr_struct_push_blob(). (This used to be commit 61ad78ac98937ef7a9aa32075a91a1c95b7606b3)
2007-12-26r26602: Revert my previous commit as it only works with GNU make.Jelmer Vernooij1-7/+7
(This used to be commit ecd2d96c3173e4d2f77a1ca50f26a16ac7a313b1)
2007-12-26r26600: Provide dir variable with current basedir in Makefile.Jelmer Vernooij1-7/+7
(This used to be commit b06d3e1a52d6b71a1e3e7a9e0ecf69f3b899ae18)
2007-12-26r26596: Fixed upgrade.py.Jelmer Vernooij1-1/+6
Added blackbox tests for provision and upgrade Python scripts. Clean up temporary files created by the Python tests. (This used to be commit 2227fb6df62240cae64d27a1920d878316f819fc)
2007-12-26r26589: torture: Add non-const version of torture_tcase_add_simple_testKai Blin2-105/+79
(This used to be commit 1ae9cde5105cc4349a44e6098e9393e06acaf95d)
2007-12-26r26588: Janitorial: Rename torture_*_add_*test to torture_*_add_*test_const.Kai Blin2-56/+57
Also rename the corresponding wrap_ functions. (This used to be commit e59c2eaf681f076d175b9779d1c27b5f74a57c96)
2007-12-24r26576: Allow the static module loading code to be used for the Python modules.Jelmer Vernooij1-1/+1
Simplify the way module initialization functions are handled. (This used to be commit ba8be2dfc0de4434c798663336b81f7f95cde520)
2007-12-24r26572: Fix warnings in the Python code.Jelmer Vernooij2-18/+20
(This used to be commit 15038d9586d0b58f301ca8c39c21ef10c4283f28)
2007-12-24r26571: Hide warnings about unused macros and casting qualifiers in ↵Jelmer Vernooij1-21/+7
autogenerated files. (This used to be commit cb76c60007ae1254181c09ba1ab09c419f500bc5)
2007-12-24r26570: - Trim size of the swig-generated Python bindings by removing a ↵Jelmer Vernooij3-229/+160
bunch of {}'s. - Start working on Python equivalents for various EJS tests. - Fix regression in argument order for reg_diff_apply() in EJS bindings. (This used to be commit c550c03372cb260b78f6a6c132e70571bc4cb852)
2007-12-24r26565: Fix python registry bindings. 'PROVISION_PYTHON=yes make test' works ↵Jelmer Vernooij9-16/+239
now. (This used to be commit 485d1fa3d17fe6cc7a0ecd80e8bac42d173bbb19)
2007-12-24r26564: More python bindings for registry code.Jelmer Vernooij7-101/+238
(This used to be commit f40fad9827d0e9567224bc1e64ea91e610a07a3f)
2007-12-24r26563: Fix reg_diff_apply argument order.Jelmer Vernooij4-10/+4
(This used to be commit cfffd0357ee4c4bb3f3c9adb051eeee1bbac526a)
2007-12-21r26520: More Python updates.Jelmer Vernooij2-18/+108
(This used to be commit a8b1fe15ac853082961132ede061fe1556ae29f7)
2007-12-21r26518: Fix provision of registry using Python.Jelmer Vernooij5-20/+17
(This used to be commit 12eb38e553993b2726a803af4ae9c05229d6ebe4)
2007-12-21r26454: Add simple SWIG macro for wrapping talloced types.Jelmer Vernooij3-59/+45
(This used to be commit 760fcc8bfa2a7cd7641465cb3bae889e9e0fbc75)
2007-12-21r26453: Janitorial: Don't use a static char[] in smb_readline_replacement.Kai Blin1-1/+5
Fix up callers to free the memory returned, as that is needed if we use the original readline function as well. (This used to be commit c81ead1c38f417d442157b21d0d389f6a540c6f9)
2007-12-21r26451: Janitorial: fix warnings in lib/registry/Kai Blin10-20/+18
This does not fix the discarded qualifier warnings in tests, as the test data is currently passed as const. Jelmer wants to provide a test function that passes non-const test data, thus allowing for a cleaner way to fix those warnings. (This used to be commit 46dfa63d4f7381c5c6ce3f4b8b0bd9aa9e16950c)
2007-12-21r26448: Add basic tests for param python module.Jelmer Vernooij3-27/+78
(This used to be commit ccfab20dcc2d7059c402c03be244b759d59c4b81)
2007-12-21r26443: Remove global_loadparm instances.Jelmer Vernooij10-13/+19
(This used to be commit 8242c696235d1bfb402b5c276a57f36d93610545)
2007-12-21r26439: Require tdr_pull users to specify a smb_iconv convenience context.Jelmer Vernooij1-88/+112
(This used to be commit 76fd57be292fb19ae4ede38977732847e6ed8eff)
2007-12-21r26438: Store iconv convenience in tdr push contexts.Jelmer Vernooij1-5/+11
(This used to be commit dffef3162778aebe2f8d77e2da60b22adb7d60ef)
2007-12-21r26429: Avoid use of global_smb_iconv_convenience.Jelmer Vernooij3-5/+7
(This used to be commit d37136b7abfbba75ef2e5ab855eb3382b9648b8c)
2007-12-21r26427: Avoid global_smb_iconv_convenience.Jelmer Vernooij1-3/+4
(This used to be commit bf072c6fb37b3e6a71c0c747b9fbeaa01480229e)
2007-12-21r26407: Janitorial: Remove a pstring and compiler warnings.Kai Blin1-36/+37
(This used to be commit bdc482033546e3986bf8c8b65dbf11c54dc57b8e)
2007-12-21r26399: Use -O option for SWIG (less evil generated code).Jelmer Vernooij2-38/+60
(This used to be commit 3378b6a559272cb702b52966692bf423f67a2b41)
2007-12-21r26372: Add include for external users.Jelmer Vernooij1-0/+1
(This used to be commit 621feaa3d5c5dc6ca5078c2d8f32cc54235b7515)
2007-12-21r26355: Eliminate global_loadparm in more places.Jelmer Vernooij4-8/+8
(This used to be commit 5d589a0d94bd76a9b4c9fc748854e8098ea43c4d)
2007-12-21r26329: Fix more loadparm_context references. Only about a 100 left now.Jelmer Vernooij4-4/+5
(This used to be commit ddf233346d848e91bc6a6a572f0f6120540503b7)