1
0
mirror of https://github.com/samba-team/samba.git synced 2025-11-26 04:23:49 +03:00
Commit Graph

73 Commits

Author SHA1 Message Date
Andrew Bartlett
4a50bf95b9 r12995: Don't allow overrides on "name" from above, as it can't be correct.
Andrew Bartlett
2007-10-10 13:51:15 -05:00
Stefan Metzmacher
157fd2734d r12948: fix compiler warning
metze
2007-10-10 13:51:12 -05:00
Simo Sorce
982576d248 r12942: this way is better 2007-10-10 13:51:11 -05:00
Simo Sorce
900f4fd343 r12941: Add Attribute Scoped Search control
want to see what it does ?

do aq make test and try:
./bin/ldbsearch -H st/private/sam.ldb --controls=asq:1:member -s base -b 'CN=Administrators,CN=Builtin,DC=samba,DC=example,DC=com' 'objectclass=*'

have fun.
simo.
2007-10-10 13:51:11 -05:00
Stefan Metzmacher
380938e97f r12829: fix ldb headers, to not include '<...>' files in .c files
this helps in getting symbol -fvisibility=hidden (GCC 4 feature) working later.

metze
2007-10-10 13:50:03 -05:00
Simo Sorce
5e8b365fa2 r12743: Remove the ugly way we had to make a second stage init and introduce
a second_stage_init private function for modules that need a second stage init.

Simo.
2007-10-10 13:49:48 -05:00
Simo Sorce
77125feaff r12733: Merge ldap/ldb controls into main tree
There's still lot of work to do but the patch is stable
enough to be pushed into the main samba4 tree.

Simo.
2007-10-10 13:49:47 -05:00
Andrew Bartlett
d0a0a8de3f r12717: Always compile the skel module, so we know when we break it.
Also fix up all the current issues with the skel module.

Andrew Bartlett
2007-10-10 13:49:44 -05:00
Andrew Bartlett
356c8c5609 r12716: Tridge points out that the request argument to ldb_next_request must
be a valid talloc() pointer, as other modules may rely on this.

Andrew Bartlett
2007-10-10 13:49:44 -05:00
Jelmer Vernooij
c297c93faf r12658: Couple of fixes related to shared module builds. 2007-10-10 13:49:35 -05:00
Andrew Bartlett
41948c4bdb r12600: Add a new module to sort the objectclass attribute on store. The
module is perhaps not the most efficient, but I think it is
reasonable.

This should restore operation of MMC against Samba4 (broken by the
templating fixes).

Andrew Bartlett
2007-10-10 13:49:01 -05:00
Andrew Tridgell
b1d38153b8 r11981: we should allocate request specific memory in ldb modules off the
request strucutre. It will take a while for this to happen everywhere.
2007-10-10 13:46:54 -05:00
Andrew Tridgell
b8d4afb14a r11958: - fixed memory leaks in the ldb_result handling in ldb operations
- removed an unnecessary level of pointer in ldb_search structure
2007-10-10 13:46:51 -05:00
Simo Sorce
22c8c97e6f r11567: Ldb API change patch.
This patch changes the way lsb_search is called and the meaning of the returned integer.
The last argument of ldb_search is changed from struct ldb_message to struct ldb_result
which contains a pointer to a struct ldb_message list and a count of the number of messages.
The return is not the count of messages anymore but instead it is an ldb error value.

I tryed to keep the patch as tiny as possible bu as you can guess I had to change a good
amount of places. I also tried to double check all my changes being sure that the calling
functions would still behave as before. But this patch is big enough that I fear some bug
may have been introduced anyway even if it passes the test suite. So if you are currently
working on any file being touched please give it a deep look and blame me for any error.

Simo.
2007-10-10 13:45:53 -05:00
Andrew Tridgell
197e8a27f0 r10954: added support for canonicalName in the operational module, using the
dn->canonicalName function abartlet just committed
2007-10-10 13:39:46 -05:00
Andrew Tridgell
e9e4d81b69 r10918: - fixed standalone ldb build
- added note about allowedAttributesEffective (will be needed for mmc)

- fixed some more ldb warnings
2007-10-10 13:39:43 -05:00
Andrew Tridgell
9c914542cc r10917: copy the element name in a ldb_msg_rename_attr() and ldb_msg_copy_attr() to ensure
that callers (like the ldap server) can talloc_steal the name
2007-10-10 13:39:42 -05:00
Andrew Tridgell
61e8b01022 r10916: - finished the 'operational' ldb module
- removed the timestamps module, replacing it with the operational module

- added a ldb_msg_copy_shallow() function which should be used when a module
  wants to add new elements to a message on add/modify. This is needed
  because the caller might be using a constant structure, or may want to
  re-use the structure again

- enabled the UTC time attribute syntaxes in the operational module
2007-10-10 13:39:42 -05:00
Andrew Tridgell
f6818daecc r10913: This patch isn't as big as it looks ...
most of the changes are fixes to make all the ldb code compile without
warnings on gcc4. Unfortunately That required a lot of casts :-(

I have also added the start of an 'operational' module, which will
replace the timestamp module, plus add support for some other
operational attributes

In ldb_msg_*() I added some new utility functions to make the
operational module sane, and remove the 'ldb' argument from the
ldb_msg_add_*() functions. That argument was only needed back in the
early days of ldb when we didn't use the hierarchical talloc and thus
needed a place to get the allocation function from. Now its just a
pain to pass around everywhere.

Also added a ldb_debug_set() function that calls ldb_debug() plus sets
the result using ldb_set_errstring(). That saves on some awkward
coding in a few places.
2007-10-10 13:39:41 -05:00
Andrew Tridgell
45f0c967b5 r10759: make modules easier to write by allowing modules to only implement the
functions they care about, instead of all functions. This also makes
it more likely that future changes to ldb will not break existing
modules
2007-10-10 13:39:27 -05:00
Andrew Tridgell
7e44f9153c r10753: don't require every ldb module to implement both a search_bytree() and
a search() function, instead each module now only implements the
bytree method, and the expression based search is handled generically
by the modules code. This makes for more consistency and less code
duplication.

fixed the tdb backend to handle BASE searches much more
efficiently. They now always only lookup one record, regardless of the
search expression
2007-10-10 13:39:26 -05:00
Simo Sorce
c2bb2a36bd r10477: expose transactions outside ldb and change the API once more
do not autostart transactions on ldb operations if a transaction is already in place
test transactions on winsdb

all my tests passes so far
tridge please confirm this is ok for you
2007-10-10 13:38:52 -05:00
Simo Sorce
3fc676ac1d r10305: start implementing better error handling
changed the prioivate modules API
error string are now not spread over all
modules but are kept in  a single place.

This allows a better control of memory
and error reporting.
2007-10-10 13:38:16 -05:00
Simo Sorce
1da4ac2cdc r10299: remove the public (un)lock functions and introduce a transaction based
private ldb API

ldb_sqlite3 is already working with this model and ldb_tdb will do
as soon as tridge finishes the tdb transaction code.

currently the transactions are always implicit and wrap any single
ldb API call except searching, the transaction functions are
currently not made public on purpose.

Simo.
2007-10-10 13:38:14 -05:00
Jelmer Vernooij
071dba2d0a r9948: Be a bit less verbose 2007-10-10 13:36:24 -05:00
Jelmer Vernooij
c61efb2ff8 r9918: Fix two copy-n-paste bugs that were preventing the modification
of special DN's when the rdn_name or timestamps modules were in use.
2007-10-10 13:36:22 -05:00
Jelmer Vernooij
8ff1358f40 r9915: Some more mappings. Fix weird sAMAccountName values. 2007-10-10 13:36:21 -05:00
Jelmer Vernooij
4c3b37d660 r9912: Fix another bug in ldb_map. 2007-10-10 13:36:21 -05:00
Jelmer Vernooij
ebed25b47d r9908: Generate posixUser and posixGroup as well 2007-10-10 13:36:21 -05:00
Jelmer Vernooij
76e943d441 r9899: Be more conservative about what is sent to the remote server in ldb_map. 2007-10-10 13:36:21 -05:00
Tim Potter
31069bfd18 r9881: I can't believe this can make a difference... 2007-10-10 13:36:20 -05:00
Tim Potter
c34fbdc6c3 r9880: Convert remaining initialisers to more portable form. This should
clean out a lot of build farm breakage.
2007-10-10 13:36:19 -05:00
Tim Potter
7cc8df0c2f r9879: A quick check to see if nested initialisers (?) is portable across the
build farm.  I have a feeling it isn't.
2007-10-10 13:36:19 -05:00
Jelmer Vernooij
d6dce7ef3e r9857: Fix rename/delete issues 2007-10-10 13:36:18 -05:00
Jelmer Vernooij
de2bde2526 r9854: Finish ldb_map testsuite
Update PLAN
Some more small other fixes
2007-10-10 13:36:18 -05:00
Jelmer Vernooij
b7992de4b7 r9842: More error checks in the ldb_map modules, extend testsuite 2007-10-10 13:36:17 -05:00
Jelmer Vernooij
2283a336e0 r9835: Make ldb_map compile in the stand-alone LDB build 2007-10-10 13:36:17 -05:00
Jelmer Vernooij
9a1a7fb60e r9789: Patch from Volker that fixes the build on AIX. 2007-10-10 13:35:01 -05:00
Jelmer Vernooij
eb9d615bcd r9786: Move ldb_map into ldb/modules/
Move samba3sam to dsdb/
2007-10-10 13:35:01 -05:00
Simo Sorce
692e35b779 r9391: Convert all the code to use struct ldb_dn to ohandle ldap like distinguished names
Provide more functions to handle DNs in this form
2007-10-10 13:33:32 -05:00
Andrew Bartlett
0cc58f5c3c r8740: Extend the rdn_name module to handle adding the rdn as an attribute. ie:
dn: cn=foo,ou=bar
objectClass: person

implies

dn: cn=foo,ou=bar
objectClass: person
cn: foo
(as well as a pile more default attributes)

We also correct the case in the attirbute to match that in the DN
(win2k3 behaviour) and I have a testsuite (in ejs) to prove it.

This module also found a bug in our provision.ldif, so and reduces
code complexity in the samdb module.

Andrew Bartlett
2007-10-10 13:30:00 -05:00
Andrew Bartlett
8054abc76e r8669: The objectguid module belongs in Samba's ldb module collection, not in
ldb, as it can't build without the NDR and GUID code.

Also make it properly use the NDR encoding for the GUID (I forgot last
time, and used a string), as well as set the dependencies on the
module correctly.

Andrew Bartlett
2007-10-10 13:29:52 -05:00
Andrew Bartlett
ed1f2e029c r8667: Further simply the provision script, by removing the 'name' attribute.
This is now calculated on the fly for every add and modify.

Andrew Bartlett
2007-10-10 13:29:52 -05:00
Andrew Bartlett
940ed9827f r8650: Use the timestamps and a new objectguid module rather than placing
boilerplate attributes in every entry in provision.ldif.

The next step will be to use templates.

Andrew Bartlett
2007-10-10 13:29:50 -05:00
Andrew Tridgell
96620ab2ee r7527: - added a ldb_search_bytree() interface, which takes a ldb_parse_tree
instead of a search expression. This allows our ldap server to pass
  its ASN.1 parsed search expressions straight to ldb, instead of going
  via strings.

- updated all the ldb modules code to handle the new interface

- got rid of the separate ldb_parse.h now that the ldb_parse
  structures are exposed externally

- moved to C99 structure initialisation in ldb

- switched ldap server to using ldb_search_bytree()
2007-10-10 13:18:06 -05:00
Stefan Metzmacher
03b1ff48f9 r6937: some minor fixes and updates
metze
2007-10-10 13:16:59 -05:00
Simo Sorce
a97eb63c11 r6935: don't do three things at a time :-) 2007-10-10 13:16:59 -05:00
Simo Sorce
9f0963c97f r6934: thanks to HotaruT for pointing out skel.c was not in line with the rest of the code 2007-10-10 13:16:58 -05:00
Simo Sorce
4f0948dab0 r6470: Remove ldb_search_free() it is not needed anymore.
Just use talloc_free() to release the memory after an ldb_search().
2007-10-10 13:11:40 -05:00
Tim Potter
5a598f5da1 r6360: Quieten unused variable warning. 2007-10-10 13:11:34 -05:00