mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-21 07:09:34 -05:00
Deprecate +objectClass in favor of @objectClass per IETF discussions
This commit is contained in:
parent
37465b1f3a
commit
a736f237f8
3 changed files with 17 additions and 14 deletions
|
|
@ -260,7 +260,8 @@ typedef struct ldapcontrol {
|
||||||
|
|
||||||
/* LDAP Features */
|
/* LDAP Features */
|
||||||
#define LDAP_FEATURE_ALL_OPERATIONAL_ATTRS "1.3.6.1.4.1.4203.1.5.1" /* + */
|
#define LDAP_FEATURE_ALL_OPERATIONAL_ATTRS "1.3.6.1.4.1.4203.1.5.1" /* + */
|
||||||
#define LDAP_FEATURE_OBJECTCLASS_ATTRS "1.3.6.1.4.1.4203.1.5.2"
|
#define LDAP_FEATURE_OBJECTCLASS_ATTRS \
|
||||||
|
"1.3.6.1.4.1.4203.1.5.2" /* @objectClass - new number to be assigned */
|
||||||
#define LDAP_FEATURE_ABSOLUTE_FILTERS "1.3.6.1.4.1.4203.1.5.3" /* (&) (|) */
|
#define LDAP_FEATURE_ABSOLUTE_FILTERS "1.3.6.1.4.1.4203.1.5.3" /* (&) (|) */
|
||||||
#define LDAP_FEATURE_LANGUAGE_TAG_OPTIONS "1.3.6.1.4.1.4203.1.5.4"
|
#define LDAP_FEATURE_LANGUAGE_TAG_OPTIONS "1.3.6.1.4.1.4203.1.5.4"
|
||||||
#define LDAP_FEATURE_LANGUAGE_RANGE_OPTIONS "1.3.6.1.4.1.4203.1.5.5"
|
#define LDAP_FEATURE_LANGUAGE_RANGE_OPTIONS "1.3.6.1.4.1.4203.1.5.5"
|
||||||
|
|
|
||||||
|
|
@ -1719,7 +1719,7 @@ print_acl( Backend *be, AccessControl *a )
|
||||||
fprintf( stderr, "," );
|
fprintf( stderr, "," );
|
||||||
}
|
}
|
||||||
if (an->an_oc) {
|
if (an->an_oc) {
|
||||||
fputc( an->an_oc_exclude ? '!' : '+', stderr);
|
fputc( an->an_oc_exclude ? '!' : '@', stderr);
|
||||||
}
|
}
|
||||||
fputs( an->an_name.bv_val, stderr );
|
fputs( an->an_name.bv_val, stderr );
|
||||||
first = 0;
|
first = 0;
|
||||||
|
|
|
||||||
|
|
@ -531,13 +531,14 @@ int ad_inlist(
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* EXTENSION: see if requested description is +objectClass
|
* EXTENSION: see if requested description is @objectClass
|
||||||
* if so, return attributes which the class requires/allows
|
* if so, return attributes which the class requires/allows
|
||||||
*/
|
*/
|
||||||
oc = attrs->an_oc;
|
oc = attrs->an_oc;
|
||||||
if( oc == NULL && attrs->an_name.bv_val ) {
|
if( oc == NULL && attrs->an_name.bv_val ) {
|
||||||
switch( attrs->an_name.bv_val[0] ) {
|
switch( attrs->an_name.bv_val[0] ) {
|
||||||
case '+': /* new way */
|
case '@': /* @objectClass */
|
||||||
|
case '+': /* +objectClass (deprecated) */
|
||||||
case '!': { /* exclude */
|
case '!': { /* exclude */
|
||||||
struct berval ocname;
|
struct berval ocname;
|
||||||
ocname.bv_len = attrs->an_name.bv_len - 1;
|
ocname.bv_len = attrs->an_name.bv_len - 1;
|
||||||
|
|
@ -728,16 +729,16 @@ an_find(
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Convert a delimited string into a list of AttributeNames;
|
* Convert a delimited string into a list of AttributeNames; add
|
||||||
* add on to an existing list if it was given. If the string
|
* on to an existing list if it was given. If the string is not
|
||||||
* is not a valid attribute name, if a '-' is prepended it is
|
* a valid attribute name, if a '-' is prepended it is skipped
|
||||||
* skipped and the remaining name is tried again; if a '+' is
|
* and the remaining name is tried again; if a '@' (or '+') is
|
||||||
* prepended, an objectclass name is searched instead; if a
|
* prepended, an objectclass name is searched instead; if a '!'
|
||||||
* '!' is prepended, the objectclass name is negated.
|
* is prepended, the objectclass name is negated.
|
||||||
*
|
*
|
||||||
* NOTE: currently, if a valid attribute name is not found,
|
* NOTE: currently, if a valid attribute name is not found, the
|
||||||
* the same string is also checked as valid objectclass name;
|
* same string is also checked as valid objectclass name; however,
|
||||||
* however, this behavior is deprecated.
|
* this behavior is deprecated.
|
||||||
*/
|
*/
|
||||||
AttributeName *
|
AttributeName *
|
||||||
str2anlist( AttributeName *an, char *in, const char *brkstr )
|
str2anlist( AttributeName *an, char *in, const char *brkstr )
|
||||||
|
|
@ -792,7 +793,8 @@ str2anlist( AttributeName *an, char *in, const char *brkstr )
|
||||||
}
|
}
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case '+':
|
case '@':
|
||||||
|
case '+': /* (deprecated) */
|
||||||
case '!': {
|
case '!': {
|
||||||
struct berval ocname;
|
struct berval ocname;
|
||||||
ocname.bv_len = anew->an_name.bv_len - 1;
|
ocname.bv_len = anew->an_name.bv_len - 1;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue