Commit Graph

183 Commits

Author SHA1 Message Date
Kurt Zeilenga
8c152396b9 Matched Values implementation (ITS#1776) based upon submission
form Mikhail Sahalaev <M.Sahalayev@pgr.salford.ac.uk>.
Further work needed:
	add testxxx-matchedvalues
	rework ldapsearch(1) portion of patch to generalize use of options
---
Copyright 2001, Mikhail Sahalaev, All rights reserved.
This software is not subject to any license of University Of
Salford.

Redistribution and use in source and binary forms are permitted
without restriction or fee of any kind as long as this notice
is preserved.
2002-05-02 18:56:56 +00:00
Howard Chu
ababc07479 Add "nentries" to send_search_result() Statslog message. Suggested
by ITS#1360.
2002-04-16 04:58:41 +00:00
Howard Chu
efecf4e121 ITS#1733 eliminate o_abandonmutex 2002-04-11 08:03:40 +00:00
Kurt Zeilenga
32fb8b0bff Add ACL state recording to avoid multiple evaluation of
value-independent access controls.
2002-02-09 05:14:17 +00:00
Howard Chu
ac1332cdb8 Renamed BVarray to BerVarray. Moved slapd:bvarray_{add,free} to
liblber:ber_bvarray_{add,free}.
2002-01-14 01:43:17 +00:00
Howard Chu
af862f8c6b Reworked callback layout, added send_search_entry callback 2002-01-13 16:40:37 +00:00
Kurt Zeilenga
ce2d8ebc7e Misc cleanup, lint removal, and minor optimizations 2002-01-13 05:00:59 +00:00
Kurt Zeilenga
0e2af54a3f Update copyright statements 2002-01-04 21:17:25 +00:00
Howard Chu
f52cc9bab5 Change struct berval ** to BVarray 2002-01-02 11:00:36 +00:00
Pierangelo Masarati
7d12cbe341 my compiler complains ... 2001-12-31 16:10:39 +00:00
Howard Chu
743c402265 Changed search attrs from struct berval ** to AttributeName * 2001-12-31 11:35:52 +00:00
Howard Chu
9383bf3265 Use ber_free_buf 2001-12-31 06:02:35 +00:00
Kurt Zeilenga
ef7a99ff99 Additional struct berval DN changes... 2001-12-26 23:26:55 +00:00
Kurt Zeilenga
21288fbb21 Misc cleanup and dn_normalize() zapping
Fix nameAndOptionalIdentifer syntax.
2001-12-26 16:42:35 +00:00
Howard Chu
68b1bbb89d Changed search attrs to struct berval **.
Use typedefs for all backend functions, to minimize work in future API
updates. (back-*/external.h will never need updating in the future.)
2001-12-26 08:17:44 +00:00
Pierangelo Masarati
e36bde9180 added backend-side support for on-the-fly operational attributes; added hasSubordinates to schema and back-ldbm 2001-12-22 11:50:16 +00:00
Kurt Zeilenga
abd9be4def Remove lint and misc MSVC updates 2001-12-09 02:34:45 +00:00
Howard Chu
584d58e8d1 Added callbacks for send_ldap_response and send_search_result. 2001-12-08 15:21:20 +00:00
Kurt Zeilenga
3f1ab56fa9 Fix reference scope. 2001-12-07 22:28:46 +00:00
Kurt Zeilenga
82fad7d0c8 First stable an implementing latest namedref specification.
Includes rewriting of URLs where the DN of the referral object
and the DN of the ref attribute attribute are not the same.
Also, always returns explicit DN and scope.
Currently, back-ldbm only.  Needs to be ported to back-bdb.
2001-10-26 02:05:14 +00:00
Howard Chu
0e16f6acf9 Moved AttributeDescription caching into main code:
Changed AttributeDescription.{ad_cname,ad_lang} to struct berval everywhere
   Deleted ad_free() everywhere
   Added ad_mutex to init.c

The AttributeDescriptions are in a linked list hanging off of the
corresponding AttributeType.
2001-10-22 13:23:05 +00:00
Kurt Zeilenga
f704c35caf subschemaSubentry attributes could be leaked under some conditions,
plug them.
2001-10-03 18:19:07 +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
a1ecd9b697 Fix reference stats2 message 2001-09-28 01:44:13 +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
Pierangelo Masarati
8a78d022bc cleanup and cast of logs 2001-09-13 21:30:44 +00:00
Gary Williams
f49fd8a98e fix format 2001-01-17 16:35:53 +00:00
Gary Williams
ffcdc6d11d More new logging (Behind NEW_LOGGING) 2001-01-15 19:17:29 +00:00
Kurt Zeilenga
8f9980d5f6 Logging changes 2000-09-30 01:04:54 +00:00
Kurt Zeilenga
7c96f629ee Add connection and operation arguments to backend callbacks.
Needed for transactions.
2000-09-29 05:25:44 +00:00
Kurt Zeilenga
2aebaba70e Patch req2rst not to abort on unknown tags 2000-09-21 22:29:53 +00:00
Kurt Zeilenga
f2b1d423c1 Cleanup 2000-09-14 07:10:15 +00:00
Kurt Zeilenga
7800d2d41e Remove cldap cruft 2000-08-18 03:35:19 +00:00
Kurt Zeilenga
5b856458a2 s/SAFEMEMCPY/AC_MEMCPY/
Use AC_FMEMCPY where appropriate (-llber)
2000-07-28 01:07:07 +00:00
Kurt Zeilenga
804100b431 Fix sasl end game processing. 2000-07-20 18:39:40 +00:00
Kurt Zeilenga
49f4147385 Added -llber 'N' ber_printf format which inserts a NULL if
an internal flag set.  Used for SEQUENCE testing.  Flag must
be set using debugger.  Modified ber_printf to use new format
were needed for extensibility testing.

Added first cut -lldap support for extended responses.
Modified ldapsearch(1) to handle v3 search references when not
chasing.  Also added extended/unsolicited notification handling
and extended partial response handling.  Changes include a
number of LDIF enhancements.

Fixed getpassphrase() returns NULL bugs
2000-06-24 01:40:39 +00:00
Kurt Zeilenga
df4b2a443e Fix addition of dynamic operational attributes (subschemaSubentry) 2000-06-13 17:48:51 +00:00
Kurt Zeilenga
c3f8de76ef Fix up debug statement as suggested by christian.lorenz@suse.de 2000-06-07 14:07:50 +00:00
Kurt Zeilenga
693fb9424a unifdef -DSLAPD_SCHEMA_NOT_COMPAT -USLAPD_SCHEMA_COMPAT 2000-06-06 19:43:18 +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
60981bdce1 Add debugging... 2000-05-26 07:01:33 +00:00
Kurt Zeilenga
4a254064f5 Fix referrals bug 2000-05-26 06:08:06 +00:00
Kurt Zeilenga
c96f12ee49 SLAPD_SCHEMA_NOT_COMPAT: Fix memory stomping 2000-05-24 22:55:16 +00:00
Kurt Zeilenga
60802201e3 Const'ification
SASL mech removed from backend bind callback (as SASL is managed by frontend)
Changes to some backends are untested (as I don't have all dependent
  software install)
2000-05-22 03:46:57 +00:00
Kurt Zeilenga
37235b71c0 SLAPD_SCHEMA_NOT_COMPAT: working cn=schema 2000-05-15 23:36:37 +00:00
Kurt Zeilenga
aa08287e29 SLAPD_SCHEMA_NOT_COMPAT: simple Root DSE search WORKS! 2000-05-15 22:07:10 +00:00
Kurt Zeilenga
40ab90fa9c SLAPD_SCHEMA_NOT_COMPAT: Rework caching of internal schema 2000-05-15 21:05:25 +00:00
Kurt Zeilenga
7b14e1304a Relocate schema_init() call to main()
Add schema_prep() call to main()
Similiar changes to slapcommon.c
Add schema_prep() impl to schema_init.c
Add slap_ad_entry and slap_ad_children globals.
Add "entry" and "children" to openldap.schema (this likely should
  be added to schema via code, not configuration)
2000-05-15 20:04:36 +00:00
Kurt Zeilenga
4bc786f34b Y2k copyright update 2000-05-13 02:47:56 +00:00
Howard Chu
2e5e4c3f20 More fixes for NT support:
liblutil/ntservice.c change registry key path used for non-default
  	service names.
  slapd/Makefile.in change to generate slapd.syms dynamically
  slapd/daemon.c fix to make NT service ignore SIGBREAK
  slapd/main.c fix to allow NT to retrieve listening url from registry
  slapd/nt_svc.c fix for exported symbols
  slapd/result.c change use of strerror to sock_errstr
  slapd/slapd.syms no longer needed
2000-05-11 20:50:20 +00:00
Kurt Zeilenga
9369b9daad Fix malloc of referral pointer array. 2000-03-08 17:37:49 +00:00
Kurt Zeilenga
4710c74605 Rework error handling. Add error descriptions.
Don't use LDAP_OPERATIONS_ERROR for internal errors.  Use LDAP_OTHER
instead.  (more changes needed in this area)
2000-03-03 22:37:06 +00:00
Kurt Zeilenga
4091381660 Yet another round of SLAPD_SCHEMA_NOT_COMPAT changes, including:
limited subtype support, modlist handling, filter updates,
lastmod attribute handling.
2000-02-28 21:16:05 +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
bc51bd5180 Yet another round of SLAPD_SCHEMA_NOT_COMPAT changes...
Changes outside of #ifdef include three value filter processing.
2000-02-06 21:09:44 +00:00
Kurt Zeilenga
f9195f9b6f Another round of SLAPD_SCHEMA_NOT_COMPAT changes including
basic structures for handing language tags and binary option
(but less actual code to actually support them).  Provided
for reference only.  Will not even compile.
2000-02-05 05:01:41 +00:00
Kurt Zeilenga
434e7229ac Add code to handle operational attributes via new schema codes
behind -USLAPD_SCHEMA_COMPAT.
2000-01-27 19:02:24 +00:00
Kurt Zeilenga
6253e7c278 Updated sasl response to support returning of referrals.
Updates to extended operation framework to support arbitrary
referrals and extended results without OIDs.
Updated passwd extended operation to support returning update_refs
as needed.  Needs replog support.
1999-12-15 23:22:47 +00:00
Mark Valence
a76c9f18a9 Start TLS extension: check that TLS was inited successfully, return default referral on failure as appropriate. 1999-12-10 19:18:33 +00:00
Kurt Zeilenga
431dad371c Fix slapd SASL/ExternalOps encoding
Add controls to extended ops API signatures, need impl.
Update password to support optional server side generation of
new password, verification of old password, and changing of
non-bound user's passwords.
1999-12-10 04:52:32 +00:00
Howard Chu
2ee9c196d2 Fix the 1.71 fix - only offset the length if the last character of the
referral URL is not a '/'. Also in send_search_reference, corrected the
comparison for the pre-V3 case. Previously, referrals were being dropped
completely for V2 subtree searches. More work is still needed, V2 onelevel
referral handling is wrong.
1999-12-08 23:31:11 +00:00
Kurt Zeilenga
d5edb4bff6 Reengineered ldappasswd(1). Uses extended operation to set
user password.  Likely to be modified to use bind control
instead.  Use of modify deprecated in favor mechanisms that
support passwords stored externally to the directory (such
as in a SASL service).
Modified slapd extended operation infrastructure to support
backend provided extended operations.
1999-12-08 04:37:59 +00:00
Howard Chu
cbc5c8494e Fix off-by-one in v2ref 1999-12-02 05:19:24 +00:00
Kurt Zeilenga
a9fb92467e Add send_ldap_sasl() to facility implementation of SASL bind. 1999-11-29 17:44:14 +00:00
Mark Valence
90c4709eb7 In preparation for extensions improvements, added send_ldap_extended. 1999-11-09 03:29:50 +00:00
Kurt Zeilenga
f4856214fb *** empty log message *** 1999-11-08 15:38:59 +00:00
Howard Chu
fe79f5d12a Fix - v2ref returned a pointer that it did not allocate, and send_ldap_result
would try to free it. Also, send_search_result was not freeing the pointer,
but it should have been.
1999-11-05 22:50:58 +00:00
Howard Chu
af87072275 Fix broken patch to v2ref 1999-11-01 23:23:41 +00:00
Howard Chu
448fc0e99a For LDAPV2 results, make sure Referrals are appended to any error text
instead of replacing it.
1999-10-27 04:36:10 +00:00
Kurt Zeilenga
92238e52ae All text messages to be returned with LDAPv2 search results when
no referrals need to be returned.
1999-10-25 00:00:23 +00:00
Kurt Zeilenga
f6829ee903 Initial commit of new ACL engine. Engine supports descrete access
privs, additive/substractive rules, and rule continuation.  Existing
rules that use 'defaultaccess none' should be 100% compatible.  Rules
that rely other defaultaccess settings will require addition of
explicit clauses granting the access.
Needs additional testing and tuning of logs
1999-10-21 17:53:56 +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
Kurt Zeilenga
b660f54bb4 Further trim_refs_url fixes from Hallvard. Need additional testing. 1999-09-05 22:32:01 +00:00
Kurt Zeilenga
e25287a90f Fix = vs == bug 1999-09-05 22:13:22 +00:00
Hallvard Furuseth
1cde481298 Move `#include "ldap_defaults.h"' into slap.h, which #ifdefs on it. 1999-09-03 23:10:05 +00:00
Hallvard Furuseth
06c3e9a0d2 Fix ber_pvt_sb_udp_set_dst() argument 1999-09-02 07:41:58 +00:00
Kurt Zeilenga
580447be5b Fix Debug() with too few arguments. 1999-08-29 20:13:33 +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
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
87675a953d ACIs from Mark Valence <kurash@sassafras.com> (ITS#261) 1999-08-20 22:42:04 +00:00
Kurt Zeilenga
546262acb8 complete this round of constification 1999-08-20 19:50:11 +00:00
Kurt Zeilenga
2a74677799 const'fication 1999-08-20 19:00:44 +00:00
Kurt Zeilenga
8ead8c5fd9 Clean up debug messages. 1999-08-19 00:40:18 +00:00
Hallvard Furuseth
697dae9fac s/text/text ? text : ""/ in Statslog 1999-08-16 06:28:33 +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
643091f1f7 change order of tag and err in logging (only). Does not effect encoding. 1999-08-03 20:28:16 +00:00
Kurt Zeilenga
a39cf6f93d 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().
1999-07-24 03:39:23 +00:00
Kurt Zeilenga
cabe6ebe16 Really fix subschemasubentry... 1999-07-24 01:27:32 +00:00
Kurt Zeilenga
7ee088518c Fix subschemasubentry operational attribute. 1999-07-24 00:45:25 +00:00
Kurt Zeilenga
983f43785b Fix "*" op-attr search 1999-07-22 20:19:18 +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
Kurt Zeilenga
73276e84ae Import experimental referral implementation from OPENLDAP_DEVEL_REFERRALS.
Includes support for update referral for each replicated backend.
	Reworked replication test to use update referral.
Includes major rewrite of response encoding codes (result.c).
Includes reworked alias support and eliminates old suffix alias codes
(can be emulated using named alias).
Includes (untested) support for the Manage DSA IT control.
Works in LDAPv2 world.  Still testing in LDAPv3 world.
Added default referral (test009) test.
1999-07-16 02:45:46 +00:00
Hallvard Furuseth
fb3b8e5ef1 Fix LDAP_CONNECTIONLESS code rot 1999-07-13 06:39:55 +00:00
Kurt Zeilenga
e9c2895472 Add support for unsolicited notifications. 1999-07-07 18:51:39 +00:00
Kurt Zeilenga
97bc107537 Add macros to support testing of error categories to ldap.h
Modify ldap_result to assert returned error is not an one reserved
for API use.
Modify frontend LDAP operation routines to return an error code.
The returned value will be used to determine if an unsolicited notification
should be sent to the client.
Need to review returned error codes.  Namely some LDAP_PROTOCOL_ERROR
will like need to be changed (as they will cause unsolicited notifications).
1999-07-01 21:20:45 +00:00
Kurt Zeilenga
fe00263875 expose oc_check_operational from schema.c
Use everywhere.
Apply search ACLs to operational attributes.
Only provide operational attributes when explicitly requested.
1999-06-29 04:52:55 +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
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