summaryrefslogtreecommitdiff
path: root/source4/rpc_server/winreg/rpc_winreg.c
AgeCommit message (Collapse)AuthorFilesLines
2007-12-21r26296: Store loadparm context in DCE/RPC server context.Jelmer Vernooij1-1/+1
(This used to be commit fc1f4d2d65d4c983cba5421e7ffb64dd75482860)
2007-12-21r26239: Fix registry argument order.Jelmer Vernooij1-2/+1
(This used to be commit 0b3de2a63ad915575c33d7b329b8a4c476f039e4)
2007-12-21r26236: Remove more uses of global_loadparm or specify loadparm_context ↵Jelmer Vernooij1-0/+2
explicitly. (This used to be commit 5b29ef7c03d9ae76b0ca909e9f03a58e1bad3521)
2007-12-21r25920: ndr: change NTSTAUS into enum ndr_err_code (samba4 callers)Stefan Metzmacher1-4/+4
lib/messaging/ lib/registry/ lib/ldb-samba/ librpc/rpc/ auth/auth_winbind.c auth/gensec/ auth/kerberos/ dsdb/repl/ dsdb/samdb/ dsdb/schema/ torture/ cluster/ctdb/ kdc/ ntvfs/ipc/ torture/rap/ ntvfs/ utils/getntacl.c ntptr/ smb_server/ libcli/wrepl/ wrepl_server/ libcli/cldap/ libcli/dgram/ libcli/ldap/ libcli/raw/ libcli/nbt/ libnet/ winbind/ rpc_server/ metze (This used to be commit 6223c7fddc972687eb577e04fc1c8e0604c35435)
2007-10-10r25539: Also correct indent for winreg server.Günther Deschner1-177/+181
Guenther (This used to be commit 3f6cc36a1b7ac8c2c65cd19a08ec06314653cfd2)
2007-10-10r24817: Don't REG_NONE for all value types. Patch fromJelmer Vernooij1-1/+5
Andrew Kroeger <andrew@sprocks.gotdns.com> (This used to be commit ff81ea3f5aa8a93cf96914f03c26f8c86ec1e912)
2007-10-10r24727: Initialize variable.Jelmer Vernooij1-1/+1
(This used to be commit 925fcc336621250a8e45adf3ce8d2ff42307c066)
2007-10-10r24726: Add tests for getting/setting security descriptors (still failing at ↵Jelmer Vernooij1-5/+1
the moment) (This used to be commit ecdfaf56c09e75dc3ca37a3599c89661ad3485ff)
2007-10-10r24667: Finally merge the registry improvements that Wilco Baan Hofman and I ↵Jelmer Vernooij1-109/+130
have been working on for at least half a year now. Contains the following improvements: * proper layering (finally!) for the registry library. Distinction is now made between 'real' backends (local, remote, wine, etc) and the low-level hive backends (regf, creg, ldb, ...) that are only used by the local registry backend * tests for all important hive and registry operations * re-enable RPC-WINREG tests (still needs more work though, as some return values aren't checked yet) * write support for REGF files * dir backend now supports setting/reading values, creating keys * support for storing security descriptors * remove CREG backend as it was incomplete, didn't match the data model and wasn't used at all anyway * support for parsing ADM files as used by the policy editor (see lib/policy) * support for parsing PREG files (format used by .POL files) * new streaming interface for registry diffs (improves speed and memory usage for regdiff/regpatch significantly) ... and fixes a large number of bugs in the registry code (This used to be commit 7a1eec6358bc863dfc671c542b7185d3e39d7b5a)
2007-10-10r23792: convert Samba4 to GPLv3Andrew Tridgell1-3/+2
There are still a few tidyups of old FSF addresses to come (in both s3 and s4). More commits soon. (This used to be commit fcf38a38ac691abd0fa51b89dc951a08e89fdafa)
2007-10-10r20850: Prefix all server calls with dcesrv_Jelmer Vernooij1-29/+29
(This used to be commit 76c78b0339cd88c61a13745f7f4e037f400db21b)
2007-10-10r18860: fixed some code that bitrotted while we didn't have the safety checkAndrew Tridgell1-1/+1
with NTSTATUS, WERROR etc. (This used to be commit fddb85bfa8bb5df7812d226a7a6f6fb41ccf107f)
2007-10-10r18584: found one of the fd leaks. The registry backend was using aAndrew Tridgell1-1/+4
talloc(NULL, xxx) to allocate the registry context. That had two consequences 1) it was a massive memory leak, as all winreg operations leaked their entire context (including an open ldb database) every time 2) event_context_find() never found the exsting event context, so we used a new event context each time, which called epoll_create() each time, which caused a fd to be allocated (This used to be commit 1c0a3de39828b43149d8981fc7f10e7c8b59a392)
2007-10-10r18566: fixed the winreg pipe and winreg testsAndrew Tridgell1-0/+4
Jerry, there is a big difference on the wire between these two: [out] uint32 x; and [out] uint32 *x; if you change from [out] uint32 x; then you need to change to: [out,ref] uint32 *x; otherwise it changes the format on the wire, which means we are no longer compatible with MS servers. but be aware that even if you change to a ref ptr, you also need to change all the client code to set all the return variables in the out part of the structure. That's why I don't like the MIDL restriction of forcing the use of ref pointers for output variables - it makes life much harder when writing client code, and makes the code much more error prone (just look at all the extra code needed to make this work again). I know we could auto-allocate these variables in the generated client side NDR code, but if we did that then we would have no way of doing a _real_ ref out pointer, which we really wanted to set to some already allocated variable. So please hold off on changing our idl to use the MIDL convention for output variables until Jelmer and I have had a good "chat" about this :-) (This used to be commit 555aed43ba3c08360ca7fa921622b80732a7f657)
2007-10-10r18561: Fix [out] pointers in winreg IDLGerald Carter1-7/+7
(This used to be commit 694677dafefdd94fa0a9bed93efab70c528dcb26)
2007-10-10r18330: don't mix pointer types in RPC repliesAndrew Tridgell1-1/+5
(This used to be commit cc86719f53a47e3ca25b19d7a765314ce967ab01)
2007-10-10r15358: Fix some compiler warnings / type safety. Found by tccJelmer Vernooij1-2/+2
(This used to be commit 12ba42de5886f9f4f9b1698476557e0c217d06f3)
2007-10-10r14599: Pass ACLs down the registry layer.Jelmer Vernooij1-1/+1
(This used to be commit 6cdefd8945eee5513a6993350ea71f12d4dbd6fa)
2007-10-10r14464: Don't include ndr_BASENAME.h files unless strictly required, insteadJelmer Vernooij1-0/+1
try to include just the BASENAME.h files (containing only structs) (This used to be commit 3dd477ca5147f28a962b8437e2611a8222d706bd)
2007-10-10r11261: Rename access_required field in winreg idl to access_mask so it matchesTim Potter1-1/+1
the other interfaces. (This used to be commit 8eb582b5780188b6304c560b3e84fd7d75c483f8)
2007-10-10r10026: Move registry header file to lib/registryJelmer Vernooij1-1/+1
Add support for showing security descriptor in regshell Add support for saving files in NT4 registry backend (This used to be commit 47cecd4726e6568f1aafb404646d2664f630a9bb)
2007-10-10r10007: Merge data_blk and data_len member of registry_value into a DATA_BLOB.Jelmer Vernooij1-7/+10
Fix handling of REG_DWORD in the LDB backend. Fix a couple of warnings (This used to be commit 709fdc7ebf5a77cfb50359fad978884777decc3b)
2007-10-10r9567: fixed the winreg IDL for CreateKey, including a securityAndrew Tridgell1-4/+21
descriptor. To keep it simple I just use normal IDL buffers for now, avoiding the complex methods metze used in spoolss. We might change that later Also added decoding of the security_descriptor in winreg_GetKeySecurity() in smbtorture (This used to be commit 439f34a9621e2e96329c30cfed8d78b8fdfbd8a2)
2007-10-10r9410: - a winreg_CloseKey() should return a zero key on success (zeroing theAndrew Tridgell1-7/+4
callers key). This is the normal pattern with rpc handles. - fixed reference to undefined error variable in winreg_DeleteKey() (This used to be commit 6757d51a280d6c393648a384f1ef3ca403517352)
2007-10-10r9388: we should fault bad handles given to winreg_GetVersion()Andrew Tridgell1-1/+5
(This used to be commit 00e55be9efc6050e3bda13603270b028dbc19c3f)
2007-10-10r9359: don't check for size overflow if value is NULLAndrew Tridgell1-1/+2
this gets viewing the product options in smbd HKLM from w2k3 regedit working (This used to be commit 17f3250dd61bc9aad5cf3804e271383e219752f6)
2007-10-10r9358: - opening a winreg key of "" is the same as re-opening the hive. TheAndrew Tridgell1-11/+17
w2k3 regedit does this. - w2k3 expects null termination is string lengths (This used to be commit bcef9e592acd96a2fd7028b299d3d93968d044ae)
2007-10-10r9338: fixed the winreg IDL to be correct for the EnumKey and EnumValueAndrew Tridgell1-12/+38
calls. The previous IDL was just a workaround for the limitations of our older rpc infrastructure. Now that Jelmer has added much improved string support using the charset keyword we can correctly implemenent the unusual winreg string buffers. Jelmer, note the little comment I put on winreg_StringBuf() about why I couldn't use [value()] for the length field. This also fixes EnumKey() and EnumValue() to use NTTIME fields for the last_changed_time. I don't know why we were using a pair of uint32's, as it is just a NTTIME. (This used to be commit 8354b016122cc4f3cff042b3ada1de07e1614eb7)
2007-10-10r5298: - got rid of pstring.h from includes.h. This at least makes it a bitAndrew Tridgell1-1/+1
less likely that anyone will use pstring for new code - got rid of winbind_client.h from includes.h. This one triggered a huge change, as winbind_client.h was including system/filesys.h and defining the old uint32 and uint16 types, as well as its own pstring and fstring. (This used to be commit 9db6c79e902ec538108d6b7d3324039aabe1704f)
2007-10-10r5037: got rid of all of the TALLOC_DEPRECATED stuff. My apologies for theAndrew Tridgell1-6/+6
large commit. I thought this was worthwhile to get done for consistency. (This used to be commit ec32b22ed5ec224f6324f5e069d15e92e38e15c0)
2007-10-10r4640: first stage in the server side support for multiple context_ids on ↵Andrew Tridgell1-40/+28
one pipe this stage does the following: - simplifies the dcerpc_handle handling, and all the callers of it - split out the context_id depenent state into a linked list of established contexts - fixed some talloc handling in several rpc servers that i noticed while doing the above (This used to be commit fde042b3fc609c94e2c7eedcdd72ecdf489cf63b)
2007-10-10r4213: Store REG_SZ in UTF16, not the unix charset..Jelmer Vernooij1-2/+8
It is now possible to use the "Add..." button in the Security tab of the File Properties Dialog box. (This used to be commit 9fa25260d3f18dd0dd041477c48571b53d86f3c4)
2007-10-10r4209: Fix several smaller bugsJelmer Vernooij1-2/+18
Add "predef" and "set" commands in regshell Some of the remote calls from a Windows box work now. (This used to be commit f3e05782804fe4b4942fa966f1b9650c64bc234d)
2007-10-10r4204: Arguments to reg_del_key more like the RPC for more efficient usageJelmer Vernooij1-4/+1
Fix small bug in regpatch Fix segfault in regshell cmdline completion Implement set_value and del_value in ldb backend (This used to be commit 8e2aa58abeafa78afe7dafb9723f5f365e756527)
2007-10-10r4168: Implement QueryValue in the serverJelmer Vernooij1-1/+27
IDL for NotifyChangeKeyValue (This used to be commit a40214243136ed5208a1bec494ad1fbf821524ba)
2007-10-10r4166: More small API fixes, keep registry structs as small as possible.Jelmer Vernooij1-6/+4
Implement DelValue in the RPC server (This used to be commit f6b9ec89af934e837069fb26c0e3491fc78ebc12)
2007-10-10r4155: More destinction between hives and predefined keysJelmer Vernooij1-1/+1
(This used to be commit c37d6f3c581673d74e7ec6a644ab6a7d13a55535)
2007-10-10r4154: Add definitions for HKEY_PERFORMANCE_TEXT and HKEY_PERFORMANCE_NLSTEXTJelmer Vernooij1-2/+2
Hives and predefined keys (HKEY_*) are not necessarily the same thing. (This used to be commit 217e4e5841cfedb2b18dce3f89dd88ea4a36fe8f)
2007-10-10r4132: - Bunch of rather large fixes in the registryJelmer Vernooij1-32/+26
- Added some README files Not everything works yet, e.g. the EnumValue test appears to be broken. (This used to be commit c169e86c1f52763b83e77e509f89cb91f9b69071)
2007-10-10r4118: don't assume that "unsigned int" is the same type as uint32_tAndrew Tridgell1-1/+2
(This used to be commit 1ddab01d2ac0a51278cbd13d6d9369973c7a5b3a)
2007-10-10r4117: fixed EnumValue in winreg serverAndrew Tridgell1-7/+5
(This used to be commit f2f21033b65b82251b5ea0b2475ceb1bb3657fb3)
2007-10-10r4106: Add full name of two more hivesJelmer Vernooij1-2/+2
(This used to be commit c1023db5e8336e495c06acae1773a28d7fc90658)
2007-10-10r3468: split out dcerpc_server.hAndrew Tridgell1-0/+1
(This used to be commit 729e0026e4408f74f140375537d4fe48c1fc3242)
2007-10-10r3464: split out registry.h, rap.h and ldap_server.hAndrew Tridgell1-0/+1
(This used to be commit 70d2090f6bf2c7e0caf1e9c020f330de88871f8e)
2007-10-10r3428: switched to using minimal includes for the auto-generated RPC code.Andrew Tridgell1-0/+1
The thing that finally convinced me that minimal includes was worth pursuing for rpc was a compiler (tcc) that failed to build Samba due to reaching internal limits of the size of include files. Also the fact that includes.h.gch was 16MB, which really seems excessive. This patch brings it back to 12M, which is still too large, but better. Note that this patch speeds up compile times for both the pch and non-pch case. This change also includes the addition iof a "depends()" option in our IDL files, allowing you to specify that one IDL file depends on another. This capability was needed for the auto-includes generation. (This used to be commit b8f5fa8ac8e8725f3d321004f0aedf4246fc6b49)
2007-10-10r3369: More registry updatesJelmer Vernooij1-3/+61
We now pass the RPC-WINREG torture test. Also, constructions like the following work now: regtree <-> smbd <-> NTUSER.DAT (This used to be commit df952e95cd1cbbfb62b4620e9452993aaef44ad3)
2007-10-10r3367: More registry updates.Jelmer Vernooij1-2/+7
Add support flush_key and close_hive. (This used to be commit c526273df238c994c4de3c1704c6e95433f2331c)
2007-10-10r3348: More registry fixes and additions. The following functions work right ↵Jelmer Vernooij1-1/+1
now against samba 4, at least with a ldb backend: winreg_Open* winreg_OpenKey winreg_EnumKey winreg_DeleteKey winreg_CreateKey (This used to be commit a71d51dd3b136a1bcde1704fe9830985e06bb01b)
2007-10-10r3340: Various fixes in the registry code. Implement the EnumKey callJelmer Vernooij1-1/+9
in the server. (This used to be commit da65a248c292a90342e1394ee4132ef2c7afd3c8)
2007-10-10r3338: More work on the winreg RPC server. Opening hives is now supported, ↵Jelmer Vernooij1-65/+69
most other calls return WERR_NOT_SUPPORTED for now. Hive backends can be set like this: registry:HKEY_LOCAL_MACHINE = ldb:tdb://registry.tdb registry:HKEY_CURRENT_USER = gconf registry:HKEY_USERS = dir:/tmp/registry registry:HKEY_CLASSES_ROOT = nt4:/path/to/NTUSER.DAT registry:HKEY_PERFORMANCE_DATA = w95:/path/to/USER.DAT (This used to be commit 42844a4e3422bbbe891ba944c0e97861db7763ec)