Commit graph

207 commits

Author SHA1 Message Date
Howard Chu
80d1dba901 Add LDAP_OPT_CONNECT_CB connection callbacks 2008-08-14 04:54:32 +00:00
Howard Chu
96550c885d ITS#5518,#5525 cleanup ld_defconn if it was freed 2008-05-23 09:53:42 +00:00
Kurt Zeilenga
c890c96d13 Happy New Year (belated) 2008-01-08 00:19:56 +00:00
Howard Chu
469a45a62f ITS#4992 fix cldap 2007-06-08 09:40:17 +00:00
Howard Chu
431f6fd810 ITS#4955 fix typo in referral chasing 2007-06-08 09:17:00 +00:00
Hallvard Furuseth
7b7b137832 Cast Debug(%p) pointer argument to void* 2007-05-09 18:38:10 +00:00
Pierangelo Masarati
f29a4e140e don't assert(0); apparently, other responses may result from a simple bind (but log them, at least; ITS#4924) 2007-04-11 08:57:41 +00:00
Pierangelo Masarati
687ed8861a don't play with URL list if connect(2) is asynchronous 2007-02-21 22:26:26 +00:00
Howard Chu
0c542682b1 Timeouts should not be malloc'd 2007-02-05 20:32:44 +00:00
Howard Chu
bec25494fe ITS#4799 remove kerberos / kbind references 2007-01-10 00:20:42 +00:00
Pierangelo Masarati
9b5ea6a205 honor network timeout even when doing full async 2007-01-07 22:05:33 +00:00
Pierangelo Masarati
aa3c9bad3e First cut to truly async connect:
- after connect(2), if async the connection is in "connecting" state
	- the first time a request is sent, "connecting" conns are polled
		- in case of success, the request is sent
		- in case still connecting, LDAP_X_CONNECTING is returned;
		  clients are expected to retry later
	- the "async" behavior must be explicitly enabled by setting
	  the LDAP_OPT_CONNECT_ASYNC option

"local" connections need work
2007-01-07 19:20:46 +00:00
Kurt Zeilenga
da6d9eb046 happy new year 2007-01-02 20:00:42 +00:00
Pierangelo Masarati
5a000a9b91 fix warnings after previous commit 2006-12-04 00:11:12 +00:00
Pierangelo Masarati
a76b702d4c fix request/result abandon 2006-12-03 20:56:25 +00:00
Pierangelo Masarati
3c1df853e4 fix endless loop in canceling child requests; cleanup 2006-11-12 14:22:24 +00:00
Pierangelo Masarati
dc871de33d cleanup prvious commit; log number of abandoned requests waiting for response... 2006-11-02 19:11:18 +00:00
Howard Chu
57c329a3af ITS#4606 errno is not per-thread on WIN32, always use WSAGet/SetLastError
(with notable exceptions: ignore tests for EINTR which winsock never sets)
2006-09-14 06:35:34 +00:00
Pierangelo Masarati
06b491a446 better function name 2006-09-01 16:21:20 +00:00
Pierangelo Masarati
b45c0c881d keep count of requests in use 2006-09-01 14:00:58 +00:00
Pierangelo Masarati
cb3248f173 cleanup 2006-09-01 10:01:36 +00:00
Pierangelo Masarati
7a3ff8ddc2 count requests and responses in logs 2006-05-27 10:17:34 +00:00
Pierangelo Masarati
6b889b0a8a s/fprintf/Debug/ (ITS#4553); lock ld_conn_mutex before accessing conn(s) 2006-05-18 00:59:13 +00:00
Pierangelo Masarati
86b566f029 cleanup 2006-05-18 00:37:56 +00:00
Pierangelo Masarati
2b29cf4909 fix rev 1.125 commit 2006-05-17 22:13:39 +00:00
Howard Chu
ff40a705da ITS#4541 better fix 2006-05-12 06:33:27 +00:00
Howard Chu
7b10f413d9 Fix ITS#4533 don't destroy input request 2006-05-10 15:01:50 +00:00
Pierangelo Masarati
373ded8d24 add URI list resorting feature (ITS#4524) 2006-05-06 16:15:25 +00:00
Pierangelo Masarati
77e7acc4f9 cleanup; make sure no spurious error code slip thru 2006-04-24 12:12:14 +00:00
Pierangelo Masarati
dfc8e7f6b8 better fix for ITS#4483 2006-04-09 22:29:42 +00:00
Pierangelo Masarati
74b6ab9029 more cleanup 2006-04-08 11:01:19 +00:00
Pierangelo Masarati
8823f5cc87 fix ITS#4450? 2006-04-03 00:34:35 +00:00
Howard Chu
aa87b9ad2e cleanup dead code 2006-03-31 21:07:53 +00:00
Pierangelo Masarati
177c051f0f use asynchronous API; note that an endless loop may occur (ITS#4450; no fix yet) 2006-03-25 08:16:19 +00:00
Kurt Zeilenga
acbb5cf689 Happy new year! 2006-01-03 23:11:52 +00:00
Pierangelo Masarati
73acecaf0f cleanup 2005-12-13 15:53:10 +00:00
Kurt Zeilenga
71cf424b77 unifdef -DLDAP_SCOPE_SUBORDINATE 2005-11-26 06:35:36 +00:00
Pierangelo Masarati
af23be3675 silence warnings... 2005-11-14 21:47:17 +00:00
Howard Chu
f18c63fa13 Add LDAP* to debug messages to aid tracking 2005-10-12 00:23:30 +00:00
Howard Chu
e8b1b004d4 Fix ITS#3832 must mutex protect ld->ld_conns 2005-10-12 00:05:43 +00:00
Howard Chu
2ea5a66be2 ITS#2942 skip referrals that we've already chased 2005-10-09 10:01:38 +00:00
Pierangelo Masarati
3638b6c722 solve a deadlock during unbind: ldap_send_unbind() is called by ldap_free_connection() only, and just in case the last arg is not 0; but most of the times ldap_free_connection() is called with ld_req_mutex locked, so it shouldn't be locked again from inside ldap_send_unbind() 2005-08-11 17:11:41 +00:00
Pierangelo Masarati
228af40058 cleanup 2005-08-11 12:13:43 +00:00
Pierangelo Masarati
a3a9bb9bfa little more about potential concurrency issues 2005-08-03 16:54:08 +00:00
Howard Chu
834f1bd253 ITS#3578 increment parent's referral count 2005-08-02 11:24:52 +00:00
Hallvard Furuseth
b295d66a2c assert expects int. (int)<nonnull ptr/long> can be 0. Use assert(arg!=0/NULL). 2005-08-02 10:57:42 +00:00
Pierangelo Masarati
01dc0183a3 plug leaks; cleanup 2005-08-01 23:35:44 +00:00
Pierangelo Masarati
5ff31144a7 cleanup 2005-07-30 16:26:25 +00:00
Pierangelo Masarati
7fade0d585 (yet) another potential concurrency issue 2005-07-23 22:04:04 +00:00
Pierangelo Masarati
5e84975adf paranoid check 2005-07-16 15:37:01 +00:00
Pierangelo Masarati
eb005a9872 allow to muck with referrals while chasing... 2005-05-28 14:29:08 +00:00
Kurt Zeilenga
8b730300a2 Enable subordinate scope feature 2005-01-26 03:30:22 +00:00
Kurt Zeilenga
dc0eacd40b Happy New Year! 2005-01-01 20:49:32 +00:00
Kurt Zeilenga
d611a4b49a unifdef -UNEW_LOGGING 2004-09-04 04:54:28 +00:00
Kurt Zeilenga
1ccb936170 fix typo in last commit 2004-08-28 04:01:19 +00:00
Kurt Zeilenga
c9dd33b520 Add scheme check to find_connection 2004-08-28 03:55:02 +00:00
Kurt Zeilenga
8064bb6ef1 A better find_connection() port fix 2004-08-28 03:53:31 +00:00
Kurt Zeilenga
1d3eccca9e Partial ITS#3280 fix. ldap:// referrals only. 2004-08-28 03:25:59 +00:00
Kurt Zeilenga
f0bd9b3a5b Mark areas needed poll(2) support with HAVE_POLL. 2004-07-09 17:50:22 +00:00
Howard Chu
efdeee929d Revert previous commit, didn't solve anything. Probably made things worse. 2004-04-08 12:40:49 +00:00
Howard Chu
690f0111e9 ITS#2894 - search refs that are the immediate result of another search
ref are associated with the parent req instead of the original req, to
prevent infinite loops.
2004-01-25 10:30:10 +00:00
Kurt Zeilenga
3c598e89fb Happy new year 2004-01-01 19:15:16 +00:00
Kurt Zeilenga
afb520a6e9 LDAP_SCOPE SUBORDINATE implementation 2003-12-30 01:34:05 +00:00
Kurt Zeilenga
271fff13de Sync with HEAD 2003-12-17 17:55:27 +00:00
Kurt Zeilenga
159de0f135 Updated notices and acknowledgements 2003-11-26 07:16:36 +00:00
Howard Chu
0b96b6b6ad Chasing a referral needs both the request and response mutexes.
Unlock and relock... (yuck)
2003-03-06 14:53:01 +00:00
Howard Chu
844cc97928 More for re-entrant LDAP* handles. Works much better. 2003-02-13 23:02:31 +00:00
Howard Chu
a6b3a92cc5 Added ld_req_mutex and ld_res_mutex to protect ld_requests and ld_responses
queues for multithreaded access to LDAP*'s. Also used to protect writes and
reads of ld_sb, respectively. Appears to work...
2003-02-13 10:43:16 +00:00
Kurt Zeilenga
6939c53170 Happy new year 2003-01-03 20:20:47 +00:00
Howard Chu
e721e6bec9 Fix ITS#2187, recursively free all requests 2002-11-27 03:57:36 +00:00
Kurt Zeilenga
75e1620ee4 Add copy of OPL 2.0.1 and note in files which specifically refer
to 2.0.1 as to the location to the copy.
2002-10-15 23:22:20 +00:00
Howard Chu
d11b134709 Fix large SASL reads. Use EAGAIN instead of EWOULDBLOCK (was right the
first time after all. see read(2) and write(2)...)
2002-08-30 10:11:54 +00:00
Howard Chu
1dd1c375bb Fix previous commit - use EWOULDBLOCK instead of EAGAIN 2002-08-29 13:38:36 +00:00
Howard Chu
456e6c73ab Fix ITS#1983, handle writing of large requests. Only one pending request is
allowed per LDAP* handle. It works, but needs review.
2002-08-29 12:12:36 +00:00
Julius Enarusai
6107ba67d2 Coverted LDAP_LOG macro to use subsystem ID int values instead of string values 2002-07-11 20:33:24 +00:00
Howard Chu
bb17493d31 ITS#1732 signed/unsigned fixes 2002-04-11 08:47:37 +00:00
Pierangelo Masarati
8de44663f7 ITS#1730 and completion of ITS#1701 2002-04-08 10:34:04 +00:00
Kurt Zeilenga
26b99bc35d ITS#1701. Fix ber_scanf() return tag handling.
Based upon patch submitted by Hallvard B. Furuseth <h.b.furuseth@usit.uio.no>.
2002-04-02 18:40:04 +00:00
Julius Enarusai
b7bd4368d9 Added LDAP_LOG messages 2002-03-29 17:46:28 +00:00
Kurt Zeilenga
0e2af54a3f Update copyright statements 2002-01-04 21:17:25 +00:00
Kurt Zeilenga
abd9be4def Remove lint and misc MSVC updates 2001-12-09 02:34:45 +00:00
Howard Chu
647b5f84ee Resurrection/rewrite of CLDAP (RFC1798 Connectionless LDAP).
Compile with -DLDAP_CONNECTIONLESS to use this code.
For slapd, use "-h cldap://" to listen on UDP.
For ldapsearch, use "-H cldap://" to query on UDP.
Client-side support is very minimal:
  no automatic timeout/retries
  no basedn wildcard expansion on results
  no support for specifying multiple servers at once.
2001-09-28 00:18:40 +00:00
Kurt Zeilenga
790a18cb86 chasing multi-level referrals core dumps (ITS#1346) bug fix
from Zachary Amsden <zach@mirapoint.com>.
2001-09-24 18:50:44 +00:00
Kurt Zeilenga
c4f5497ac6 move TLS ctx to lconn struct in prep for supporting TLS with referrals
need to rework cert check to use per lconn host name
2001-06-25 07:33:42 +00:00
Kurt Zeilenga
55755fea2a Rebind cleanup 2001-06-15 04:49:38 +00:00
Kurt Zeilenga
5f25c10980 new rebind proc
new SASL locking
2001-06-15 00:14:56 +00:00
Kurt Zeilenga
b08f7e8bce Fix typo 2001-01-22 07:42:13 +00:00
Kurt Zeilenga
1cabc6931d Add a little whitespace for readability 2001-01-20 01:17:15 +00:00
Kurt Zeilenga
a0828d6135 Rework scope defaulting to only default scope for references.
Might break LDAPv2 partial results
2001-01-10 23:48:24 +00:00
Kurt Zeilenga
d8292a62da Fix referral scope logic 2000-12-08 19:45:04 +00:00
Kurt Zeilenga
a09139465a Update URL parsing and LDAP referral/reference chasing to handle
search scope defaulting.
2000-11-28 19:56:55 +00:00
Kurt Zeilenga
7b9886e909 Add LDAP URL critical extension counter support. lud_crit_exts
is the number of critical extensions contained in lud_exts.
As we currently do not support any extension, this flag is
useful for determining whether or not we should attempt to
use the URL.  Added check of this counter to ldap_url_search
and LDAPv3 chase referrals.
2000-10-26 06:17:14 +00:00
Kurt Zeilenga
6442964059 Handle *lud_host == '\0'
(likely should modify parsers and other codes to disallow such)
2000-10-17 20:30:14 +00:00
Kurt Zeilenga
8e6062eb82 References with empty dn (ITS#817) 2000-10-11 04:23:23 +00:00
Kurt Zeilenga
1890b720b4 cleanup getattr bailout code 2000-09-30 05:35:44 +00:00
Kurt Zeilenga
f8d9bffb98 Don't touch (unescape) URL handed to rebind proc. 2000-09-30 02:37:05 +00:00
Ben Collins
718a6bfca4 initialize Sockbuf * to NULL 2000-09-15 03:05:27 +00:00
Kurt Zeilenga
102a88659b ITS#717 kbind fixes 2000-09-06 21:32:45 +00:00
Kurt Zeilenga
5fc22599e2 Update SASL code to reuse context through life of session.
Replace 'negotiated' with 'interactive' bind
Add hooks for SASL/EXTERNAL
Disable SASL security layers
Rework SASL command line and config file parameters
2000-07-13 22:54:38 +00:00
Kurt Zeilenga
49f4147385 Added -llber 'N' ber_printf format which inserts a NULL if
an internal flag set.  Used for SEQUENCE testing.  Flag must
be set using debugger.  Modified ber_printf to use new format
were needed for extensibility testing.

Added first cut -lldap support for extended responses.
Modified ldapsearch(1) to handle v3 search references when not
chasing.  Also added extended/unsolicited notification handling
and extended partial response handling.  Changes include a
number of LDIF enhancements.

Fixed getpassphrase() returns NULL bugs
2000-06-24 01:40:39 +00:00