1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-25 23:21:54 +03:00
Commit Graph

45 Commits

Author SHA1 Message Date
Michael Adam
92df5e4a02 s3:registry: add function regsubkey_ctr_reinit()
This reinitializes an already allocated regsubkey_ctr structure,
emptying out the subkey array and hash table.

Michael
2009-07-15 14:01:57 +02:00
Michael Adam
d554c0d7a9 s3:registry: don't store differently cased entries for the same keys.
This happened for instance during registry initialization, when
entries for HKLM\Software and HKLM\SOFTWARE were created.
Searching these entries was case insensitive though.
But the entries ended up in the subkey-lists anyways.

This is solved by making the subkeys_hash in the regsubkey_container
structs case insensitive (using the new _bystring_upper() wrappers).

Michael
2009-07-15 14:01:40 +02:00
Michael Adam
8185d31fb0 s3:registry: replace typedef REGISTRY_VALUE by struct regval_blob
Michael
2009-04-27 11:21:03 +02:00
Michael Adam
221151a2a2 s3:registry: replace typedef REGVAL_CTR by struct regval_ctr.
This paves the way for hiding the typedef and the implementation
from the surface.

Michael
2009-04-27 11:21:02 +02:00
Michael Adam
0b22f8b99c s3:registry: hash the list of subkeys in the regsubkey_ctr
This removes many loops over all the arrays
(from regsubkey_ctr_key_exists) and thus
reduces "net conf drop" from 1m55 to 48seconds
and "net conf import" from 1m55 to 58 seconds
for 2000 shares on my box.

Michael
2009-02-26 13:22:54 +01:00
Michael Adam
149d94dd8f s3:registry: remove definition of regsubkey_ctr from the surface.
All access is now through accessor functions in reg_objects.c
This allows for performance tuning under the hood in the next step.

Michael
2009-02-26 13:22:53 +01:00
Michael Adam
cd8bfd3a84 s3:registry: add regsubkey_ctr_get_seqnum() to hide implementation
Michael
2009-02-26 13:22:52 +01:00
Michael Adam
63ed47c9e4 s3:registry: add regsubkey_ctr_set_seqnum to hide implementation from caller.
Michael
2009-02-26 13:22:52 +01:00
Michael Adam
763f41f39c s3:registry: add a regsubkey_ctr_init function for allocating a regsubkey_ctr
Michael
2009-02-26 13:22:51 +01:00
Michael Adam
060abd7e38 s3:registry: fix a comment
Michael
2009-02-26 13:22:51 +01:00
Michael Adam
58fc61217d s3:registry: replace typedef "REGSUBKEY_CTR" by "struct regsubkey_ctr"
This paves the way for hiding the typedef and the implementation from the
surface.

Michael
2009-02-26 13:22:51 +01:00
Jeremy Allison
80c2446321 Remove pstrings from nsswitch/ and registry/
Jeremy.
(This used to be commit 331c0d6216)
2007-11-26 17:24:56 -08:00
Jeremy Allison
30191d1a57 RIP BOOL. Convert BOOL -> bool. I found a few interesting
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 f35a266b3c)
2007-10-18 17:40:25 -07:00
Günther Deschner
6334c7cc5f r25417: Use DBGC_REGISTRY class.
Guenther
(This used to be commit 43ca04918a)
2007-10-10 12:31:04 -05:00
Michael Adam
34991bbd0c r25140: Less red bars to hurt my eyes...
(This used to be commit f935d21200)
2007-10-10 12:30:44 -05:00
Michael Adam
aaa0afaa26 r25139: Avoid code duplication: let regval_ctr_copyvalue() call regval_ctr_addvalue().
This also corrects regval_ctr_copyvalue() in that it cannot create (invalid)
regval containers with dupliacte entries...

Michael
(This used to be commit 2daaaaa835)
2007-10-10 12:30:44 -05:00
Michael Adam
30ee281cae r24999: Use the new regval_compose() function in regval_ctr_addvalue().
Michael
(This used to be commit dab9ffe602)
2007-10-10 12:30:32 -05:00
Michael Adam
cc7bc29757 r24998: Add a function regval_compose() to compose a REGISTRY_VALUE from
input data. Use this function in a first step to refactor
the canonicalization code of smbconf_store_values().

Michael
(This used to be commit f4caa2d7d4)
2007-10-10 12:30:32 -05:00
Volker Lendecke
ff0947fbed r24949: Remove some static buffers
(This used to be commit df648d47ff)
2007-10-10 12:30:29 -05:00
Andrew Tridgell
153cfb9c83 r23801: The FSF has moved around a lot. This fixes their Mass Ave address.
(This used to be commit 87c91e4362)
2007-10-10 12:28:27 -05:00
Jeremy Allison
d824b98f80 r23779: Change from v2 or later to v3 or later.
Jeremy.
(This used to be commit 407e6e695b)
2007-10-10 12:28:20 -05:00
Jeremy Allison
79de0ad946 r22588: Make all uses of TALLOC_MEMDUP consistent.
Jeremy.
(This used to be commit 8ad13718af)
2007-10-10 12:19:48 -05:00
Volker Lendecke
e57de5730c r19990: Fix comment
(This used to be commit 8b3d860f27)
2007-10-10 12:16:18 -05:00
Volker Lendecke
cbc03ec6df r19777: Make regsubkey_ctr_addkey return WERROR. Nobody checks this so far, but this
will change.

Volker
(This used to be commit 17c7c337f6)
2007-10-10 12:15:54 -05:00
Jeremy Allison
2eff779b17 r17878: Fix possible null deref found by Stanford checker.
Jeremy.
(This used to be commit ae20201494)
2007-10-10 11:38:56 -05:00
Jeremy Allison
5f925a0190 r17867: Fix null deref in error code path. Found by the
Stanford checker.
Jeremy.
(This used to be commit 09652dc71c)
2007-10-10 11:38:55 -05:00
Volker Lendecke
02eea79624 r17333: Some C++ warnings
(This used to be commit be9aaffdac)
2007-10-10 11:38:26 -05:00
Jeremy Allison
68dcff3f3a r14768: Fix potential null deref coverity bugs #255, #256.
Jeremy.
(This used to be commit a40c7a0cd8)
2007-10-10 11:15:47 -05:00
Jeremy Allison
e4c66fe4ca r14766: Fix possible NULL deref. Coverity #254.
Jeremy.
(This used to be commit e2e2d8b939)
2007-10-10 11:15:47 -05:00
Gerald Carter
54abd2aa66 r10656: BIG merge from trunk. Features not copied over
* \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 939c3cb5d7)
2007-10-10 11:04:48 -05:00
Gerald Carter
44707ad2e0 r9739: conver the reg_objects (REGSUBKEY_CTR & REGVAL_CTR) to use
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 ef721333ab)
2007-10-10 11:03:25 -05:00
Gerald Carter
ac42cd59f2 r9086: * fix invalid read in parse_spoolss when writing a devmode to
the wire
* fix dup_a_regval() when size is 0
* ensure we pass a pstring to unlink_internals (fixes delete_driver
  code)
(This used to be commit 353e63ff42)
2007-10-10 11:00:25 -05:00
Gerald Carter
1946e917a6 r7997: Pointers don't kill people, people with pointers kill people...
"Honest office!  It was a mistake!  I thought the safety lock was on!"

* Fix problem setting registry values in in-memory objects

I now have printmig.exe successfully creating all of the printer
registry keys (in the tdb backend) which means that the top level
semantics are correct.
(This used to be commit 5289955107)
2007-10-10 10:58:08 -05:00
Gerald Carter
270b90e25f r7995: * privileges are local except when they're *not*
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 0d6352da48)
2007-10-10 10:58:07 -05:00
Gerald Carter
bd509a81cb r7908: * change REGISTRY_HOOK api to use const (fix compiler warning
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 3d837e58db)
2007-10-10 10:58:03 -05:00
Gerald Carter
c25b67b24d r7698: * clean upserver frontend for RegDeleteKey()
* implement RegDeleteKey() for reg_db backend
(This used to be commit 91b81a23b8)
2007-10-10 10:57:19 -05:00
Gerald Carter
2129d3c711 r7691: * add .gdbinit to the svn:ignore files
* 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 e188fdbef8)
2007-10-10 10:57:19 -05:00
Gerald Carter
f0c650a382 r6942: * merging the registry changes back to the 3.0 tree
* removing the testprns tool
(This used to be commit 81ffb0dbbb)
2007-10-10 10:56:57 -05:00
Günther Deschner
c3a5d90db4 r5541: Fix crash bug in the client-spoolss enumdataex-call.
With Windows2003 it's perfectly legal to receive no data when querying a
value-less subkey. Found while migrating printer settings.

Guenther
(This used to be commit 3e04def033)
2007-10-10 10:55:46 -05:00
Jeremy Allison
acf9d61421 r4088: Get medieval on our ass about malloc.... :-). Take control of all our 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 620f2e608f)
2007-10-10 10:53:32 -05:00
Andrew Bartlett
634c54310c Merge from HEAD - make Samba compile with -Wwrite-strings without additional
warnings.  (Adds a lot of const).

Andrew Bartlett
(This used to be commit 3a7458f947)
2003-01-03 08:28:12 +00:00
Jeremy Allison
ef8bd7c4f7 Forward port the change to talloc_init() to make all talloc contexts
named. Ensure we can query them.
Jeremy.
(This used to be commit 09a218a9f6)
2002-12-20 20:21:31 +00:00
Jim McDonough
47edb96d99 Add some const
(This used to be commit 4f8c707aa9)
2002-12-05 19:12:19 +00:00
Jim McDonough
1047e83417 Don't segfault when trying to delete a key when none exist.
(This used to be commit 887ec4e510)
2002-12-03 19:25:01 +00:00
Gerald Carter
4e216f3e94 break out REGISTRY_VALUE & REGVAL_CR objects into separate file for
cleaning linking....
(This used to be commit fd140aadd7)
2002-08-30 11:03:44 +00:00