Commit Graph

821 Commits

Author SHA1 Message Date
Howard Chu
b917625a85 Revert previous commit. 2001-12-18 00:20:58 +00:00
Howard Chu
6456e5f559 from jon@symas.com - misc cleanup 2001-12-18 00:16:15 +00:00
Kurt Zeilenga
943800a534 We "understand" localhost to be same as the local hostname as
returned by gethostname().
2001-12-17 23:56:16 +00:00
Howard Chu
e5eb270e6c from jon@symas.com - misc Windows cleanup 2001-12-17 22:42:55 +00:00
Howard Chu
320d6742b7 Added atexit handler to free global_opts->ldo_defludp. 2001-12-15 13:43:49 +00:00
Howard Chu
2b0819c4a9 Don't copy and leak user; it's an env var so just use it directly. 2001-12-15 12:07:40 +00:00
Kurt Zeilenga
4e79e82972 Treat (!) and (!(x=a)(y=b)) as filter errors... 2001-12-12 06:23:02 +00:00
Pierangelo Masarati
f4b21cc7b5 reworked internal stuff 2001-12-10 09:43:31 +00:00
Kurt Zeilenga
abd9be4def Remove lint and misc MSVC updates 2001-12-09 02:34:45 +00:00
Howard Chu
0552b1c53f NT updates from jon@symas.com. 2001-12-07 04:03:25 +00:00
Howard Chu
e6d6faf3c9 From jon@symas.com - patches for consistent use of directory separators
in pathnames.
2001-12-07 01:46:26 +00:00
Pierangelo Masarati
67ed3982fb now dnValidate loops thru each value; added private member to LDAPAVA to hold the attribute description 2001-12-06 11:50:17 +00:00
Pierangelo Masarati
9260b22dec liberally accept many LDAPv2/LDAPv3 stuff in DN (quoted parts, ';' as rdn separator and so); enforce exact case match of normalized dn in dnMatch (let's see what happens ...); fix a ldapava_free_rdn bug 2001-12-06 10:01:25 +00:00
Pierangelo Masarati
9004262d95 reimplement dn_validate/normalize/(match) using the ldap_str2dn/dn2str stuff; need to #define USE_LDAP_DN_PARSING 2001-12-04 20:22:26 +00:00
Kurt Zeilenga
8b4bae1fe3 Friendly name removal 2001-12-03 20:04:31 +00:00
Kurt Zeilenga
95b3e2a97d Minor cleanup 2001-12-03 20:04:08 +00:00
Pierangelo Masarati
598d6e7859 small improvements and fixes; now honors ';' as rdn separator in LDAPv2 mode 2001-12-03 07:55:25 +00:00
Howard Chu
88e3454654 Add #include <openssl/safestack.h> to fix ITS#1412 2001-11-30 02:37:39 +00:00
Kurt Zeilenga
bfe4dc289a ITS#1429 url search fix 2001-11-28 16:49:46 +00:00
Pierangelo Masarati
ea54a1a8e8 fix bug in previous commit 2001-11-12 08:47:09 +00:00
Pierangelo Masarati
6400698d17 struct berval * instead of char * in ldap_ava struct; minor cleanup 2001-11-12 08:10:12 +00:00
Steve Sonntag
367c5e81ba Compile error if Cyrus Sasl is not present. Put ifdefs in
unbind call around free of sasl data.
2001-11-08 20:08:36 +00:00
Howard Chu
33ace5610c Added ldap_pvt_tls_destroy() to cleanup TLS library on shutdown 2001-11-06 20:52:59 +00:00
Kurt Zeilenga
ac3e6c8dc5 Plug leaks (ITS#1116)
Patch provided by John Morrissey <jwm@horde.net>
2001-11-06 17:05:51 +00:00
Pierangelo Masarati
a2eec74fc1 moved rdn parsing in a dedicated routine, ldap_str2rdn(), that can be used directly; now ldap_rdn2str() handles all the formats 2001-10-30 10:04:24 +00:00
Pierangelo Masarati
64c7e39aa8 More compliant version of str2dn/dn2str;
may need optimization;
uncomment #define USE_LDAP_DN_PARSING in libraries/libldap/getdn.c
to enable its use.
The ava/rdn/dn handling routines (append, insert, free and so) must
be made available thru declaration in some header.
2001-10-29 08:05:23 +00:00
Pierangelo Masarati
0ba03b18e7 enhanced dn parsing; see libraries/libldap/dntest for a 'demo'. Need to define USE_LDAP_DN_PARSING to override usual ldap_dn2ufn and so, and PARSE_UTF8 to parse attribute values as utf-8 2001-10-26 18:10:05 +00:00
Kurt Zeilenga
f3f72c5d2a Add nul termination 2001-10-26 02:01:42 +00:00
Pierangelo Masarati
192f83540c missing leading quote 2001-10-25 18:56:06 +00:00
Kurt Zeilenga
187f190fb6 Don't pass NULL string pointers to Debug 2001-10-25 18:32:59 +00:00
Pierangelo Masarati
5b4b535617 handle lead/trail escape chars in LDAPv2/LDAPv3; change misleading name of AVA type modifier 2001-10-22 19:23:37 +00:00
Pierangelo Masarati
fefc29786c skeleton of ldap_str2nd/dn2str; works with most of the simple cases, but there's much to do with unicode, I think 2001-10-18 19:00:07 +00:00
Kurt Zeilenga
e2cca72bdc Fix ntohs/htons issues 2001-10-07 02:40:16 +00:00
Kurt Zeilenga
75c7331743 Added the easy part of NLS support, behind an #ifdef. 2001-10-04 18:06:08 +00:00
Howard Chu
693a81e1db More CLDAP tweaks, to differentiate between real LDAPv2 CLDAP and "other"
LDAP/UDP messages. Slapd marks received CLDAP messages as LDAP_VERSION2.
The client library can generate CLDAP queries if -Protocol 2 is chosen,
otherwise not. LDAPv2 CLDAP cannot query the slapd rootDSE, gets no reply.
2001-10-02 01:02:23 +00:00
Kurt Zeilenga
44146a1cb7 Rework DB_THREAD support. CDB support needs reimplementation. 2001-10-01 06:08:46 +00:00
Kurt Zeilenga
712295ef4b Rework getaddrinfo/inet_ntop not to segfault with ai_addr is (bogusly) NULL 2001-09-29 06:32:58 +00:00
Howard Chu
e80b5d4040 Clean up CLDAP stuff 2001-09-28 22:19:51 +00:00
Kurt Zeilenga
d397f6aa2f Fix #undef LDAP_CONNECTIONLESS builds 2001-09-28 20:09:49 +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
afd665034a Add ldap_url_desc2str(). 2001-09-24 18:30:57 +00:00
Kurt Zeilenga
7a4b9e3c32 Minor cleanup 2001-09-18 17:35:47 +00:00
Howard Chu
384cbde4f5 Fix for ITS#1258 - even if we're accepting various malformed definitions,
don't allow OIDs that are a mix of numeric and non-numeric fields.
2001-09-18 12:21:33 +00:00
Howard Chu
84e4b860e1 Fix previous patch, didn't take handle syntax/noidlen properly 2001-09-18 12:03:20 +00:00
Howard Chu
6b9b0660c9 Fix ITS#1213, OID macro parsing in attributetypes 2001-09-18 11:30:00 +00:00
Howard Chu
e4d8a87ddc Silence some typecast warnings 2001-09-18 05:22:53 +00:00
Howard Chu
966616b274 Don't pass NULL hostname to ldap_pvt_tls_check_hostname, use "localhost" 2001-09-18 05:19:55 +00:00
Howard Chu
6a59465686 Fix declaration mismatch when CYRUS is not present 2001-09-18 00:37:56 +00:00
Kurt Zeilenga
241d6a558e Remove dead code 2001-09-09 04:47:03 +00:00
Kurt Zeilenga
553d80cedd Blindly fix TLS/SASL external interaction. 2001-09-09 03:42:26 +00:00
Kurt Zeilenga
3c844f0225 Minor cleanup of ldap_perror() 2001-09-09 03:02:54 +00:00
Kurt Zeilenga
05c9d4bfda Fix TLS ldap.conf issues 2001-09-05 21:22:41 +00:00
Howard Chu
f3501cbf50 Fix ldap_int_tls_start to set its error codes in ld->ld_errno. 2001-09-02 12:06:41 +00:00
Howard Chu
b10e0029a5 Full implementation of server identity checking per RFC2830 section 3.6 2001-09-02 11:23:28 +00:00
Kurt Zeilenga
d3cb8a357f Move Cyrus SASL initializing forward 2001-08-31 00:14:04 +00:00
Howard Chu
44a3160fec Remove redundant call of SSL_set_info_callback, to allow users
to override it in the SSL_CTX.
2001-08-29 20:28:08 +00:00
Kurt Zeilenga
05960887bb Fix -H ldaps:// crashes due to rework of TLS code 2001-08-27 20:22:28 +00:00
Kurt Zeilenga
16fa8c4a21 Fix bug introduced during TLS rework 2001-08-02 04:20:11 +00:00
Kurt Zeilenga
2ad03e6041 To be consistent, should assert that ld is valid. 2001-07-24 16:38:42 +00:00
Kurt Zeilenga
2b7727882d misc updates, constification, deprecation... 2001-07-23 05:00:39 +00:00
Kurt Zeilenga
978e417699 Make some additional UTF8 public
Remove lint
2001-07-21 23:13:04 +00:00
Pierangelo Masarati
93923d4345 honors multiple type/value in rdn when generating ufn 2001-07-11 20:16:25 +00:00
Kurt Zeilenga
f61152ccbd Check for critical client controls. 2001-07-06 03:13:42 +00:00
Kurt Zeilenga
803e84fcdd TLS doesn't need ldap_host_connected_to() 2001-06-25 21:44:41 +00:00
Kurt Zeilenga
c731288dc6 Replace ATTR_URIS with ATTR_OPTION (more general solution) 2001-06-25 21:39:14 +00:00
Kurt Zeilenga
77f776dfd1 Another round of TLS updates to support secure referral chasing 2001-06-25 19:17:42 +00:00
Kurt Zeilenga
350ffe6d15 Rework tls check
Needs to be connection specific
2001-06-25 18:20:14 +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
903940014c Sync with 2.x 2001-06-23 01:25:21 +00:00
Kurt Zeilenga
4a23c08678 Fix up error handling 2001-06-22 21:01:04 +00:00
Kurt Zeilenga
55755fea2a Rebind cleanup 2001-06-15 04:49:38 +00:00
Kurt Zeilenga
11b6d1f284 Misc updates for NT4 2001-06-15 04:16:55 +00:00
Kurt Zeilenga
5f25c10980 new rebind proc
new SASL locking
2001-06-15 00:14:56 +00:00
Kurt Zeilenga
86acd7eb20 unifdef -ULDAP_UFN 2001-06-11 21:08:49 +00:00
Kurt Zeilenga
4edc93c807 EOL 2001-06-09 02:35:44 +00:00
Kurt Zeilenga
52067f461e Fix wrapping separators (no functional change) 2001-05-28 19:42:22 +00:00
Kurt Zeilenga
deb9644a8a Should not be using reverse lookup names to check certificates. 2001-05-19 23:07:46 +00:00
Kurt Zeilenga
7522d3fcab Add HAVE_INET_NTOP 2001-05-09 23:41:38 +00:00
Kurt Zeilenga
8684be0278 Fix logic error in param check 2001-04-12 23:05:19 +00:00
Kurt Zeilenga
66fdd720f4 Fix off by one bug 2001-04-12 23:05:02 +00:00
Kurt Zeilenga
0a8b2f1381 Trim last of CLDAP cruft 2001-03-15 03:15:15 +00:00
Kurt Zeilenga
5fe2190603 libldap/cyrus.c's ldap_pvt_sasl_install fix
from Mei-Hui Su <mei@ISI.EDU>
2001-03-15 03:14:34 +00:00
Kurt Zeilenga
bd4c6b84ea Bug in chkResponseList loop (ITS#1047) from David @ Novell 2001-03-15 03:11:52 +00:00
Kurt Zeilenga
12e9ed8e12 Fix memory leak 2001-02-03 01:49:12 +00:00
Kurt Zeilenga
9e8743215c Fix another typo 2001-01-22 21:25:06 +00:00
Kurt Zeilenga
1ae1061858 Fix typo 2001-01-22 20:50:07 +00:00
Kurt Zeilenga
ec87e9e30f Default objectClass kind should be STRUCTURAL 2001-01-22 08:06:48 +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
a4f4d8be59 Don't use ntohl().
Add min/max bufsize check
2001-01-19 04:53:21 +00:00
Kurt Zeilenga
599a610164 Update SASL bufsize checks 2001-01-18 22:18:41 +00:00
Kurt Zeilenga
c0a06f25c2 Add ldap_pvt_tls_get_peer_dn() routine. Returns peer as an LDAP DN. 2001-01-18 00:40:58 +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
1d1c1edf44 update rand file after use 2001-01-10 21:14:13 +00:00
Ben Collins
4391e6654a s/UTF8_CHARLEN/LDAP_UTF8_CHARLEN/ 2001-01-03 21:38:32 +00:00
Kurt Zeilenga
5082731e24 Add UTF-8 wc/mb conversion routines contributed by Novell.
/******************************************************************************
 * Copyright (C) 1999, 2000 Novell, Inc. All Rights Reserved.
 *
 * THIS WORK IS SUBJECT TO U.S. AND INTERNATIONAL COPYRIGHT LAWS AND
 * TREATIES. USE, MODIFICATION, AND REDISTRIBUTION OF THIS WORK IS SUBJECT
 * TO VERSION 2.0.1 OF THE OPENLDAP PUBLIC LICENSE, A COPY OF WHICH IS
 * AVAILABLE AT HTTP://WWW.OPENLDAP.ORG/LICENSE.HTML OR IN THE FILE "LICENSE"
 * IN THE TOP-LEVEL DIRECTORY OF THE DISTRIBUTION. ANY USE OR EXPLOITATION
 * OF THIS WORK OTHER THAN AS AUTHORIZED IN VERSION 2.0.1 OF THE OPENLDAP
 * PUBLIC LICENSE, OR OTHER PRIOR WRITTEN CONSENT FROM NOVELL, COULD SUBJECT
 * THE PERPETRATOR TO CRIMINAL AND CIVIL LIABILITY.
 ******************************************************************************/
2000-12-28 02:20:37 +00:00
Kurt Zeilenga
b7607bf237 ITS#884: GSSAPI interoperabity with ActiveDirectory
Improve interoperability when of scred is present but empty.
2000-12-27 19:42:09 +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
c0f9ec5458 ITS#889 fix 2000-11-22 20:27:30 +00:00
Kurt Zeilenga
6053ed1058 ITS#903: validate hostname in server cert from Norbert Klasen
adapted as needed.
2000-11-22 20:23:38 +00:00
Kurt Zeilenga
5941625eb7 ITS#889: quick fix 2000-11-20 18:59:42 +00:00
Kurt Zeilenga
511a84bc31 First cut of SASL/EXTERNAL 2000-10-31 23:00:35 +00:00
Kurt Zeilenga
907cd90607 Fix UTF-8 5-octet sequences 2000-10-27 21:32:46 +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
2504f29a0c Fix IS ASCII checks. Should be < 0x80 (0100), not < 0x100. 2000-10-23 18:04:45 +00:00
Julio Sánchez Fernández
47fd4fbad3 A little bit of Matching Rule Use. 2000-10-23 12:25:43 +00:00
Kurt Zeilenga
9e7accb034 This patch replaces gai_strerror with AC_GAI_STRERROR in daemon.c and also
uses AC_GAI_STRERROR to report getaddrinfo failures in os-ip.c
-- Stig Venass
2000-10-19 18:05:11 +00:00
Kurt Zeilenga
9f0d190739 Add ldap_pvt_gai_strerror().
Calls to gai_strerror() should be replaced with calls AC_GAI_STRERROR().
2000-10-18 17:25:30 +00:00
Kurt Zeilenga
3498151f99 Validate session handle 2000-10-18 16:32:57 +00:00
Kurt Zeilenga
ffe1320bf5 fix SOCKET_ERROR typos 2000-10-18 03:24:50 +00:00
Kurt Zeilenga
ce373d3800 Use SOCKET_ERROR instead of -1 2000-10-18 00:27:31 +00:00
Kurt Zeilenga
d491ac55de Update handling of partial responses
Update comments
Update log messages
rename symbols per conventions
2000-10-18 00:26:53 +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
174c6abfe2 ldap_url_search should use hostport of URL. 2000-10-17 19:26:04 +00:00
Kurt Zeilenga
66818be637 Don't attempt to send abandon unless connection exists.
If connection doesn't exist, return LDAP_SERVER_DOWN.
2000-10-16 23:11:41 +00:00
Kurt Zeilenga
edef4b2970 ITS#821: TLS data ready fix from <mattc@chartist.com> 2000-10-16 20:26:56 +00:00
Julio Sánchez Fernández
5d899f0c00 Better processing of extensible filters. Needs testing, but the prior
version was not encoding properly the filter.
2000-10-15 19:17:06 +00:00
Kurt Zeilenga
3d57f2ae67 Rework control create/dup routines to distinguish not
present value from empty value.
2000-10-14 02:13:53 +00:00
Kurt Zeilenga
93d9fde132 Label sb debugging as "ldap_"... 2000-10-13 01:00:55 +00:00
Kurt Zeilenga
2a6f092422 Add sasl i/o debugging 2000-10-12 23:50:58 +00:00
Gary Williams
3e0cc38404 remove LDAP_Debug macro 2000-10-12 21:16:18 +00:00
Kurt Zeilenga
5a32ff0603 Add missing 'static'... (ITS#823,825,828)
as reported by Jeff Earickson <jaearick@colby.edu>
other suggestions to be separately reviewed
2000-10-11 23:42:53 +00:00
Kurt Zeilenga
f8e5ed25e9 Revised ITS#799 fix from Steve Sonntag <vtag@novell.com>
The problem is that the current code checks the queue inside
 the test for correct connecction state, so sometimes the queue
 doesn't get checked. This change moves the test outside
 the connection check.
2000-10-11 21:11:34 +00:00
Kurt Zeilenga
8e6062eb82 References with empty dn (ITS#817) 2000-10-11 04:23:23 +00:00
Kurt Zeilenga
b7b9148c7f Return more appropriate result codes than LDAP_UNAVAILABLE
upon failures.
2000-10-09 22:11:34 +00:00
Kurt Zeilenga
2cdbfd069b Add missing newlines 2000-10-05 18:30:06 +00:00
Kurt Zeilenga
6712936ef8 ITS#799: chasing multiple referrals bug
Patch provided by Steve Sonntag <vtag@novell.com>
2000-10-05 01:40:36 +00:00
Kurt Zeilenga
005a2f7aec Don't assert on null 2000-10-03 18:51:30 +00:00
Kurt Zeilenga
778b665242 Fix up some free'ing. 2000-10-02 17:43:39 +00:00
Kurt Zeilenga
003a293e2b Don't specify LDFLAGS when using LTLINK to avoid duplicate
specfication of flags.
2000-10-01 08:10:37 +00:00
Kurt Zeilenga
74b048a5a4 Fix ldap_first/next_attribute to return NULL without error when
nothing is left.
2000-09-30 06:57: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
Kurt Zeilenga
dd733e163a ITS#791: fix SASL ctx close 2000-09-29 18:27:06 +00:00
Kurt Zeilenga
2b82d4f486 remove lint
update bdb codes
2000-09-22 01:40:57 +00:00
Kurt Zeilenga
90d557402b Should modify code to bail on initialization errors...
For now, just (void) the return
2000-09-21 19:56:04 +00:00
Mark Adamson
bf1ee530ea Implementation of SASL authorization. 2000-09-21 17:32:54 +00:00
Kurt Zeilenga
e1b73eda93 cleanup 2000-09-16 22:46:04 +00:00
Kurt Zeilenga
f42966f9e1 Fix #undef LDAP_UFN 2000-09-16 06:24:17 +00:00
Kurt Zeilenga
efe39c999f modify ldap_dn2ufn() to return completely typeless UFNs
hide rest of UFN code behind #ifdef LDAP_UFN in preparation
for eventual removal.
2000-09-16 04:33:52 +00:00
Kurt Zeilenga
f4f093054a overrun protection doesn't work... hmmm.... 2000-09-16 01:05:14 +00:00
Kurt Zeilenga
b611ec4b87 consistently use ber_pvt_ber_*() routines 2000-09-15 05:56:37 +00:00
Ben Collins
aaf59e2a2b don't define NEED_COPY_HOSTENT in the decleration 2000-09-15 03:33:05 +00:00
Ben Collins
621babf51d fix compiler warnings by including ac/unistd.h and only declaring copy_hostent() when we actually need to use it 2000-09-15 03:06:18 +00:00
Ben Collins
718a6bfca4 initialize Sockbuf * to NULL 2000-09-15 03:05:27 +00:00
Ben Collins
3635cbdbe1 remove unused vars 2000-09-15 03:04:46 +00:00
Ben Collins
9946e999c8 move some vars to where they are actually used to avoid compiler warnings 2000-09-15 03:04:04 +00:00
Ben Collins
81d26d3ac0 fix call to ldap_connect_to_path() 2000-09-15 03:02:57 +00:00