summaryrefslogtreecommitdiff
path: root/source3/registry/reg_frontend.c
AgeCommit message (Collapse)AuthorFilesLines
2007-12-16Cut down memory usage of registry initializationVolker Lendecke1-3/+8
(This used to be commit 264d5dfe9fe97db0b69d7cd04086ad8ed9f78e74)
2007-11-06When deleting a key from the registry make sure the non-defaultGünther Deschner1-10/+0
security descriptor gets deleted as well. Guenther (This used to be commit d140d68537225b6a6a99be3d9b09354e3f6ad8c9)
2007-10-18RIP BOOL. Convert BOOL -> bool. I found a few interestingJeremy Allison1-1/+1
bugs in various places whilst doing this (places that assumed BOOL == int). I also need to fix the Samba4 pidl generation (next checkin). Jeremy. (This used to be commit f35a266b3cbb3e5fa6a86be60f34fe340a3ca71f)
2007-10-10r25417: Use DBGC_REGISTRY class.Günther Deschner1-1/+1
Guenther (This used to be commit 43ca04918a5a1b2379083dc624b346ceb8476a38)
2007-10-10r23801: The FSF has moved around a lot. This fixes their Mass Ave address.Andrew Tridgell1-2/+1
(This used to be commit 87c91e4362c51819032bfbebbb273c52e203b227)
2007-10-10r23779: Change from v2 or later to v3 or later.Jeremy Allison1-1/+1
Jeremy. (This used to be commit 407e6e695b8366369b7c76af1ff76869b45347b3)
2007-10-10r22135: Check in most of Michael Adam's net conf utility. A good share of ↵Volker Lendecke1-346/+0
this patch is moving functions around to fix some linker dependencies for the registry. Michael, I've renamed your auth_utils2.c to token_utils.c. Thanks! Volker (This used to be commit 9de16f25c1c3e0b203da47391772ef2e2fe291ac)
2007-10-10r20626: Fix a memleak found by the IBM checker -- not on 3.0.24Volker Lendecke1-0/+1
(This used to be commit 9d0a789e32e6a6501421edb25bc8197c9e06846d)
2007-10-10r20210: registry_fetch_values is not needed anymore, fix typoVolker Lendecke1-57/+0
(This used to be commit 77e556f4a358fec0d754e50417097bf5a874c500)
2007-10-10r20037: Reduce code size slightly by shuffling stuff aroundVolker Lendecke1-62/+28
(This used to be commit 0742faaacd496f9cc4581a1fad74217024383661)
2007-10-10r20020: Arglll... eventlogadm links against reg_db but not the rest of the ↵Volker Lendecke1-27/+5
registry stuff. Revert the last change. This needs better fixing. Volker (This used to be commit ad1e00430bf5c4130023d30e9c8266ecdc640d2b)
2007-10-10r20019: Replace one set of tricky code by calls to another set of tricky code:Volker Lendecke1-5/+27
Initializing the reg_db now uses reg_createkey and reg_setvalue. Volker (This used to be commit cab5ccbbe484795f13531726d68b978073262e33)
2007-10-10r20016: Add two utility functions for easy opening/creating registry keysVolker Lendecke1-1/+95
(This used to be commit ad22a467185e871d893e8133741b525889c2aa6f)
2007-10-10r20005: reg_open_path should become the replacement for regkey_open_internal.Volker Lendecke1-0/+58
(This used to be commit a6039eb46c6506b4e55e816d50edb618e800007f)
2007-10-10r19991: Sorry for this 2000-liner...Volker Lendecke1-33/+30
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-10r19963: Add 'registry shares = yes' and registry key security descriptors.Volker Lendecke1-53/+158
(This used to be commit 6cab254c49e07b11c170511ec613f0f33914c3e6)
2007-10-10r19948: Fix a memleakVolker Lendecke1-1/+3
(This used to be commit fd429c8c06e01452f04700518c93ecfaa51c3140)
2007-10-10r19947: Change regkey_open_internal to take the parent key and a talloc_ctx asVolker Lendecke1-35/+49
arguments. This also replaces regkey_close_internal by TALLOC_FREE. Volker (This used to be commit a177bbb2d5611f03cec25b7577c2e6a542f94a69)
2007-10-10r19912: Move the subkey cache to srv_winreg_nt.cVolker Lendecke1-57/+0
(This used to be commit 01a53590a6325413551016effe302585a3a1e656)
2007-10-10r19872: Move the value cache to srv_winreg_nt.c. Fix some minor issues found ↵Volker Lendecke1-54/+0
while playing with regedit.exe. Volker (This used to be commit 81bd816fa2afe89261aff2f395e8d056b73e515c)
2007-10-10r19828: Add a helper function to pull *and* unparse local registry valuesVolker Lendecke1-0/+56
(This used to be commit 969eb9cda6eba93068472e952e27138b9384c364)
2007-10-10r19780: Ok, regkey_open_internal needs a regkey_close_internal. Giving a ↵Volker Lendecke1-3/+2
talloc ctx is misleading here. This needs fixing properly :-) Volker (This used to be commit f808182346aa16bb2f3a9383e28d318099a5e14e)
2007-10-10r19779: Fail properly on talloc_strdup failureVolker Lendecke1-3/+5
(This used to be commit b57e446789530cb7e18e107478ca8b59a19d990f)
2007-10-10r19778: Make regkey_open_internal take a talloc ctxVolker Lendecke1-2/+3
(This used to be commit cb7f4211b8441642dce9594522dc9588475a7719)
2007-10-10r11579: syncing up perf counter code cfrom trunkGerald Carter1-0/+1
(This used to be commit 59c00924b67aa3d37a933731a56d03963ec7f1b5)
2007-10-10r10819: merging a couple of fixes from trunkGerald Carter1-3/+23
* 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-10r10781: merging eventlog and svcctl code from trunkGerald Carter1-6/+2
(This used to be commit f10aa9fb84bfac4f1a22b74d63999668700ffaac)
2007-10-10r10656: BIG merge from trunk. Features not copied overGerald Carter1-3/+133
* \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 939c3cb5d78e3a2236209b296aa8aba8bdce32d3)
2007-10-10r9739: conver the reg_objects (REGSUBKEY_CTR & REGVAL_CTR) to useGerald Carter1-23/+35
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 ef721333ab9639cb5346067497e99fbd0d4425dd)
2007-10-10r7995: * privileges are local except when they're *not*Gerald Carter1-0/+3
printmig.exe assumes that the LUID of the SeBackupPrivlege on the target server matches the LUID of the privilege on the local client. Even though an LUID is never guaranteed to be the same across reboots. How *awful*! My cat could write better code! (more on my cat later....) * Set the privelege LUID in the global PRIVS[] array * Rename RegCreateKey() to RegCreateKeyEx() to better match MSDN * Rename the unknown field in RegCreateKeyEx() to disposition (guess according to MSDN) * Add the capability to define REG_TDB_ONLY for using the reg_db.c functions and stress the RegXXX() rpc functions. (This used to be commit 0d6352da4800aabc04dfd7c65a6afe6af7cd2d4b)
2007-10-10r7938: * move the hardcoded registry value names from _reg_query_value()Gerald Carter1-3/+12
to a thin layer in fetch_reg_values(). Not entirely efficient seeing as the the dynamic value paths are stored in an unsorted array but it is one strequal() per path. If this was really big it should be worked into the reghook_cache(). (This used to be commit 63b81ad3cb484090a181fbd13e04922a5c17e7d9)
2007-10-10r7908: * change REGISTRY_HOOK api to use const (fix compiler warningGerald Carter1-7/+4
in init_registry_data() * Add means of storing registry values in registry.tdb * add builtin_registry_values[] array for REG_DWORD and REG_SZ values needed during startup * Finish up RegDeleteValue() and RegSetValue() * Finish up regdb_store_reg_values() and regdb_fetch_reg_values() I can now create and retrieve values using regedit.exe on Win2k. bin/net -S rain -U% rpc registry enumerate 'hklm\software\samba' Valuename = Version Type = REG_SZ Data = 3.0.20 Next is to do the virtual writes in reg_printing.c and I'll be done with Print Migrator (yeah! finally) (This used to be commit 3d837e58db9ded64d6b85f047012c7d487be4627)
2007-10-10r7691: * add .gdbinit to the svn:ignore filesGerald Carter1-2/+0
* start adding write support to the Samba registry Flesh out the server implementations of RegCreateKey(), RegSetValue(), RegDeleteKey() and RegDeleteValue() I can create a new key using regedit.exe now but the 'New Key #1' key cannot be deleted yet. (This used to be commit e188fdbef8f0ad202b0ecf3c30be2941ebe6d5b1)
2007-10-10r7664: add access check hooks to _reg_open_entry which are passed offGerald Carter1-0/+24
to the reg_XXX backend. If the backend does not define a regkey_access_check() function, we default to using the standard registry_access_check() (This used to be commit 2f08a904eee772e7d99ae6e3e4c922f74732284f)
2007-10-10r7648: adding REGISTRY_HOOK->reg_access_check() for authprization checks on ↵Gerald Carter1-8/+8
RegOpenKey(); passing it off to the backend code for a given path (This used to be commit 867fd3052bbfdd45856886999619e2ebc6552675)
2007-10-10r6942: * merging the registry changes back to the 3.0 treeGerald Carter1-34/+8
* removing the testprns tool (This used to be commit 81ffb0dbbbd244623507880c323a3c37e2b8dc4d)
2007-10-10r6014: rather large change set....Gerald Carter1-1/+4
pulling back all recent rpc changes from trunk into 3.0. I've tested a compile and so don't think I've missed any files. But if so, just mail me and I'll clean backup in a couple of hours. Changes include \winreg, \eventlog, \svcctl, and general parse_misc.c updates. I am planning on bracketing the event code with an #ifdef ENABLE_EVENTLOG until I finish merging Marcin's changes (very soon). (This used to be commit 4e0ac63c36527cd8c52ef720cae17e84f67e7221)
2007-10-10r4088: Get medieval on our ass about malloc.... :-). Take control of all our ↵Jeremy Allison1-1/+1
allocation functions so we can funnel through some well known functions. Should help greatly with malloc checking. HEAD patch to follow. Jeremy. (This used to be commit 620f2e608f70ba92f032720c031283d295c5c06a)
2002-09-25sync'ing up for 3.0alpha20 releaseGerald Carter1-315/+0
(This used to be commit 65e7b5273bb58802bf0c389b77f7fcae0a1f6139)
2002-08-16Fairly large change to printing code.Gerald Carter1-2/+89
* removed support for PHANTOM_DEVMODE printer data * s/NT_PRINTER_PARAM/REGISTRY_VALUE/g - This was a good bit of work. Everything seems stable, but is not complete. * support for printer data keys other than PrinterDriverData in the store and fetch routines. Still needs to be plugged into the XxxPrinterDataEx() calls. Tested against NT4.0 & 2k. Like I said, it's not done, but doesn't crash so it shouldn't upset anyone (unless you're trying to build a Samba printer server off of HEAD). More work to come. Should settle by Monday. jerry (This used to be commit 7ba7c04c0e961618c82c2112b9627af114c6cc42)
2002-07-24done! printer_info_2, devicemode, sec_desc, & printer data all enumerateGerald Carter1-20/+13
and display correctly in regedit.exe. Not sure about REG_SZ values in PrinterDriverData. If we store these in UNICODE, I'll have to fix up a few things. REG_BINARY & REG_DWORD are fine. (This used to be commit 2a30c243ec28734bbc721dfc01b743faa6f73788)
2002-07-24several changes in this checkinGerald Carter1-57/+81
* added REG_OPEN_HKCR for supporting regedit.exe * All data n a REGISTRY_VALUE is stored to a pointer now * fixed REG_INFO to correctly display data when double clicking on and entry in the registry editor * Will now enumerate installed driver_info_3 data * fixed numerous bugs related to pointer offsets, memory issues, etc.. in the registry routines * added a simple caching mechanism to fetch_reg_[keys|values]_specific() All that is left now is to enumerate PrinterData and I will have finished what I started out to do.... (This used to be commit 419d7208e8384e4ad2c4dd328ad5e630971bc76c)
2002-07-23* changed structure of REG_R_ENUM_VALUE structure since the BUFFER2Gerald Carter1-145/+260
is not and [in/out] buffer * registry value enumeration is working now for the Print\Forms key. The format of the binary data is not quite right yet but all installed forms are listed (This used to be commit 998eb9c7312c3c9a9ed1e9ec294593503c0304bf)
2002-07-22fix seg fault due to memory allocation goof.Gerald Carter1-0/+8
(This used to be commit 8e94f68a80bda0cbc989fb36466dfbc17a07079d)
2002-07-20another intermediate checkin on the way to enumerating formsGerald Carter1-1/+52
via the registry. There is a seg fault here which shouldn't bother anyone until I can get it fixed. I just need a check point in case I need to roll back to this version later on. (This used to be commit e62ae94823461e142978a786b2860ea97906cfb3)
2002-07-20enumeration of printers keys ( no data yet ) via the registryGerald Carter1-3/+7
functions now works :-) (This used to be commit c5768538f6cf6ee824bc6e105a3391bbc2ea8e46)
2002-07-20fixed a logic error in the sorted_tree_find_child() routineGerald Carter1-1/+2
that caused a valid search to fail. The printing registry view now works again. (This used to be commit 2050859f03493d5135984ce1e42baf8f1f2566b9)
2002-07-19fixed seg fault in registry frontend caused by trying toGerald Carter1-9/+7
use a destroyed TALLOC_CTX* (This used to be commit 432b9f8d7c20fbf3b2a0906c8a93272abbe43fb6)
2002-07-19Fixed a compiler warning.Tim Potter1-3/+3
(This used to be commit bc0f1c1ec21e69014426e41fb0a5264da63b857a)
2002-07-19* refactored registry operations some. subkey lists andGerald Carter1-26/+181
registry values are now passed around in containers (REGSUBKEY_CTR & REGVAL_CTR) which each possess a TALLOC_CTX. * removed subkey_specific_fn() from REGISTRY_OPS. Is implemented in the form of a wrapper * temporarily broke the printing registry ops. * implemented inheritence for the data_p of nodes in a SORTED_TREE * All REGISTRY_KEY instances now store a valid REGISTRY_HOOK since the default REGOSTRY_OPS structure is stored in the root of the cache_tree. * Probably some other change I forgot.... T (This used to be commit e7b55e8f017e638342d9c8c1a9259000745a0298)