Commit Graph

100 Commits

Author SHA1 Message Date
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
42a20681cc SASL closer to working from frontend only, need to work through
states.
2000-04-25 17:23:54 +00:00
Kurt Zeilenga
55ae3cffd8 SASL code without backend support. Should work with
external store, but not yet tested.  [Intent is to support
both in same server... may not be doable]
2000-04-25 16:03:17 +00:00
Kurt Zeilenga
10588da3c5 Print tag with SASL in progress operations error. 2000-03-02 01:20:00 +00:00
Kurt Zeilenga
ddb9755ba7 Move handling of operations errors due to submission of
non-bind requests while a multi-step SASL bind process
is under to connection.c.  Return LDAP_OPERATIONS_ERROR,
not LDAP_SASL_BIND_IN_PROGRESS.
2000-03-02 00:59:10 +00:00
Kurt Zeilenga
ac7f6c2e37 Replace do_*() return -1 with return SLAPD_DISCONNECT.
Only return SLAPD_DISCONNECT with a send_ldap_disconnect()
was called.
Add initial code for support predetermined filter results
when filter is undefined (or known to be true or false).
2000-02-29 23:48: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
Mark Valence
bb693fd1b5 Bug fix: re-used Connection have TLS value for previous conn. 1999-12-09 21:06:42 +00:00
Kurt Zeilenga
64e8eeaa95 Slight modification to last commit to cast %ld args to long 1999-10-20 00:25:04 +00:00
Howard Chu
f0b0fe9f94 Fix stupid "got <garbage> of 0 so far" debug message after ber_get_next. 1999-10-19 12:15:42 +00:00
Kurt Zeilenga
7a0b0b2bbf In preparation for adding dn_rewrite()...
s/dn_normalize/dn_validate/
s/dn_normalize_case/dn_normalize/
1999-09-24 01:46:37 +00:00
Kurt Zeilenga
403f4479bc Add OpenLDAP RCSid to *.[ch] in clients, libraries, and servers.
Replace old Id as needed (back-tcl).
Leave updating of contribWare to contributors (for now).
1999-09-08 19:06:24 +00:00
Hallvard Furuseth
4a5e2febed Some constification & lint removal 1999-09-04 21:15:49 +00:00
Howard Chu
193d30bf84 In previous commit - change strerror() to STRERROR().
Use strerror() if available.
1999-08-29 02:59:29 +00:00
Howard Chu
a60406860f Use strerror() 1999-08-29 01:50:12 +00:00
Kurt Zeilenga
0afcadc4dd Remove misplaced asserts. connection_resched changes connection state
to UNUSED without holding connections mutex.  It's not safe for
connection_init to check connection state until after acquires the
c_mutex.
1999-08-27 19:31:42 +00:00
Kurt Zeilenga
9bf50242c3 Plug ber leakage:
result was leaking ber's in some error cases.  ber_flush now called
with no freeing so that caller of send_ldap_ber() can free its own ber.
c->c_currentber was also being leaked if connection was destory
current when a PDU input was outstanding.
Fixed ber_flush to free ber upon write only to file.
1999-08-27 05:45:53 +00:00
Kurt Zeilenga
9e82379b6e More CSRI malloc debugging support and destroy sockbuf fix.
Test008 now runs without leak.
1999-08-19 18:48:17 +00:00
Kurt Zeilenga
8ead8c5fd9 Clean up debug messages. 1999-08-19 00:40:18 +00:00
Kurt Zeilenga
34647dd8d7 Force to LDAPv3 until BIND 1999-08-13 06:09:48 +00:00
Hallvard Furuseth
6054463eeb Minor cleanup:
Fix Statlog() formats, remove an implicit int, include <ctype.h> for isspace().
1999-08-07 05:36:48 +00:00
Kurt Zeilenga
9c3ed0310b Add copyright notices. 1999-08-06 23:07:46 +00:00
Kurt Zeilenga
b67eb8e2be Don't have time to finish SASL right now... this is a work in progress
but is safely tucked away behind --with-cyrus-sasl.
1999-08-04 00:11:22 +00:00
Kurt Zeilenga
68d561a97b Add limited LDAP_INVALID_DN_SYNTAX support. dn_normalize{,_case}() now returns
NULL does not meet basic syntax rules.
1999-07-22 17:14:42 +00:00
Kurt Zeilenga
933908f72f ACL CHANGES:
by <who> <access> changed to by <who>+ <access> (joined with AND)
  added peername=<regex> sockname=<regex> url=<regex>
  removed addr=<regex> (use peername instead).
replace dn_upcase with str2upper and str2lower.  Use where needed.
1999-07-21 20:54:23 +00:00
Julio Sánchez Fernández
f0f29cd82e Backout the input exhaustion change, it loops. Still looking for
the right way.
1999-07-21 13:22:35 +00:00
Julio Sánchez Fernández
76227acb1f Move the input data exhaustion loop to connection.c from daemon.c
Let transport (TLS or somesuch) force reading or writing on
sockets even if the higher layers think otherwise.
1999-07-20 18:02:44 +00:00
Kurt Zeilenga
170836751a Namespace changes
added slap_ and ldbm_ to many structures
  added typedefs to many structures
  used typedefs
New main.c argument parsing with ldap url support (replacing -a address).
New sockaddr_in handling and support for multiple listeners.
1999-07-19 19:40:33 +00:00
Kurt Zeilenga
059ee8c86d (re)introduce o_connid such that STATS doesn't need c_mutex (which it
didn't bother to acquire)...
1999-07-16 22:24:32 +00:00
Julio Sánchez Fernández
ea8669c37d Clear c_needs_tls_acccept on ldap_pvt_tls_accept errors 1999-07-16 18:48:13 +00:00
Julio Sánchez Fernández
68b508d2f0 Move calls to ldap_pvt_tls_accept to connection_read instead of
connection_init so that we get into the select() logic.
Make use of new flags in the connection.
BTW, and before I forget, it sort of works.  I have connected with
a Netscape client using a secure connection and did a failed
search (my test database is empty), but the trace looked correct.
Make sure you have your CA certificate in your Netscape preinstalled.
Otherwise, the connection fails with error 0xFFFFFFFF that is rather
uninformative.
1999-07-16 15:52:17 +00:00
Julio Sánchez Fernández
6d75d0f8fb connection_init now takes one more argument that indicates whether to
use TLS right away or not on that connection.
1999-07-14 19:44:18 +00:00
Kurt Zeilenga
e9c2895472 Add support for unsolicited notifications. 1999-07-07 18:51:39 +00:00
Kurt Zeilenga
daf40a51c1 Abandon all operations upon receiving a BindRequest. 1999-07-02 21:42:53 +00:00
Kurt Zeilenga
b7bbc7504d More bind changes to support SASL/DIGEST.
Added configuration support for "digest-realm <realm>" configure directive.
Added connection state and bind_in_progress fields to cn=monitor connection
attribute.
1999-07-02 19:48:07 +00:00
Kurt Zeilenga
6f8fad20f2 Add conn/op bind_in_progress flags such that operations can detect
if multiple step SASL binds are in progress.
1999-07-02 00:04:47 +00:00
Kurt Zeilenga
f9db1ea889 Rework BER decoding with lieu of LDAPv3 controls (coming soon).
Add place holder for handling LDAPv3 extended operations (coming soon).
1999-06-30 22:43:27 +00:00
Kurt Zeilenga
14820afdd9 Reimplement connection counters. Format of "connection" attribute
changed significantly.
1999-06-30 02:50:40 +00:00
Kurt Zeilenga
1ee85df297 Add framework for sasl and controls. 1999-06-29 03:17:22 +00:00
Kurt Zeilenga
2660d0b42f Remove old U-Mich v3.0 and OLD_LDAP_* crud.
Leave only LDAPv2+ and LDAPv3.
1999-06-29 00:03:34 +00:00
Bastiaan Bakker
e2b5b21155 Added connection initialisation and destruction notification. Now backends can register functions in backend_info.bi_connection_init and backend_info.bi_connection_destroy that will be called when a connection is initialized or destroyed. 1999-06-23 12:31:35 +00:00
Kurt Zeilenga
2d720643be experimental connections_timeout_idle() implementation. 1999-06-19 03:20:01 +00:00
Kurt Zeilenga
669b8f4047 ber_int_t, ber_tag_t, ber_socket_t, ber_len_t
added lber_types.h.nt, lber_types.h.in
removal of NULLxxx internal macros (in favor of NULL).
ch_free added to slapd,slurpd/ch_malloc.c
#define free ch_free (should be removed after s/free/ch_free/g) in proto-slap.h
ch_malloc and friends use ber_memalloc and friends
1999-06-18 23:53:05 +00:00
Kurt Zeilenga
7e4b3bc2e7 initial commit of idletimeout code... everything but the actual timeout. 1999-06-18 22:54:19 +00:00
Kurt Zeilenga
36cb034611 Add test for resched state change in connection_get 1999-06-17 00:48:51 +00:00
Gary Williams
2ffc4b19ea check addr for NULL before copying 1999-06-16 19:15:03 +00:00
Kurt Zeilenga
61eaffeed2 connection_get forgot to unlock c_mutex in not used case! 1999-06-14 20:33:21 +00:00
Kurt Zeilenga
18e5e729ac Resched changes struct state without lock to avoid deadlock.
Hence connection_get must recheck struct state after obtaining
c_mutex to detect close.
1999-06-12 00:29:41 +00:00
Kurt Zeilenga
35e91be482 connection_get:
Connection could be closed before acquiring connections_mutex.
	if c->c_struct_state == SLAP_C_UNUSED, return NULL.
1999-06-12 00:03:39 +00:00
Kurt Zeilenga
0dda34c9e4 Add additional assert in connection get for race debugging. 1999-06-11 23:19:31 +00:00