1
0
mirror of https://github.com/samba-team/samba.git synced 2025-06-23 11:17:06 +03:00

47 Commits

Author SHA1 Message Date
Andrew Tridgell
be8e91d9ca s4-ldb: convert the rest of the ldb modules to the new style 2010-11-01 18:55:19 +11:00
Matthias Dieter Wallnöfer
8d3b7d418e LDB:asq module - change counters to "unsigned" where appropriate 2010-03-08 18:53:24 +01:00
Matthias Dieter Wallnöfer
8536e1b947 s4:various LDB modules - "build_request" functions - propagate result codes back
It's very useful to know the exact result code when something fails and not
only a generic (by the module) created one.
Sure, there are some exception cases with specific results (special message
constellations, attributes, values...) which shouldn't be changed at all
(examples of them are in the "ldap.py" test). Therefore I looked very
carefully to not change them.
2009-10-06 19:41:16 +02:00
Matthias Dieter Wallnöfer
ae8e5b48e7 s4: Fix typo 2009-09-06 12:30:37 +02:00
Sumit Bose
9d7cb4826a remove all '\n' from ldb_debug 2009-07-14 11:21:11 -04:00
Andrew Kroeger
bf863bccb6 s4:ldb:modules: Correct typos. 2009-05-26 16:38:39 -04:00
Simo Sorce
380874ef86 Fix the mess with ldb includes.
Separate again the public from the private headers.

Add a new header specific for modules.
Also add service function for modules as now ldb_context and ldb_module are
opaque structures for them.
2009-01-30 01:02:03 -05:00
Andrew Bartlett
596fe759e1 s4:ldb: make it possible to return per entry controls
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2008-12-17 12:29:27 +11:00
Simo Sorce
7fb9007f3d Fix very old bug in ASQ 2008-10-14 12:25:18 -04:00
Simo Sorce
4f40ee2b86 LDB ASYNC: core modules 2008-09-29 04:22:19 +02:00
Jelmer Vernooij
16109a40c0 Use struct-based rather than function-based initialization for ldb modules everywhere.
(This used to be commit 85c96a325867f7bcdb412ebc53f8a47dbf7cd89b)
2008-02-20 01:54:32 +01:00
Simo Sorce
5a1433cae7 r26581: Make ldb_wait uniform, so that it is easy to remove it completely from modules
later on.
(This used to be commit f75ce8c20aa2b466e9ee86fdf1702b2ffda10ddf)
2007-12-24 01:51:07 -06:00
Andrew Tridgell
6c973f4e8c r23798: updated old Temple Place FSF addresses to new URL
(This used to be commit 40c0919aaa9c1b14bbaebb95ecce53eb0380fdbb)
2007-10-10 14:59:15 -05:00
Andrew Tridgell
b8d69a7ea2 r23795: more v2->v3 conversion
(This used to be commit 84b468b2f8f2dffda89593f816e8bc6a8b6d42ac)
2007-10-10 14:59:14 -05:00
Jelmer Vernooij
52fb06edc2 r22681: Fix standalone ldb build when parent directory name != ldb.
(This used to be commit 1093875d59f1ea9b8bd82277d4f9d8366e584952)
2007-10-10 14:52:00 -05:00
Andrew Bartlett
7dc7156bd7 r21496: A number of ldb control and LDAP changes, surrounding the
'phantom_root' flag in the search_options control

- Add in support for LDB controls to the js layer
- Test the behaviour
- Implement support for the 'phantom_root' flag in the partitions module
- Make the LDAP server set the 'phantom_root' flag in the search_options control
  - This replaces the global_catalog flag passed down as an opaque pointer
- Rework the string-format control parsing function into
  ldb_parse_control_strings(), returning errors by ldb_errorstring()
  method, rather than with printf to stderr
- Rework some of the ldb_control handling logic

Andrew Bartlett
(This used to be commit 2b3df7f38d7790358dbb4de1b8609bf794a351fb)
2007-10-10 14:48:44 -05:00
Simo Sorce
d38a7a39fa r20670: Make the logic more clear
(This used to be commit 906630f18e5fab4be6c40018aafe67df1e27c92e)
2007-10-10 14:40:19 -05:00
Simo Sorce
f400fc4d0d r20669: Simplifing more
(This used to be commit 03de577059cb71bb6d5df7a65b5f5ba30bdea746)
2007-10-10 14:40:19 -05:00
Simo Sorce
a1a5d12c13 r20656: This way the process flow should be much more readable.
We need to make it easier, but this should be a step in
the right direction.
(This used to be commit ad58177ee46a4f02ee2e2d97882b851226bd3af2)
2007-10-10 14:37:27 -05:00
Stefan Metzmacher
0e2ebecf18 r20198: let the IBM checker ignore the warning about a missing break
statement...

metze
(This used to be commit 6b20123c10b8812759b0876990766adc207bc5b4)
2007-10-10 14:29:22 -05:00
Simo Sorce
5bbe9101cf r19904: port fies from samba3
(This used to be commit 49d1559d3670de4a4f9eace99600c37cf039bae2)
2007-10-10 14:28:34 -05:00
Simo Sorce
4889eb9f7a r19831: Big ldb_dn optimization and interfaces enhancement patch
This patch changes a lot of the code in ldb_dn.c, and also
removes and add a number of manipulation functions around.

The aim is to avoid validating a dn if not necessary as the
validation code is necessarily slow. This is mainly to speed up
internal operations where input is not user generated and so we
can assume the DNs need no validation. The code is designed to
keep the data as a string if possible.

The code is not yet 100% perfect, but pass all the tests so far.
A memleak is certainly present, I'll work on that next.

Simo.
(This used to be commit a580c871d3784602a9cce32d33419e63c8236e63)
2007-10-10 14:28:22 -05:00
Simo Sorce
5203031007 r19452: Warn but don't die if registering against the rootdse is not possible
(This used to be commit 4ad2eba2aa7711d480a844766e2dd3da938b3413)
2007-10-10 14:21:33 -05:00
Simo Sorce
f7005d48d2 r19129: Add comment to clarify behavior
(This used to be commit 7180f38e9e436ca7a7c49f2d4b315ec5eb9c7631)
2007-10-10 14:20:37 -05:00
Andrew Tridgell
05cdd9ccaf r18439: 2nd try at a talloc_move() api. This type with the ** ptr interface
exposed.

Unfortunately this generates a large number of type punning
warnings. We'll have to find some magic to hide those.
(This used to be commit 254cbf09dee5a1e20c47e47a298f1a8d172b41b9)
2007-10-10 14:18:29 -05:00
Andrew Tridgell
7f63cebd33 r18436: converted ldb to use talloc_move() instead of talloc_steal() when
appropriate.

Note that I also removed the error checks that were being done on the
result of talloc_steal(). They are pointless as talloc_steal() doesn't
have any failure modes that wouldn't cause a segv anyway, and they
tend to clutter the code
(This used to be commit c0d9e7d473b8e3eb2524a9fc29cf88680f994b36)
2007-10-10 14:18:29 -05:00
Simo Sorce
fb15300c60 r18317: Make sure we actually have a valid reply or fail
(This used to be commit 41cb3a9258012e628a2d87959cc066f6c5d92255)
2007-10-10 14:18:07 -05:00
Stefan Metzmacher
47479df22e r17775: use an enum to get rid of compiler warnings
metze
(This used to be commit c66cf31afd99d537b1f4dfc8ff1502dfa6accfd3)
2007-10-10 14:16:40 -05:00
Simo Sorce
faed817506 r17514: Simplify the way to set ldb errors and add another
helper function to set them.
(This used to be commit 260868bae56194fcb98d55afc22fc66d96a303df)
2007-10-10 14:15:31 -05:00
Simo Sorce
49f68caed2 r17186: "async" word abuse clean-up part 2
(This used to be commit c6aa60c7e69abf1f83efc150b1c3ed02751c45fc)
2007-10-10 14:10:17 -05:00
Simo Sorce
c93817b36d r17185: Oh, I wanted to do this for sooo long time.
Finally acknowledge that ldb is inherently async and does not have a dual personality anymore
Rename all ldb_async_XXX functions to ldb_XXX except for ldb_async_result, it is now ldb_reply
to reflect the real function of this structure.

Simo.
(This used to be commit 25fc7354049d62efeba17681ef1cdd326bc3f2ef)
2007-10-10 14:10:16 -05:00
Andrew Bartlett
f77c410084 r16264: Add, but do not yet enable, the partitions module.
This required changes to the rootDSE module, to allow registration of
partitions.  In doing so I renamed the 'register' operation to
'register_control' and 'register_partition', which changed a few more
modules.

Due to the behaviour of certain LDAP servers, we create the baseDN
entry in two parts: Firstly, we allow the admin to export a simple
LDIF file to add to their server.  Then we perform a modify to add the
remaining attributes.

To delete all users in partitions, we must now search and delete all
objects in the partition, rather than a simple search from the root.
Against LDAP, this might not delete all objects, so we allow this to
fail.

In testing, we found that the 'Domain Controllers' container was
misnamed, and should be 'CN=', rather than 'OU='.

To avoid the Templates being found in default searches, they have been
moved to CN=Templates from CN=Templates,${BASEDN}.

Andrew Bartlett
(This used to be commit b49a4fbb57f10726bd288fdc9fc95c0cbbe9094a)
2007-10-10 14:09:09 -05:00
Simo Sorce
ca5accf224 r16036: Add a couple of new functions to corretly deal with timeouts.
Check timeouts are correctly verified.
Some minor fixed and removal of unused code.
(This used to be commit b52e5d6a0cb1a32e62759eaa49ce3e4cc804cc92)
2007-10-10 14:08:52 -05:00
Simo Sorce
2d19dca9c8 r15944: rename LDB_ASYNC_ADD -> LDB_ADD, LDB_ASYNC_MODIFY -> LDB_MODIFY, etc...
(This used to be commit 55d97ef88f377ef1dbf7b1774a15cf9035e2f320)
2007-10-10 14:08:43 -05:00
Simo Sorce
0c7b82e5f6 r15942: Remove the sync internal ldb calls altogether.
This means that some modules have been disabled as well as they
have not been ported to the async interface

One of them is the ugly objectclass module.
I hope that the change in samldb module will make the MMC happy
without the need of this crappy module, we need proper handling
in a decent schema module.

proxy and ldb_map have also been disabled
ldb_sqlite3 need to be ported as well (currenlty just broken).
(This used to be commit 51083de795bdcbf649de926e86969adc20239b6d)
2007-10-10 14:08:43 -05:00
Simo Sorce
03703a58d7 r15932: Remove per request creds
They have never benn used and make little sense too imo
(This used to be commit f0c1d08d50f8a3e25650ac85b178ec7a43e433d9)
2007-10-10 14:08:41 -05:00
Simo Sorce
3a4d7eb2c0 r15927: Optimize ldb module traverse while keeping the API intact.
I was sick of jumping inot each module for each request,
even the ones not handle by that module.
(This used to be commit 7d65105e885a28584e8555453b90232c43a92bf7)
2007-10-10 14:08:41 -05:00
Simo Sorce
3308a23850 r15922: password_hash.c has proven to be a good way to research how to build an async module
change asq.c to be more readble
(This used to be commit 9197187c4290847721432db09bdfb2f1d06e51ba)
2007-10-10 14:08:40 -05:00
Simo Sorce
90a5e19e03 r15913: Error passing in the async code is not in agood shape
Start enhancing it and fix some problems with incorrect evalutaion of the codes

Implement rdn rename (async only)
(This used to be commit 6af1d738b9668d4f0eb6194ac0f84af9e73f8c2e)
2007-10-10 14:08:39 -05:00
Simo Sorce
b1bf44a4e1 r14344: More helpful messages on error for command line specified controls
fixes in paged_results
asq -> async
(This used to be commit fbd347544001da9e46246eb0b4a8d165ccab15c9)
2007-10-10 13:57:13 -05:00
Jelmer Vernooij
26af14c39b r13786: [merge] Add registration functions for LDB modules
Applications that use LDB modules will now have to run ldb_global_init()
before they can use LDB.

The next step will be adding support for loading LDB modules from .so
files. This will also allow us to use one LDB without difference between the
standalone and the Samba-specific build
(This used to be commit 52a235650514039bf8ffee99a784bbc1b6ae6b92)
2007-10-10 13:52:11 -05:00
Stefan Metzmacher
37bd0b655f r13507: the 'data' element of LDAP controls is optional.
(prepare the next commit)

metze
(This used to be commit a1bbf7f2982185cb6cd544b65b4709ab33a850c5)
2007-10-10 13:51:56 -05:00
Simo Sorce
6addde849f r13360: Fix crash bug when 0 results are returned on the internal base search
(This used to be commit fbee725ae87efbcf5887c923d55d7cb0d05476a6)
2007-10-10 13:51:50 -05:00
Simo Sorce
3721bca79d r13354: Add tests to check that controls work properly
Fix asq module, add a second_stage_init to register with rootdse
Fix asq control ldap parsing routines (this was nasty to find out)
(This used to be commit 933a80397d137f7d5b79c82a068d62bb6928ef47)
2007-10-10 13:51:48 -05:00
Stefan Metzmacher
a45b4b7b99 r12948: fix compiler warning
metze
(This used to be commit 157fd2734dfb9b3ac6f6c5ad60bbbd7a50998453)
2007-10-10 13:51:12 -05:00
Simo Sorce
491a720354 r12942: this way is better
(This used to be commit 982576d2489c9ac3f7d854f598a64a8c4d91a485)
2007-10-10 13:51:11 -05:00
Simo Sorce
3725b1817f 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.
(This used to be commit 900f4fd3435aacc3351f30afb77d3488d2cb4804)
2007-10-10 13:51:11 -05:00