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

53 Commits

Author SHA1 Message Date
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
61700252e0 r12686: Push the real SASL list into the rootdse.
Get this out of the server credentials, and push it down to ldb via an
opaque pointer.

Andrew Bartlett
2007-10-10 13:49:38 -05:00
Jelmer Vernooij
70e7449318 r12608: Remove some unused #include lines. 2007-10-10 13:49:03 -05:00
Andrew Bartlett
34d6220cec r12595: There was no comment on the mailing list, so kill the 'ldapsrv:samdb'
parameter.  It isn't useful with so many other things in the ldap
server opening the database directly.  Best to run this as a seperate
process, and change the global options.

Andrew Bartlett
2007-10-10 13:49:00 -05:00
Jelmer Vernooij
0aca5fd513 r12542: Move some more prototypes out to seperate headers 2007-10-10 13:47:55 -05:00
Andrew Bartlett
ae2f3a64ee r12227: I realised that I wasn't yet seeing authenticated LDAP for the ldb
backend.

The idea is that every time we open an LDB, we can provide a
session_info and/or credentials.  This would allow any ldb to be remote
to LDAP.  We should also support provisioning to a authenticated ldap
server.

(They are separate so we can say authenticate as foo for remote, but
here we just want a token of SYSTEM).

Andrew Bartlett
2007-10-10 13:47:22 -05:00
Andrew Tridgell
b8d4afb14a r11958: - fixed memory leaks in the ldb_result handling in ldb operations
- removed an unnecessary level of pointer in ldb_search structure
2007-10-10 13:46:51 -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
647cb90360 r11408: fixed the mapping of ldb errors to ldap errors in the ldap server 2007-10-10 13:45:33 -05:00
Andrew Bartlett
9c511a16f8 r10820: Use talloc_get_type as suggested by tridge.
Andrew Bartlett
2007-10-10 13:39:32 -05:00
Andrew Bartlett
fd7203789a r10810: This adds the hooks required to communicate the current user from the
authenticated session down into LDB.  This associates a session info
structure with the open LDB, allowing a future ldb_ntacl module to
allow/deny operations on that basis.

Along the way, I cleaned up a few things, and added new helper functions
to assist.  In particular the LSA pipe uses simpler queries for some of
the setup.

In ldap_server, I have removed the 'ldasrv:hacked' module, which hasn't
been worked on (other than making it continue to compile) since January,
and I think the features of this module are being put into ldb anyway.

I have also changed the partitions in ldap_server to be initialised
after the connection, with the private pointer used to associate the ldb
with the incoming session.

Andrew Bartlett
2007-10-10 13:39:32 -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 Tridgell
a58ea6b385 r8520: fixed a pile of warnings from the build farm gcc -Wall output on
S390. This is an attempt to avoid the panic we're seeing in the
automatic builds.

The main fixes are:

 - assumptions that sizeof(size_t) == sizeof(int), mostly in printf formats

 - use of NULL format statements to perform dn searches.

 - assumption that sizeof() returns an int
2007-10-10 13:29:34 -05:00
Stefan Metzmacher
0297943ff2 r8222: 0 entries are no error, unless it's a base search
metze
2007-10-10 13:19:21 -05:00
Andrew Tridgell
40948ba384 r7777: allow for overriding the location of the sam databasein the ldap server, using
ldapsrv:samdb option. This allows the following:

          sam database=ldap://localhost
          ldapsrv:samdb=tdb:///home/tridge/samba/samba4/prefix/private/sam.ldb

which allows us to test putting the sam on an ldap server using our
own ldap server. This is a great stress test for the ldap code.
2007-10-10 13:18:35 -05:00
Andrew Tridgell
73cb4aad22 r7747: - simplified the ldap server buffer handling
- got rid of the special cases for sasl buffers

- added a tls_socket_pending() call to determine how much data is waiting on a tls connection

- removed the attempt at async handling of ldap calls. The buffers/sockets are all async, but the calls themselves
  are sync.
2007-10-10 13:18:30 -05:00
Andrew Tridgell
87fc307339 r7596: next step in ldap cleanup. I'm aiming to get rid of the cut&pasted
ldif parsing code in libcli/ldap/ldap_ldif.c, and instead use the ldb
ldif code. To do that I have changed the ldap code to use 'struct
ldb_message_element' instead of 'struct ldap_attribute'. They are
essentially the same structure anyway, so by making them really the
same it will be much easier to use the ldb code in libcli/ldap/

I have also made 'struct ldb_val' the same as a DATA_BLOB, which will
simplify data handling in quite a few places (I haven't yet removed
all the code that maps between these two, that will come later)
2007-10-10 13:18:12 -05:00
Andrew Tridgell
912d0427f5 r7593: simplified the memory management in the ldap code. Having a mem_ctx
element in a structure is not necessary any more.
2007-10-10 13:18:12 -05:00
Andrew Tridgell
96620ab2ee r7527: - added a ldb_search_bytree() interface, which takes a ldb_parse_tree
instead of a search expression. This allows our ldap server to pass
  its ASN.1 parsed search expressions straight to ldb, instead of going
  via strings.

- updated all the ldb modules code to handle the new interface

- got rid of the separate ldb_parse.h now that the ldb_parse
  structures are exposed externally

- moved to C99 structure initialisation in ldb

- switched ldap server to using ldb_search_bytree()
2007-10-10 13:18:06 -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
826baec7b3 r5307: removed db_wrap.h from includes.h 2007-10-10 13:09:40 -05:00
Andrew Tridgell
ec32b22ed5 r5037: got rid of all of the TALLOC_DEPRECATED stuff. My apologies for the
large commit. I thought this was worthwhile to get done for
consistency.
2007-10-10 13:09:15 -05:00
Stefan Metzmacher
7aa86445e3 r4709: fix compiler warnings
metze
2007-10-10 13:08:46 -05:00
Stefan Metzmacher
dd217f7916 r4629: we now have a global macro NT_STATUS_HAVE_NO_MEMORY()
so don't use a local one

metze
2007-10-10 13:08:36 -05:00
Stefan Metzmacher
590afa88f1 r4628: this function should be static
metze
2007-10-10 13:08:35 -05:00
Andrew Tridgell
1a4713bfd0 r4475: fixed smbd to work with the small changes in the ldb API (the most important
change was in the ldb_msg_add_*() routines, which now use the msg as a context,
and thus it needs to be a talloc ptr)
2007-10-10 13:07:55 -05:00
Andrew Tridgell
0928b1f5b6 r4037: fixed a bunch of "might be uninitialised" warnings after enabling -O1 in my compile 2007-10-10 13:06:16 -05:00
Stefan Metzmacher
f5ee40d6ce 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
2007-10-10 13:05:52 -05:00
Simo Sorce
71323f424b r3754: merge in ldb modules support from the tmp branch ldbPlugins 2007-10-10 13:05:51 -05:00
Andrew Tridgell
70d2090f6b r3464: split out registry.h, rap.h and ldap_server.h 2007-10-10 13:05:17 -05:00
Stefan Metzmacher
a25d1c4419 r3099: implment sldb_ModifyDN()
metze
2007-10-10 13:02:21 -05:00
Stefan Metzmacher
4b8d90866e r3098: - fix segfault in sldb_Compare()
- be more verbose on the INVALID_DN errstr

metze
2007-10-10 13:02:20 -05:00
Stefan Metzmacher
d92eff2328 r3097: - an empty string is a valid DN
- detect in valid DN's

- some error handling fixes

metze
2007-10-10 13:02:20 -05:00
Simo Sorce
d878c3c365 r2875: some fixes + (C) note 2007-10-10 12:59:41 -05:00
Stefan Metzmacher
d23335bc14 r2855: fix error codes for Compare
metze
2007-10-10 12:59:39 -05:00
Andrew Tridgell
391b09dad1 r2836: removed a couple of unused variables 2007-10-10 12:59:38 -05:00
Simo Sorce
3af61cb6cd r2820: complete the parsing routing with correct support for escaped chars
clean up simple_ldb functions
2007-10-10 12:59:37 -05:00
Simo Sorce
1bc5a94488 r2815: add some more docs
add a nearly complete rfc conformat dn parsing function
2007-10-10 12:59:36 -05:00
Andrew Tridgell
1246f80d80 r2792: got rid of talloc_ldb_alloc() and instead created talloc_realloc_fn(),
so talloc now doesn't contain any ldb specific functions.

allow NULL to be passed to a couple more talloc() functions
2007-10-10 12:59:34 -05:00
Stefan Metzmacher
991b4777c8 r2757: some minor fixes
metze
2007-10-10 12:59:30 -05:00
Simo Sorce
ba2970c3a4 r2754: Change sldb_trim_dn() to be sldb_fix_dn() as we are not really trimming.
Make it handle all cases:
- remove spaces before and after ','
- remove spaces after '='

TODO: check if there are escape chars in the RFC, they are not handled here yet.

Simo.
2007-10-10 12:59:30 -05:00
Stefan Metzmacher
6825e78e01 r2748: implement sldb_Compare()
Simo: this commit should not conflict much with your changes:-)

metze
2007-10-10 12:59:30 -05:00
Stefan Metzmacher
60dcba3e91 r2722: remove tmp debug messages
metze
2007-10-10 12:59:26 -05:00
Stefan Metzmacher
e74d3895f0 r2720: -implement sldb_Modify() call
metze
2007-10-10 12:59:26 -05:00
Stefan Metzmacher
7419c6dabb r2714: - add sldb_Add() implementation
- fix some errstr settings

metze
2007-10-10 12:59:25 -05:00
Simo Sorce
ddd74dae8e r2695: revert "Del" renaming 2007-10-10 12:59:24 -05:00
Stefan Metzmacher
1de1beca66 r2693: - send a reply when no attributes there
- add some debug messages

metze
2007-10-10 12:59:23 -05:00
Simo Sorce
5ed9a6eb18 r2689: Use consistent naming Del -> Delete
Add delete functionality to ldb simple lda server backend
add some const in ldap.h
2007-10-10 12:59:22 -05:00
Stefan Metzmacher
af1501a28d r2688: - fix case where listed attributes are asked
- use the return code of the functions
  and only call ldapsrv_terminate_connection from ldapsrv_recv() or ldapsrv_send()
- the rootdse is now a normal partition

metze
2007-10-10 12:59:22 -05:00
Stefan Metzmacher
e62cd75d37 r2685: ALLOC_CHECK() after talloc_steal() isn't needed
(thanks simo:-)

metze
2007-10-10 12:59:22 -05:00