Commit Graph

294 Commits

Author SHA1 Message Date
Kurt Zeilenga
854e447231 misc cleanup 2002-12-11 20:39:05 +00:00
Howard Chu
56c11f4a13 Fix ITS#2227, nameUIDNormalize fell behind the times... 2002-12-11 01:33:24 +00:00
Kurt Zeilenga
32f6c9ec6d Make digit a local static variable instead of a global 2002-12-10 16:44:02 +00:00
Julius Enarusai
fe569dbb75 Converted ch_malloc and ch_calloc calls to SLAP_MALLOC and SLAP_CALLOC. 2002-11-19 18:24:18 +00:00
Kurt Zeilenga
1d0e916c6f Misc CLIENT_UPDATE cleanups 2002-09-15 22:22:51 +00:00
Jong Hyuk Choi
4b48c05a8e LDAP Client Update Protocol - non-persistent update (TODO: response control ...) 2002-09-04 02:00:42 +00:00
Kurt Zeilenga
8a5b200c44 Add appropriate matching rule checks.
Clean up syntax error reporting.
2002-09-03 07:01:09 +00:00
Kurt Zeilenga
e9a71156cc Add matching rule use support where assertion syntax != value syntax 2002-08-31 20:42:25 +00:00
Pierangelo Masarati
71aecea2aa fix bitwise matching (courtesy of Luke Howard) 2002-08-31 10:56:27 +00:00
Pierangelo Masarati
e2ec62f09f add matchingRuleUse to schema; use a berval instead of _oidlen in syntax and matching rule 2002-08-31 10:45:22 +00:00
Kurt Zeilenga
b04483a6a2 We don't support substrings matching via extensibleMatch 2002-08-30 19:30:58 +00:00
Kurt Zeilenga
923d033c99 Finish adding subclassing indexing support 2002-08-29 02:27:15 +00:00
Kurt Zeilenga
1086ffb438 Round one of subclass indexing for objectClass and structualObjectClasss.
add soc_cname to ObjectClass structure
2002-08-29 01:12:59 +00:00
Howard Chu
e5091f5926 Updated register_syntax, register_matching_rule for more convenient
calling from other modules
2002-08-17 01:29:18 +00:00
Pierangelo Masarati
a7349c100e fix printableStringValidate return value bug 2002-08-16 16:32:42 +00:00
Kurt Zeilenga
4a4323e3b7 Move large string comment to just above UTF8StringValidate(). 2002-08-07 08:19:11 +00:00
Kurt Zeilenga
3f2faa1a84 other->invalid 2002-08-06 05:38:49 +00:00
Kurt Zeilenga
a35d5b90fc For IA5, printable, telephone:
Don't allow empty string values.
Treat string values with only spaces as one space.
DirectoryString needs more work (space handling needs
to be done post normalization).
2002-08-06 05:35:59 +00:00
Kurt Zeilenga
6fdcdeb816 Add a summary to strings comment 2002-08-06 04:25:54 +00:00
Kurt Zeilenga
48f72b6862 Update string commment with examples. 2002-08-06 04:03:13 +00:00
Kurt Zeilenga
82540c5cc1 Add start of discussion of strings in LDAP/X.500 and OpenLDAP. 2002-08-06 03:52:02 +00:00
Kurt Zeilenga
3b3232f21c Fix nameAndOptionalUUID normalization,
now uses bitStringNormalize().
2002-08-06 03:18:02 +00:00
Howard Chu
61731500d0 ITS#1998 UTF8StringNormalize should accept all-space vals 2002-08-06 02:35:24 +00:00
Kurt Zeilenga
4d22977f7f BootParamSyntax: be more liberal than the ABNF such that
examples in RFC 2307 are treated as valid.
2002-07-24 15:29:22 +00:00
Kurt Zeilenga
3b775fce8b Should allow keystring in bootParams 2002-07-24 15:19:40 +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
Stig Venaas
deb62446fe Added normalization to caseIgnoreIA5Indexer() 2002-07-07 13:22:45 +00:00
Howard Chu
a2d310f92e Fix nameUIDvalidate memfree 2002-05-15 00:48:47 +00:00
Howard Chu
8a5423ea8d deleted sasl_external_x509dn_convert; X509 DNs are always converted to
normalized LDAP DNs now.

Changed dnDCEnormalize to dnX509normalize, added dnX509peerNormalize,
based on new ldap_X509dn2bv() etc.
2002-04-18 12:26:36 +00:00
Howard Chu
1bbd51da77 ITS#1712, rewritten dn_openssl2ldap(). Added dnDCEnormalize(), used by
dn_openssl2ldap() and sasl_external_x509dn_convert. Fixed realm handling
for foreign Kerberos realms embedded in usernames.
2002-04-16 08:46:25 +00:00
Kurt Zeilenga
709ce4fa6c Re: Patch: ctype functions require 'unsigned char' args (ITS#1678)
================
Written by Hallvard B. Furuseth and placed into the public domain.
This software is not subject to any license of the University of Oslo.
			================

Here are fixes for more places where the argument to ctype.h functions
should be in the range of `unsigned char'.

Explanation of the last patch (to schema_init.c:bvcasechr()):
TOLOWER() and TOUPPER() return values in the range of `unsigned char',
but bvcasechr() then compares those values with a plain `char'.  So I
convert the return values from TOLOWER()/TOUPPER() to `char' first.

Hallvard B. Furuseth <h.b.furuseth@usit.uio.no>, April 2002.
2002-04-15 20:42: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
Stig Venaas
891f987928 Changed to use lower case for case folding 2002-04-04 12:50:46 +00:00
Kurt Zeilenga
9b26e48aa6 ITS#1674: integerOrderingMatch, integerFirstComponentMatch and then some. 2002-03-25 17:08:38 +00:00
Kurt Zeilenga
0be4d842bc Update control framework
Misc cleanup
NT updates
2002-03-24 02:17:21 +00:00
Kurt Zeilenga
c02f448a16 Misc extensible match clean up. 2002-03-11 01:48:37 +00:00
Julius Enarusai
08d0a48ac5 The following file fails compile when NEW_LOGGING is enabled. 2002-03-07 17:50:56 +00:00
Pierangelo Masarati
914d703714 backout previous change; validation has been added to dnNormalize functions 2002-03-02 17:28:19 +00:00
Pierangelo Masarati
9dee603fdf null length string is not allowed 2002-03-02 14:28:08 +00:00
Stig Venaas
c476878fde Using new UTF8bv* all over, getting rid of UTF8normalize() and
UTF8normcmp().
2002-02-27 16:11:24 +00:00
Stig Venaas
94983da942 Added code for approximate matching in UTF8bvnormalize() and changed to use
this in approxMatch etc in schema_init.c
2002-02-26 18:38:40 +00:00
Kurt Zeilenga
33516fa9eb #ifdef ACI/authpasswd schema 2002-02-18 20:06:50 +00:00
Pierangelo Masarati
2aec424646 use memchr in ber_bvchr 2002-02-14 21:10:13 +00:00
Pierangelo Masarati
215448ac83 substrings match works with NULs in UTF8 strings 2002-02-14 18:55:38 +00:00
Pierangelo Masarati
ef607e65d7 first round at replacing UTF8normalize with UTF8bvnormalize 2002-02-14 16:01:48 +00:00
Pierangelo Masarati
39891e4e5b make UTF8STringNormalize handle NUL 2002-02-13 21:25:57 +00:00
Howard Chu
6bfe37bdf5 In UTF8StringValidate, 1-byte chars are already validated 2002-01-18 04:49:55 +00:00
Kurt Zeilenga
e25f6ef0cd Add a safety check to bvcasechr 2002-01-17 17:19:20 +00:00
Kurt Zeilenga
32b955cfc5 replace strcasechr with bvcasechr 2002-01-17 00:18:57 +00:00
Kurt Zeilenga
e154da3a09 Remove some asserts. Need to re-valid logic 2002-01-15 19:54:21 +00:00
Howard Chu
e21e900392 Use LDAP_UTF8_CHARLEN2 to check shortest possible encoding 2002-01-15 08:27:19 +00:00
Kurt Zeilenga
5a378a5ce8 A very basic UTF-8 check 2002-01-15 04:38:05 +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
Kurt Zeilenga
c80d93f2bb Start of new operational attribute framework 2002-01-10 00:17:21 +00:00
Kurt Zeilenga
645ae7a22f Hide select matching rules from published schema 2002-01-06 05:29:04 +00:00
Kurt Zeilenga
4b3e7fa668 Add LDAP/X.500 subentry schema (draft-zeilenga-ldap-subentry-xx.txt) 2002-01-06 04:59:26 +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
Kurt Zeilenga
f5ab06738b All empty IA5 and Printable strings, but not Directory strings. 2002-01-03 20:03:27 +00:00
Kurt Zeilenga
763c0de59b Rework filter code
Misc cleanup / lint removal
2002-01-02 17:06:56 +00:00
Howard Chu
f52cc9bab5 Change struct berval ** to BVarray 2002-01-02 11:00:36 +00:00
Howard Chu
5b83bbc681 Fix previous commit 2002-01-01 04:44:59 +00:00
Howard Chu
3d8d9344dd Optimize ISSPACE checks in UTF8StringNormalize 2002-01-01 04:43:03 +00:00
Howard Chu
e6d4c7dbcc Added oidm_destroy 2001-12-31 04:35:02 +00:00
Howard Chu
7ffc723c40 Cleanup, fix uninitialized vars 2001-12-30 00:14:45 +00:00
Howard Chu
185ff129b5 Change struct berval * to struct berval in various structures 2001-12-29 15:01:10 +00:00
Howard Chu
92c6c9c25d Misc berval stuff. 2001-12-28 11:45:25 +00:00
Kurt Zeilenga
21288fbb21 Misc cleanup and dn_normalize() zapping
Fix nameAndOptionalIdentifer syntax.
2001-12-26 16:42:35 +00:00
Howard Chu
3da3be8128 Precompute syn_oidlen and mr_oidlen 2001-12-26 14:36:02 +00:00
Howard Chu
65977a0f83 Migrate to dnNormalize 2001-12-26 06:21:23 +00:00
Kurt Zeilenga
50d57151a7 Move dnValidate, dnNormalize, dnPretty to dn.c 2001-12-23 01:19:46 +00:00
Kurt Zeilenga
0c28b66a75 use dnPretty instead of dn_pretty 2001-12-23 00:43:57 +00:00
Kurt Zeilenga
a78053ecfa Add a couple of FIXME comments 2001-12-22 19:21:32 +00:00
Howard Chu
3bd8946ca0 from jon@symas.com - minor cleanup 2001-12-17 22:48:29 +00:00
Pierangelo Masarati
fe45b74798 minor cleanup 2001-12-10 09:46:50 +00:00
Kurt Zeilenga
30831a4012 misc cleanup 2001-12-09 18:57:46 +00:00
Pierangelo Masarati
67ed3982fb now dnValidate loops thru each value; added private member to LDAPAVA to hold the attribute description 2001-12-06 11:50:17 +00:00
Pierangelo Masarati
9260b22dec liberally accept many LDAPv2/LDAPv3 stuff in DN (quoted parts, ';' as rdn separator and so); enforce exact case match of normalized dn in dnMatch (let's see what happens ...); fix a ldapava_free_rdn bug 2001-12-06 10:01:25 +00:00
Kurt Zeilenga
2c07200a3a pretty DNs 2001-12-06 07:32:53 +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
f26e1b390e Add basic infrastructure for pretty routines
A pretty routine may rewrite the representation of a value but
must not alter the value itself.
2001-12-05 21:36:59 +00:00
Kurt Zeilenga
3f53087f57 Add comments 2001-12-05 21:07:57 +00:00
Pierangelo Masarati
379e0e9d50 another step towards schema aware normalization: ava sorting in rdns; now by defining USE_LDAP_DN_PARSING both the new dn parsing and the server side normalization is used. There might be, every now and then, a flaw mostly due to naive normalization of pseudo-dn (thinking about some acl/regex stuff and so) 2001-12-05 19:26:30 +00:00
Pierangelo Masarati
335a8bd0ad a gross attempt to implement a schema-aware normalization 2001-12-05 16:34:51 +00:00
Kurt Zeilenga
fe92783ea8 dnMatch should not be local to file 2001-12-04 23:42:10 +00:00
Pierangelo Masarati
9004262d95 reimplement dn_validate/normalize/(match) using the ldap_str2dn/dn2str stuff; need to #define USE_LDAP_DN_PARSING 2001-12-04 20:22:26 +00:00
Kurt Zeilenga
7c555af8d5 Make sure experimental syntaxes are hidden 2001-12-02 04:48:06 +00:00
Pierangelo Masarati
aee3600276 minor cleanup 2001-11-17 16:18:07 +00:00
Kurt Zeilenga
383939f18f bitString fixes from Julius Enarusai (ITS#1441) 2001-11-16 18:10:37 +00:00
Mark Adamson
f05420c8d8 use berval's instead of strings with UTF8normalize() 2001-11-09 19:01:23 +00:00
Howard Chu
5f8058f957 Added schema_destroy() et al to free schema structures on shutdown 2001-11-07 01:03:49 +00:00
Stig Venaas
76243a2797 Fixed more memory leaks 2001-11-06 22:36:28 +00:00
Mark Adamson
67886fc4a1 bervals alloc'd by UTF8SubstringsassertionNormalize() must be ber_bvfree'd 2001-11-06 19:07:15 +00:00
Mark Adamson
e0ff8d6782 fix various memory leaks 2001-11-05 23:14:42 +00:00
Kurt Zeilenga
b312488614 telex number should allow $ 2001-11-03 22:03:20 +00:00
Julio Sánchez Fernández
358950e8ad And this change implements indexing for certificateExactMatch. Now
you can search efficiently the directory for a certificate.

Notice that we index certificates just as serial integers.  A full
index should combine the issuer DN too, but I think in most scenarios
that would be extremely redundant and of little benefit.  We can add
an option later to do full indexing.
2001-10-23 13:39:07 +00:00
Julio Sánchez Fernández
de353ebeda Normalization and more error checking. 2001-10-23 09:05:04 +00:00
Julio Sánchez Fernández
be89c094f6 Do something with the error text. 2001-10-22 19:55:21 +00:00
Julio Sánchez Fernández
7581e304c0 It now sort of works, but needs some normalization work and proper
error reporting to client and syslog. And indexing, of course.

Now, the problem is that matching rules get called from different
places that are inconsistent in what an assertedValue is.  When doing
a modify, a full certificate value is passed (to verify it isn't
already there).  When doing a search or compare, the passed value is
in the syntax of the matching rule.

Consistency would require that the caller extracts an asserted value
from the full value before calling smr_match.  It can do this by
calling smr_convert (it was unused, was it meant to be used for
this?).

Unfortunately, the caller is typically value_find, value_match, etc.
that have themselves little knowledge of what they are dealing with,
so their interface needs to be extended, new flag values or new
arguments, so that they know if they have a value in attribute type
syntax or in matching rule syntax.
2001-10-22 06:54:30 +00:00
Julio Sánchez Fernández
7e1c4f272d Use the ldap syntax oid assigned by David Chadwick (no yet published). 2001-10-20 17:31:52 +00:00