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

173 Commits

Author SHA1 Message Date
Andrew Tridgell
fa4f33558a r6833: split out the routine that calculates the diff between two ldb messages from ldbedit,
so other progs can use it.
2007-10-10 13:16:49 -05:00
Andrew Tridgell
3339a88617 r6829: include the talloc autoconf tests when building ldb standalone 2007-10-10 13:16:48 -05:00
Andrew Tridgell
eb7979d9de r6817: - fixed empty ldap search elements in filters
- added support for guids in cldap netlogon searches.

the cldap server now passes the LDAP-CLDAP torture test
2007-10-10 13:16:47 -05:00
Jelmer Vernooij
c1f1b5a945 r6790: Use config.h file for ldb and add test for stdint.h 2007-10-10 13:16:43 -05:00
Simo Sorce
5f10707e8a r6759: let us have a wildcard attribute so that we can set a default for all attributes
example:

*: CASE_INSENSITIVE

by placing it in the @ATTRIBUTES object you make all the matching be case insensitive
to make an excepion to the general rule now you just need to create an entry like:

name: CASE_SENSITIVE

the key CASE_SENSITIVE currently does not exist but has the effect of making the code
ignore the wildcard default flag and being ldb case sensitive by default it let the
"name" attribute be case sensitive again

Tridge, can you look at this commit?
Should we introduce a CASE_SENSITVE/BINARY flag and handle it in the code ?

Simo.
2007-10-10 13:16:41 -05:00
Andrew Tridgell
917f2a8a07 r6560: added a tdb_chainlock_read() call in ldb_search(). This guarantees
that ldb_search() sees a single consistent view of the database (by
blocking writes during a ldb_search)
2007-10-10 13:16:25 -05:00
Jelmer Vernooij
95fed657f4 r6546: Fix ldb standalone build
Add autoconf to tdb
2007-10-10 13:16:25 -05:00
Jelmer Vernooij
78bf8026bd r6487: Use autoconf for standalone build of tdb 2007-10-10 13:16:19 -05:00
Jelmer Vernooij
e3be094fb7 r6486: Add 'make install' and pkg-config file. 2007-10-10 13:16:19 -05:00
Jelmer Vernooij
cc20d6bb7f r6485: Move LDAP detection M4 file and use it for the standalone ldb build
Remove a couple of unused M4 macros.

The standalone LDB build will not work until I've figured out what
AC_CHECK_LIB_EXT() does exactly (it's Samba-specific)
2007-10-10 13:16:19 -05:00
Andrew Tridgell
ebe7071b2e r6481: change download instructions to include tdb and talloc 2007-10-10 13:16:19 -05:00
Andrew Tridgell
1265c9b8a8 r6480: fixed whitespace typo 2007-10-10 13:16:18 -05:00
Andrew Tridgell
5a727d74d7 r6479: - added a simple web page
- fixed configure.in ordering
2007-10-10 13:16:18 -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
Jelmer Vernooij
a8de35ca27 r6442: Add mechanism for configuring ldb independantly of the rest of
Samba using the autoconf tools.
2007-10-10 13:11:37 -05:00
Tim Potter
5a598f5da1 r6360: Quieten unused variable warning. 2007-10-10 13:11:34 -05:00
Richard Sharpe
9b4069e845 r6118: Make it so that we can do --with-zlib=no in configure and also a couple
of small typos.
2007-10-10 13:11:20 -05:00
Andrew Tridgell
c4728625c0 r6087: - remove the dlopen code for now (before it goes back, it needs to be
made into something that isn't a maze of #ifdefs)

- when a module is not found, make it a non-fatal error. Otherwise the standalone ldb
  tools just bail out. The previous code meant that if you had a
  module listed and it wasn't present then you could _never_ fix it,
  as you coudln't open the ldb to remove that module from @MODULES !
2007-10-10 13:11:18 -05:00
Andrew Tridgell
a6e492f95c r6086: default to stderr for error messages in ldb, so we get errors in ldb_connect() 2007-10-10 13:11:18 -05:00
Tim Potter
80dfac3640 r5769: Fix unused variable warning. 2007-10-10 13:11:02 -05:00
Simo Sorce
0579b5f7ad r5670: simplify and clarify ldb_modules.c code
rectify the test schema
correct a glitch in schema module
2007-10-10 13:10:58 -05:00
Andrew Tridgell
12d03f9663 r5665: the data within el2->values can still be used at this point, so don't free 2007-10-10 13:10:57 -05:00
Andrew Tridgell
19a22f78c2 r5664: simo, please look into this. It is possible for the number of elements
in msg[0] to be 0, in which case we crash. This is a workaround.

Also, if you could please split up this function into readable
pieces. It's a bit of a mess at the moment.
2007-10-10 13:10:57 -05:00
Simo Sorce
d58be9e74b r5585: LDB interfaces change:
changes:
- ldb_wrap disappears from code and become a private structure of db_wrap.c
  thanks to our move to talloc in ldb code, we do not need to expose it anymore

- removal of ldb_close() function form the code
  thanks to our move to talloc in ldb code, we do not need it anymore
  use talloc_free() to close and free an ldb database

- some minor updates to ldb modules code to cope with the change and fix some
  bugs I found out during the process
2007-10-10 13:10:55 -05:00
Andrew Tridgell
0f034dc563 r5374: - changed the dn key code in the ldb tdb backend to correctly honor
the case sensitive/insensitive flags on sections of a dn. So if a dn
  is made up of 4 attributes, and 2 of those are case insensitive and 2
  are case sensitive, then all the attribute names are uppercases, but
  only the values of the case insensitive attributes are uppercased when
  forming the tdb key.

- added code to canonicalise the dn, removing leading and trailing
  spaces from attribute names and values

- when the @ATTRIBUTES record changes, fix the dn keys of any records that should now have new
  dn keys due to changes in the case sensitivity of the record

I really did this to allow me to make the WINS database properly case
insensitive, but it is also the correct general fix for ldb, as it
matches the LDAP specification (and w2k LDAP server behaviour)
2007-10-10 13:09:48 -05:00
Andrew Tridgell
18fb48204f r5357: added ldb_msg_add_fmt(), for creating formatted ldb record values 2007-10-10 13:09:45 -05:00
Andrew Bartlett
34b1da7303 r5330: Remove #include <sys/time.h> from includes.h.
Add #include "system/time.h" back (it was removed in some of these
places because the definitions were provided by <sys/time.h> on tridge's
platform.)

Andrew Bartlett
2007-10-10 13:09:43 -05:00
Andrew Tridgell
9db6c79e90 r5298: - got rid of pstring.h from includes.h. This at least makes it a bit
less likely that anyone will use pstring for new code

 - got rid of winbind_client.h from includes.h. This one triggered a
   huge change, as winbind_client.h was including system/filesys.h and
   defining the old uint32 and uint16 types, as well as its own
   pstring and fstring.
2007-10-10 13:09:38 -05:00
Andrew Tridgell
6f79432fe6 r5296: - only include the tdb headers where they are needed
- removed the u32 hack in events.c as I think this was only needed as
  tdb.h defines u32. Metze, can you check that this hack is indeed no
  longer needed on your suse system?
2007-10-10 13:09:38 -05:00
Andrew Tridgell
7be0bc93bd r5189: fixed a double free bug in the ltdb indexing code 2007-10-10 13:09:29 -05:00
Andrew Bartlett
ffad9b22be r5092: Add a bit more const - moving it further into the LDB layer.
Andrew Bartlett
2007-10-10 13:09:22 -05:00
Andrew Tridgell
e7262dccce r4863: schema_find_attribute() should be static 2007-10-10 13:09:01 -05:00
Simo Sorce
0315159daf r4862: - better structure schema tests
- fix check for deletion of required attributes on modify
  removed by mistake with the previous commits
2007-10-10 13:09:00 -05:00
Simo Sorce
c6257379e0 r4859: changed a numbe rof things:
- Try to no tcopy memory if not necessary
- let the searches hang around until we finish the operation
- greatly simplify the modify operation

still todo:

- check attributes syntax
- check objectclasses type, we cannot allow to add a new structural
  objectclass to an exixting entry unless the existing one is a parent
- more tests
2007-10-10 13:09:00 -05:00
Simo Sorce
a30f647b8a r4844: - Remove the unused attrsyn structure
- Change 0 to NULL when checking allocations
- Introduce the schema_attr_cmp hepler function
- Do not allow auxiliary classes to be missing
- Try to ease code readability and try to get
  main code out of loops when possibile.
2007-10-10 13:09:00 -05:00
Andrew Tridgell
b221c3dbb9 r4801: remove the two bogus ctype.h includes 2007-10-10 13:08:57 -05:00
Simo Sorce
e895fcf4a3 r4786: forgot to commit the exclusion for schema checking against our control entries 2007-10-10 13:08:55 -05:00
Simo Sorce
42a20f6fa4 r4784: finally make schema module use a single ldb
add the new test-schema test
2007-10-10 13:08:54 -05:00
Andrew Tridgell
6534ce650b r4781: the tolower() in schema.c is a premature optimisation. I suspect the
"distinguishedName" checking in that module is incorrect and should be
removed, but meanwhile, lets not make it slow down the compile of
every other module.
2007-10-10 13:08:54 -05:00
Simo Sorce
18cd6cb674 r4775: use schema_attr_cmp wrapper to check for the special dn/distinguishedName case alias 2007-10-10 13:08:53 -05:00
Simo Sorce
8c11038d67 r4759: use ldb_attr_cmp() to compare attribute names
check required attributes are not deleted on modify operation
if the objectclass is deleted then deny the operation if
orphan atributes are left behind
2007-10-10 13:08:51 -05:00
Andrew Tridgell
7893251456 r4744: until we decide what to do about attribute aliasing (see my recent
samba-technical posting), this is an interim solution that makes us
work pretty much like w2k3 does.
2007-10-10 13:08:49 -05:00
Simo Sorce
a681ae365f r4714: move the ldb code to the new talloc interface (eg remove _p suffix)
this helps standalone building of ldb

renew the schema module
split code into functions to improve readability and code reuse

add and modify works correctly but we need a proper testsuite

Simo
2007-10-10 13:08:47 -05:00
Andrew Bartlett
d4da9fb160 r4678: Add some const to LDB.
Andrew Bartlett
2007-10-10 13:08:42 -05:00
Andrew Tridgell
e6c81d7c9f r4547: - added talloc_new(ctx) macro that is a neater form of the common talloc(ctx, 0) call.
- cleaned up some talloc usage in various files

I'd like to get to the point that we have no calls to talloc(), at
which point we will rename talloc_p() to talloc(), to encourage
everyone to use the typesafe functions.
2007-10-10 13:08:20 -05:00
Simo Sorce
ea051f6cd3 r4513: add experimental modification attribute checking
still not complete but works with add and replace, not tested with delete
lot of duplicated code to remove
2007-10-10 13:08:17 -05:00
Stefan Metzmacher
1c6accd7cb r4506: fix compiler warnings
metze
2007-10-10 13:08:16 -05:00
Simo Sorce
b8bb62f144 r4505: Add a first very basic schema module
To use it you should provide a schema.ldb file where the schema is stored
and load the module in the ldb you want to have schema check activated

more info soon.

currently schema checks are performed only on new object creation not on modifications

Simo.
2007-10-10 13:08:16 -05:00
Simo Sorce
d11732f4f7 r4503: add an error reporting function (fixes) 2007-10-10 13:08:16 -05:00
Simo Sorce
985a58a16d r4502: add an error reporting function 2007-10-10 13:08:15 -05:00