Skip to content
Snippets Groups Projects
Commit a736f237 authored by Kurt Zeilenga's avatar Kurt Zeilenga
Browse files

Deprecate +objectClass in favor of @objectClass per IETF discussions

parent 37465b1f
No related branches found
No related tags found
No related merge requests found
...@@ -260,7 +260,8 @@ typedef struct ldapcontrol { ...@@ -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 ) ...@@ -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( ...@@ -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( ...@@ -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 ) ...@@ -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;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment