Commit Graph

392 Commits

Author SHA1 Message Date
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
Julio Sánchez Fernández
4d0ab0215b First cut at certificateExactMatch, completely untested and without
indexing.
2001-10-20 10:15:09 +00:00
Mark Adamson
465ecb85f0 Finished the integerMatch matching rule and the integer syntax. 2001-09-20 15:50:49 +00:00
Kurt Zeilenga
ed9b7332fb Add <limits.h> 2001-09-07 02:08:32 +00:00
Kurt Zeilenga
a2ba804e47 Add general extensible matching support and integerBitAndMatch
and integerBitOrMatch enhancement (ITS#1302 + minor changes)
from Luke Howard <lukeh@padl.com>.
2001-09-01 17:10:43 +00:00
Stig Venaas
e3caeb2264 Removed duplicate code by replacing case-Exact/Ignore-Filter/Indexer and
case-Exact/Ignore-Substrings-Match/Filter/Indexer with common code for
the caseExact and caseIgnore cases
2001-07-27 22:54:43 +00:00
Stig Venaas
159fa1b26c Making the approx multistring code default. Leaving the old code for now,
but can really be removed.
2001-07-26 22:33:28 +00:00
Kurt Zeilenga
d4df1af590 Misc cleanup of asserts 2001-07-26 01:08:00 +00:00
Stig Venaas
92ec77f6dc Made approxMatch/Indexer/Filter all do Unicode cannonical normalization
followed by stripping of characters with 8th bit set. The normalization
is needed to make exact match imply approx match.
2001-07-25 21:22:55 +00:00
Kurt Zeilenga
e2b3914982 ITS#1274 fix 2001-07-24 19:54:04 +00:00
Kurt Zeilenga
0cdf9e3124 fix up UTF8MATCH 2001-07-22 02:45:21 +00:00
Kurt Zeilenga
f310142d2c Use DN normalize 2001-07-22 00:32:58 +00:00
Stig Venaas
d326f96c32 We shouldn't need UTF8oncasecmp() and UTF8casechr() anymore, removing
them.
2001-07-22 00:31:04 +00:00
Kurt Zeilenga
978e417699 Make some additional UTF8 public
Remove lint
2001-07-21 23:13:04 +00:00
Kurt Zeilenga
da2f6f6805 Zap !UTF8MATCH code 2001-07-21 23:02:06 +00:00
Kurt Zeilenga
5cb6b1ce02 Back out DN changes, needs more work 2001-07-21 22:44:55 +00:00
Stig Venaas
0e614ca0ec Made caseExactMatch() use Unicode normalization 2001-07-17 20:09:37 +00:00
Stig Venaas
6c362d77ac Made caseIgnoreSubstringsMatch and caseExactSubstringsMatch use proper
Unicode cannonical normalization
2001-07-17 19:35:23 +00:00
Stig Venaas
ea47735802 Fixed UTF8 encoding checks for substrings assertions 2001-07-16 22:48:52 +00:00
Stig Venaas
9b0e583576 Fixed bug in caseExactSubstringsIndexer() and caseIgnoreSubstringsIndexer().
UTF8 normalization must be done before we compute number of keys since
string length might increase.
2001-07-15 21:28:07 +00:00
Kurt Zeilenga
40d68d8374 Extend assertion value syntax checks to some other cases. Needs to
be applied to substrings assertions as well.
2001-07-15 17:25:49 +00:00
Stig Venaas
886a7575d0 Fixed segfault in caseIgnoreFilter when assertion value has bad UTF8 coding 2001-07-15 16:21:36 +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
Kurt Zeilenga
11b6d1f284 Misc updates for NT4 2001-06-15 04:16:55 +00:00
Kurt Zeilenga
e2edf459cb Remove extraneous variable 2001-06-15 00:00:52 +00:00
Kurt Zeilenga
5f0473d127 Fix typo in last commit 2001-05-30 06:28:32 +00:00
Kurt Zeilenga
e4653bde68 Allow empty numericString matching 2001-05-30 06:06:14 +00:00
Kurt Zeilenga
f48cb50f12 Zap presentation address match define 2001-05-09 23:43:06 +00:00
Kurt Zeilenga
508890e75b Add telephone number indexing support (reuse only) 2001-05-03 00:59:47 +00:00
Mark Valence
efcb4533be Fixed aci syntax validation to use UTF (aci attrs can have dn's) 2001-02-19 19:06:21 +00:00
Stig Venaas
ac95c255a8 Using UTF8normcmp() from lunicode, removing our own UTF8casecmp() 2001-01-31 15:58:00 +00:00
Stig Venaas
a8b77998f5 Made caseIgnoreIndexer(), caseIgnoreFilter(),
caseIgnoreSubstringsIndexer(), caseIgnoreSubstringsFilter(),
caseExactIndexer(), caseExactFilter(), caseExactSubstringsIndexer() and
caseExactSubstringsFilter() use UTF8normalize
2001-01-26 15:56:29 +00:00
Stig Venaas
b371357c13 Made dnNormalize() do Unicode normalization and case folding.
dn_normalize() now uses dnNormalize() and fails if normalized string is
longer than original string.
2001-01-25 16:51:59 +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
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
fcd432ffbd empty OID values are invalid 2000-11-10 23:07:20 +00:00
Kurt Zeilenga
00b77ca088 Postal Address should be treated like directoryString 2000-11-04 21:11:52 +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
Mark Adamson
caf384a37c Improve handling of initials in approximate search strings. 2000-11-03 16:16:27 +00:00
Kurt Zeilenga
9117cbd488 Fix another #if 0 v UTF8MATCH bug 2000-10-25 01:32:35 +00:00
Kurt Zeilenga
b065d8e01b Missed on #if 0 to #if UTF8MATCH is last commit
Also, enable UTF8MATCH... this is devel!
2000-10-24 22:25:41 +00:00
Kurt Zeilenga
7d2d2d6583 UTF8 aware caseIgnore matching
---
Copyright 2000 Stig Venaas, UNINETT
All rights reserved.

Redistribution and use in source and binary forms are permitted
without restriction or fee of any kind as long as this notice is
preserved. The name of UNINETT may not be used to endorse or promote
products derived from this software without specific prior written
permission. This software is provided ``as is'' without express or
implied warranty.
2000-10-24 22:23:30 +00:00
Mark Adamson
c165d93ecd Implement 2 approximate matching algorithms. 2000-10-24 20:25:37 +00:00
Kurt Zeilenga
d30264a2a1 Trim unimplemented syntaxes and matching rules from subschema subentry 2000-10-16 23:47:46 +00:00
Kurt Zeilenga
e30826ea36 Per IETF LDAPext discussions, ;binary transfer of binary syntax
makes little sense.  Implementations should not require or by
default return ;binary for attributes of this syntax.  This means
inetOrgPerson needs updating.  This means Netscape roaming doesn't.
2000-10-14 01:37:48 +00:00
Kurt Zeilenga
4dadd52ce7 allow numericString match indexing 2000-10-04 02:23:42 +00:00
Kurt Zeilenga
cd9b8b1fe9 ITS#786: fix IA5 string indexing to use appropriate routines 2000-09-29 00:24:43 +00:00
Kurt Zeilenga
6949ab9d15 Replace indexing hash with 32-bit FNV-1... should be much faster than MD5 2000-09-22 22:19:46 +00:00
Kurt Zeilenga
adf7955160 Add indirection to hash routines to allow for easier replacement
(MD5 should be replaced with something faster)
2000-09-22 20:47:46 +00:00
Kurt Zeilenga
048cb81a0f Use LUTIL_MD5_BYTES constant 2000-09-22 20:36:27 +00:00
Kurt Zeilenga
45cf7e1dfe Add additional error checking... need to better handle
garbage input from slapadd or pre-existing database.
2000-09-15 03:26:22 +00:00
Kurt Zeilenga
16cdbd9c74 Update handling of binary syntax to require ";binary" transfer 2000-09-13 21:50:24 +00:00
Kurt Zeilenga
6c3e915ceb Fix reversed assert logic 2000-09-13 01:23:39 +00:00
Kurt Zeilenga
5864dfdb7b remove lint 2000-09-12 00:38:47 +00:00
Kurt Zeilenga
0549d647de Fix bad merge 2000-09-12 00:37:03 +00:00
Kurt Zeilenga
5170fc3a98 Add BitString syntax/matching rule handlers
Add NameAndOptionalUID/UniqueMemberMatch handlers
2000-09-12 00:32:08 +00:00
Kurt Zeilenga
a3ae90ac8a Rework integer syntax to support signed values.
Validation is quite rigid allowing use of simple normalization
and caseExactIA5 matching (and indexing).
2000-09-12 00:00:25 +00:00
Julio Sánchez Fernández
95eacae431 Integer (not numericString, that are different) matches.
Good for nss_ldap (equality indexing of uidNumber and the
like now work).
2000-09-11 18:34:14 +00:00
Kurt Zeilenga
a20800a964 backout ucdata change as being a little too experimental 2000-09-07 23:46:07 +00:00
Kurt Zeilenga
a4fac87687 Use ucdata (very experimental) 2000-09-07 23:19:10 +00:00
Kurt Zeilenga
89766f131e ITS#713 check_time_syntax suggested by klasen@zdv.uni-tuebingen.de
Portions Copyright 2000, Norbert Klasen, All rights reserved.
      This software is not subject to any license of
      Universitaet Tuebingen.

      This is free software; you can redistribute and use it
      under the same terms as OpenLDAP itself.
2000-09-06 19:17:33 +00:00
Kurt Zeilenga
5a4f5e5c50 reuse dnMatch as uniqueMemberMatch 2000-09-05 22:07:08 +00:00
Kurt Zeilenga
f2bcf33e23 Use DN syntax routines for Name and Optional OID syntax.
This is quite bogus but meets most users needs.
Should be replaced with real Name and Optional OID routines.
2000-09-05 20:10:39 +00:00
Kurt Zeilenga
cee040a321 Bring UCdata infrastructure. 2000-09-03 23:48:35 +00:00
Kurt Zeilenga
91bdd84b96 Duplicate IA5 matching rule routines as needed to implement UTF-8 varients. 2000-09-03 18:04:08 +00:00
Kurt Zeilenga
179cd46266 ITS#705: nisNetgroupTripleValidate
ITS#706: bootParameterValidate
Submitted by Stig Venass <venaas@uninett.no>
Modified by Kurt Zeilenga <kurt@openldap.org> for stricter
	adherence to specification (RFC 2307).

Portions
Copyright 2000 Stig Venaas
All rights reserved.

Redistribution and use in source and binary forms are permitted
without restriction or fee of any kind as long as this notice is
preserved. This software is provided ``as is'' without express or
implied warranty.
2000-09-03 17:35:39 +00:00
Kurt Zeilenga
90f0d9c85e Remove lint 2000-08-28 22:20:19 +00:00
Kurt Zeilenga
4739a3015b Align with re20 2000-08-26 19:55:08 +00:00
Kurt Zeilenga
537704b540 Update void syntax and entry/children pseudo-attribute types
to have publishable OIDs.
2000-08-26 19:52:21 +00:00
Kurt Zeilenga
511e26641e Assign publishable OID for caseExactIA5SubstringsMatch 2000-08-26 18:49:50 +00:00
Kurt Zeilenga
4a3b51e0da Add fake validators for nisNetgroupTriple and bootParameter syntaxes.
Note that real validators would likely break common usage as 'keystring'
is too limiting.
2000-08-24 19:54:16 +00:00
Kurt Zeilenga
67ddc87e68 Fix substring any filters 2000-08-22 22:34:37 +00:00
Kurt Zeilenga
02f888c563 First cut of LDBM substrings indexing. Needs testing. 2000-08-22 21:26:25 +00:00
Kurt Zeilenga
32c7186b9c Add frontend support for "any" substrings assertions.
Needs to be tied into index mask and backend search code.
2000-08-22 02:23:52 +00:00
Kurt Zeilenga
4f43f8262e Remove extraneous ber_bvfree() 2000-08-22 02:07:32 +00:00
Kurt Zeilenga
f207bd9dd2 Fix uninitialized value ptr bug 2000-08-21 23:20:26 +00:00
Kurt Zeilenga
3c1f76d568 jpeg syntax should be using blobValidator. 2000-08-17 17:55:33 +00:00
Kurt Zeilenga
146f9d7ddf Split a = b = c statement to remove warnings (errors) from picking compilers 2000-08-15 21:59:18 +00:00
Kurt Zeilenga
a2804649a5 Fix reversed assertion logic 2000-08-11 19:25:09 +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
6c41d272cf Update framework to support registration of approximate matching
rules.
2000-07-24 21:29:30 +00:00
Kurt Zeilenga
c0bbb090b7 Fix substring indices and enable in tests. 2000-07-18 22:59:34 +00:00
Kurt Zeilenga
9c5ad6291b Add experimental caseExact/Ignore substrings indexer/filter routines. 2000-07-18 17:46:34 +00:00
Kurt Zeilenga
5594efabc0 Provide caseExactIA5SubstringsMatch using OpenLDAP OID 2000-07-02 16:36:21 +00:00
Kurt Zeilenga
854b6d1839 genTime: Move validate above normalizer 2000-06-30 02:18:58 +00:00
Kurt Zeilenga
8d4ec58151 Initial, very unforgiving, booleanValidate and booleanMatch. 2000-06-29 19:00:17 +00:00
Mark Valence
16f2a29c23 Fix negated tests in IA5StringNormalize and numericStringNormalize. 2000-06-28 05:29:09 +00:00
Kurt Zeilenga
664fabdf4c Update matching rule usage 2000-06-26 17:54:45 +00:00
Kurt Zeilenga
3112f21612 Add attribute type/matching rule support for structuralObjectClass attribute
type.  Add type to core.schema.  Not yet populated on add nor checked on modify.
2000-06-26 05:13:41 +00:00
Kurt Zeilenga
ae63be3894 DirectoryString syntaxes must have one or more octets to be valid. 2000-06-23 23:57:53 +00:00
Kurt Zeilenga
b065b258f4 Prepare for additional schema routines. 2000-06-21 01:12:29 +00:00
Kurt Zeilenga
d19419392c Use ASCII_*() macros and friends. Should be combined with similiar LDAP_*()
macros in ldap_pvt.h.
2000-06-20 17:05:15 +00:00
Kurt Zeilenga
01f7e78cbb Add experimental objectIdentifierFirstComponentMatch routine 2000-06-20 03:55:40 +00:00
Kurt Zeilenga
5c9cf0eb71 Clarify normalization/matching routine recycling 2000-06-19 21:30:18 +00:00
Kurt Zeilenga
178dc1b708 Treat all phone number syntaxes as numericString 2000-06-15 20:33:56 +00:00
Kurt Zeilenga
d1fd2436da Treat telephone syntax as numeric 2000-06-15 20:14:01 +00:00
Kurt Zeilenga
aa10d362b7 fix substring match bugs 2000-06-15 19:56:51 +00:00
Kurt Zeilenga
07907dda8b Repair case{Ignore,Exact}IA5SubstringsMatch 2000-06-15 19:32:24 +00:00
Mark Valence
3888bac4bf Added Generalized Time matching and ordering (it's just caseExactIA5Ma
tch).  Set OpenLDAP Experimental ACI syntax validation to IA5StringVal
idate for now, to facilitate testing.
2000-06-15 08:34:48 +00:00
Mark Valence
7211daa837 Fixed whitespace prefix checks. Added UTC Time and Generalized Time s
yntax validation and normalization routines.
2000-06-15 07:58:04 +00:00
Mark Valence
6a43d24f48 Bug hunting -- crash when doing substring match. 2000-06-14 06:07:06 +00:00