1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-28 17:47:29 +03:00

32 Commits

Author SHA1 Message Date
Volker Lendecke
ecf90c495e r19991: Sorry for this 2000-liner...
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-10 12:16:18 -05:00
Volker Lendecke
575845ccbe r19963: Add 'registry shares = yes' and registry key security descriptors.
(This used to be commit 6cab254c49e07b11c170511ec613f0f33914c3e6)
2007-10-10 12:16:16 -05:00
Volker Lendecke
1c91cca86e r19947: Change regkey_open_internal to take the parent key and a talloc_ctx as
arguments. This also replaces regkey_close_internal by TALLOC_FREE.

Volker
(This used to be commit a177bbb2d5611f03cec25b7577c2e6a542f94a69)
2007-10-10 12:16:14 -05:00
Volker Lendecke
f1d492d11f r19930: Revert the winreg idl changes. At least enumkey does not work anymore today.
With more than 5 different trees I can't swear that I did test this properly
yesterday. Sorry for the noise.

Volker
(This used to be commit 978a6196bf0a2280c7f74b4a6d9fa7941c3aa049)
2007-10-10 12:16:10 -05:00
Volker Lendecke
7ef185fae7 r19929: Fix indentation
(This used to be commit 2369ad08529d31bb77b9cb5378d0114669cdf8a8)
2007-10-10 12:16:10 -05:00
Volker Lendecke
8e8821b1da r19919: Convert winreg_EnumKey to use ref ** instead of a unique *.
Volker
(This used to be commit b714b51884af0d79de8568410676d4889f23ffb6)
2007-10-10 12:16:10 -05:00
Volker Lendecke
4a361ffd7f r19918: Convert winreg_CreateKey to use a ref ** instead of a unique *. W2k3 can still
create keys on Samba and vice versa.

Jelmer, please check.

Thanks,

Volker
(This used to be commit 1b460d6cdfe0cadd915a5299e6ca9bb359bf0075)
2007-10-10 12:16:09 -05:00
Volker Lendecke
2d6e409dc2 r19915: Fix two type-punned warnings
(This used to be commit f1266475daa3687e0b0dc5333a6fbd12a9640c3a)
2007-10-10 12:16:09 -05:00
Volker Lendecke
f57cd1f63c r19914: The "default" value with the name "" need different 0-length treatment as the
other StringBufs, otherwise clicking on a key with this value being set leads
to regedit.exe on w2k3 chew all memory.
(This used to be commit b148cde7f39859102288a87b6f0bd2b250947a85)
2007-10-10 12:16:09 -05:00
Volker Lendecke
b189e6d76e r19912: Move the subkey cache to srv_winreg_nt.c
(This used to be commit 01a53590a6325413551016effe302585a3a1e656)
2007-10-10 12:16:08 -05:00
Volker Lendecke
015534e254 r19872: Move the value cache to srv_winreg_nt.c. Fix some minor issues found while
playing with regedit.exe.

Volker
(This used to be commit 81bd816fa2afe89261aff2f395e8d056b73e515c)
2007-10-10 12:16:03 -05:00
Volker Lendecke
3f62a1a3eb r19867: Introduce struct regkey_info in srv_winreg_nt.c to be able to re-add the
QueryValue and later the QueryKey cache independent of the backend.

Volker
(This used to be commit 0ed3a21fccd9c05f1db40f8e20376a76583a81b6)
2007-10-10 12:16:03 -05:00
Volker Lendecke
6b0819e96c r19860: Streamline _winreg_QueryValue a bit. We've been pushing around memory
considerably here.

This temporarily removes a cache for the tdb based registry, I'll re-add that
in srv_winreg_nt.c in the next step.

This fixes creating/renaming values from the windows regedit.exe, as "New
Value #1" was not entering the cache after being created.

Volker
(This used to be commit c8c81f0e86256f769765c142e4f1e4c45cb74296)
2007-10-10 12:16:03 -05:00
Volker Lendecke
c895111579 r19824: Fix the max value calculation in QueryInfoKey
(This used to be commit cd14b7f05234f540601cd2c5841a52dd047c965d)
2007-10-10 12:16:00 -05:00
Volker Lendecke
ead21a53ae r19819: Windows returns an empty string instead of NULL here
(This used to be commit c1083216c83f4236edb78484c6333ff1d1646c40)
2007-10-10 12:15:59 -05:00
Volker Lendecke
ded7c032a3 r19803: Fix problem reported by Chetan S: QueryInfoKey needs to report the max name
length in *bytes* for UTF-16, not the string length. This got lost during the
conversion.

This took a while to figure out :-)

Thanks to Chetan!

Volker
(This used to be commit 8df6544fa855d2d07b1b69c8d448a1362e41733c)
2007-10-10 12:15:56 -05:00
Volker Lendecke
bfad442144 r19780: Ok, regkey_open_internal needs a regkey_close_internal. Giving a talloc ctx is
misleading here. This needs fixing properly :-)

Volker
(This used to be commit f808182346aa16bb2f3a9383e28d318099a5e14e)
2007-10-10 12:15:55 -05:00
Volker Lendecke
e82cd437cc r19778: Make regkey_open_internal take a talloc ctx
(This used to be commit cb7f4211b8441642dce9594522dc9588475a7719)
2007-10-10 12:15:55 -05:00
Volker Lendecke
64bab725f0 r19689: Fix a NULL dereference found by coverity (the call to strlen).
Jerry, please check this. The way I understood alpha_strcpy the last arg needs
to be the size of the target, not of the source.

Thanks,

Volker
(This used to be commit 287d68daab89c78748b90849c9782473784b6a84)
2007-10-10 12:15:47 -05:00
Volker Lendecke
7b9ef5e840 r19292: Avoid some potential segfaults: In winreg_EnumValue all pointers are unique
pointers and can thus be independently NULL.

Thanks,

Volker
(This used to be commit d48ac0726a931a7200c47a87f771b74826ab9c96)
2007-10-10 12:15:29 -05:00
Volker Lendecke
4980baf2e1 r19224: Add setting the rng_fault_state to the already converted pipes.
Convert the low-hanging fruit of the LSA server. This provides a sample how
the server calls can be converted one by one, see the "proxy_lsa_call"
function.

Volker
(This used to be commit 99e54a213ad3561ea6e8dc44c483847c18c5681e)
2007-10-10 12:15:23 -05:00
Gerald Carter
b3ec4697ef r18962: * Add IDL for SaveKey() and RestoreKey() and regenerated
* Tested RegSaveKey() using win32 app.  Apparently
  this code has been brokne for a really long time.
(This used to be commit 5381dcbde34206462562bdfc7639f488820a5a64)
2007-10-10 12:14:51 -05:00
Gerald Carter
2279881bd4 r18954: Fix segv in QueryValue and Enumvalue. regedit.exe now
is happy again when creating keys and values
(This used to be commit 6e9e9f8facbdd694041709e1fc6a8f824ac8c119)
2007-10-10 12:14:50 -05:00
Gerald Carter
d89a951517 r18940: Fix a few memory corruption bugs to make CreateKey() and DeleteKey() work
(This used to be commit e7e3e35c1def29430dc69d3311d5779575659ec5)
2007-10-10 12:14:49 -05:00
Gerald Carter
c67b555874 r18934: fix a segv in CreateKey()
(This used to be commit 92f22f67ede2ae8c23ee86021a5709d2e27d1dec)
2007-10-10 12:14:48 -05:00
Gerald Carter
855d12e567 r18932: In RegEnumvalue() and RegQueryValue(), the output buffer
size must match the real value of the data.
(This used to be commit e11108024a049f6a62d6c170296ee9877200a0c0)
2007-10-10 12:14:48 -05:00
Gerald Carter
49c73b5734 r18931: * Fix the IDL for QueryInfoKey. teh Classname in an
in,out ref pointer
* Clarify variable names in EnumValue IDL
* Fix server code for _winreg_EnumValue() and _winreg_QueryInfoKe()
(This used to be commit f520a9d0fba4cc3cfbda40dd68cb63c4c3c4ed30)
2007-10-10 12:14:48 -05:00
Gerald Carter
5935ea9da1 r18929: * Clarify QueryValue IDL and regenerate code
* Fix server _winreg_Query_Value() implementation so that
  usrmgr.exe starts now
(This used to be commit 435d7bfc37f430c462fcb53bf3a82fcddc809771)
2007-10-10 12:14:47 -05:00
Gerald Carter
1303cd8245 r18794: Make ENumKey() work again in the registry server
(This used to be commit 7ead5ac79203a15dc1d9d7982446eafbb1f9eefd)
2007-10-10 12:00:58 -05:00
Gerald Carter
c8ef27a3c3 r18792: small fix for server QueryValue code
(This used to be commit b11558c2320d8da8fee0fb8398729f9005021384)
2007-10-10 12:00:58 -05:00
Gerald Carter
8e0217da6f r18790: Correct the IDL (still a bug in pidl) for QueryValue()
(This used to be commit 44851d7afa3112278faea41b470cc5d3cad97cb5)
2007-10-10 12:00:58 -05:00
Gerald Carter
eab57a0a0f r18789: Replace the winreg server code with the libndr parsing code.
Many things work (OpenHKLM, etc...) but some still don't.
This shouldn't block anyone so I'm checking it in.
Will probably move to a bzr tree after this for
longer dev cycles between checkins.
(This used to be commit cf1404a0d7538288b9370ba80df328f81b713ce0)
2007-10-10 12:00:57 -05:00