From: Quanah Gibson-Mount Date: Wed, 15 Dec 2010 20:07:24 +0000 (+0000) Subject: Add SLAP_SYNTAX_DN syntax flag X-Git-Tag: OPENLDAP_REL_ENG_2_4_24~227 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=c955365267d1ebe10dd8290d06d1983f808ac9a0;p=openldap Add SLAP_SYNTAX_DN syntax flag Check for SLAP_SYNTAX_DN flag instead of distinguishedName syntax --- diff --git a/servers/slapd/overlays/deref.c b/servers/slapd/overlays/deref.c index d3e29921f1..1c247832a7 100644 --- a/servers/slapd/overlays/deref.c +++ b/servers/slapd/overlays/deref.c @@ -210,7 +210,7 @@ deref_parseCtrl ( } } - if ( ds->ds_derefAttr->ad_type->sat_syntax != slap_schema.si_syn_distinguishedName ) { + if ( !( ds->ds_derefAttr->ad_type->sat_syntax->ssyn_flags & SLAP_SYNTAX_DN )) { if ( ctrl->ldctl_iscritical ) { rs->sr_text = "Dereference control: derefAttr syntax not distinguishedName"; rs->sr_err = LDAP_PROTOCOL_ERROR; diff --git a/servers/slapd/schema_init.c b/servers/slapd/schema_init.c index 82ff09d06d..df805dbffc 100644 --- a/servers/slapd/schema_init.c +++ b/servers/slapd/schema_init.c @@ -6058,7 +6058,7 @@ static slap_syntax_defs_rec syntax_defs[] = { countryStringValidate, NULL}, #endif {"( 1.3.6.1.4.1.1466.115.121.1.12 DESC 'Distinguished Name' )", - 0, NULL, dnValidate, dnPretty}, + SLAP_SYNTAX_DN, NULL, dnValidate, dnPretty}, {"( 1.2.36.79672281.1.5.0 DESC 'RDN' )", 0, NULL, rdnValidate, rdnPretty}, #ifdef LDAP_COMP_MATCH @@ -6108,7 +6108,7 @@ static slap_syntax_defs_rec syntax_defs[] = { {"( 1.3.6.1.4.1.1466.115.121.1.33 DESC 'MHS OR Address' )", 0, NULL, NULL, NULL}, {"( 1.3.6.1.4.1.1466.115.121.1.34 DESC 'Name And Optional UID' )", - 0, NULL, nameUIDValidate, nameUIDPretty }, + SLAP_SYNTAX_DN, NULL, nameUIDValidate, nameUIDPretty }, {"( 1.3.6.1.4.1.1466.115.121.1.35 DESC 'Name Form Description' )", 0, NULL, NULL, NULL}, {"( 1.3.6.1.4.1.1466.115.121.1.36 DESC 'Numeric String' )", diff --git a/servers/slapd/slap.h b/servers/slapd/slap.h index d16f3c8d8e..e082c321a7 100644 --- a/servers/slapd/slap.h +++ b/servers/slapd/slap.h @@ -421,6 +421,7 @@ struct Syntax { #define SLAP_SYNTAX_HIDE 0x8000U /* hide (do not publish) */ #endif #define SLAP_SYNTAX_HARDCODE 0x10000U /* This is hardcoded schema */ +#define SLAP_SYNTAX_DN 0x20000U /* Treat like a DN */ Syntax **ssyn_sups;