1
0
mirror of https://github.com/samba-team/samba.git synced 2025-12-14 20:23:54 +03:00
Commit Graph

102 Commits

Author SHA1 Message Date
Simo Sorce
ed804262dc r8377: forgot an ldif test 2007-10-10 13:20:14 -05:00
Simo Sorce
4eb5863042 r8373: New wildcard matching code.
This code applies correct ldap standard wildcard matching code
removes WILDCARD matching from tdb @ATTRIBUTES, that's now handled independently
adds some more tests for wildcard matching
fixes dn comparison code in ldb_match
2007-10-10 13:20:13 -05:00
Simo Sorce
624a73148d r8082: large rewite of ldb_dn.c
- we do not support multpiple attribute components anymore, makes code a lot easier
  they will be readded later if we found out they are really used, so far my tests
  show w2k3 do not handle them as well

- fix escaping issues, move component value to be in an ldb_val structure
  still need to handle binary values case

- make cononicalize functions leak less memory by giving a specific memory context

- fix tests scripts so that test-ldap can start
- make test not delete databases on completion so that I can inspect them
2007-10-10 13:19:06 -05:00
Andrew Tridgell
c03753faa4 r8071: reduce the size of the default ldb tests. We run on some pretty low powered machines
in the farm, and don't want to chew too much cpu needlessly.
2007-10-10 13:19:05 -05:00
Andrew Tridgell
60863b6faf r8043: increase shell compatibility of ldb tests 2007-10-10 13:19:02 -05:00
Andrew Tridgell
f3e3b2ccd9 r8039: allow ldb test suite to be run outside of the ldb directory 2007-10-10 13:19:01 -05:00
Andrew Tridgell
a9c3244503 r8035: added indexing tests. current ldb fails the integer indexing, will be fixed shortly 2007-10-10 13:19:00 -05:00
Andrew Tridgell
ad6e62fdcf r8033: - add easier valgrind testing
- add tests for the @SUBCLASSES ltdb special
2007-10-10 13:19:00 -05:00
Andrew Tridgell
5efea40ea6 r8011: arrgh, commit the right version this time 2007-10-10 13:18:58 -05:00
Andrew Tridgell
25d3872a6e r8010: added testing of wildcard attributes 2007-10-10 13:18:58 -05:00
Andrew Tridgell
5801167c8d r8009: expanded the ldb test suite. It worried me that some changes I have
pending, which I know break lots of features, still passed our test
suite! Now they don't.
2007-10-10 13:18:58 -05:00
Andrew Tridgell
42c42f6611 r7834: added comment about the "((" search test 2007-10-10 13:18:41 -05:00
Andrew Tridgell
91cc009fed r7833: changed ldbsearch and ldbedit to have command line syntax closer to
ldapsearch. They look for an '=' in the first argument to see if it is
a search expression, and if not then it does an 'all records' search
2007-10-10 13:18:41 -05:00
Andrew Tridgell
20c84f5c52 r7832: missed one 2007-10-10 13:18:41 -05:00
Andrew Tridgell
2a426f654d r7831: use cn=TEST as base of test DNs so we don't interfere with potentially real records 2007-10-10 13:18:41 -05:00
Derrell Lipman
1dd8650055 r7828: Although there is still plenty to do, ldb_sqlite3 now passes the set of tests
in tests/test-sqlite3.sh (tests/test-generic.sh).

There are lots of optimizations still TBD, and some things are REALLY slow
right now (e.g. each add() operation takes 1/3 - 1/2 second) but it's ready for
interested parties to poke it and prod it and see how (un)reasonable it is.
Play away.

Still to be implemented or improved:
 - tdb specials (@MODULES, @SUBCLASSES, etc.)
 - all DNs are case-folded in their entirty right now (since doing otherwise
   would require @ATTRIBUTES to be implemented)
 - speed improvements and optimizations.  I am quite confident that the
   excessively slow add() operation can be much improved, and other areas
   can be somewhat improved.
2007-10-10 13:18:41 -05:00
Simo Sorce
2b2675055e r7806: add test for binary files as attribute values 2007-10-10 13:18:38 -05:00
Andrew Tridgell
f648fdf187 r7709: - convert ldb to use popt, so that it can interact with the samba
cmdline credentials code (which will be done soon)

- added a ldb_init() call, and changed ldb_connect() to take a ldb
  context. This allows for much better error handling in
  ldb_connect(), and also made the popt conversion easier

- fixed up all the existing backends with the new syntax

- improved error handling in *_connect()

- fixed a crash bug in the new case_fold_required() code

- ensured that ltdb_rename() and all ltdb_search() paths get the read lock

- added a ldb_oom() macro to make it easier to report out of memory
  situations in ldb code
2007-10-10 13:18:24 -05:00
Simo Sorce
b38bb63175 r7615: fix the build and simplify gendb_search_dn 2007-10-10 13:18:14 -05:00
Simo Sorce
a614466dec r7582: Better way to have a fast path searching for a specific DN.
Old way was ugly and had a bug, you couldn't add an attribute named
dn or distinguishedName and search for it, tdb would change that search in a dn search.
This makes it also possible to search by dn against an ldap server as the old method was
not supported by ldap syntaxes.

sss
2007-10-10 13:18:11 -05:00
Andrew Tridgell
73d2e5df0c r7572: fixed filter in test suite 2007-10-10 13:18:11 -05:00
Andrew Tridgell
853b8cd72d r7564: added a test showing the search expression that w2k is actually giving
us that triggered this work
2007-10-10 13:18:09 -05:00
Andrew Tridgell
7b58b3a9c5 r7560: added tests for extended bitop search functions 2007-10-10 13:18:08 -05:00
Simo Sorce
c226c1c7a3 r7338: let it be possible to run sqlite3 tests when it is compiled in
make it also so that we do not run test for modules we do not compile in
2007-10-10 13:17:44 -05:00
Simo Sorce
9293de1c35 r7239: add a little test 2007-10-10 13:17:30 -05:00
Simo Sorce
1295b891a2 r6867: this code will change the way the @ATTRIBUTES object is handled
this object properties are now used as multivalue attributes
now all values inserted are checked against a "valid values table"

eg:

this form is now accepted:

dn: @ATTRIBUTES
uid: CASE_INSENSITIVE
uid: WILDCARD

this form is now rejected:

dn: @ATTRIBUTES
uid: CASE_INSENSITIVE WILDCARD

please update your .ldb files if you make use of @ATTRIBUTES
(sam.ldb heavily uses it)

the code passes all make test tests for both tdb and ldap, it also
passes the new test to check for wrong @ATTRIBUTES attribute values

Simo.
2007-10-10 13:16:52 -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
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
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
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
4edbd1b18e r4477: expanded the test suite to increase code coverage a lot 2007-10-10 13:07:56 -05:00
Andrew Tridgell
0ab98f50a7 r4474: - converted ldb to use talloc internally
- added gcov flags to Makefile.ldb

- expanded ldb test suite to get more coverage
2007-10-10 13:07:55 -05:00
Andrew Tridgell
29225d0bec r4071: - ldap does allow adding additional attribute values with a modify
operation, but not if the value already exists

- fixed syntax of test.ldif for ldap backend
2007-10-10 13:06:22 -05:00
Andrew Tridgell
07378fca6c r4039: added a test for an element > 128 bytes in length, to ensure we test
for sign extending errors in element length
2007-10-10 13:06:17 -05:00
Andrew Tridgell
b4fd76f78e r4010: fixed parsing of null attributes in the ldb ldif parser 2007-10-10 13:06:13 -05:00
Simo Sorce
0d58b1dc5a r3757: Some fixes for ldb_ldap
Now we pass also the test-ldap tests :-)
2007-10-10 13:05:51 -05:00
Andrew Tridgell
4fc794d0b4 r3743: auto-support the RH schema location as well 2007-10-10 13:05:49 -05:00
Andrew Tridgell
88b03ffc85 r3742: make test-ldap give a sane error message when the openldap schema files are missing
and auto-link the files if they are found in /etc/ldap/schema/
2007-10-10 13:05:49 -05:00
Stefan Metzmacher
1e7e94fdb1 r3095: - fix a free'ing of msg.dn
- reenable index tests

metze
2007-10-10 13:02:20 -05:00
Stefan Metzmacher
18552f4786 r3093: - implment ldb_rename() and ldbrename
- add tests for ldbrename

- disable all tests which regenerate the index
  (this is broken for me...the process hangs,
   tridge we need to discuss that)

- link only the needed stuff to the ldb tools

- build ldbtest inside samba

metze
2007-10-10 13:02:20 -05:00
Andrew Tridgell
74d7bc1948 r2554: added a test for a bug that jelmer pointed out (handling of -s one) 2007-10-10 12:59:05 -05:00
Andrew Tridgell
d547479290 r1749: added some random stuff that captures some discussions volker and I
just had on emulating % macros from smb.conf in a possible ldb based
config system
2007-10-10 12:57:53 -05:00
Andrew Tridgell
62b4ec367d r574: - another attempt at const cleanliness in ldb
- fixed a problem with searching for values containing an '=' sign

 - fixed the semantics of attempting an attribute deletion on an attribute that doesn't exist.

 - added some more ldb_msg_*() utilities
2007-10-10 12:51:47 -05:00
Andrew Tridgell
3955c482e6 r502: modified ldb to allow the use of an external pool memory
allocator. The way to use this is to call ldb_set_alloc() with a
function pointer to whatever memory allocator you like. It includes a
context pointer to allow for pool based allocators.
2007-10-10 12:51:45 -05:00
Andrew Tridgell
01e8740676 r490: - expanded the test suite to test modify and delete operations
- made yet another attempt to make ldb const clean.

- "make test" now runs both the tdb and ldap backend tests, and run the ldbtest utility
  with and without indexing

- added prototypes in ldb.h for ldb_msg_*() public functions
2007-10-10 12:51:45 -05:00
Andrew Tridgell
f88760c3cc r453: added a comment about indexing on objectclass
(its usually a bad idea)
2007-10-10 12:51:43 -05:00
Andrew Tridgell
7ad0858c06 r444: - added the beginnings of a ldb test suite and benchmark
- updated the test slapd config to use bdb and indexing
2007-10-10 12:51:42 -05:00
Andrew Tridgell
f2bf06f25c r435: a major upgrade for ldb
- added the ability to mark record attributes as being CASE_INSENSITIVE, WILDCARD or INTEGER.

 - added the ability to support objectclass subclasses, and to search by a parent class

 - added internal support for case insensitive versus case sensitive
   indexing (not UTF8 compliant yet)

 - cleaned up a number of const warnings

 - added a number of helper functions for fetching integers, strings and doubles

 - added a in-memory cache for important database properties, supported by a
   database sequence number

 - changed some variable names to avoid conflicts with C++
2007-10-10 12:51:38 -05:00
Andrew Tridgell
090afa94a7 r135: some test ldif for an idea I am playing with to replace smb.conf with a ldb
Don't panic - I'll explain more when I get a chance
2007-10-10 12:51:10 -05:00
Andrew Tridgell
fe1a5a8e25 r131: mark some scripts executable 2007-10-10 12:51:10 -05:00