Commit Graph

2967 Commits

Author SHA1 Message Date
Howard Chu
c3cff40c1c ITS#5981 fix GnuTLS TLSVerifyClient try 2009-03-02 03:01:41 +00:00
Howard Chu
e5e9191aeb ITS#5976 check for cert/DN 2009-02-25 21:48:10 +00:00
Howard Chu
64884e7c6c Don't call NSS_Shutdown if someone else init'd the library 2009-02-25 10:14:00 +00:00
Pierangelo Masarati
0d6e859846 fix ldap namespace (part of ITS#5974) 2009-02-24 21:09:41 +00:00
Pierangelo Masarati
ed97e96944 re-fix ITS#5916 2009-02-20 01:07:00 +00:00
Quanah Gibson-Mount
3b743a3b79 Revert part of last commit
Remove erroneous comment
2009-02-17 21:47:09 +00:00
Quanah Gibson-Mount
83cb8883a6 More for ITS#5955
Also special case rand file bits that are OpenSSL only
2009-02-17 21:39:50 +00:00
Quanah Gibson-Mount
331a57fa37 ITS#5955 2009-02-17 21:32:09 +00:00
Pierangelo Masarati
040f945d36 fix misc warnings 2009-02-15 21:59:16 +00:00
Howard Chu
f38d2df19b Add comments about ITS#3134, #5938, RFC4513 for posterity. This
file will be moving to the Attic...
2009-02-11 01:35:56 +00:00
Howard Chu
07e79f26a4 Revert prev commit 2009-02-10 21:29:56 +00:00
Howard Chu
b886c2ad8a ITS#5937 fix ancient IPv6 typo 2009-02-10 13:27:22 +00:00
Pierangelo Masarati
2b95e7d288 partially addresses an issue with ITS#5931 2009-02-10 12:44:12 +00:00
Howard Chu
80c6ea52ea ITS#5853 restructure wait4msg / try_read1msg again. Consolidate
the two try_read1msg cases into one, bump refcnts to prevent
lconn's from being freed prematurely.
2009-02-10 09:51:31 +00:00
Howard Chu
fbf42baefa ITS#5934 fix NULL pointer deref 2009-02-09 21:14:46 +00:00
Howard Chu
4bc8cb6336 ITS#5928 hide all ldap_pvt_tls APIs when !HAVE_TLS 2009-02-08 03:25:48 +00:00
Howard Chu
bc486f123d Fix spinner in prev commit 2009-02-05 10:07:20 +00:00
Howard Chu
d0515c4017 ITS#5922 with namespace changes 2009-02-05 09:38:07 +00:00
Howard Chu
ff8838aa28 ITS#5920 restore old HAS_TLS test 2009-02-04 08:56:04 +00:00
Howard Chu
2b08e96b53 ITS#5916 - externally callable functions are ldap_pvt, not ldap_int. 2009-02-02 21:14:34 +00:00
Pierangelo Masarati
0ded1f16d5 Allow alias dereferencing in search C API; use new API in proxy backends (ITS#5916) 2009-01-31 10:27:07 +00:00
Hallvard Furuseth
ff08c4194c Cleanup - macroize magic constant (ITS#5909) 2009-01-30 14:14:22 +00:00
Howard Chu
7aa5ae49ca Modular TLS 2009-01-27 01:01:41 +00:00
Howard Chu
08905d6792 ITS#5789 again 2009-01-26 21:08:55 +00:00
Howard Chu
f59ce2b9a1 ITS#5462 add randfile support for gcrypt 1.4 2009-01-26 03:41:27 +00:00
Howard Chu
2558951251 ITS#5887 add native support for cipher suites for GnuTLS >= 2.2.0 2009-01-26 03:21:16 +00:00
Howard Chu
f9fd0f0cc4 ITS#5655 for new structure 2009-01-26 02:16:46 +00:00
Howard Chu
4dff3e6807 Switch to using modular TLS code, single-implementation version 2009-01-26 02:06:45 +00:00
Howard Chu
988fb232d2 ITS#5896 don't return immediately on Intermediate responses 2009-01-24 07:18:35 +00:00
Howard Chu
cf1558659b ITS#5655 TLS_PROTOCOL_MIN from Philip Guenther 2009-01-24 03:34:49 +00:00
Kurt Zeilenga
4af9eb9715 Update copyright notices 2009-01-22 00:40:04 +00:00
Ralf Haferkamp
af79710c4d Fixed typo 2008-12-12 10:08:07 +00:00
Pierangelo Masarati
7681642bcf fix LDAP deref control response; fix tool response handling; add lutil_memcopy() for API uniformity (more about ITS#5768) 2008-12-11 23:17:08 +00:00
Ralf Haferkamp
5977f20127 Avoid locking up slapd when paused during shutdown (ITS#5841), reverting
r1.81
2008-12-09 10:57:15 +00:00
Howard Chu
187efdad6c ITS#5849 free peer cert after retrieving DN 2008-12-05 09:00:24 +00:00
Howard Chu
5a8954f9de ITS#5768 - add deref. 2008-11-25 04:43:38 +00:00
Howard Chu
a6933cae27 Fix prev commit 2008-11-21 05:15:20 +00:00
Howard Chu
86b5de38be ITS#5812 add SASL_NOCANON / -N option 2008-11-21 03:30:15 +00:00
Howard Chu
0bd6ce1062 ITS#4750 only read LDAP_CONF_FILE if geteuid() != getuid() 2008-11-21 02:15:47 +00:00
Pierangelo Masarati
2eeefd4985 check for bogus params to an LDAP routine (ITS#5817) 2008-11-18 16:27:50 +00:00
Hallvard Furuseth
c7002ffed5 ITS#5815: Fix typo "#elif defined( MAXHOSTNAMELEN". 2008-11-16 22:52:56 +00:00
Howard Chu
36124c715a ITS#5789 GNUtls - allow CN matches against IP addresses 2008-11-04 11:21:52 +00:00
Howard Chu
24078323e2 ITS#5739 fix for ITS#4879 was too eager about IPv6 detection 2008-11-03 15:44:49 +00:00
Hallvard Furuseth
8690650121 ITS#4467: Fix ptr += snprintf buffer overflow tests (made out-of-range ptr).
Also avoid a buf[BUFSIZ] initialization.
2008-10-24 13:11:10 +00:00
Pierangelo Masarati
6bedf74c41 tag optional stuff 2008-10-22 23:38:09 +00:00
Pierangelo Masarati
91e14ca638 add support for (experimental) dereference control (ITS#5768); need to re-run autoconf (and autoheader?) 2008-10-22 22:19:49 +00:00
Pierangelo Masarati
2b95616768 missing $OpenLDAP$ header 2008-10-22 21:57:28 +00:00
Hallvard Furuseth
677a11ad26 ITS#5748: tavl_find3(NULL,,,) returned undefined data 2008-10-22 19:39:42 +00:00
Ralf Haferkamp
e8c1147b77 reset ld->ld_errno to avoid returning error codes of previously API calls (ITS#5762) 2008-10-21 16:17:41 +00:00
Hallvard Furuseth
08852acb80 Warning cleanup: signed meets unsigned, remove assert(unsigned >= 0). 2008-10-17 23:24:48 +00:00
Hallvard Furuseth
b464a790b8 Fix Debug(%d, scred->bv_len or -1) -> Debug(%ld, (long) scred->bv_len or -1L).
Cast sasl_encode() arg from unsigned char* to char*.
Warning cleanup: signed meets unsigned.
2008-10-17 20:46:44 +00:00
Hallvard Furuseth
1c85cf3c88 Warning cleanup: signed meets unsigned. ber_flatten2() returns -1 on
error, not LBER_ERROR.
2008-10-13 08:44:54 +00:00
Hallvard Furuseth
03a729673c Warning cleanup: signed meets unsigned. 2008-10-13 08:13:27 +00:00
Howard Chu
9078381252 Cleanup unused defs 2008-10-09 11:33:49 +00:00
Howard Chu
4294664aad ITS#5369 SASL/GSSAPi refactoring from Stefan Metzmacher <metze@samba.org>
and Rafal Szczeniak <mimir@samba.org>, with minor cleanups
2008-10-09 11:10:28 +00:00
Howard Chu
f7484f78e6 ITS#5369 SASL/GSSAPi refactoring from Stefan Metzmacher <metze@samba.org>
and Rafal Szczeniak <mimir@samba.org>, with minor cleanups
2008-10-09 10:51:28 +00:00
Howard Chu
b2432fdbf2 Add SASL_MECHLIST option to retrieve list of known SASL mechs 2008-10-09 09:28:39 +00:00
Howard Chu
c51252633b Accept X-starttls for prev commit 2008-10-07 03:13:00 +00:00
Howard Chu
809548c88b Handle StartTLS in URL extensions 2008-10-07 03:06:44 +00:00
Howard Chu
99186a90e0 Fix prev commit 2008-09-30 22:22:31 +00:00
Howard Chu
721264db13 ITS#5720 fix ldap_utf8_strchr arguments 2008-09-30 05:05:53 +00:00
Ralf Haferkamp
0f4f9c9c13 Avoid "label at end of compound statement" error of newer gcc 2008-09-19 12:58:00 +00:00
Pierangelo Masarati
43ae03fc10 silence warnings 2008-09-16 14:10:02 +00:00
Pierangelo Masarati
548a9f39ba fix '<hex>'H conversion issue; did not look at decimal yet (ITS#5699) 2008-09-13 18:46:50 +00:00
Howard Chu
178141d7ec ITS#5668 avoid overflows in Windows microsecond computation 2008-09-11 01:51:02 +00:00
Pierangelo Masarati
4aa9edf03e cleanup round of memory handling (either check results or use ch_* calls; ITS#5691) 2008-09-09 19:58:47 +00:00
Howard Chu
cc94023c98 ITS#5677 s/TLS_CRL/TLS_CRLFILE/ 2008-09-02 22:10:44 +00:00
Howard Chu
0dbeb1d87b Pass LDAPURLDescs to connect functions instead of host/port 2008-08-15 22:53:47 +00:00
Howard Chu
46049f1d13 Fix prev commit 2008-08-15 10:53:11 +00:00
Howard Chu
baad2b249d Connect callbacks need error recovery checks 2008-08-15 10:23:29 +00:00
Howard Chu
80d1dba901 Add LDAP_OPT_CONNECT_CB connection callbacks 2008-08-14 04:54:32 +00:00
Howard Chu
a225b02f17 Modular TLS support, proof of concept. tls2.c would replace tls.c,
but I'm leaving tls.c intact for now.
2008-08-13 16:18:51 +00:00
Hallvard Furuseth
4028c83c67 ber_decode_oid(): Fix typo in comment 2008-08-06 13:36:53 +00:00
Hallvard Furuseth
4f935126c4 ITS#5604: Normalize lutil_progname(): strip .exe from Windows executable names 2008-07-22 10:16:11 +00:00
Howard Chu
7d479302c0 ITS#5615 return success on Solaris 10 2008-07-15 20:07:36 +00:00
Howard Chu
27fc008761 Protect errno values from Debug 2008-07-02 16:43:51 +00:00
Howard Chu
aebcd93721 ITS#5580: Revert prev commit, failed on byte-at-a-time input. Different
approach used here.
2008-07-02 01:33:15 +00:00
Howard Chu
7e4ba700f1 ITS#5585 GnuTLS key strength is in bytes, we expected bits 2008-06-30 23:32:35 +00:00
Howard Chu
14f1138ab5 ITS#5580 fix length decoding, verified with PROTOS 2008-06-27 02:36:41 +00:00
Howard Chu
9ef6cc3cd4 ITS#5577 GnuTLS CRL result >0 is success 2008-06-24 20:14:30 +00:00
Pierangelo Masarati
7e3c9a07e9 add client API for assertion control (ITS#5560) 2008-06-14 17:49:47 +00:00
Howard Chu
99160d7c20 ITS#5542 fix loop iterator 2008-05-30 17:29:47 +00:00
Howard Chu
19d7e565f0 ITS#5318 drop invalid msgids, cleanup msgid logging 2008-05-28 01:19:43 +00:00
Howard Chu
96550c885d ITS#5518,#5525 cleanup ld_defconn if it was freed 2008-05-23 09:53:42 +00:00
Howard Chu
ce27143ce7 ITS#5519 add missing stubs 2008-05-20 11:23:19 +00:00
Hallvard Furuseth
1fc3f1c130 ITS#5507: Set FD_CLOEXEC (close on exec) flag on LDAP file descriptors 2008-05-15 20:56:41 +00:00
Howard Chu
8810ef26b6 ITS#5458 fix error message for missing closing paren 2008-04-10 18:36:15 +00:00
Hallvard Furuseth
c55a06254f ITS#5436: make htons() port number unsigned 2008-03-18 21:12:00 +00:00
Hallvard Furuseth
00be565264 ITS#5407 cleanup (make pool_pause & pool_pausecheck wrappers for handle_pause) 2008-03-10 13:21:24 +00:00
Howard Chu
a287573d2d ITS#5407 more checks for pool pausing 2008-03-08 23:51:07 +00:00
Howard Chu
50cb332390 Use memctx more consistently 2008-03-04 07:24:05 +00:00
Hallvard Furuseth
7859063553 ITS#5364 cleanup
Fix rev 1.91 patch: Reset ltp_pending_count when flushing ltp_pending_list.
Remove flush_pending_list() again and the now-unnecessary 2nd call to it.
Help the compiler a little.
Move ltp_work_list in case it makes a difference for caching.
Move mutex unlock in pool_destroy() to make concurrency debuggers happier.
2008-02-11 15:49:52 +00:00
Hallvard Furuseth
650aaee3a5 ITS#5364, reduce work with ltp_mutex locked:
Negate ltp_open_count when paused, avoids an ltp_pause test in pool_submit().
2008-02-10 18:16:44 +00:00
Hallvard Furuseth
8afd0b05c1 ITS#5364: introduce ltp_work_list, drop 1st ltp_pause loop in pool_wrapper(). 2008-02-10 17:55:13 +00:00
Hallvard Furuseth
fe86a1cbe5 ITS#5364: maintain value ltp_vary_open_count 2008-02-10 17:38:32 +00:00
Hallvard Furuseth
ee73fca523 ITS#5364, reduce work with ltp_mutex locked:
Replace ltp_state with ltp_finishing.  Drop state
LDAP_INT_THREAD_POOL_STOPPING, flush pending list instead.
ltp_max_pending = default value instead of 0, and negative when finishing.
2008-02-10 17:28:20 +00:00
Hallvard Furuseth
6dd87bb83f ITS#5364, thread pool efficiency:
Add ldap_pvt_thread_pool_pausing(): pause check for slapd without locking.
Make counters int instead of long; INT_MAX pending tasks is enough.
Nitpick cleanup: goto failure instead of if() to not-failure in _submit().
2008-02-10 16:15:30 +00:00
Howard Chu
68316527c4 ITS#5341 GnuTLS ciphersuite parsing 2008-02-10 11:58:16 +00:00
Pierangelo Masarati
b0b387e9ed ITS#5338 2008-01-25 00:00:30 +00:00
Howard Chu
5cf0b5175b ITS#5324 don't use %n 2008-01-11 06:39:50 +00:00
Hallvard Furuseth
cd63a0c43b Warning cleanup: function ptr <=> void* at ldap_pvt_thread_pool_<set/get>key() 2008-01-11 06:07:43 +00:00
Hallvard Furuseth
2660518c5d ldap_int_bisect_find(): Silence harmless "may be used uninitialized" warning 2008-01-10 18:34:40 +00:00
Hallvard Furuseth
ac914f96a0 #include <signal.h> for pthread_kill() 2008-01-10 16:24:07 +00:00
Ralf Haferkamp
5a143df3ce Corrected memory allocation for cookie (ITS#5315) 2008-01-09 13:28:09 +00:00
Kurt Zeilenga
c890c96d13 Happy New Year (belated) 2008-01-08 00:19:56 +00:00
Pierangelo Masarati
30f401c628 rename ldap_pvt_thread_pool_setkey_x() to ldap_pvt_thread_pool_setkey() (as part of ITS#5309) 2008-01-07 21:35:03 +00:00
Hallvard Furuseth
4a2cda3cff ITS#5309: complete the addition of ldap_pvt_thread_pool_setkey_x() 2008-01-07 20:04:46 +00:00
Howard Chu
f41322d8ef Fix prev commit 2008-01-03 08:25:58 +00:00
Pierangelo Masarati
859c6d03c0 fix to ITS#5304 2008-01-02 17:30:40 +00:00
Pierangelo Masarati
622c4d3884 new ldap_pvt_thread_pool_setkey API 2007-12-29 18:14:54 +00:00
Howard Chu
cd673c2ff2 ITS#5300, reject substring filters with empty values 2007-12-29 02:32:22 +00:00
Quanah Gibson-Mount
afcc7d9e83 ITS#4982 libldap_r threaded library linking 2007-12-21 22:18:35 +00:00
Howard Chu
4c9af232d2 Cleanup spaces 2007-12-20 02:46:59 +00:00
Howard Chu
8ddc2dd773 ITS#5291, more for rev 1.79 search timeouts 2007-12-20 02:46:13 +00:00
Howard Chu
33c0301b25 Better fix to prev commit 2007-12-17 07:11:24 +00:00
Hallvard Furuseth
e4ffd33f1a Declare enough buffer space for out-of-range URL port numbers 2007-12-15 23:36:22 +00:00
Pierangelo Masarati
20f2548c82 fix declarations of buffers for numeric strings; other related cleanup 2007-12-15 15:23:23 +00:00
Howard Chu
da53cd0c40 uid/gid are unsigned 2007-12-15 02:28:45 +00:00
Howard Chu
f02d481426 ITS#5263 fix return code from parse_sasl_bind_result() 2007-12-15 02:06:12 +00:00
Hallvard Furuseth
24d9258888 Remove unused variables 2007-12-06 17:23:23 +00:00
Howard Chu
304520c113 Add memctx to lutil_str2bin() 2007-12-02 19:11:41 +00:00
Howard Chu
34a503960d Fix tmpbuf size 2007-12-01 20:28:18 +00:00
Howard Chu
6ffbb9b04d Fix dirsep chars before opening file 2007-12-01 19:19:20 +00:00
Howard Chu
3e05442795 Cleanups from Hallvard 2007-12-01 19:18:43 +00:00
Howard Chu
d4baa7dc87 Fix carries 2007-12-01 11:14:40 +00:00
Howard Chu
fab334d5f1 Fix prev. Once more, with feeling. 2007-11-30 22:26:23 +00:00
Howard Chu
88ea88feeb Fix prev cleanup. 2007-11-30 18:32:42 +00:00
Howard Chu
55f6387214 Cleanup prev commit 2007-11-30 18:25:45 +00:00
Howard Chu
14573820ec Fix rev 1.49 2007-11-30 18:10:22 +00:00
Kurt Zeilenga
ac7762996e Reverse last commit (made by mistake) 2007-11-27 20:49:47 +00:00
Kurt Zeilenga
9c970bdb21 OpenLDAP Devel README
This software was obtained from the development branch (HEAD) of
	the OpenLDAP Software Repository.  This copy is likely already
	not current, the development branch changes frequently.  These
	changes include code implementing experimental features and
	unproven bug fixes.  Please do NOT redistribute copies of the
	development branch.

	The OpenLDAP Developer's FAQ is available at:
		<http://www.openldap.org/faq/index.cgi?file=4>

	Client developers seeking a suitable development platform
	should use "release" or "stable" versions.
		<http://www.openldap.org/software/>

Contributing
	See <http://www.openldap.org/devel/contributing.html> for how to
	contribute code or documentation to OpenLDAP.  Use the Issue Tracking
	System <http://www.openldap.org/its/> to submit contributions.
	While you are encouraged to coordinate and discuss the development
	activities on the openldap-devel@openldap.org mailing list prior
	to submission, it is noted that contributions must be submitted
	using the Issue Tracking System to be considered.

---
$OpenLDAP: pkg/ldap/README,v 1.45 2007/03/10 17:03:58 kurt Exp $

This work is part of OpenLDAP Software <http://www.openldap.org/>.

Copyright 1998-2007 The OpenLDAP Foundation.
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted only as authorized by the OpenLDAP
Public License.

A copy of this license is available in the file LICENSE in the
top-level directory of the distribution or, alternatively, at
<http://www.OpenLDAP.org/license.html>.

OpenLDAP is a registered trademark of the OpenLDAP Foundation.
2007-11-27 20:48:38 +00:00
Pierangelo Masarati
7aeac21440 silence warnings 2007-11-23 12:47:53 +00:00
Howard Chu
b710993764 Fix dec to bin for zero value 2007-11-21 05:08:08 +00:00
Howard Chu
beff004e1e Fix dec to bin negative number handling 2007-11-21 01:49:09 +00:00
Howard Chu
9c8cf1bc04 Fix typo in dec to bin conversion 2007-11-20 18:14:17 +00:00
Howard Chu
2701782cba ITS#5224 add any necessary socket libraries 2007-11-12 07:59:54 +00:00
Howard Chu
a354d38fea Fix typo in prev commit 2007-10-25 06:50:43 +00:00
Howard Chu
183ff5120c Use thread-specific data in pool_context() 2007-10-25 06:48:44 +00:00
Howard Chu
20c4e016fa Added native thread-specific data support 2007-10-25 06:42:40 +00:00
Howard Chu
9bc4ebd12c ITS#5197 add stub for ldap_pvt_thread_pool_query() 2007-10-23 21:14:11 +00:00
Howard Chu
8713229bba Fix liblutil link order 2007-10-19 04:46:41 +00:00
Howard Chu
13c6ef95ce ITS#5194 zero out pool when destroying 2007-10-18 21:13:43 +00:00
Howard Chu
6775e25ba3 In pool_resume don't touch the condvar if the pool is tearing down. 2007-10-18 06:52:54 +00:00
Howard Chu
bdac543b3b Cleanup debug calls 2007-10-18 01:35:07 +00:00
Howard Chu
5418b51643 Quiet request logging 2007-10-10 05:17:49 +00:00
Howard Chu
cbb6f3bd50 ITS#5100 ldap_control_dup - OID must be non-NULL 2007-10-09 01:38:50 +00:00
Howard Chu
a1a63bead0 ITS#4188 check for pool pause every 64 entries. (probably should make
this number tunable.)
2007-10-08 01:15:49 +00:00
Pierangelo Masarati
6715f737b7 minor cleanup 2007-10-06 15:40:55 +00:00
Howard Chu
65db0bf8eb ITS#3864 use sasl_ssf_t where expected 2007-10-06 14:55:53 +00:00
Howard Chu
4d58197880 Add lutil_str2bin() for arbitrary length decimal-to-binary conversion 2007-10-01 06:50:19 +00:00
Pierangelo Masarati
d50645fc0a dispose of connection when server down (related to ITS#5127) 2007-09-29 11:24:39 +00:00
Pierangelo Masarati
27e747ad48 fix format 2007-09-29 11:22:31 +00:00
Pierangelo Masarati
3f9df357e8 don't leak file descriptors (coverity) 2007-09-03 16:18:17 +00:00
Howard Chu
8a532879cd More for ITS#5117 - only use libfetch for non-file: URLs 2007-09-02 03:43:58 +00:00
Howard Chu
ec78507682 ITS#5117 try to log a message if chasing an include: fails. Since
ldif_read_record() doesn't distinguish errors from EOF, this is kind
of futile.
2007-09-02 02:16:52 +00:00
Howard Chu
670febf7d5 ITS#5105 from Alexey Melnikov @ isode 2007-08-24 21:58:20 +00:00
Pierangelo Masarati
b9e2fd0dd6 ldap_control*_dup() is no longer private; add ldap_pvt_put_control 2007-08-24 12:29:33 +00:00
Pierangelo Masarati
25d46e7578 rework controls API 2007-08-22 22:35:14 +00:00
Pierangelo Masarati
95dd8de586 fix and cleanup 2007-08-22 20:55:54 +00:00
Kurt Zeilenga
0025d7fa1f Fix last commit. 2007-08-22 19:33:28 +00:00
Kurt Zeilenga
e6699ce023 Password policy request control should have no control value.
Extend ldap_create_control() to supporting creating such.
2007-08-22 19:26:55 +00:00
Pierangelo Masarati
b0d2063d92 client side of draft-wahl-ldap-session 2007-08-21 23:52:03 +00:00
Pierangelo Masarati
145e6fc1f8 fix or comment Calysto findings 2007-08-21 10:52:16 +00:00
Pierangelo Masarati
ca1aed557b make lutil_uuidstr_from_normalized() return the length of the string 2007-08-17 15:08:47 +00:00
Pierangelo Masarati
403704b7bc move uuid normalized to string to liblutil 2007-08-17 12:42:52 +00:00
Pierangelo Masarati
6df2df130b don't leak in case of error 2007-08-17 09:47:14 +00:00
Pierangelo Masarati
4bc19cbbb9 cleanup tools 2007-08-16 09:22:07 +00:00
Hallvard Furuseth
973a2b41b7 Make LDAP_MEMORY_DEBUG a bitmask. #define LDAP_MEMORY_DEBUG_ASSERT. ITS#4990. 2007-07-24 20:53:23 +00:00
Hallvard Furuseth
17afb33c19 ITS#5010: OID encode/decode fixes and paranoia. #define LBER_OID_COMPONENT_MAX. 2007-07-23 12:57:23 +00:00
Howard Chu
2b67f4face ITS#5056 fix chain_tail processing 2007-07-20 21:28:04 +00:00
Ralf Haferkamp
6ab46208bc Allow utf-8 in AD-Canonical Names 2007-07-13 10:12:27 +00:00
Hallvard Furuseth
e1d42189fa ITS#4990: Fix LDAP_MEMORY_DEBUG and LDAP_MEMORY_DEBUG=0 compilation.
Declare ber_int_meminuse.  Fix '#if' -> '#ifdef' LDAP_MEMORY_DEBUG.
2007-07-04 22:55:24 +00:00
Hallvard Furuseth
2ea3d3f621 Ensure ltp_max_pending >= 0; negative values confused pool_query().
Remove accidentally added #define LDAP_MAX_PENDING from last commit.
2007-07-03 11:34:14 +00:00
Hallvard Furuseth
bc8631183c Remove bogus pause wait near end of pool_wrapper(). Add/fix comments. 2007-07-01 16:44:59 +00:00
Pierangelo Masarati
848ea293a3 cleanup 2007-06-19 22:59:53 +00:00
Pierangelo Masarati
7e12342b3b add sub-second result timeout accuracy (for which is which; ITS#4963 with changes) 2007-06-14 22:35:41 +00:00
Hallvard Furuseth
90fe4bd927 ITS#4983: Partly revert tls_thread_self() paranoia from rev 1.154: Only
require that ldap_pvt_thread_t can be cast to u.long and is not wider.
ITS#5010: In ldap_X509dn2bv(), catch error return from ber_decode_oid().
2007-06-12 23:57:08 +00:00
Hallvard Furuseth
ed0c9d223a Rename thread contexts to tasks, leaving user contexts the only context.
Remove ldap_int_thread_ctx_t.ltc_next.al (active list) left over from rev 1.75.
2007-06-10 23:58:38 +00:00
Hallvard Furuseth
c60f7c1fd2 For ITS#4943: Axe thread pool semaphore code 2007-06-10 23:37:49 +00:00
Hallvard Furuseth
25a7729a12 int -> ber_socklen_t for getsockname() 2007-06-10 20:35:30 +00:00
Hallvard Furuseth
5d083f3859 int -> ber_socklen_t for getsockopt() 2007-06-10 20:34:05 +00:00
Hallvard Furuseth
28da797a3a ITS#5007: Wrap code using MSG_WAITALL in #ifdef MSG_WAITALL. 2007-06-09 23:43:02 +00:00
Hallvard Furuseth
bfdb026fab ITS#5007: Remove void* pointer arithmetic, that's a gcc extension. 2007-06-09 23:41:36 +00:00
Hallvard Furuseth
3750520f6f Fix HP-UX crash: Replace socklen_t with ber_socklen_t from configure. ITS#4629. 2007-06-09 23:35:20 +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
b327239618 Remove ltp_active_list. It became unneeded when rev 1.24 added thread_keys[].
Tighten loop in pool_pause(): Omit unneeded ltp_pcond signals since rev 1.64.
Fix comment.
2007-06-04 22:18:01 +00:00
Hallvard Furuseth
b3e4305131 Simplify: Remove tid_zero, thread_keys[].id and ldap_int_main_tid.
Not needed after ldap_int_thread_userctx_t.ltu_id was added and
_pool_wrapper took care not to update thread_keys[] during pauses.
Fix bogus thread_keys[].ctx comment.
2007-06-01 15:24:19 +00:00
Hallvard Furuseth
1b890689b1 Add comments. Constify tid_zero. Shut up gcc -Wswitch. if(!tpool)->assert(). 2007-05-31 19:47:38 +00:00
Hallvard Furuseth
1f3e6110b9 Add variable ldap_int_has_thread_pool, assert(at most one pool); 2007-05-31 17:15:54 +00:00
Hallvard Furuseth
9a9d216526 Shut up gcc -Wformat 2007-05-31 17:07:57 +00:00
Hallvard Furuseth
1b15fa9c6e In pool_submit():
- Move problematic mutex_unlock()-mutex_lock() into the unused #ifdef
  LDAP_PVT_THREAD_POOL_SEM_LOAD_CONTROL and add a FIXME comment inside.
- Delay ltp_starting--; until pool_wrapper().  Nonzero value could otherwise
  no longer be exposed when !defined LDAP_PVT_THREAD_POOL_SEM_LOAD_CONTROL.
2007-05-31 12:47:24 +00:00
Hallvard Furuseth
45389c0341 Preserve key order when deleting, so context_reset will free last keys first. 2007-05-31 12:08:50 +00:00
Hallvard Furuseth
7c6b26a68f Make get_thread_info() static. Handle ldap_pvt_thread_pool_t = int (not ptr). 2007-05-30 22:20:20 +00:00
Hallvard Furuseth
101b6b9363 Fix --without-tls (ITS#4975). Enable certificate matching. 2007-05-20 22:48:21 +00:00
Hallvard Furuseth
c47e444698 libldap/tls.c calls CRYPTO_set_id_callback(ldap_pvt_thread_self), which
causes ldap_pvt_thread_self to be called with the wrong prototype.

That can cause OpenSSL to use a garbage value, e.g. if the unsigned
long it expects takes two words but ldap_pvt_thread_t is an int.

I'm fixing it in HEAD now and also provoking an error if unsigned
long cannot hold a ldap_pvt_thread_t.  Otherwise it can silently
compile to broken code.  Maybe the latter should go in configure,
but since OpenSSL presumably breaks anyway if that fails I don't
see much point at this time.
2007-05-20 20:02:52 +00:00
Hallvard Furuseth
eb351d9e33 ITS#4972: $LDAP_THREAD_DEBUG, detached threads, debug_already_initialized().
Also plug a memory leak, set state vars even when unused for the sake of
debugging, and tweak some readability issues & data types.
2007-05-18 17:49:38 +00:00
Hallvard Furuseth
6f3cf907b8 Readability patch: ERRVAL() macro for pthreads < 7 vs. >= 7 return values. 2007-05-18 15:28:09 +00:00
Hallvard Furuseth
f906a99eec Only define x509_cert_get_dn() when HAVE_GNUTLS. Remove unused variable. 2007-05-18 15:10:15 +00:00
Howard Chu
d9a43aee44 Fix GNUtls acknowledgement, initial work by Matt Backes. Sponsored by
The Written Word and Stanford University.
2007-05-14 23:35:36 +00:00
Ralf Haferkamp
6ee5d7d3da make openssl builds working again 2007-05-14 12:19:32 +00:00
Howard Chu
423f20c915 GNUtls - ignore free of NULL ctx 2007-05-13 09:43:41 +00:00
Howard Chu
5f36d32596 Don't NUL-terminate bervals during DN parsing 2007-05-13 09:37:37 +00:00
Howard Chu
47a8f3213b Merged GNUtls support into main tls.c 2007-05-13 00:15:27 +00:00
Pierangelo Masarati
7601a1f3fb fix read off by one (spotted by valgrind) 2007-05-12 12:38:09 +00:00
Hallvard Furuseth
e509d3ed9a Comment fixes.
Corrected rev 1.67 cvs comment: ltu_key[] is NULL-terminated _when not full_.
2007-05-11 18:48:13 +00:00
Howard Chu
236e5f50b3 Added ciphersuite support 2007-05-10 21:49:43 +00:00
Howard Chu
c51fd6c96e Add LDAP_OPT_X_TLS_CRLFILE, peer cert verification for GNUtls 2007-05-10 19:43:28 +00:00
Hallvard Furuseth
810b2389dc Since we only have LDAP_MAXTHR thread_keys, allow max LDAP_MAXTHR
threads per pool, even when ltp_max_count <= 0 ("unlimited").
Keep ltp_max_count in range [0, LDAP_MAXTHR].
2007-05-09 23:25:03 +00:00
Hallvard Furuseth
f0a1511422 Make ldap_int_thread_userctx_t.ltu_key[] a proper NULL-terminated array.
(setkey/getkey expected that, but purgekey could set a NULL in the middle.)
Added some checks for input key!=NULL.

API changes, need review - I'm not sure what's indented here:
- setkey(data=NULL, kfree!=NULL) searched as if intended to reset
  the key, but updated by setting the key.  Now always updates.
- setkey(key=<not found>, data=NULL) could return either success or
  failure.  Now succeeds iff (data == NULL && kfree == NULL).
2007-05-09 22:59:04 +00:00
Hallvard Furuseth
f5da908c49 thread_keys is a (poor) open-addessed hash table, but it lacked a
"deleted item" mark.  Add DELETED_THREAD_CTX.
Also improve the hash function a bit, and make the hash unsigned.
2007-05-09 22:22:44 +00:00
Hallvard Furuseth
8a92825225 Protect thread_keys[] with ldap_pvt_thread_pool_mutex, except in
ldap_pvt_thread_pool_purgekey() which may only be called during pauses.

Thus, also wait for pauses to finish before accessing thread_keys in
ldap_int_thread_pool_wrapper().  This may prevent pending tasks from
being started when a pause had been requested, which seems to have been
possible.  If that was a feature, we can split ltp_pause==1 in 2 states:
in pause (causes wait), and pause requested.

Also move 'thread_keys[].id = <thread id>' from pool_submit to
pool_wrapper.  Until pool_wrapper set the ctx as well, thread context
lookup would just return NULL anyway.
2007-05-09 21:38:28 +00:00
Hallvard Furuseth
92afeb8ef7 Replace state LDAP_INT_THREAD_POOL_PAUSING with member ltp_pause,
so a pause will work during states FINISHING and STOPPING.

Add missing waits and signals, and move waits in pool_wrapper().
Replace if(test) with while(test) when waiting for the multi-purpose
condition variable ltp_cond.
2007-05-09 19:53:25 +00:00
Hallvard Furuseth
9e9bf22a64 ITS#4943:
In ldap_pvt_thread_pool_submit(), when backing out of thread creation:
  ltp_pending_count '++' -> '--'.  Signal if there are no more threads.
In ldap_int_thread_pool_wrapper():
  if() -> assert() where false would result in eternal loop.
2007-05-09 19:34:49 +00:00
Hallvard Furuseth
bb890724d4 Don't complain if detached threads exit after ldap_debug_thread_destroy(). 2007-05-09 19:21:08 +00:00
Hallvard Furuseth
7b7b137832 Cast Debug(%p) pointer argument to void* 2007-05-09 18:38:10 +00:00
Hallvard Furuseth
bbc719ca56 ITS#4948: '#if <undefined macro>' -> '#ifdef' warning cleanup 2007-05-09 18:17:10 +00:00
Howard Chu
b7cfa97817 coverity error, u->lud_scheme is mandatory 2007-05-08 14:13:18 +00:00
Howard Chu
4803e9ba67 Revert prev commit, unnecessary 2007-04-23 14:27:07 +00:00
Howard Chu
7eb1f62f9d ITS#4935 SASL_MAX_BUFF_SIZE should be 2^24 - 1 2007-04-23 14:21:48 +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
Howard Chu
28493e554c ITS#4912 fix typo in prev commit 2007-04-05 00:16:17 +00:00
Hallvard Furuseth
545b5555fb ber_decode_oid(), ber_encode_oid(): cast bv_val to unsigned char* 2007-04-04 17:51:10 +00:00
Howard Chu
848be16aaf ITS#4879 fixes for url parse/unparse 2007-04-03 03:27:24 +00:00
Howard Chu
b596ae0adf ITS#4875 ignore zero-length st_size 2007-04-03 01:40:52 +00:00
Howard Chu
c80d5f970a ITS#4899 fix for keys not getting cleared 2007-04-01 11:52:51 +00:00
Howard Chu
c49812bf6f ITS#4893 back to pipes... 2007-03-26 12:44:11 +00:00
Howard Chu
867fb2fd9f ITS#4893 just send the client socket, not a pipe descriptor. 2007-03-25 15:20:50 +00:00
Howard Chu
c6df30118f ITS#4893 fix prev commit 2007-03-25 12:18:06 +00:00
Howard Chu
7426ab07fc ITS#4893 define LDAP_PF_LOCAL_SENDMSG in <ac/socket.h> if a message must
be sent to transmit client credentials. Buffer the message data.
2007-03-25 04:40:22 +00:00
Howard Chu
724784e6cb Use AC_MEMCPY 2007-03-25 04:31:34 +00:00
Howard Chu
49d708fae3 Preliminary GNUtls support. gnutls.c will merge back into tls.c later. 2007-03-23 23:47:07 +00:00
Howard Chu
b213588f95 Add options for ber_get_stringbv() to omit NUL-terminator, to allow
non-destructive in-place parsing
2007-03-23 15:27:38 +00:00
Howard Chu
f2a02b90ed Fix TLS default for clients 2007-03-23 12:47:35 +00:00
Howard Chu
a4f879f9d2 ITS#4880 s/HAVE_POSIX_TERMIOS/HAVE_TERMIOS_H/ 2007-03-23 01:10:58 +00:00
Howard Chu
9fe8f72310 Add DER OID encoder/decoder 2007-03-20 15:10:16 +00:00
Howard Chu
23ba7dfa12 Add ber_skip_data() to help positioning in structured BER data 2007-03-20 12:29:06 +00:00
Pierangelo Masarati
1429b49d1e apparently, time_t is unsigned in some systems 2007-03-12 21:04:01 +00:00
Kurt Zeilenga
0a1301bc6b Add support for uuid_generate/uuid_unparse 2007-03-02 07:36:23 +00:00
Pierangelo Masarati
687ed8861a don't play with URL list if connect(2) is asynchronous 2007-02-21 22:26:26 +00:00
Kurt Zeilenga
b3c4004042 Remove extrananous space in DN (in comment) 2007-02-19 23:39:01 +00:00
Kurt Zeilenga
7beb587a4b Cleanup last commit 2007-02-15 01:42:23 +00:00
Kurt Zeilenga
a9aeb858fe Needs <ac/time.h> 2007-02-15 01:20:46 +00:00
Howard Chu
8db4bd2cc9 Coverity error, uninit'd rc 2007-02-13 11:13:14 +00:00
Howard Chu
1f635b8bcf ITS#4707 added new ldap_init_fd() API 2007-02-12 04:20:24 +00:00
Howard Chu
ee2001ea4b Note mutex protection requirements 2007-02-11 13:45:39 +00:00
Howard Chu
6cbf65642a Move duplicate timestamp detection into lutil_gettime() 2007-02-11 13:42:29 +00:00
Howard Chu
ced581bfa3 Cleanup extraneous debug 2007-02-11 13:01:32 +00:00
Howard Chu
a1aa7c284d Revert to original ldap_get_option( TIMEOUT ) behavior 2007-02-06 23:02:47 +00:00
Howard Chu
7ac06970e6 Don't let timestamps go backward 2007-02-06 04:48:35 +00:00