1
0
mirror of https://github.com/samba-team/samba.git synced 2025-11-21 12:23:50 +03:00
Commit Graph

63 Commits

Author SHA1 Message Date
Stefan Metzmacher
4e2f5ba490 r18903: merge from samba3:
define HAVE_LDB_LDAP and HAVE_LDB_SQLITE3

metze
2007-10-10 14:20:19 -05:00
Andrew Tridgell
6ace943fac r18831: minor build changes for samba3. The logging changes will be removed
when the tdb api is updated
2007-10-10 14:19:15 -05:00
Stefan Metzmacher
4f753f9ebc r17778: fix compiler warnings
metze
2007-10-10 14:16:40 -05:00
Andrew Tridgell
217cff9f00 r17730: cast dlsym result to try to avoid a compiler crash on hpux 2007-10-10 14:16:33 -05:00
Simo Sorce
260868bae5 r17514: Simplify the way to set ldb errors and add another
helper function to set them.
2007-10-10 14:15:31 -05:00
Andrew Bartlett
c016db2187 r17474: Allow the partitions module to load modules for specific backends.
Andrew Bartlett
2007-10-10 14:15:27 -05:00
Andrew Bartlett
bed17cc579 r17473: Split loading a list of modules and initialising them into a seperate
function.

Andrew Bartlett
2007-10-10 14:15:27 -05:00
Simo Sorce
fc97b5dc8c r17398: avoid a memleak when we are returned 0 results and make a more creative use of memory contexts 2007-10-10 14:15:22 -05:00
Andrew Bartlett
59fc8031ec r17397: Add const, and use a more local memory context.
Andrew Bartlett
2007-10-10 14:15:21 -05:00
Andrew Bartlett
6a8c9af9ba r16908: Set an error string if we can't find a backend for an operation.
Andrew Bartlett
2007-10-10 14:09:58 -05:00
Andrew Bartlett
fbe7d0ca90 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
2007-10-10 14:08:57 -05:00
Simo Sorce
55d97ef88f r15944: rename LDB_ASYNC_ADD -> LDB_ADD, LDB_ASYNC_MODIFY -> LDB_MODIFY, etc... 2007-10-10 14:08:43 -05:00
Simo Sorce
7d65105e88 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.
2007-10-10 14:08:41 -05:00
Jelmer Vernooij
614f062748 r14606: Fix paths in developer mode. This allows 'make quicktest' to work when
building with --enable-dso
2007-10-10 13:59:00 -05:00
Jelmer Vernooij
f10fae23f0 r14592: Add support for loading shared modules to LDB. 2007-10-10 13:58:58 -05:00
Simo Sorce
3347322d13 r13992: change the way ldb_async_wait() works.
I think I should change the name of this function
to ldb_async_process(), any opinions ?
2007-10-10 13:52:34 -05:00
Jelmer Vernooij
988ea27e22 r13990: Fix issues with function renaming. 2007-10-10 13:52:34 -05:00
Stefan Metzmacher
30af3be22b r13973: fix the build
metze
2007-10-10 13:52:33 -05:00
Simo Sorce
8340ab26dd r13901: Backends need to be initialized even if there are no modules 2007-10-10 13:52:20 -05:00
Jelmer Vernooij
fb2f70de4f 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.
2007-10-10 13:52:14 -05:00
Simo Sorce
b4202cf030 r13823: make async_wait part of the modules ops 2007-10-10 13:52:13 -05:00
Jelmer Vernooij
52a2356505 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
2007-10-10 13:52:11 -05:00
Simo Sorce
1e2c13b2d5 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
2007-10-10 13:51:59 -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
a6f279bc43 r12909: add an ldb module for the wins.ldb,
it currently doesn't do much, but it's later
prevent adding corrupted records via ldbedit,
and will take care of the versionID counter

metze
2007-10-10 13:51:02 -05:00
Stefan Metzmacher
1876e245c4 r12830: this can be const
metze
2007-10-10 13:50:03 -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
Andrew Bartlett
be9d0cae89 r12746: An initial version of the kludge_acls module.
This should be replaced with real ACLs, which tridge is working on.
In the meantime, the rules are very simple:

- SYSTEM and Administrators can read all.

- Users and anonymous cannot read passwords, can read everything else

- list of 'password' attributes is hard-coded

Most of the difficult work in this was fighting with the C/js
interface to add a system_session() all, as it still doesn't get on
with me :-)

Andrew Bartlett
2007-10-10 13:49:48 -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
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 Bartlett
e902274321 r12599: This new LDB module (and associated changes) allows Samba4 to operate
using pre-calculated passwords for all kerberos key types.
(Previously we could only use these for the NT# type).

The module handles all of the hash/string2key tasks for all parts of
Samba, which was previously in the rpc_server/samr/samr_password.c
code.  We also update the msDS-KeyVersionNumber, and the password
history.  This new module can be called at provision time, which
ensures we start with a database that is consistent in this respect.

By ensuring that the krb5key attribute is the only one we need to
retrieve, this also simplifies the run-time KDC logic.  (Each value of
the multi-valued attribute is encoded as a 'Key' in ASN.1, using the
definition from Heimdal's HDB.  This simplfies the KDC code.).

It is hoped that this will speed up the KDC enough that it can again
operate under valgrind.
2007-10-10 13:49:01 -05:00
Andrew Bartlett
b1c8adcfe1 r12553: Steal the error string onto this context, so that the caller doesn't
have to think about exactly what the right context to hang it of is.

Andrew Bartlett
2007-10-10 13:47:57 -05:00
Andrew Tridgell
7d8b11174c r11953: enabled the rootdse module in the ldb modules code 2007-10-10 13:46:50 -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
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
99a5b08881 r10897: added in a hackish ldb proxy module that I am using to experiment with
mmc management support
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
3c5f3032fc r10757: remove the proxy module (it is not complete yet) 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
Andrew Tridgell
8e7c4c98a7 r10603: neaten up the ldb module initialisation code 2007-10-10 13:39:11 -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
7f864d446d r9685: Add tests for samba3sam mapping module
Fix a couple of bugs
Move samba3sam backend to lib/ldb/
Remove some more unused parameters
2007-10-10 13:34:41 -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
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
Simo Sorce
0218fc678e r7608: bug fix after yesterday's change 2007-10-10 13:18:14 -05:00