Commit Graph

544 Commits

Author SHA1 Message Date
Kurt Zeilenga
0eb19657fa Add missing -DNO_THREADS trylock and make minor change to TLS
in attempt to get it work with GNU PTH.
2000-06-07 23:58:16 +00:00
Kurt Zeilenga
c6e4ad6c12 Add VLV/Sort controls (from Novell) 2000-06-07 23:43:56 +00:00
Kurt Zeilenga
22b8b60e49 Add VLV and SortList Control API and related (and other) I-Ds 2000-06-07 19:39:49 +00:00
Kurt Zeilenga
6ad1c45bd3 Use LDAP_VFREE and friends. Other misc code cleanup. 2000-06-07 05:17:29 +00:00
Kurt Zeilenga
e5ebc553ac Rework URI parser to provide true scheme not proto/properties.
Plus more pthread rwlock code
2000-06-07 01:09:40 +00:00
Kurt Zeilenga
c1002301d5 Don't include files moved to attic 2000-06-06 02:12:58 +00:00
Kurt Zeilenga
252ccfddbc (very) incomplete Digest-MD5 impl to Attic (until someone steps up
to the plate)
2000-06-06 00:27:49 +00:00
Kurt Zeilenga
7573a81efe getbyname/getbyaddr should share mutex per ITS#563.
Patch provided by Steve @ Novell, thanks!
2000-06-06 00:23:50 +00:00
Kurt Zeilenga
1af849c720 DNSSRV use res_query, not res_search
Update configure and depend --enable-dnssrv upon finding res_query
Update back-dnssrv to better handle ManageDSAit control
2000-06-05 23:56:26 +00:00
Kurt Zeilenga
1aa4b07c98 Remove support for DNS DNs (not to be confused with X.500 DN using
domainComponents (DC)).
2000-06-05 20:07:02 +00:00
Kurt Zeilenga
c1117666b1 remove old STR_TRANSLATION feature. The use of this feature
was only of limited use with LDAPv2 (worked okay if no non-T.61
values existed) but downright dangerous in the face of LDAPv3.
Any translation must be schema aware and the BER isn't.
2000-06-05 19:22:19 +00:00
Kurt Zeilenga
921d24cf3a Fix up makefiles after removal of getdxname.c 2000-06-05 07:48:57 +00:00
Kurt Zeilenga
7dc76e7139 move --enable-dns (LDAP_API_FEATURE_X_OPENLDAP_V2_DNS) to Attic 2000-06-05 07:19:09 +00:00
Kurt Zeilenga
ea069cb7c2 New indexer/filter codes (test suite works) with cheats
Updated NT Project files (with Cyrus SASL library depend)
2000-06-04 22:59:38 +00:00
Kurt Zeilenga
743598b3d0 This is a one-liner Steve missed in the referral patch. Make sure the
ldo_rebindproc value has a sane value.
2000-06-02 23:51:31 +00:00
Kurt Zeilenga
c23536faa9 remove lint 2000-06-01 22:01:00 +00:00
Kurt Zeilenga
2e0912622b ITS#537: lber io rewrite from Gambor Gombas.
Copyright 2000 Gábor Gombás. All rights reserved.
This is free software. You may redistribute and use it under the same
terms as OpenLDAP itself.
2000-06-01 20:59:21 +00:00
Kurt Zeilenga
81d2747247 A couple of minor fixes to LDAPv3 referral chasing 2000-05-31 17:47:33 +00:00
Kurt Zeilenga
a26cef7fc8 LDAPv3 referrals changes by Steve Sonntag @ Novell 2000-05-31 17:34:43 +00:00
Kurt Zeilenga
b66567f1f8 Minor fix to last commit 2000-05-30 19:07:07 +00:00
Kurt Zeilenga
875610cfcc Referral hack 2000-05-30 18:32:10 +00:00
Kurt Zeilenga
a43ef5bac4 Preset error just in case 2000-05-29 19:47:48 +00:00
Julio Sánchez Fernández
3e3acf87c8 Let the caller decide how liberal the schema parsing routines will be.
Most flags do nothing yet.
2000-05-28 22:45:56 +00:00
Kurt Zeilenga
1bc5314d62 Fix DNSSRV initialization bug 2000-05-26 18:05:27 +00:00
Kurt Zeilenga
63de8a6ea5 s/0/LDAP_MSG_ONE/ per Steve's patch (ITS#542) 2000-05-26 01:11:18 +00:00
Kurt Zeilenga
51fb094701 ITS#541: fix log check bug 2000-05-23 00:32:50 +00:00
Julio Sánchez Fernández
001061daf9 Added extensions to syntaxes, matching rules and object classes. 2000-05-22 10:43:01 +00:00
Kurt Zeilenga
bcf8f7eeb7 Remove lint 2000-05-22 06:19:49 +00:00
Julio Sánchez Fernández
f84c43a43b Parsing and printing of extensions in schema definitions. 2000-05-21 23:32:39 +00:00
Kurt Zeilenga
6c49fe7d1b Fix typo in last commit 2000-05-16 18:32:45 +00:00
Kurt Zeilenga
88411f5c27 Modify dn2domain code such that domains produced are rooted.
That is, they end with '.'.
2000-05-16 18:31:35 +00:00
Kurt Zeilenga
4e5992c190 Fix unsigned * vs unsigned long * bugs 2000-05-16 04:52:37 +00:00
Kurt Zeilenga
29d9fa20a2 Y2k copyright update 2000-05-13 02:36:07 +00:00
Kurt Zeilenga
8c15a05b2e Make sure we don't overallocate callbacks 2000-05-12 19:41:18 +00:00
Howard Chu
878466d375 Fix previous patch, zero out lud_next on new urldesc 2000-05-12 10:48:27 +00:00
Howard Chu
7d402a5562 Fix ldaps / TLS processing...
open.c: open_ldap_connection was not honoring the TLS config option.
  url.c: ldap_url_dup was not copying the properties.
2000-05-12 10:43:20 +00:00
Howard Chu
36eddf715a Exit loop after matching command is found in openldap_ldap_init_w_conf 2000-05-12 10:40:29 +00:00
Kurt Zeilenga
643864c569 Change negotiated mechanism:
If application provide one, use it.  If application doesn't
	provide one, use best of server advertised.
Fix SASL/ANONYMOUS (not normally used, but should work)
PLAIN is not currently working... might be local to me as my
Cyrus installation is a bit hosted.
2000-05-11 20:16:26 +00:00
Howard Chu
b0faccce56 Added debuglevel parameter to ldap_int_initialize(). 2000-05-11 09:48:40 +00:00
Howard Chu
d706765e56 Fix error detection for NT 2000-05-11 09:47:55 +00:00
Howard Chu
dddf399090 Fix dynamic link dependencies for NT and Unix 2000-05-11 09:47:15 +00:00
Kurt Zeilenga
0d6e1a4cbe Fix cred passing. 2000-05-11 01:40:02 +00:00
Kurt Zeilenga
f9411ca154 Fix another bug... seems to be working... ldap://root.openldap.org/ 2000-05-11 01:12:48 +00:00
Kurt Zeilenga
560fe7ade0 Fix == typo 2000-05-11 00:50:14 +00:00
Kurt Zeilenga
fbb58dec53 Fix minor bugs... 2000-05-10 22:21:57 +00:00
Kurt Zeilenga
e87e01b9c5 DNS SRV meat (a work in progress) 2000-05-10 21:48:18 +00:00
Howard Chu
7a586d4e49 Add ld parameter to ldap_pvt_tls_start invocations. See tls.c... 2000-05-10 21:02:46 +00:00
Howard Chu
f0c4f83ea2 libldap/tls.c: change tls_verify_cb to no longer ignore verification errors.
This means a ldaps connection may drop before any LDAP protocol exchange
occurs (due to expired cert, unrecognized CAs, etc.).
  Change ldap_pvt_tls_connect to copy any TLS error string to ld_error upon
connection failure, otherwise client just sees "can't contact LDAP server."

slapd/connection.c: add flush/delay when SSL_accept fails, to allow any
TLS alerts we generated to propagate back to the client. (Which will then
be picked up by ldap_pvt_tls_connect on the client...)
2000-05-10 17:07:09 +00:00
Kurt Zeilenga
d0555fffe6 Error handling changes including separation of client v. server
SASL to LDAP translation.  plus comments and other minor changes
2000-05-03 18:59:58 +00:00
Kurt Zeilenga
014afae269 setting UFN prefix to NULL should clear prefix not cause crash. 2000-05-03 10:45:36 +00:00
Kurt Zeilenga
95092681dd Clarify error string, add comment 2000-04-26 09:17:54 +00:00
Kurt Zeilenga
5043287a4c Fix NULL filter bug 2000-04-25 13:52:44 +00:00
Kurt Zeilenga
1973c664cc Fix NULL pointer deref bugs 2000-04-25 10:43:15 +00:00
Kurt Zeilenga
274bf59441 replace ldap_dnssrv_init() with lower level calls
ldap_domain2dn()
    ldap_domain2hostlist()
and provide prototype to soon-to-be-implemented
    ldap_dn2domain().
ldap_dnssrv_init(), if needed, can easily be implemented
using ldap_create(), ldap_set_option() and the above
commands.
2000-04-25 10:38:03 +00:00
Kurt Zeilenga
c02d7e2cb6 ITS#503: Extend ldap tools to support SASL/TLS
Submitted by Gabor Gombas <gombasg@inf.elte.hu>
2000-04-20 09:23:51 +00:00
Kurt Zeilenga
21431725fc fix = vs == bug 2000-04-12 01:06:58 +00:00
Kurt Zeilenga
870dbca576 objectclass=* -> NULL 2000-04-12 01:00:48 +00:00
Kurt Zeilenga
4035b05232 ITS#441: unhex escape referrals. Needs review before being
applied to RE 1.2.
2000-03-20 22:00:16 +00:00
Kurt Zeilenga
1a348f9fbe Return okay after setting LDAP_OPT_X_TLS_CERT (ITS#447) 2000-03-18 23:55:51 +00:00
Kurt Zeilenga
535cc1dbbc Add missing ; 2000-03-14 04:27:00 +00:00
Kurt Zeilenga
72c6446ef6 Mark statically allocated BerElement as valid. 2000-03-14 04:25:49 +00:00
Kurt Zeilenga
117b6a91d0 More fixes and comments 2000-03-14 04:08:12 +00:00
Kurt Zeilenga
c43fec53f5 Cyrus SASL uses screwy terms. 2000-03-14 03:08:46 +00:00
Kurt Zeilenga
5701fec1b5 correct callback numbering 2000-03-14 02:59:53 +00:00
Kurt Zeilenga
17527368d1 work args of ldap_negotiated_sasl_bind_s() and provide examples
with authentication id and authorization ids.  Note: this routine
doesn't actually negotiate anything.  It likely should be renamed
ldap_sasl_auth_s() or ldap_sasl_bind_multistep() or something.
2000-03-14 02:54:08 +00:00
Kurt Zeilenga
db662b516f Fix NT builds and remove lint 2000-03-13 19:30:14 +00:00
Julio Sánchez Fernández
50dafec453 Fixed an irritating problem with nss_ldap and pam_ldap. Since these
modules are dynamically loaded, they summon libldap when needed.
However, depending on the security libraries available when the
shared libldap was built, the latter brings up other dependencies.
On some platforms, it seems that no solution is available: no
indirect dynamic dependencies.  But for some platforms where this
is supported (in particular, Linux), the shared libldap must
contain info on what other dynamic libraries it needs.  We were
failing to put this info into the shared library.  This patch
seems to fix it.
2000-03-13 17:55:41 +00:00
Julio Sánchez Fernández
b9fb4c442c Useronly logic was inverted, we were ignoring the whole ldap.conf,
except where we should.
2000-03-13 12:31:35 +00:00
Kurt Zeilenga
6e5d2eea4e Add missing parens so that last commit behaves as desired. 2000-03-10 18:16:22 +00:00
Kurt Zeilenga
5b5b43a9e0 ITS#471: fix handling of delete referrals. 2000-03-08 18:56:22 +00:00
Kurt Zeilenga
655c0bda41 Ignore space in filter: ( !(foo=bar)) 2000-02-21 20:57:48 +00:00
Kurt Zeilenga
6cb60f381a Eliminate second session protocol version field. 2000-02-18 19:57:38 +00:00
Kurt Zeilenga
b8c8f6ef6f Fix ldap_set_option( NULL, LDAP_OPT_PROTOCOL_VERSION, &v ) as
suggested by Steve Sonntag.
2000-02-16 22:59:15 +00:00
Kurt Zeilenga
0dbaf87730 Another round of changes behind -DSLAPD_SCHEMA_NOT_COMPAT
plus these changes unhidden changes:
	remove now meaning --enable-discreteaci configure option
	fix ITS#451, slapd filters
	Add ber_bvecadd() to support above
	constify ldap_pvt_find_wildcard() and misc slapd routines
	renamed some slap.h macros
	likely broken something
2000-02-14 20:57:34 +00:00
Kurt Zeilenga
d0d80a633a Put *free(NULL) asserts behind LDAP_MEMORY_DEBUG 2000-02-11 21:11:44 +00:00
Kurt Zeilenga
2549654bb5 Add comment about leaked on exit values.... we likely should
implement an at_exit() handler.
2000-02-02 21:26:36 +00:00
Luke Howard
30522f7437 Changed (!strcmp(...)==0) to (strcmp(...)==0); obviously
wrong. Fix from adamson@andrew.cmu.edu.
2000-02-01 23:34:16 +00:00
Kurt Zeilenga
0919e503cd Use LDAP_CONST, not const, in public function declarations. 2000-02-01 01:11:26 +00:00
Kurt Zeilenga
4eb13130a9 typedef ber_int_t ldap_ucs4_t 2000-01-27 01:04:17 +00:00
Kurt Zeilenga
f3cb97e973 Add utf-8 to MSVC projects and remove lint. 2000-01-25 20:22:17 +00:00
Kurt Zeilenga
ed9969b1c4 Make ldap_utf8_bytes() act like strlen() not sizeof() 2000-01-23 23:33:01 +00:00
Kurt Zeilenga
42cc5e5333 Fix bugs in UTF-8 code. Apply to getdn and charray. 2000-01-23 23:07:24 +00:00
Kurt Zeilenga
61b509d881 Add some robustness to UTF-8 routines. 2000-01-23 18:43:30 +00:00
Kurt Zeilenga
16c903909c Add comments to UTF-8 declarations.
Add US ASCII optimizations macros.
#ifdef out unused routines
Ready to hack getdn.c and others to support UTF-8
2000-01-23 05:35:38 +00:00
Kurt Zeilenga
4e0964e8b4 Add comments. 2000-01-23 02:39:55 +00:00
Kurt Zeilenga
22ba55371e Move ldap_utf8_*() declarations from ldap-int.h to ldap_pvt.h.
We may likely want to expose the routines at a later date (ldap_utf8.h?).
2000-01-22 21:09:24 +00:00
Kurt Zeilenga
aa934d0666 We'll need ldap_utf8_strpbrk() as well. 2000-01-22 21:03:21 +00:00
Kurt Zeilenga
4e3c4d8c6d Add initial (untested) implementations of ldap_utf8_strtok,
ldap_utf8_strcspn, ldap_utf8_strtok.
2000-01-22 20:55:43 +00:00
Kurt Zeilenga
3eca68a5d2 Add additional UTF-8 routines 2000-01-22 18:48:37 +00:00
Kurt Zeilenga
14210f5e34 Fix charlen and add getc 2000-01-22 03:40:54 +00:00
Kurt Zeilenga
23afcd5c6e Initial UTF-8 routines. 2000-01-22 01:55:34 +00:00
Luke Howard
6a06fb7fba In ldap_pvt_sasl_init() treat subsequent invocations as no-ops, not error. 2000-01-16 01:29:15 +00:00
Howard Chu
80f85e972d In ldap_pvt_tls_init() treat subsequent invocations as no-ops, not error.
In tls_verify_cb() use CRYPTO_free instead of free (necessary on NT due to
use of different heaps).
Changed update_flags to use SSL_get_error() to check success/status. This
fixes the problem of sb->sb_trans_needs_read getting set on dead sockets.
2000-01-15 19:03:16 +00:00
Kurt Zeilenga
9ac0eab126 remove UNSPECIFIED_TLS... HOST implies ldap:// 2000-01-14 01:08:15 +00:00
Kurt Zeilenga
6437785a82 Initial implementation of Kerberos password verification for
simple bind via:
	{KERBEROS}principal
Code is disabled by default (for security reasons).  Use
--enable-kpasswd to enable.  Behind SLAPD_KPASSWD.
Reworked Kerberos detection and split out KBIND as independent
feature (--disable-kbind) (LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND).
KBIND depends upon detection of KRB4 (or KRB425) support.  Detection,
building with eBones (as distributed with FreeBSD 3.4) okay, but
wasn't able to test as I don't have a K4 KDC handy.
--with-kerberos has a number of detection options... most likely
don't work properly.
2000-01-08 18:42:11 +00:00
Luke Howard
5a0bbd7eed Imported <ldap.h> in <ldap_pvt.h> so ldap_pvt_sasl_bind() has necessary
types. Changed const sasl_callback_t * to LDAP_CONST sasl_callback_t *.
2000-01-05 12:56:17 +00:00
Luke Howard
a466a64318 Added support for connecting to LDAP servers located using DNS
SRV records. Added lock around resolver library which is shared
by the DNS SRV code and the getdxbyname() code.
2000-01-03 02:33:22 +00:00
Luke Howard
57b62dc7d4 Added ldap_pvt_sasl_bind() prototype to ldap_pvt.h. This
required importing sasl.h into ldap_pvt.h, thus that import
was removed from ldap-int.h.
2000-01-03 00:15:30 +00:00
Luke Howard
736b8d0a24 Braced ldap_connect_to_path() in #ifdef LDAP_PF_LOCAL so as to compile
without PF_LOCAL support.
2000-01-02 01:56:01 +00:00
Luke Howard
9b4e3b2234 Merged in preliminary support for Cyrus SASL library;
support for DCE slash-delimited, left-to-right DNs;
support for a domain socket transport (enable with
--enable-ldapi); and extensions to URL parsing to
support the latter transport.
2000-01-02 01:21:25 +00:00