1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-21 01:59:07 +03:00

53 Commits

Author SHA1 Message Date
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
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
71152824ef r15847: We probably want to keep the global init
(This used to be commit 35df457fe61e1b1f0746eadba867f7ac149e9600)
2007-10-10 14:08:31 -05:00
Simo Sorce
f1655e0298 r15846: An async version of ldbsearch
(This used to be commit 2c1af6556a2d57df6626a9f0d9fd758602ac3c5c)
2007-10-10 14:08:31 -05:00
Andrew Bartlett
fe93126096 r15372: Don't look at possibly undefined controls in failure cases.
Andrew Bartlett
(This used to be commit 04f383048ae48af6b28052ba6461fe2e476e7c44)
2007-10-10 14:05:28 -05:00
Simo Sorce
82da2d401e r13998: From now on ldb_request() will require an alloced request
By freeing the request you will be sure everything down the path get freed.

this also means you have to steal the results if you want to keep them :)

simo.
(This used to be commit e8075e6a062ce5edb84485e45d0b841c2ee2af7d)
2007-10-10 13:52:36 -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
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
77445df4b4 r13580: fix broken client side sort
(This used to be commit cbbc0d7cc4f589235d209011bdb0a0401b492d9e)
2007-10-10 13:51:57 -05:00
Simo Sorce
ab6a39fa4f r13289: Check the tree is not NULL
Thanks to Aaron J. Seigo <aseigo@kde.org> for spotting this
(This used to be commit 4b5c0493e2276a9eba1bada7c4bac99999a465e2)
2007-10-10 13:51:43 -05:00
Simo Sorce
cd7553959e r13167: handle cotrols' reply even in error
(This used to be commit b9d1d02f381cf81883c9f22a1702319f5fce6eb8)
2007-10-10 13:51:31 -05:00
Simo Sorce
f81d80a4af r12989: move the control parsing and handleng functions to cmdline.c
so that they can be used by the other ldb tools as well
(This used to be commit c12b3c5cb46d428f815c623efacff8edebb6f6e3)
2007-10-10 13:51:14 -05:00
Stefan Metzmacher
828ee2bc6f r12984: add parse code and ldbsearch cmdline code for
NOTIFICATION LDAP Controls
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ldap/ldap/ldap_server_notification_oid.asp

this doesn't work yet, but it shows that we need to extend ldb to correctly
handle async requests...

metze
(This used to be commit 1fe67189490c9faf499b68a28071a6294a53db0e)
2007-10-10 13:51:14 -05:00
Stefan Metzmacher
8139c1e6f2 r12983: - fix using a DIRSYNC cookie from the command line
- also w2k doesn't work correct with max_attrs = 0, so we should use
  a high number, with this I'm getting the same results from w2k and w2k3

metze
(This used to be commit ce9f086c3c1a65bf1b4c843ec44e8817d9361182)
2007-10-10 13:51:14 -05:00
Simo Sorce
3b447ab4a1 r12977: Some code to implement the client side of the Dirsync control
Still investigating how it works.

Simo.
(This used to be commit bebd403523e581606505e05e7cb621efbc22fa36)
2007-10-10 13:51:13 -05:00
Simo Sorce
3725b1817f 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.
(This used to be commit 900f4fd3435aacc3351f30afb77d3488d2cb4804)
2007-10-10 13:51:11 -05:00
Simo Sorce
5db0c6b304 r12925: implement client side of ASQ control
(This used to be commit dd386bdc6ca6fe0b25705d5a375d29e6940b437f)
2007-10-10 13:51:07 -05:00
Stefan Metzmacher
2e8937c334 r12843: get special objects with ldbsearch -a too, to match ldbedit -a
metze
(This used to be commit bb68f2e602dbcc94c05b2dd764c163be1e5a583d)
2007-10-10 13:50:05 -05:00
Simo Sorce
5ecc64dcab r12833: complete ldbsearch support for controls
now the three supported controls (paged_results,
server_sort, extended_dn) are fully functional
and the infrastructure to add more is in place.

valgrind is happy too :)

Simo.
(This used to be commit bd8e2629378700198e16287823970f52d1150a86)
2007-10-10 13:50:04 -05:00
Stefan Metzmacher
4d1c5a023c r12829: fix ldb headers, to not include '<...>' files in .c files
this helps in getting symbol -fvisibility=hidden (GCC 4 feature) working later.

metze
(This used to be commit 380938e97f31c7860aed1e73cc0110c6e17b472e)
2007-10-10 13:50:03 -05:00
Simo Sorce
6f18b19519 r12810: handle control options gracefully and don't segfault
(This used to be commit 300d48bc9daa13e1475c10eaa1ec0717c822a7f7)
2007-10-10 13:49:58 -05:00
Simo Sorce
b51fe793c7 r12745: Initial work to support a syntax to pass over controls via
command line to ldbsearch. Very rough work, no checks are
done on the input yet (will segfault if you make it wrong).
Controls are passed via the --controls switch an are comma
separated (no escaping yet).

General syntax is <ctrl_name>:<criticality>
<ctrl_name> is a string
<criticality> is 1 or 0

Current semi-parsed controls are:

server_sort
syntax: server_sort:1:0:attributename

	1st parm: criticality
	2nd parm: reversed
	3rd parm: attribute name to be used for sorting

todo:	still missing suport for multiple sorting
	  attributes and ordering rule
	no check on result code

paged_results
syntax: paged_results:1:100

	1st parm: criticality
	2nd parm: number of results to be returned

todo:	ldbsearch will return only the first batch
	  (missing code to cycle over conditionally)
	no check on result code

extended_dn
syntax: extended_dn:1:0

	1st parm: criticality
	2nd parm: type, see MS docs on meaning

Simo.
(This used to be commit 4c685ac0d1638a1d5392dfe733baf0db77e84858)
2007-10-10 13:49:48 -05:00
Simo Sorce
c908d0b2aa 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.
(This used to be commit 77125feaff252cab44d26593093a9c211c846ce8)
2007-10-10 13:49:47 -05:00
Jelmer Vernooij
d4de4c2d21 r12608: Remove some unused #include lines.
(This used to be commit 70e7449318aa0e9d2639c76730a7d1683b2f4981)
2007-10-10 13:49:03 -05:00
Simo Sorce
5c95905871 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.
(This used to be commit 22c8c97e6fb466b41859e090e959d7f1134be780)
2007-10-10 13:45:53 -05:00
Andrew Tridgell
36d73b0e71 r10894: make the handling of dn/distinguishedName much closer to real
ldap. Also ensure we put a objectclass on our private ldb's, so they
have some chance of being stored in ldap if you want to
(This used to be commit 1af2cc067f70f6654d08387fc28def67229bb06a)
2007-10-10 13:39:40 -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
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
Andrew Tridgell
0eb6bc1257 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
(This used to be commit 91cc009fedefa7b263b345dfa511800e0f4f66a8)
2007-10-10 13:18:41 -05:00
Andrew Tridgell
f40e69da26 r7714: enable samba credentials handling in ldb tools. So you can now do a
encrypted ldbedit against w2k3
(This used to be commit 6277c3923e7d9c26753424b1e77ac62f8e0729a4)
2007-10-10 13:18:25 -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
Derrell Lipman
ee3f4b12d2 r7438: work in progress
(This used to be commit 2fc5343f0637ef3109b079dbc33d6cf4e58c8d5e)
2007-10-10 13:17:53 -05:00
Derrell Lipman
a1ba224107 r7276: - moved static tdb function ltdb_dn_fold() into common/ so that it can be
called from multiple backends.  (ldb_sqlite3 needs it too.)  Added parameter
  for a callback function that determines whether an attribute needs case
  folding.
- begin to prepare for sqlite3 in build process
- work-in-progress updates, on ldb_sqlite3
(This used to be commit a80bced0b96ffb655559a43cf7f4d7a34deb5a7d)
2007-10-10 13:17:35 -05:00
Simo Sorce
fe4d985b6f r6470: Remove ldb_search_free() it is not needed anymore.
Just use talloc_free() to release the memory after an ldb_search().
(This used to be commit 4f0948dab0aa5e8b6a4ce486f3668ca8dfae23db)
2007-10-10 13:11:40 -05:00
Simo Sorce
b1b14817ea 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
(This used to be commit d58be9e74b786a11a57e89df36081d55730dfe0a)
2007-10-10 13:10:55 -05:00
Andrew Tridgell
e82aad1ce3 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.
(This used to be commit 9db6c79e902ec538108d6b7d3324039aabe1704f)
2007-10-10 13:09:38 -05:00
Andrew Tridgell
09a76e204c r4477: expanded the test suite to increase code coverage a lot
(This used to be commit 4edbd1b18ee38e584cf844b64c7fcb2645921837)
2007-10-10 13:07:56 -05:00
Andrew Tridgell
1a988ec9af r4474: - converted ldb to use talloc internally
- added gcov flags to Makefile.ldb

- expanded ldb test suite to get more coverage
(This used to be commit 0ab98f50a7e0fe15347a99e5c29a6590a87729a0)
2007-10-10 13:07:55 -05:00
Andrew Tridgell
9012a50153 r4059: moved the ldb -o option parsing to a common routine
(This used to be commit ee52c1e38c9bac852458196ffbd677cca62a3965)
2007-10-10 13:06:20 -05:00
Stefan Metzmacher
8a18778286 r3783: - don't use make proto for ldb anymore
- split ldh.h out of samba's includes.h

- make ldb_context and ldb_module private to the subsystem

- use ltdb_ prefix for all ldb_tdb functions

metze
(This used to be commit f5ee40d6ce8224e280070975efc9911558fe675c)
2007-10-10 13:05:52 -05:00
Simo Sorce
57d2043479 r3760: mention -o switch in help message
(This used to be commit 0e7d8753101f22aa192ac5628675a0374484d0e9)
2007-10-10 13:05:52 -05:00
Simo Sorce
679e95db03 r3754: merge in ldb modules support from the tmp branch ldbPlugins
(This used to be commit 71323f424b4561af1fdddd2358629049be3dad8c)
2007-10-10 13:05:51 -05:00
Andrew Tridgell
f0a8f718ff r792: - changed the ldb ldif_* functions to be in the ldb_ namespace
- added better error reporting in ldbdel

 - fixed a bug in handling packing of records which contain elements
   with no values (it caused db corruption)

 - allow search with "dn" as target attribute
(This used to be commit 36575396234e3d35dbd442c8f1ff54a17ae64e64)
2007-10-10 12:53:50 -05:00
Andrew Tridgell
265023fafa 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
(This used to be commit 62b4ec367d170330d837b0f1fe5cd13205a53b59)
2007-10-10 12:51:47 -05:00
Andrew Tridgell
68293565de r513: added a generic ldb debug system to allow the Samba debug functions to
be cleanly interfaced to ldb
(This used to be commit 74b89d5f960d6b936751e3f057b4540eb80b79cd)
2007-10-10 12:51:46 -05:00
Andrew Tridgell
d8ce7c6a2a 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.
(This used to be commit 3955c482e6c2c9e975a4bb809ec8cb6068e48e34)
2007-10-10 12:51:45 -05:00
Andrew Tridgell
232bc1503f 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
(This used to be commit 01e87406768cb5a98ac8530a2f361a4987a36cd3)
2007-10-10 12:51:45 -05:00
Andrew Tridgell
208e09747c r456: - added -i option to ldbsearch
- fixed sorting bug in ldb index handing
(This used to be commit cdd48e2b9b3ca6be5503eec401e09db162408ac8)
2007-10-10 12:51:43 -05:00
Andrew Tridgell
a7efe6c1c3 r159: nicer usage messages when no URL is given
(This used to be commit 8655f0b435e06af21d5d9fa210441fbf318673f0)
2007-10-10 12:51:12 -05:00