Commit Graph

440 Commits

Author SHA1 Message Date
Kurt Zeilenga
55e925abe6 Add abstract/final system attribute types.
clean up error code macros
2002-05-31 20:24:26 +00:00
Kurt Zeilenga
bdad40c696 Disallow addition of system schema via config files. 2002-05-30 05:23:37 +00:00
Kurt Zeilenga
aecf4033f6 Hide some yet-to-be-implemented schema 2002-05-29 06:14:55 +00:00
Howard Chu
a067d64c3a Fixes for slap_sasl_regexp parsing and normalization 2002-05-07 18:46:32 +00:00
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
7fae7fe155 Changed be_[n]suffix, be_[n]suffixAlias to BerVarray. No more bvec's anywhere. 2002-05-01 18:50:14 +00:00
Pierangelo Masarati
6b8828ed28 handle trivial cases 2002-04-29 19:14:42 +00:00
Howard Chu
efecf4e121 ITS#1733 eliminate o_abandonmutex 2002-04-11 08:03:40 +00:00
Howard Chu
5c4a924f81 ITS#1735 unused conn.c_uthc_backend, include ldap_pvt.h 2002-04-11 07:42:57 +00:00
Pierangelo Masarati
c22f10f4ca don't count operations per request if back-monitor is not built 2002-04-08 19:13:13 +00:00
Pierangelo Masarati
51e33154b3 count initiated/completed operations divided per request 2002-04-08 18:41:15 +00:00
Pierangelo Masarati
440637dde7 various acl improvements/cleanups/speedups (need to be documented, though) 2002-04-03 15:42:19 +00:00
Pierangelo Masarati
9bf3ccd0bf allow attribute exclusion list in selective replica 2002-03-30 08:52:20 +00:00
Kurt Zeilenga
e7523b1496 add si_syn_octetString to keep syntax load checks in one place. 2002-03-30 01:07:20 +00:00
Kurt Zeilenga
0be4d842bc Update control framework
Misc cleanup
NT updates
2002-03-24 02:17:21 +00:00
Pierangelo Masarati
49f324a1fa fix ITS#1671 and more 2002-03-23 16:53:44 +00:00
Kurt Zeilenga
33516fa9eb #ifdef ACI/authpasswd schema 2002-02-18 20:06:50 +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
f50b75f0c2 Added replica attr=<attribute list> support to filter replog content 2002-02-08 06:44:33 +00:00
Kurt Zeilenga
41e8195c2e Fix binary v lang_range typo 2002-01-31 15:09:55 +00:00
Kurt Zeilenga
057dda50d3 remove deadwood, e.g. slap_index2prefix() 2002-01-31 00:11:44 +00:00
Kurt Zeilenga
0a31400d63 Some misc cleanup 2002-01-29 06:06:20 +00:00
Kurt Zeilenga
14662be692 Add whoami extended operation.
Add no-op control (needs backend implementation)
Updated modify password extended option API
Kludged control infrastructure to support frontend only controls
2002-01-28 20:25:30 +00:00
Howard Chu
5e522ca882 Changed Access.a_sockurl_pat, Connection.c_listener_url etc.
to struct bervals
2002-01-28 11:41:07 +00:00
Kurt Zeilenga
8057b1a0a8 Language Tag and Range Support <draft-zeilenga-ldap-rfc2596-xx.txt>
Based upon code submitted by Steve Omrani <somrani@us.ibm.com> (ITS#1525)
2002-01-26 23:14:51 +00:00
Howard Chu
4191f39037 Changed slap_authz_info.sai_mech to struct berval.
Changed sasl_* to use struct bervals.
2002-01-26 13:57:41 +00:00
Howard Chu
1226d620e0 Added Entry->e_bv for entry_decode 2002-01-25 07:11:52 +00:00
Kurt Zeilenga
3d8c269f2e Update collective attribute schema 2002-01-19 22:33:07 +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
Kurt Zeilenga
7f0289a390 Move most of the new ber_*cmp routines to lber_pvt.h to keep them private,
rework them slightly to avoid computations which might result in underflow.
Rename them for consistency with other berval routines.
Remove some utf8 lint.
2002-01-16 18:16:15 +00:00
Kurt Zeilenga
20af643fc4 more cleanup 2002-01-16 04:40:41 +00:00
Kurt Zeilenga
13af7fb073 Misc. cleanup, remove lint, remove unused deprecated functions, etc. 2002-01-15 07:29:15 +00:00
Howard Chu
d70498f0f2 Revert previous commit again. autosubtypes are gone for good. 2002-01-15 01:49:53 +00:00
Howard Chu
1180279104 Revert previous commit 2002-01-14 20:13:25 +00:00
Howard Chu
2e8a98e3a1 Fix subtype indexing. Really really made it the default. 2002-01-14 10:37:08 +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
Kurt Zeilenga
ff23cd0f7f Clean up last patch 2002-01-13 20:06:53 +00:00
Kurt Zeilenga
64619bed94 Install system schema checks 2002-01-13 19:38:12 +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
Pierangelo Masarati
f8fb4aca76 error message from be_entry_put tool backend function 2002-01-12 16:00:51 +00:00
Pierangelo Masarati
ea86a19460 monitor objectclass definition 2002-01-12 11:36:23 +00:00
Kurt Zeilenga
19f2925ab1 Add some basic system schema checks. 2002-01-11 18:56:01 +00:00
Kurt Zeilenga
f57057ee01 Add system schema flags to backends supporting system schema. 2002-01-11 18:26:17 +00:00
Kurt Zeilenga
f402762f9a Remove lint. 2002-01-11 18:03:28 +00:00
Kurt Zeilenga
20dd3c1273 Add Backend to system schema check routines 2002-01-11 18:00:22 +00:00
Pierangelo Masarati
5dfbf93687 need this outside for back monitor ... 2002-01-11 10:46:58 +00:00
Kurt Zeilenga
504404725a Flip some bits in the backend flags mask 2002-01-11 02:31:47 +00:00
Kurt Zeilenga
c3b62aae91 Fix the bits 2002-01-10 22:54:24 +00:00
Kurt Zeilenga
55501e886f Rework backend (lastmod + glue + system schema) flags 2002-01-10 22:34:11 +00:00
Howard Chu
8067107ed2 Added an_oc to AttributeName for caching ObjectClass lookups.
Added error checking to str2anlist; if the attr name doesn't match
any attribute or objectclass the offending attr name is displayed.
2002-01-10 09:54:14 +00:00
Kurt Zeilenga
bf5b4405fe More clean up of system schema changes 2002-01-10 06:58:57 +00:00
Kurt Zeilenga
cadecfaae1 Finish building in operational attributes 2002-01-10 04:10:54 +00:00
Kurt Zeilenga
f4336c8953 More builtin operational attributes 2002-01-10 03:31:11 +00:00
Kurt Zeilenga
6ed15e3350 Another round of operational attribute changes... more to follow. 2002-01-10 01:46:08 +00:00
Kurt Zeilenga
91644affd9 Minor cleanup 2002-01-10 00:54:31 +00:00
Kurt Zeilenga
c80d93f2bb Start of new operational attribute framework 2002-01-10 00:17:21 +00:00
Kurt Zeilenga
9b0585f393 Add very basic subentry search support. 2002-01-09 19:21:07 +00:00
Kurt Zeilenga
bc1cd95149 Rework control infrastructure a bit. Add subentries visibility control. 2002-01-09 06:29:54 +00:00
Kurt Zeilenga
645ae7a22f Hide select matching rules from published schema 2002-01-06 05:29:04 +00:00
Howard Chu
ce7d8d26f2 Changed conn->c_cdn to struct berval. 2002-01-06 03:26:09 +00:00
Kurt Zeilenga
d218a5ed5c Add SLAP_MALLOC() and friends.
Intended to be used instead of ch_malloc() and friends.
See comment.
2002-01-06 01:34:53 +00:00
Pierangelo Masarati
d0261ee534 leftover ber_bvdup eliminated; rewritten ber_bvdup in terms of ber_dupbv; eliminated wrapper macro; other ber_* improvements 2002-01-05 17:49:59 +00:00
Kurt Zeilenga
0e2af54a3f Update copyright statements 2002-01-04 21:17:25 +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
Howard Chu
029306a5be Use ldap_queue.h instead of <ac/queue.h> 2002-01-03 00:12:46 +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
10961151ef Use queue-compat for Connection->c_ops,c_pending_ops 2001-12-31 04:08:29 +00:00
Howard Chu
185ff129b5 Change struct berval * to struct berval in various structures 2001-12-29 15:01:10 +00:00
Howard Chu
975a5e9a24 Added dnPretty2/dnNormalize2 using preallocated destination berval 2001-12-29 04:48:00 +00:00
Kurt Zeilenga
cddf7e0e00 More struct berval DN changes
decrease dependency on dn_validate/dn_normalize
2001-12-27 07:13:13 +00:00
Kurt Zeilenga
a553a03586 More struct berval DNs changes 2001-12-26 23:43:28 +00:00
Howard Chu
e8fa25a215 Changed Filter.f_dn to struct berval* 2001-12-26 23:37:59 +00:00
Kurt Zeilenga
bd0135ccb4 Move search, modify, and modrdn APIs to struct berval DNs.
Much clean up is needed.
2001-12-26 19:50:40 +00:00
Kurt Zeilenga
24a4d888dc move compare and delete to struct berval DNs 2001-12-26 19:05:26 +00:00
Kurt Zeilenga
d64ec6ee0d modify be_referral to use struct berval DNs. 2001-12-26 17:40:34 +00:00
Howard Chu
3da3be8128 Precompute syn_oidlen and mr_oidlen 2001-12-26 14:36:02 +00:00
Howard Chu
15f630545a Changed ma_rule_text to struct berval.
Changed get_filter to struct bervals
2001-12-26 13:47:10 +00:00
Howard Chu
d474789d0d First pass at converting bind to struct bervals 2001-12-26 11:41:38 +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
Howard Chu
b96645af7d More struct berval changes, dnNormalize migration... 2001-12-26 04:17:49 +00:00
Kurt Zeilenga
2dd27b0786 More struct berval DNs 2001-12-25 19:48:26 +00:00
Kurt Zeilenga
3336619c80 More "char *" to struct berval DN changes 2001-12-25 02:30:01 +00:00
Kurt Zeilenga
5ee89d6167 Use struct berval DNs for root DN and update DN 2001-12-25 00:05:26 +00:00
Howard Chu
3df5c17881 Fix typo in e_ndn macro 2001-12-24 20:03:54 +00:00
Kurt Zeilenga
f6085d3f82 Every quick mod to use a struct berval for e_dn/e_ndn. No bv_len yet. 2001-12-24 16:53:47 +00:00
Howard Chu
9e0ab3da36 Changed Access->a_set_pat and acl->acl_dn_pat to struct berval to eliminate
strlen() from acl processing.
2001-12-24 15:43:27 +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
Kurt Zeilenga
0c28b66a75 use dnPretty instead of dn_pretty 2001-12-23 00:43:57 +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
d23313a068 LDAPv2 disallow and other flag changes
Fix compile errors
2001-12-21 04:44:34 +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
fd7e23c188 Converted suffixAlias to struct bervals. 2001-12-09 14:57:42 +00:00
Howard Chu
45aadbbbba Eliminate unnecessary per-operation dn_normalize(o_ndn); it's already
done in do_bind() and there's space in the connection structure for c_ndn
already, just copy it.
2001-12-09 14:46:29 +00:00
Howard Chu
b0169858d1 Don't include glued databases in namingContexts 2001-12-09 02:01:58 +00:00
Howard Chu
584d58e8d1 Added callbacks for send_ldap_response and send_search_result. 2001-12-08 15:21:20 +00:00
Howard Chu
55a217d9ae Changed be_nsuffix from char ** to struct berval ** to eliminate strlen's 2001-12-08 05:15:58 +00:00
Howard Chu
0552b1c53f NT updates from jon@symas.com. 2001-12-07 04:03:25 +00:00
Kurt Zeilenga
575c9469d9 Rework dnNormalize/dnPretty to share LDAP_rewrite
Add flag to matching rules to indicate if DN folding is needed.
Don't specify dnPretty as pretty function for DN attribute types as
this works too well (it breaks tests).
2001-12-06 03:24:31 +00:00
Kurt Zeilenga
86f79b85d8 Add experimental UUID/CSN support (needed for LCUP). 2001-12-05 07:25:25 +00:00
Kurt Zeilenga
493b415255 Rework indexing code, removing "autolang" and making
"subtypes" and "lang" default behavior.
2001-12-05 00:06:03 +00:00
Pierangelo Masarati
0f64b72a00 paranoid check for escaped dn separators when naively checking for rdn boundary 2001-12-01 16:28:21 +00:00
Pierangelo Masarati
bdb3edefd5 added pattern="anonymous","users","dn.{base|one|subtree|children}" to limit enforcement 2001-12-01 14:17:14 +00:00
Kurt Zeilenga
2ac7c91cae Replace existing SLAP_MR_ matching flags with:
SLAP_MR_ASSERTION_SYNTAX_MATCH
	SLAP_MR_VALUE_SYNTAX_MATCH
	SLAP_MR_VALUE_SYNTAX_CONVERTED_MATCH,
add supporting evaluation macros, and update code as needed.
Misc other code cleanup included.
2001-11-27 21:59:56 +00:00
Mark Adamson
bd091ce276 Allow size and time limits in slapd.conf for anonymous bound search operations 2001-11-21 20:28:15 +00:00
Pierangelo Masarati
d262aae706 fix misinitialized UNDEFINED attribute type; reordered members of AttributeType because I don't know a portable way to statically initialize a mutex :) 2001-11-17 14:09:38 +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
cc4a51f23c Changed global ad_mutex into per-attributeType mutex. Added
ad_find_lang() to search an AttributeType for a given language variant.
(Will be used in back-bdb/back-ldbm index code...)
2001-11-16 07:39:14 +00:00
Howard Chu
48623df1a8 Added backend_group result caching. 2001-11-12 19:37:48 +00:00
Howard Chu
5f8058f957 Added schema_destroy() et al to free schema structures on shutdown 2001-11-07 01:03:49 +00:00
Julio Sánchez Fernández
5dbf4bddae Add a flag to help the value_* functions know whether they are seeing
a full value (in attribute type syntax) or a value in the syntax of
the matching rule (as happens in filters).
2001-10-22 19:57:23 +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
Julio Sánchez Fernández
4d0ab0215b First cut at certificateExactMatch, completely untested and without
indexing.
2001-10-20 10:15:09 +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
Kurt Zeilenga
61de99937f ldif.h include cleanup 2001-09-25 00:03:24 +00:00
Kurt Zeilenga
0a155934ab Add root DSE supportedFeatures support. 2001-09-09 04:01:07 +00:00
Pierangelo Masarati
8471ef7ed0 add global, per backend and per op_ndn time/size soft, hard and to-be-checked limits (exploited by back-ldbm); see slapd.conf(5) for details 2001-08-01 10:09:04 +00:00
Pierangelo Masarati
4051547dfa handle regex-based per op_ndn time/size limits 2001-07-28 11:24:22 +00:00
Kurt Zeilenga
5cb6b1ce02 Back out DN changes, needs more work 2001-07-21 22:44:55 +00:00
Pierangelo Masarati
ece9bdb0eb Added the suffix=<dn> parameter to replica config directive
to allow selective replication of subtrees of a single database.
Multiple occurrences allow the same replica to handle different
subtrees
2001-07-21 14:15:23 +00:00
Pierangelo Masarati
a453d7eacf dn_validate/dn_normalize has been rewritten by
David A. Cooper <david.cooper@nist.gov> (ITS#1232)
according to draft-ietf-ldapbis-dn-05.txt

A copyright statement follows:

  The functions normalize_unicode(), get_hexpair(), write_hex_pair(),
  get_next_byte(), get_next_char(), get_ber_length(),
  ber_parse_primitive_string(), ber_parse_string(), String_normalize(),
  DirectoryString_normalize(), PrintableString_normalize(),
  IA5String_normalize(), ber_parse_primitive_bitstring(),
  ber_parse_bitstring(), getNext8bits(), bitString_normalize(), match_oid(),
  match_key(), get_validated_av_in_dn(), get_validated_rdn_in_dn(),
  and get_validated_dn() in this file were developed at the National Institute
  of Standards and Technology by employees of the Federal Government in the
  course of their official duties. Pursuant to title 17 Section 105 of the
  United States Code the code in these functions is not subject to copyright
  protection and is in the public domain. The copyright for all other code in
  this file is as specified below.
2001-07-13 08:21:14 +00:00
Pierangelo Masarati
bff5608926 protos and declarations for charray and rdn stuff 2001-07-06 12:23:22 +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
Kurt Zeilenga
67cf14466e Check schema NAMEs 2001-06-07 22:47:02 +00:00
Kurt Zeilenga
cc6fab319e Add support for separate max incoming for anonymous and authenticated
sessions (defaults: 256K and 16M respectively).
2001-05-29 20:00:55 +00:00
Kurt Zeilenga
0aef7722e6 Add support for obsolete attributes.
We don't support collective attributes (yet).
Remove exit() calls from scheme parsers.  Need to do same for acl parser.
2001-05-17 07:31:59 +00:00
Kurt Zeilenga
1669cd4d7b Add '=' to printableString to be consistent with ASN.1 description
of syntax.  RFC 1778/2252 are wrong and will need to be updated.
2001-05-16 19:20:29 +00:00
Kurt Zeilenga
4baa7c47da Add better modlist2mod error reporting (to client) 2001-05-10 03:41:17 +00:00
Kurt Zeilenga
24ea49810f Clean up some #ifdefs 2001-05-09 23:42:49 +00:00
Kurt Zeilenga
abce5abf34 Quick sb_max_incoming hack, should be configurable (likely
with differing anonymous vs authenticated values).
2001-05-04 21:55:07 +00:00
Kurt Zeilenga
1eb0170482 s/<anonymous>/cn=anonymous/ to avoid syntax issues 2001-04-19 19:29:38 +00:00
Kurt Zeilenga
10730ca226 Add objectClass kind checking
Kludge NADF schema to conform
2001-01-22 08:09:25 +00:00
Kurt Zeilenga
79d9ab38ba Add more restrictive numeric string validate.
Need to rework IA5 matching to support empty strings as they should
be allowed for most string types (excepting directoryString).
2001-01-17 21:02:11 +00:00
Mark Adamson
2231d5e64e Make SASL authorization work for NULL, "u:", and "dn:" authz strings. 2000-11-30 22:00:15 +00:00
Kurt Zeilenga
451146f795 Update validation of printable-like syntaxes 2000-11-04 21:09:23 +00:00
Kurt Zeilenga
17bcb2b3bb Update printableString to restrict characters per RFC1778 not isprint() 2000-11-04 20:31:50 +00:00
Julio Sánchez Fernández
5b52ae5109 Extend MRA. It now has a pointer to a MatchingRule, but a char
pointer is kept for messages and to tell a filter without rule
from one with an unknown rule.  It matters.
2000-10-15 19:10:43 +00:00
Julio Sánchez Fernández
6777a3a41a Permit access defined by uniqueMember and not only DN-valued
attributes.  This allows using groupOfUniqueNames for
access control.
Fix small typo in MRA definition.
2000-10-09 19:09:22 +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
ce382475f0 misc cleanup 2000-09-29 02:50:34 +00:00
Mark Adamson
bf1ee530ea Implementation of SASL authorization. 2000-09-21 17:32:54 +00:00
Kurt Zeilenga
3342ea3b49 Add more bind allow/disallow flags 2000-09-11 18:24:24 +00:00
Kurt Zeilenga
2e13824d0d Add "allow tls_2_anon" to allow StartTLS to force session to anonymous.
Add "disallow tls_authc" to disallow StartTLS when session is authenticated.
Create and use connection2anonymous routine for consistency.
2000-09-08 22:59:01 +00:00
Kurt Zeilenga
cee040a321 Bring UCdata infrastructure. 2000-09-03 23:48:35 +00:00
Kurt Zeilenga
bf3df2f7a6 restrictops, requires, disallow knobs; ssf acls; and misc other changes
man pages to follow...
2000-08-28 18:38:48 +00:00
Kurt Zeilenga
1c328aa9c7 Minor typedef and other clean ups 2000-08-26 01:14:05 +00:00
Kurt Zeilenga
a7ec3506cf change "substr" to imply initial, any, final indexing. 2000-08-22 21:33:09 +00:00