Kurt Zeilenga [Tue, 27 Jul 1999 20:00:31 +0000 (20:00 +0000)]
Return LDAP_CONSTRAINT_VIOLATION if user attempts to modify
a non-user-mod attribute (such as timeStamps).
Move generation of add_modify_attrs to frontend.
update of add_modify_attrs on modrdn needs work (currently
not updated to maintain consistency with replicas).
Randy Kunkee [Tue, 27 Jul 1999 07:29:27 +0000 (07:29 +0000)]
Tcl package version 1.0 -> 1.1:
Add timeout to control array.
Add -lldap -llber when building shared library.
Clean up pkgIndex.tcl creation and installation (should now support
"package require" out of the box).
Kurt Zeilenga [Sat, 24 Jul 1999 03:39:23 +0000 (03:39 +0000)]
Add support for LDAP_ALL_OPERATIONAL_ATTRIBUTES ("+") (based on
LDAPext discussions).
Add attrs and attrsonly support to monitor/config info.
Add rdn attributes to schema/monitor/config.
Add extensibleObject objectclass to schema/monitor/config.
Add top objectclass to rootdse/monitor/config.
Remove opattrs option from send_search_entry().
Kurt Zeilenga [Sat, 24 Jul 1999 00:04:05 +0000 (00:04 +0000)]
Use AC_CACHE_CHECK instead of AC_CACHE_VAR.
Rework sys_errlist detection to set HAVE_SYS_ERRLIST if sys_errlist
exists. If it declaration is needed, DECL_SYS_ERRLIST is also set.
ldap_url_parse was fundamentally broken. It would quit before
time, skipping the filter, for instance. Also, we were parsing
twice the scope and the filter. I think this change is right,
but could use more eyeballs...
Kurt Zeilenga [Wed, 21 Jul 1999 20:54:23 +0000 (20:54 +0000)]
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.
Partial support for a new option to help debug TLS connections,
not yet user-settable. Defaults "on" for now.
Partial support for temporary RSA keys, skeleton for DH.
Add call to X509V3_add_standard_extensions() on init, mod_ssl
does this too, but I am unsure about what it does.
Move management of client CA certificates to a new routine, since
it is going to get more complex than the current code.
Some content for tls_verify_cb where parts of our policy should
be implemented.
The rest of this change mostly contains random ideas taken from
mod_ssl. The purpose is to get the repository in sync with the
code I am testing. I still can't manage to make Netscape send
its certificate to slapd, though it works with Apache/mod_ssl
(with the same certificates). Trying s_client against both
does not shed any light. If anyone manages to make it work,
please let us know.
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.
Kurt Zeilenga [Mon, 19 Jul 1999 19:40:33 +0000 (19:40 +0000)]
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.
Kurt Zeilenga [Sun, 18 Jul 1999 00:33:30 +0000 (00:33 +0000)]
Import patches mistakenly applied to OPENLDAP_DEVEL_REFERRALS.
ldap_modify: delete of last attribute value should delete attribute (ITS#229)
thr_nt: use sleep to yield
Look on connection_read() if it returns positive so it has a chance
to exhaust all protocol units received from the transport layer.
I think this is the necessary fix for the TLS-data-ready/
socket-not-ready issue, but I have not experimented that problem
yet, so I am unsure about its effectiveness.
Now, do we need something like that for connection_write? How would
we go about implementing it?
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.