mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-24 00:29:35 -05:00
Get a couple of extensions into fields easy to use at runtime.
This commit is contained in:
parent
12acffa96e
commit
2e0c16b56b
2 changed files with 23 additions and 0 deletions
|
|
@ -402,6 +402,7 @@ at_add(
|
|||
Syntax *syn;
|
||||
int code;
|
||||
char *cname;
|
||||
LDAP_SCHEMA_EXTENSION_ITEM **ext;
|
||||
|
||||
if ( at->at_names && at->at_names[0] ) {
|
||||
cname = at->at_names[0];
|
||||
|
|
@ -447,6 +448,8 @@ at_add(
|
|||
sat->sat_equality = sat->sat_sup->sat_equality;
|
||||
sat->sat_ordering = sat->sat_sup->sat_ordering;
|
||||
sat->sat_substr = sat->sat_sup->sat_substr;
|
||||
sat->sat_binary = sat->sat_sup->sat_binary;
|
||||
sat->sat_not_h_r = sat->sat_sup->sat_not_h_r;
|
||||
}
|
||||
|
||||
if ( at->at_syntax_oid ) {
|
||||
|
|
@ -522,6 +525,22 @@ at_add(
|
|||
}
|
||||
}
|
||||
|
||||
if ( sat->sat_extensions ) {
|
||||
for ( ext = sat->sat_extensions; *ext; ext++ ) {
|
||||
if ( strcmp((*ext)->lsei_name, "X-BINARY-TRANSFER-REQUIRED") == 0 &&
|
||||
(*ext)->lsei_values &&
|
||||
(*ext)->lsei_values[0] &&
|
||||
strcasecmp((*ext)->lsei_values[0], "true") == 0 ) {
|
||||
sat->sat_binary = 1;
|
||||
} else if ( strcmp((*ext)->lsei_name, "X-NOT-HUMAN-READABLE") == 0 &&
|
||||
(*ext)->lsei_values &&
|
||||
(*ext)->lsei_values[0] &&
|
||||
strcasecmp((*ext)->lsei_values[0], "true") == 0 ) {
|
||||
sat->sat_not_h_r = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
code = at_insert(sat,err);
|
||||
return code;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -260,6 +260,8 @@ typedef struct slap_attribute_type {
|
|||
MatchingRule *sat_ordering;
|
||||
MatchingRule *sat_substr;
|
||||
Syntax *sat_syntax;
|
||||
int sat_binary;
|
||||
int sat_not_h_r;
|
||||
#ifndef SLAPD_SCHEMA_NOT_COMPAT
|
||||
/* The next one is created to help in the transition */
|
||||
int sat_syntax_compat;
|
||||
|
|
@ -285,6 +287,8 @@ typedef struct slap_attribute_type {
|
|||
#define is_at_single_value(at) ((at)->sat_single_value)
|
||||
#define is_at_collective(at) ((at)->sat_collective)
|
||||
#define is_at_no_user_mod(at) ((at)->sat_no_user_mod)
|
||||
#define is_at_binary(at) ((at)->sat_binary)
|
||||
#define is_at_h_r(at) ((at)->sat_not_h_r == 0)
|
||||
|
||||
typedef struct slap_object_class {
|
||||
LDAP_OBJECT_CLASS soc_oclass;
|
||||
|
|
|
|||
Loading…
Reference in a new issue