X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fattr.c;h=8e3112200bf99c96797bc4776f39c2869615172d;hb=5692be1fe4809dcb921067a0bbcef46974187e2e;hp=d81a0626be4c38ce62d22336bcd925a7c204d74c;hpb=4cfb0be242b4ae2d8a125d19551acab28d451721;p=openldap diff --git a/servers/slapd/attr.c b/servers/slapd/attr.c index d81a0626be..8e3112200b 100644 --- a/servers/slapd/attr.c +++ b/servers/slapd/attr.c @@ -18,7 +18,7 @@ #include #endif -#include "ldapconfig.h" +#include "ldap_defaults.h" #include "slap.h" #ifdef LDAP_DEBUG @@ -40,15 +40,9 @@ attr_free( Attribute *a ) char * attr_normalize( char *s ) { - char *save; - assert( s != NULL ); - for ( save = s; *s; s++ ) { - *s = TOLOWER( (unsigned char) *s ); - } - - return( save ); + return( str2lower( s ) ); } /* @@ -227,18 +221,22 @@ attr_syntax_config( strcasecmp( argv[lasti], "cis" ) == 0 ) { at->at_syntax_oid = "1.3.6.1.4.1.1466.115.121.1.15"; at->at_equality_oid = "2.5.13.2"; + at->at_ordering_oid = "2.5.13.3"; + at->at_substr_oid = "2.5.13.4"; } else if ( strcasecmp( argv[lasti], "telephone" ) == 0 || strcasecmp( argv[lasti], "tel" ) == 0 ) { at->at_syntax_oid = "1.3.6.1.4.1.1466.115.121.1.50"; at->at_equality_oid = "2.5.13.20"; + at->at_substr_oid = "2.5.13.21"; } else if ( strcasecmp( argv[lasti], "dn" ) == 0 ) { at->at_syntax_oid = "1.3.6.1.4.1.1466.115.121.1.12"; at->at_equality_oid = "2.5.13.1"; } else if ( strcasecmp( argv[lasti], "caseexactstring" ) == 0 || strcasecmp( argv[lasti], "ces" ) == 0 ) { at->at_syntax_oid = "1.3.6.1.4.1.1466.115.121.1.15"; - /* notice: this is caseExactIA5Match */ - at->at_equality_oid = "1.3.6.1.4.1.1466.109.114.1"; + at->at_equality_oid = "2.5.13.5"; + at->at_ordering_oid = "2.5.13.6"; + at->at_substr_oid = "2.5.13.7"; } else if ( strcasecmp( argv[lasti], "binary" ) == 0 || strcasecmp( argv[lasti], "bin" ) == 0 ) { at->at_syntax_oid = "1.3.6.1.4.1.1466.115.121.1.5"; @@ -514,8 +512,7 @@ at_add( if ( !strcmp(at->at_syntax_oid, "1.3.6.1.4.1.1466.115.121.1.15") ) { if ( at->at_equality_oid && - !strcmp(at->at_equality_oid, - "1.3.6.1.4.1.1466.109.114.1") ) { + !strcmp(at->at_equality_oid, "2.5.13.5") ) { sat->sat_syntax_compat = SYNTAX_CES; } else { sat->sat_syntax_compat = SYNTAX_CIS; @@ -568,6 +565,7 @@ at_add( if ( sat->sat_sup ) { if ( !sat->sat_syntax ) { sat->sat_syntax = sat->sat_sup->sat_syntax; + sat->sat_syntax_len = sat->sat_sup->sat_syntax_len; } if ( !sat->sat_equality ) { sat->sat_equality = sat->sat_sup->sat_equality;