1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-23 09:57:40 +03:00

223 Commits

Author SHA1 Message Date
Andrew Bartlett
ecfdd5fc6c r17474: Allow the partitions module to load modules for specific backends.
Andrew Bartlett
(This used to be commit c016db2187120991e8ad779b9df35480d7c19400)
2007-10-10 14:15:27 -05:00
Stefan Metzmacher
3a083f8f53 r17430: implement the LDAP_SERVER_PERMISSIVE_MODIFY control in the client
metze
(This used to be commit 96259f0f24b114e505241c9d2deb702a8b40f1b6)
2007-10-10 14:15:24 -05:00
Stefan Metzmacher
12050962f6 r17429: implement the LDAP_SERVER_SHOW_DELETED control in the client
metze
(This used to be commit 40dc7c1787c16bfc15ac87fee81d2d2d1f3d2fde)
2007-10-10 14:15:24 -05:00
Stefan Metzmacher
8ac0237eba r17420: add client support for the LDAP_SERVER_DOMAIN_SCOPE control
metze
(This used to be commit 84e74a759cfa49ebc8b4ba1b8e729d6d920fc55a)
2007-10-10 14:15:24 -05:00
Stefan Metzmacher
817610f385 r17419: add client support for the LDAP_SERVER_SEARCH_OPTIONS support.
with this you can limit a search to a specific partitions
or a search over all partitions without getting referrals.
(Witch is the default behavior on the Global Catalog Port)

metze
(This used to be commit 4ccd0f8171f3748ee6efe1abd3f894d2cdf46bf4)
2007-10-10 14:15:24 -05:00
Stefan Metzmacher
b4028ca104 r17418: add client support for the LDAP_SERVER_SD_FLAGS control
metze
(This used to be commit 23759a1e9b05c4fde475a9016cb0b7447656d7e7)
2007-10-10 14:15:23 -05:00
Andrew Bartlett
f685635e87 r17368: Add 'const' to ldb_match_msg().
Andrew Bartlett
(This used to be commit 54eda4b85975c44c993a7dc45f6caa898076f163)
2007-10-10 14:15:19 -05:00
Simo Sorce
b1b9617d1c r17350: Avoid a couple of memleaks, unnecessary code and use a more linear style
(This used to be commit 97c4d41a30a5d85145abb781cb7001b502bc7dcb)
2007-10-10 14:15:18 -05:00
Andrew Bartlett
e3df3cd55f r17225: Fix the build by fixing the spelling of START-TLS.
Andrew Bartlett
(This used to be commit 4827a6b171d7b007f1641ef422d23449fb5a1606)
2007-10-10 14:10:21 -05:00
Simo Sorce
e248caed12 r17195: Start thinking how to implement extended operations.
Ad supports three extended operations:
- start tls
- dynamic objects
- fast binds

none of these are a priority.
(This used to be commit 523e8f3ed4bf5fcf9dc0c9e2100e4ac3b8032be7)
2007-10-10 14:10:18 -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
32ab518767 r16972: Replace the sequence_number function pointer in ldb with the ldb flags.
The function pointer was meant to be unused, this patch fixes
partition.c to use ldb_sequence_number().  (No backend provided the
pointer any more).

Set the flags onto the ldb structure, so that all backends opened by
the partitions module inherit the flags.

Set the read-ony flag when accessed as the global catalog

Modify the LDAP server to track that this query is for the global
catalog (by incoming port), and set a opqaue pointer.

Next step is to read that opaque pointer in the partitions module.

Andrew Bartlett
(This used to be commit a1161cb30e4ffa09657a89e03ca85dd6efd4feba)
2007-10-10 14:10:04 -05:00
Andrew Bartlett
44e6f21393 r16825: Make ldb_sainity_check() set an error string. This makes it much
easier to chase down what modules or application code gets wrong.

Ensure not to leave memory allocated on failure in ldb_search()

Andrew Bartlett
(This used to be commit 0828739951ed879640f8ed6e4700d8ca6b8221b8)
2007-10-10 14:09:47 -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
Andrew Bartlett
c79f37fa1a r16084: Add private prototype for new ldb_connect_backend() function.
Andrew Bartlett
(This used to be commit 684126223046d88d1ff446767ab6783f6391b50c)
2007-10-10 14:08:57 -05:00
Andrew Bartlett
247af0d569 r16083: Make it possible to initialise a backend module, without it setting up
the whole ldb structure.

Because the sequence number was a fn pointer on the main ldb context,
turn it into a full request (currently sync).

Andrew Bartlett
(This used to be commit fbe7d0ca9031e292b2d2fae263233c973982980a)
2007-10-10 14:08:57 -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
6d0969aa1a r15761: Fix-as-you-go ...
Testing various async paths and uncovering bugs
(This used to be commit 099d873ea596ece18efe63b06bc64e7f97a96f82)
2007-10-10 14:08:15 -05:00
Simo Sorce
aa7a02d45f r15582: Commit some forgotten stuff that have been setting on my private tree fro long
(This used to be commit 7c050b541e98cd442a0c9ed0ddadb3e573cd1304)
2007-10-10 14:06:00 -05:00
Jelmer Vernooij
172a83d724 r15573: Fix build of systems that have iconv headers in non-standard locations
Split of system/locale.h header from system/iconv.h

Previously, iconv wasn't being used on these systems
(This used to be commit aa6d66fda69779d1c2948a1aca85dbd5208f1cba)
2007-10-10 14:05:58 -05:00
Stefan Metzmacher
d562cac5c4 r15246: flags need to represented as bits 0x01,0x02,0x04,0x08,0x10,...
metze
(This used to be commit 96da29263b5b7a78e75b46ab9cf6e6e1729e05d4)
2007-10-10 14:04:24 -05:00
Simo Sorce
8c653b5b54 r15245: forgot one header
(This used to be commit 32da3f5d22cc38f72961ca65c85c49d03f64b05c)
2007-10-10 14:04:24 -05:00
Tim Potter
859817e30f r15113: Add a ldb_strerror() function.
(This used to be commit 456a1de2b9cd54337066c9ba24ad1c46aafcd072)
2007-10-10 14:04:09 -05:00
Tim Potter
cfbcb93d7c r15096: Fix typo.
(This used to be commit 85de6e32b833db9ca601b3e979d08444e0702c27)
2007-10-10 14:04:08 -05:00
Tim Potter
7dbbc960a0 r15065: Remove duplicate prototype.
(This used to be commit 9d9df34d94842ea9f4be3fa51b197fb4bb918488)
2007-10-10 14:04:05 -05:00
Jelmer Vernooij
bb1909e15e r14592: Add support for loading shared modules to LDB.
(This used to be commit f10fae23f0685b2d9c6174596e1c66d799f02c52)
2007-10-10 13:58:58 -05:00
Jelmer Vernooij
72a1d08cfe r14590: Fix ldb standalone build...
(This used to be commit 3a6ed4e2df26936202cba8f7739ed39e0d119d1a)
2007-10-10 13:58:56 -05:00
Jelmer Vernooij
7a121583b4 r14349: Kill proto.h!
Prototypes are now spread over multiple headers, usually one per subsystem.
This change is required to allow proper header dependencies later on,
without recompiling Samba each time the mtime of any source file changes.
(This used to be commit 3da79bf909f801386a52e6013db399c384d0401c)
2007-10-10 13:57:14 -05:00
Simo Sorce
6e74d83565 r14163: Remove LDB_WAIT_ONCE, we can hardly guarante we
get anything if not waiting for all, keeping this
value may just lead to false expectations.

You either make blocking call waiting for ALL results
transforming this in a sync call, or either you loop
expecting from 0 to all results being returned at any
time on any of these loops.

It should be clear also that when you may receive results
at any time as soon as you call ldb_request.
Your callback may have received all results even before
calling ldb_async_wait the first time.

Simo.
(This used to be commit 6f041068b50caf919cd971812bdb8e3e810565fb)
2007-10-10 13:56:56 -05:00
Simo Sorce
257598424e r13996: simplify ldb_async_wait() some more
(This used to be commit ef1b3e6368179fe86ae07b8d00e4668090175551)
2007-10-10 13:52:36 -05:00
Simo Sorce
7b82c4beb9 r13992: change the way ldb_async_wait() works.
I think I should change the name of this function
to ldb_async_process(), any opinions ?
(This used to be commit 3347322d1327cfa975ee9dccd4f2774e6e14fbcb)
2007-10-10 13:52:34 -05:00
Jelmer Vernooij
49e6945ca8 r13990: Fix issues with function renaming.
(This used to be commit 988ea27e22e3c0f4daf118151f90db5bb243bffc)
2007-10-10 13:52:34 -05:00
Stefan Metzmacher
e814354e43 r13934: these are only needed for a standalone build
metze
(This used to be commit 0db8351b149e5c3d91bf7f2d36ceed329462133c)
2007-10-10 13:52:28 -05:00
Jelmer Vernooij
5d0aa16dfc r13839: Use registration mechanism for backends as well (in the same sense
my previous patch added it for modules). This is the next step towards
LDB backends and modules as run-time loadable .so files.
(This used to be commit fb2f70de4f6c4a9b13ad590cb4d3a9c858cede49)
2007-10-10 13:52:14 -05:00
Simo Sorce
509814bd03 r13823: make async_wait part of the modules ops
(This used to be commit b4202cf030d5f154f0f94f5f501ecd648ba5c48f)
2007-10-10 13:52:13 -05:00
Stefan Metzmacher
2debfc918c r13809: move ldb specific define
metze
(This used to be commit 6f47fcbd44ae83e7268aedf91ac56fff4189c763)
2007-10-10 13:52:12 -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
Simo Sorce
e1380d63a0 r13744: Make ldb_ldap async
(This used to be commit ec833b409c1fff4ab908fe194579e701d2e950b0)
2007-10-10 13:52:09 -05:00
Andrew Tridgell
57d5f19b3f r13700: added highestCommittedUSN, uSNChanged and uSNCreated support, using
the @BASEINFO sequenceNumber

(simo, I changed the function pointer to a structure element as you
preferred)
(This used to be commit 68c9ac38c7eed221b44499ee3d74597063dfe7a1)
2007-10-10 13:52:06 -05:00
Andrew Bartlett
98c0767677 r13616: Add new ldb functions: ldb_msg_add_steal_string() and
ldb_msg_add_steal_value().

These try to maintain the talloc heirachy, which must be correct
otherwise talloc_steal operations of entire attribute lists fails.

This fixes the currentTime value, found by using Microsoft's dcdiag
tool (before this commit, it pointed to invalid memory, due to the
changes in -r 13606)

Andrew Bartlett
(This used to be commit 424df1bb369fddcfd358cf26dd0da9d3851d181e)
2007-10-10 13:51:59 -05:00
Simo Sorce
d590dea10b r13615: Make ldb_set_errstring get ldb instead of module as parameter.
The module was just used to get to the ldb so it was meningless.

Also add LDB_WAIT_ONCE e relative code in ldb_ildap.c
(This used to be commit d5b467b7c132b0bd4d23918ba7bf3370b1afcce8)
2007-10-10 13:51:59 -05:00
Simo Sorce
00fe70e5b9 r13609: Get in the initial work on making ldb async
Currently only ldb_ildap is async, the plan
is to first make all backend support the async calls,
and then remove the sync functions from backends and
keep the only in the API.

Modules will need to be transformed along the way.

Simo
(This used to be commit 1e2c13b2d52de7c534493dd79a2c0596a3e8c1f5)
2007-10-10 13:51:59 -05:00
Simo Sorce
338c410fec r13361: initial implementation of the vlv control
seem still buggy, can't make w2k3 to like it yet
(This used to be commit e1318383e91f6f6db39e3e3c9946fbb089753947)
2007-10-10 13:51:50 -05:00
Simo Sorce
76036d37b4 r13349: In the end I could not use ldb_caseless_cmp
in attrib_handler.c functions

remove it again

Simo
(This used to be commit 513ff499071e6cb5e608a82430718021f72997bd)
2007-10-10 13:51:47 -05:00
Simo Sorce
3ba24e4a35 r13335: Fix the build and add an utf8 safe ldb_hadler_fold function
based on ldb_casefold
(This used to be commit 6104f900863c688707809d42c5429a42d654d5fb)
2007-10-10 13:51:45 -05:00