Commit Graph

283 Commits

Author SHA1 Message Date
Pierangelo Masarati
c4a8a3dce5 better error handling when returning results 2002-08-13 17:00:33 +00:00
Pierangelo Masarati
b063a50891 same as for back-meta 2002-08-10 14:25:41 +00:00
Pierangelo Masarati
85a74efc71 remove dependency from LDAP_FILT_MAXSIZ (and handle arbitrary size filters) 2002-08-09 13:51:35 +00:00
Howard Chu
e14f471a27 Add #include "lutil.h" for lutil_str* functions 2002-08-06 02:36:34 +00:00
Kurt Zeilenga
838643d5ad operationsError != Internal Error
hence, s/LDAP_OPERATIONS_ERROR/LDAP_OTHER/
2002-07-31 22:49:02 +00:00
Howard Chu
5a01db28e3 Moved slap_strcopy, slap_strncopy to lutil_strcopy, lutil_strncopy 2002-07-27 00:24:02 +00:00
Julius Enarusai
6107ba67d2 Coverted LDAP_LOG macro to use subsystem ID int values instead of string values 2002-07-11 20:33:24 +00:00
Howard Chu
7e8c77c5de Fix dynamic module linking 2002-06-21 01:34:53 +00:00
Kurt Zeilenga
b5e7208cb8 Date: Thu, 2 May 2002 08:54:59 GMT
From: h.b.furuseth@usit.uio.no
To: openldap-its@OpenLDAP.org
Subject: Patch: Bugs with back-ldap/meta mappings

Full_Name: Hallvard B. Furuseth
Version: HEAD
OS: Linux
URL: http://folk.uio.no/hbf/OpenLDAP/back-ldap.txt
Submission from: (NULL) (158.36.148.34)


The source claims the 'map' attribute has syntax
map {objectclass | attribute}   {<source> | *}      [<dest> | *]
while it actually has syntax
map {objectclass | attribute} [<local name> | *] {<foreign name> |
*}
except that the code is confused about it.  Removed attributes are
put in both the maps for local and foreign names:
	# Remove description and present title as description instead
	map attribute	description
	map attribute	description title
-->
	slapd.conf: line 10: duplicate mapping found (ignored)

Also, map.c:ldap_back_map_attrs() loops forever on removed attributes
(ie. if one asks ldapsearch for an attribute which has been removed).
2002-06-12 16:39:05 +00:00
Howard Chu
c5c1ddb1ca Deleted Connection->c_cdn. Use conn->c_dn instead... 2002-06-12 08:38:59 +00:00
Howard Chu
640bc864fa Use specific msg id instead of ANY to retrieve search results 2002-05-03 14:23:55 +00:00
Pierangelo Masarati
b9d74aba5f broken berval after successful rewrite 2002-05-02 11:42:11 +00:00
Howard Chu
b3d0ab87aa More cleanups for suffixmassage DNs 2002-05-01 19:05:09 +00:00
Pierangelo Masarati
c030dbfefd massage dn-valued attributes also when compiled without --enable-rewrite 2002-05-01 17:53:32 +00:00
Pierangelo Masarati
c1edf76e20 use BerVarray for suffix_massaging stuff 2002-05-01 17:45:03 +00:00
Pierangelo Masarati
6feec86e5d - trim check for real naming context already defined as suffix
- improve automatic massaging (prettify once)
- add (optimistic) automatic filter massaging
- cleanup of massaging stuff
2002-05-01 11:41:57 +00:00
Pierangelo Masarati
d3058532c9 honor limits if below soft limit 2002-04-29 10:12:50 +00:00
Howard Chu
c7262c7599 Added rebind-as-user option; saves bind credentials and sets a rebind_proc
to allow chasing referrals using the same user's credentials.
2002-04-25 02:05:34 +00:00
Julius Enarusai
98f3c3d43b Added LDAP_LOG Messages 2002-04-16 20:11:09 +00:00
Howard Chu
98df4006b1 ITS#1733 eliminate o_abandonmutex 2002-04-11 08:08:42 +00:00
Pierangelo Masarati
4a8ab5dbf2 Mostly based on patches provided by Hallvard B. Furuseth
ITS#1677 - cast away const warnings
ITS#1678 - unsigned char args to ctype funcs
ITS#1682 - don't redefine ldap_debug
ITS#1683 - uninitialized vars
ITS#1703 - ldo_debug initialization
ITS#1705 - unsigned testing
ITS#1706 - socklen_t args
ITS#1719 - back-tcl update (other cleanups/fixes/improvements; yet untested)
ITS#1724 - integerNormalize/integerFilter/integerIndexer bugs
ITS#1725 - libdes not required

Implement back-null (/dev/null style backend)
Cleanup some misc warnings ("%lu" format, unused/uninitialized vars,
        ambiguous operator precedence)

Kurt, please regenerate configure
2002-04-08 09:43:22 +00:00
Howard Chu
fd810bb35e Silence a warning about ldap_debug 2002-02-11 09:38:49 +00:00
Pierangelo Masarati
f83fd25872 as a temporary hack, return result without rewriting match 2002-01-22 08:17:02 +00:00
Howard Chu
44f0efb44f Defined some ObjectClass->soc_flags values, changed is_entry_*objectclass
macros to use flags
2002-01-19 02:58:00 +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
92481f7057 Modify performance patch from Gertjan van Wingerde <gwingerde@home.nl> 2002-01-13 23:23:23 +00:00
Pierangelo Masarati
fafce1601e consistently use dn_match macro throughout slapd 2002-01-12 18:17:13 +00:00
Pierangelo Masarati
3bddc61a2a clarify macro name: dn_match = 1 if match, 0 otherwise 2002-01-12 17:42:44 +00:00
Pierangelo Masarati
e89d7b1280 some memory handling cleanup: check that memory is freed by who allocated it, or at least put a FIXME where not 2002-01-12 17:35:01 +00:00
Pierangelo Masarati
39a652d2de cleanup and better dn handling 2002-01-12 16:04:15 +00:00
Howard Chu
ec46a2f33a Use 'm' ber_scanf format where convenient 2002-01-06 06:11:01 +00:00
Howard Chu
ce7d8d26f2 Changed conn->c_cdn to struct berval. 2002-01-06 03:26:09 +00:00
Pierangelo Masarati
e5beebd6a3 more cleanup 2002-01-05 18:31:38 +00:00
Howard Chu
225fa32d8f BVarray fixes for ldap_dnattr_rewrite 2002-01-05 11:41:23 +00:00
Kurt Zeilenga
0e2af54a3f Update copyright statements 2002-01-04 21:17:25 +00:00
Pierangelo Masarati
b28c3953d4 more fixes/updates 2002-01-04 19:23:10 +00:00
Pierangelo Masarati
847f0f5b8f misc fix/improvements 2002-01-04 19:11:55 +00:00
Pierangelo Masarati
cdc1e149ca fix attribute mapping bug 2002-01-04 18:03:43 +00:00
Pierangelo Masarati
4f4f5dc93f move mapping in a separate file 2002-01-04 18:01:56 +00:00
Pierangelo Masarati
10352caec1 fix rewrite iteration 2002-01-04 17:51:46 +00:00
Pierangelo Masarati
bd535be5cb hide mapping initialization 2002-01-04 17:51:20 +00:00
Howard Chu
05b2332caa struct berval fixes, fix memory leak in ldap_send_entry 2002-01-04 00:49:34 +00:00
Pierangelo Masarati
3e230c7f91 trivial fixes 2002-01-03 16:28:21 +00:00
Howard Chu
bcdfdb968f Changed AttributeName back into an array instead of a linked list.
Fixed bug in do_search eating up controls.
2002-01-03 05:38:26 +00:00
Pierangelo Masarati
09348fcd85 minor fixes 2002-01-02 17:56:48 +00:00
Kurt Zeilenga
38d800637f Use AC_MEMCPY instead of memcpy
Use sizeof instead of strlen
2002-01-02 16:58:37 +00:00
Howard Chu
f52cc9bab5 Change struct berval ** to BVarray 2002-01-02 11:00:36 +00:00
Howard Chu
743c402265 Changed search attrs from struct berval ** to AttributeName * 2001-12-31 11:35:52 +00:00
Howard Chu
185ff129b5 Change struct berval * to struct berval in various structures 2001-12-29 15:01:10 +00:00
Pierangelo Masarati
6d046b1681 fix rewrite stuff 2001-12-29 14:18:31 +00:00
Howard Chu
975a5e9a24 Added dnPretty2/dnNormalize2 using preallocated destination berval 2001-12-29 04:48:00 +00:00
Howard Chu
6b413395fd More struct beral conversion 2001-12-28 04:20:08 +00:00
Pierangelo Masarati
7d63865e9f group and attribute conversion to berval DN 2001-12-27 12:17:28 +00:00
Pierangelo Masarati
e2fdaed3c7 some char* to berval fixes 2001-12-26 20:47:41 +00:00
Howard Chu
d0add35348 Changed get_limits to struct berval* 2001-12-26 15:28:01 +00:00
Howard Chu
d474789d0d First pass at converting bind to struct bervals 2001-12-26 11:41:38 +00:00
Howard Chu
d00fe773ae Fix attrs handling 2001-12-26 09:19:57 +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
Kurt Zeilenga
2dd27b0786 More struct berval DNs 2001-12-25 19:48:26 +00:00
Howard Chu
6e3ec13e05 Avoid conflict with e_ndn macro 2001-12-24 17:06:46 +00:00
Howard Chu
2f3399265c Changed sai_dn, sai_ndn to struct berval. (Affects op->o_dn,o_ndn,
conn->c_dn,c_ndn, Access->a_dn_pat)
2001-12-24 15:11:01 +00:00
Howard Chu
ef0b308bea Changed backglue configuration. Added noSubordinates arg to select_backend
to deal with glued subordinates.
2001-12-10 12:09:40 +00:00
Howard Chu
0552b1c53f NT updates from jon@symas.com. 2001-12-07 04:03:25 +00:00
Pierangelo Masarati
0f30fb0d8f minor cleanup 2001-11-17 14:24:27 +00:00
Howard Chu
0bfaa8b4ae Changed AttributeType.sat_cname from char * to struct berval.
(will fix up back-bdb next.)
2001-11-16 07:45:37 +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
Pierangelo Masarati
35c38e271d use slap_str2undef_ad for unknown attributes 2001-10-03 18:17:08 +00:00
Pierangelo Masarati
1eb3f8b2e4 add limits stuff to back-ldap 2001-08-04 11:10:35 +00:00
Randy Kunkee
a9097044ea Remove global_backendsyncfreq code (code has been pushed down into back-ldbm). 2001-06-28 18:02:46 +00:00
Randy Kunkee
d492880870 Add sync_daemon to daemon.c, enabled by global configuration
backendsyncfreq <seconds>.  Setting this automatically enables
dbnosync (because the synchronizer takes care of it).
2001-06-22 08:38:58 +00:00
Pierangelo Masarati
5a2014b863 semicolon after colon in goto labels 2001-06-03 08:53:13 +00:00
Pierangelo Masarati
395cc1d7bb added new log; minor cleanup of rewrite stuff 2001-05-16 22:55:44 +00:00
Pierangelo Masarati
74fa239a20 This is the commit of:
- librewrite, for string rewriting; it may be used in back-ldap
    by configuring with '--enable-rewrite'. It must be used in
    back-meta. There's a text file, 'libraries/librewrite/RATIONALE',
    that explains the usage and the features. More comprehensive
    documentation will follow.
  - enhancements of back-ldap (ITS#989,ITS#998,ITS#1002,ITS#1054 and ITS#1137)
    including dn rewriting, a fix to group acl matching and so
  - back-meta: a new backend that proxies a set of remote servers
    by spawning queries. It uses portions of back-ldap and the rewrite
    capabilities of librewrite. It can be compiled by configuring
    with `--enable-ldap --enable-rewrite --enable-meta'.
    There's a text file, 'servers/slapd/back-meta/Documentation', that
    describes the main features and config statements.

Note: someone (Kurt?) should run 'autoconf' and commit 'configure' as
my autoconf version must be different: my configures contain a number
of differences and I didn't feel comfortable in adding them :)
2001-05-12 00:51:28 +00:00
Kurt Zeilenga
a8e3501a11 Update copyright 2001-05-08 02:06:33 +00:00
Mark Valence
2c677743ad bug fix 2001-02-20 16:08:14 +00:00
Mark Valence
95bc47ce79 fix mistype. 2001-02-20 16:07:05 +00:00
Mark Valence
6e6118c6cc attribute & objectclass mapping rules 2001-02-19 19:14:12 +00:00
Howard Chu
4703fe82b2 Pierangelo Masarati's bugfixes and enhancements for suffix-massaging.
See the Changes file for detailed description.
2001-01-19 21:27:20 +00:00
Kurt Zeilenga
c55a82baa2 Mark as "altered version" 2001-01-17 07:09:22 +00:00
Kurt Zeilenga
06d63200e4 ITS#919: fix str2ad initialization bug 2001-01-17 06:32:26 +00:00
Howard Chu
e2ff92c6fc Set outbound connection to use the same protocol version as the inbound. 2000-11-11 03:01:00 +00:00
Howard Chu
99c88eace1 Fix: remap API error codes into protocol error codes before sending
back to client.
2000-10-23 13:32:14 +00:00
Mark Valence
8130d0e883 Added conn and op arguments to group backend callback. 2000-10-11 16:35:14 +00:00
Kurt Zeilenga
5fc22599e2 Update SASL code to reuse context through life of session.
Replace 'negotiated' with 'interactive' bind
Add hooks for SASL/EXTERNAL
Disable SASL security layers
Rework SASL command line and config file parameters
2000-07-13 22:54:38 +00:00
Mark Valence
11ccf96104 Updated attribute routine to pass back bervals. 2000-06-28 05:26:17 +00:00
Mark Valence
acc740d54f Add ldap_back_attribute to ldap backend 2000-06-21 18:23:38 +00:00
Mark Valence
51bd73ce7d New backend routine: back_attribute 2000-06-21 17:41:49 +00:00
Kurt Zeilenga
a3414536a4 Add backend_check_referrals() framework. 2000-06-16 01:46:42 +00:00
Kurt Zeilenga
a56c161bdb Misc code cleanup. 2000-06-10 22:39:30 +00:00
Mark Valence
e8f1dc6906 Add ldap_back_group routine. 2000-06-10 01:32:36 +00:00
Kurt Zeilenga
fad62c5d1d Remove lint 2000-06-08 18:36:37 +00:00
Kurt Zeilenga
693fb9424a unifdef -DSLAPD_SCHEMA_NOT_COMPAT -USLAPD_SCHEMA_COMPAT 2000-06-06 19:43:18 +00:00
Mark Valence
78f24c1d89 Fix memory leak in new schema code. 2000-06-06 05:21:14 +00:00
Mark Valence
a5ee438c93 Updated for schemas. 2000-06-06 04:24:11 +00:00
Mark Valence
3d599d1bd3 Use "uri" directive (instead of "server") to specify server. Add "bin
ddn" and "bindpw" directives for supporting group lookups.
2000-06-05 04:59:26 +00:00
Mark Valence
bd7c946ccc Update to work with schemas (SLAPD_SCHEMA_NOT_COMPAT=1) 2000-06-04 23:02:19 +00:00
Mark Valence
f8c1bc5ccb Fix parameter order error. 2000-06-04 22:59:34 +00:00
Mark Valence
6916d0d527 Fix memory leak. 2000-06-04 22:59:06 +00:00
Kurt Zeilenga
a5c2403eb1 const'ification 2000-05-22 03:55:03 +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
Howard Chu
3d5553abc2 Removed XLDFLAGS, unnecessary for modules. 2000-05-11 09:33:34 +00:00
Kurt Zeilenga
28d7d099be LDAP_OPERATIONS -> LDAP_OTHER 2000-04-19 13:42:08 +00:00
Kurt Zeilenga
36b0423311 Add Modification/Modifications structures for -DSLAPD_SCHEMA_NOT_COMPAT 2000-02-07 20:37:10 +00:00
Luke Howard
a1ccf169da Filled in Cyrus SASL authz/storage callbacks for all backends
(callbacks not yet implemented though).
2000-01-02 05:42:14 +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
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
Howard Chu
f991ef04e6 Added mixed-case as well as up-cased DN argument. The behavior of back-bdb2
and back-ldbm are preserved, they only use the up-cased DNs. back-passwd
uses the mixed-case DN. All others are using mixed-case DN, may need more
fixing.
1999-09-18 23:40:03 +00:00
Kurt Zeilenga
e642a1b9cd Add OpenLDAP RCSid 1999-09-08 22:52:19 +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
Howard Chu
0963a783b0 Fix extraneous call to ldap_msgfree. 1999-09-02 12:08:43 +00:00
Hallvard Furuseth
c09a2c63e7 Cleanup:
Fix printf formats, remove unused variables, add missing prototypes in slapd,
add static/const, add some return types or change to void return type.
1999-09-02 08:05:17 +00:00
Kurt Zeilenga
8ac21b67a1 more const'ification 1999-08-20 19:29:43 +00:00
Howard Chu
d620793b6f Make init_module return a success/fail value. 1999-08-17 00:28:01 +00:00
Howard Chu
638f37743b Fix explicit backend dependencies. Wildcard was unreliable. 1999-08-09 01:29:27 +00:00
Howard Chu
366e8fd5ad Final round of module changes 1999-08-07 11:37:43 +00:00
Howard Chu
00ac49a1fd Modified for use with libtool's ltdl instead of gmodule 1999-08-07 07:54:45 +00:00
Howard Chu
b78a4a34f9 Preliminary Make rules to allow building backends as modules. 1999-08-06 16:15:05 +00:00
Howard Chu
03b58cc9cf For dynamic modules, must explicitly zero BackendInfo structure in
init_module. Since it's a local var, you have no idea what kind of
garbage is sitting in important function pointers...
1999-08-06 13:16:26 +00:00
Howard Chu
04c5711506 Moved unbind processing into connection_destroy. unbind handler is not needed. 1999-07-25 22:16:01 +00:00
Howard Chu
f491c89387 Fix unportable code. Thanks, Hallvard. 1999-07-25 22:13:52 +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
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
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
7e3ede2e01 Erase bad space from blank Makefile line 1999-07-13 04:01:25 +00:00
Kurt Zeilenga
e9c2895472 Add support for unsolicited notifications. 1999-07-07 18:51:39 +00:00
Kurt Zeilenga
51d1c90887 unifdef -DSLAPD_ACLGROUPS -DSLAPD_ACLAUTH 1999-07-05 06:26:26 +00:00
Kurt Zeilenga
a7dfc2aada Add sasl "mech" argument to backend bind routines. 1999-06-29 03:29:26 +00:00
Bastiaan Bakker
5a470f8959 Merged dynamic module support patch (see ITS #196). To enable, run ./configure w
ith --enable-modules. GLib v1.2 or higher is required.
1999-06-24 17:06: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
ccad4c8225 s/LDAP_OPT_MATCH_STRING/LDAP_OPT_MATCHED_DN/ 1999-06-05 20:27:43 +00:00
Juan Gomez
5b272f193f Added include <ac/time.h> needed for struct timeval... 1999-05-26 10:45:51 +00:00
Howard Chu
587837717b Obsolete file. Oops. 1999-05-26 02:52:37 +00:00
Howard Chu
967d1dcb2d For ITS#157: Added LDAP backend for slapd, which also required adding
LDAP_OPT_MATCH_STRING to ldap.h and libldap/options.c.
1999-05-26 02:35:20 +00:00