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

119 Commits

Author SHA1 Message Date
Jelmer Vernooij
fe1ee4494e r9766: Prevent erroneous OOM message
ldb_dup_val() sets out->data to NULL if in->length == 0
(This used to be commit 7ecb6988e74f4273b2ca3ea76562117e1be54b08)
2007-10-10 13:34:57 -05:00
Jelmer Vernooij
7e3838dd2d r9685: Add tests for samba3sam mapping module
Fix a couple of bugs
Move samba3sam backend to lib/ldb/
Remove some more unused parameters
(This used to be commit 7f864d446d6af7cfd9fb8dbc496a29b36ec57ce9)
2007-10-10 13:34:41 -05:00
Andrew Tridgell
7fd36b79eb r9671: patch from Kai Blin fixing a bug in our base64 encoder
(This used to be commit efa143cb3b4815fed7b037e05d591eadb828536b)
2007-10-10 13:34:38 -05:00
Simo Sorce
f2ac4b8d6b r9394: avoid to use BOOL in ldb
(This used to be commit d2055849fba56e8620403621f3fb9684f24e853f)
2007-10-10 13:33:33 -05:00
Simo Sorce
7c7b93f649 r9393: Fix ldb standalone build
(This used to be commit 796d0ea2fcf5132b157a397cc1a54aa26c042691)
2007-10-10 13:33:33 -05:00
Simo Sorce
ac90ddfdb2 r9392: Fix ldb_dn_compose to make build farm happy
Add ldb_dn_string_compose so that you can build a dn starting from a
struct ldb_dn base and a set of parameters to be composed in a format
string with the same syntax of printf
(This used to be commit 31c69d0655752cc8ea3bc5b7ea87792291302091)
2007-10-10 13:33:33 -05:00
Simo Sorce
3e4c4cff21 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
(This used to be commit 692e35b7797e39533dd2a1c4b63d9da30f1eb5ba)
2007-10-10 13:33:32 -05:00
Andrew Tridgell
6195932b42 r9387: regedit uses "New Key #nn" for newly created keys, which conflicts with the stricter
DN rules in ldb. Escape the DN components to cope.

Simo, sorry for making a change in ldb_dn.c while you have changes
pending. Please feel free to revert these and switch reg_backend_ldb.c
to use the new dn construction code.
(This used to be commit 136ecf5cb23758558b4119b08047fc273be8b0f8)
2007-10-10 13:33:31 -05:00
Stefan Metzmacher
8609e79932 r9318: fix searches with scope ONE and SUB,
the problem was that ldb_dn_compare_base() just looked at if
both dn's mtach some how, and the following happens:

basedn: CN=bar,DC=foo,DC=com
dn: DC=foo,DC=com

and dn: DC=foo,DC=com was return as result of a sub and base search

and also the ONE search with
basedn: DC=foo,DC=com

returned this

dn: CN=bla,CN=bar,DC=foo,DC=com

metze
(This used to be commit 2a107472c373e425013050e28b944c830f653a87)
2007-10-10 13:33:23 -05:00
Simo Sorce
f297f82398 r8917: Better support for extended ldap search operations
Try to follow the RFC where possible and adapt to
  openLdap and AD way of handling this structure
(This used to be commit d844d45d87b4114bc1b9af2e40f8c27ba3e219de)
2007-10-10 13:30:57 -05:00
Andrew Bartlett
4396d0d148 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
(This used to be commit 8054abc76e5e3588cebc7fc01062a1223b7f140b)
2007-10-10 13:29:52 -05:00
Andrew Bartlett
2a0cf520e3 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
(This used to be commit ed1f2e029c840d2b3ecb49dbe6e8cd67588eeeed)
2007-10-10 13:29:52 -05:00
Andrew Bartlett
24d2107324 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
(This used to be commit 940ed9827f5ab83b668a60a2b0110567dd54c3e2)
2007-10-10 13:29:50 -05:00
Andrew Tridgell
3c5675af93 r8600: fixed null termination on some error messages in ldb
(This used to be commit 326f0ad6fba8d78f104b93b49995e6c24f9493ef)
2007-10-10 13:29:43 -05:00
Simo Sorce
bfb1186269 r8585: add to ldb and ldap comparison functionality
better pares filters
Approx is currently only a stub need to dig more info to
understand what it really means and how it works exactly
(This used to be commit a9e8cd0bad27ed2b3c6a12302e787ba3c9a70a3c)
2007-10-10 13:29:41 -05:00
Simo Sorce
7bcccfc000 r8529: Matching against the wrong union
(This used to be commit 24a65b5ba6e31655bdf49be8076d758206694ac3)
2007-10-10 13:29:35 -05:00
Andrew Tridgell
6e4bcaffa0 r8517: fixed a crash bug in ldb_dn_compare_base()
(This used to be commit 19d789e82526eff236aeed77ddc8d2606c5118b6)
2007-10-10 13:29:34 -05:00
Simo Sorce
cb2c43f7b0 r8515: ldb_dn_cmp now uses ldb_dn_compare so that the DNs are compared
on a content level not ona form level, his means that the 2 DNs:
a) cn= user, dc=this, dc = is,dc=test
b) cn=user,dc=this,dc=is,dc=test
are now identical even if the string form differ (spaces)
(This used to be commit 76d496c30867ae80434483a34b0d842523aed762)
2007-10-10 13:29:33 -05:00
Tim Potter
52bef30fd4 r8414: Some C++ friendlyness fixes - 'not' is apparently a keyword in C++.
(This used to be commit bcfb3a45e4a5962fe763f8071d4458f4bd11605b)
2007-10-10 13:23:00 -05:00
Love Hörnquist Åstrand
61edb97bdf r8394: Make sure the argument to ctype is*(3) macros are unsigned char as
required by ISO C99.
(This used to be commit 56fd21c806e816cf4c3d23881f26474f858b45e2)
2007-10-10 13:20:14 -05:00
Simo Sorce
c9b0e86a43 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
(This used to be commit 4eb5863042011988d85092d7dde3d809aa15bd59)
2007-10-10 13:20:13 -05:00
Andrew Tridgell
a7c7a9c64c r8364: fixed a valgrind bug spotted by simo
(This used to be commit ef804e8f36f1835d5d61f69565f1195a70f37e74)
2007-10-10 13:20:12 -05:00
Andrew Tridgell
7c78ec0e14 r8342: allow ldb_ldif_read_string() to continue in the string, so you can
read multiple records
(This used to be commit 4b11c00421b5152fd7d4be0be0db983bb310021d)
2007-10-10 13:20:08 -05:00
Stefan Metzmacher
8f9e87d858 r8146: fix compiler warning
metze
(This used to be commit 5fcaa21d67e399aab4af15f4f6f919203c1152e5)
2007-10-10 13:19:12 -05:00
Simo Sorce
3fe6ca1c18 r8084: do not leak memory on errors
(This used to be commit 2e328e6c2fc2c66b0d0de910cd43ab232049bc90)
2007-10-10 13:19:07 -05:00
Simo Sorce
e6b353e764 r8083: check attribute type is valid (only ascii alphanum chars and '-' char)
fail if not
(This used to be commit b1a61cd5d03b4c61b81c810123ffeb3621831617)
2007-10-10 13:19:06 -05:00
Simo Sorce
1c5105065a 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
(This used to be commit 624a73148d125690ce18515f19231d26df207738)
2007-10-10 13:19:06 -05:00
Andrew Tridgell
978335ae94 r8041: remove a mis-spelled debug message :-)
(This used to be commit 912fa269d293b3b55fc5fa65f9532614fe2e202d)
2007-10-10 13:19:01 -05:00
Andrew Tridgell
a06d66a3a6 r8037: a fairly major update to the internals of ldb. Changes are:
- moved the knowledge of attribute types out of ldb_tdb and into the
   generic ldb code. This allows the ldb_match() message match logic
   to be generic, so it can be used by other backend

 - added the generic ability to load attribute handlers, for
   canonicalisation, compare, ldif read and ldif write. In the future
   this will be used by the schema module to allow us to correctly
   obey the attributetype schema elements

 - added attribute handlers for some of the core ldap attribute types,
   Integer, DirectoryString, DN, ObjectClass etc

 - added automatic registration of attribute handlers for well-known
   attribute names 'cn', 'dc', 'dn', 'ou' and 'objectClass'

 - converted the objectSid special handlers for Samba to the new system

 - added more correct handling of indexing in tdb backend based on the
   attribute canonicalisation function

 - added generic support for subclasses, moving it out of the tdb
   backend. This will be used in future by the schema module

 - fixed several bugs in the dn_explode code. It still needs more
   work, but doesn't corrupt ldb dbs any more.
(This used to be commit 944c5844ab441b96d8e5d7b2d151982139d1fab9)
2007-10-10 13:19:01 -05:00
Andrew Tridgell
c645eba60b r8005: escape '"' characters in ldap expressions. Makes scripting easier.
(This used to be commit 2de986455c9b616132f06a69c2f135019da2bb8b)
2007-10-10 13:18:58 -05:00
Simo Sorce
e1e95277c0 r7937: main file was missing
(This used to be commit 3898cdb0dc4722a7eb60a61b54ef778dab475aed)
2007-10-10 13:18:53 -05:00
Simo Sorce
1702f52498 r7936: new ldb_dn_explode and ldb_dn_casefold functions and co
(This used to be commit 7ccf21ab4eeb9821e457308a239f2103a106fb12)
2007-10-10 13:18:52 -05:00
Andrew Tridgell
49736de46a r7873: hopefully fixed build of ldb_explode_dn() on AIX
I'd really rather see this code completely replaced, but I'll leave
that to simo (he has volunteered) :-)
(This used to be commit cc2e08d68e27aa203ccc26e8d544a86de3399877)
2007-10-10 13:18:46 -05:00
Simo Sorce
ce2e35309e r7851: We are case preserving let the DN be returned the same the user put it into.
sss
(This used to be commit 5b41e3202456549250e6e5b1c63bd45ea7500fa3)
2007-10-10 13:18:42 -05:00
Derrell Lipman
fdc0450db2 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.
(This used to be commit 1dd865005594671e7effe06fb088fa97fa08de0b)
2007-10-10 13:18:41 -05:00
Andrew Tridgell
062e0f8325 r7808: fixed the build of ldb after the binary file support in ldif was added
(This used to be commit 0a8c722c8017e20635223b2c5dfc58759478312c)
2007-10-10 13:18:38 -05:00
Simo Sorce
064d71c9d4 r7805: add support to read binary files into attributes data like ldap tools does
(This used to be commit 38a14396262eeb279d67c2f0da06bfa0706a3be4)
2007-10-10 13:18:37 -05:00
Andrew Tridgell
5be159f304 r7804: added the samba specific ldif handlers into the tree, but don't enable
them just yet. I have tested them, and they work fine, but enabling
them will break code in rpc_server/ and samdb, so we need to fix that
first
(This used to be commit 07d459406b4c63e49141e0e533e1274b4052abf9)
2007-10-10 13:18:37 -05:00
Andrew Tridgell
eb0a13025a r7803: added support in ldb for callers to setup ldif read/write functions,
so that ldbedit, ldbsearch etc can display nice human readable ldif,
while storing the data as binary blobs. This will be used for storing
NDR encoded objectSid and similar attributes, while making the command
line interface sane
(This used to be commit 37e283089a846fc0608fef3981a3447300e33728)
2007-10-10 13:18:37 -05:00
Andrew Tridgell
bd7a474b19 r7776: add a method for getting arbitrary opaque data into a ldb context, for use by backends.
Currently only EventContext is used in this way.
(This used to be commit 9fa21b245843371f7777682ee4e5b98e2925b4d0)
2007-10-10 13:18:35 -05:00
Andrew Tridgell
1601b8e9f9 r7759: allow ldb_errstring() to be used when not connected
(This used to be commit 818ae965afad37216d804aa630359d875794612e)
2007-10-10 13:18:32 -05:00
Andrew Tridgell
56cc328000 r7740: get rid of our duplicate base64 routines
(This used to be commit cf17f90a83cf04815544c5408eb56d00546b3e88)
2007-10-10 13:18:29 -05:00
Andrew Tridgell
814d5a5011 r7739: fixed an off by one bug in the base64 decoder for ldb ldif
(This used to be commit fe2b77af2352f1964402a4286105916e990dc36f)
2007-10-10 13:18:28 -05:00
Andrew Tridgell
f52b42c75f r7710: new command line handling code for ldb
(This used to be commit 5e8db1c9b3bb6c5196652a7af877b4204148c305)
2007-10-10 13:18:24 -05:00
Andrew Tridgell
ed3d8091ce 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
(This used to be commit f648fdf187669d6d87d01dd4e786b03cd420f220)
2007-10-10 13:18:24 -05:00
Andrew Tridgell
03b0f279ed r7667: added a ldb ildap backend, using our internal ldap client library. Next step is to
remove the check for the ldap libraries in configure
(This used to be commit 74841dbb2a86bb1c584b5c26c4cd24a818a65a34)
2007-10-10 13:18:19 -05:00
Simo Sorce
f4183d9be2 r7635: change the license of this file to lgpl like the rest of ldb
(This used to be commit 8735188b46d4bb6c3d63d22a8c6f3fad2c82df89)
2007-10-10 13:18:16 -05:00
Simo Sorce
9378cca1ae r7608: bug fix after yesterday's change
(This used to be commit 0218fc678e375a05fbc4da5500706199340918e2)
2007-10-10 13:18:14 -05:00
Derrell Lipman
93e03bd272 r7602: fix some compiler warnings
(This used to be commit ce9966e091d36f66d409ac6f7b5e462c9dc37325)
2007-10-10 13:18:13 -05:00
Derrell Lipman
f021dffb69 r7601: ldb_sqlite3 work in progress
(This used to be commit 0a64948152a446b5e127578d49b1ed8a90a1a222)
2007-10-10 13:18:13 -05:00