diff options
| author | Nalin Dahyabhai <nalin.dahyabhai@pobox.com> | 2008-06-25 18:54:55 -0400 |
|---|---|---|
| committer | Nalin Dahyabhai <nalin.dahyabhai@pobox.com> | 2008-06-25 18:54:55 -0400 |
| commit | 26b86dbea2d07b7cb5d71502dbc7333b1c00a93d (patch) | |
| tree | e1e0c999ff247e99f35cee2d9b293f5a6fa41c37 /src | |
| parent | 7548b0dc3c1893b4221feb801b91825bfd36c64a (diff) | |
| download | slapi-nis-26b86dbea2d07b7cb5d71502dbc7333b1c00a93d.tar.gz slapi-nis-26b86dbea2d07b7cb5d71502dbc7333b1c00a93d.tar.xz slapi-nis-26b86dbea2d07b7cb5d71502dbc7333b1c00a93d.zip | |
- clean up to not set defaults which we may not be overriding
Diffstat (limited to 'src')
| -rw-r--r-- | src/backend.c | 25 | ||||
| -rw-r--r-- | src/defaults.c | 42 |
2 files changed, 40 insertions, 27 deletions
diff --git a/src/backend.c b/src/backend.c index 70be087..1ca125d 100644 --- a/src/backend.c +++ b/src/backend.c @@ -50,7 +50,7 @@ #include "plugin.h" #include "map.h" -#define MAP_CONFIGURATION_FILTER "(objectClass=*)(" MAP_CONFIGURATION_BASE_ATTR "=*)(" MAP_CONFIGURATION_DOMAIN_ATTR "=*)(" MAP_CONFIGURATION_MAP_ATTR "=*)" +#define MAP_CONFIGURATION_FILTER "(&(objectClass=*)(" MAP_CONFIGURATION_BASE_ATTR "=*)(" MAP_CONFIGURATION_DOMAIN_ATTR "=*)(" MAP_CONFIGURATION_MAP_ATTR "=*))" /* The data we ask the map cache to keep, for us, for each map. */ struct backend_map_data { @@ -551,7 +551,7 @@ backend_map_config_read_config(struct plugin_state *state, Slapi_Entry *e, &disposition, &actual_attr, 0, &buffer_flags) == 0) { key_formats = malloc((slapi_valueset_count(values) + 1) * - (sizeof (char *))); + sizeof (char *)); if (key_formats != NULL) { i = 0; for (j = slapi_valueset_first_value(values, &value); @@ -561,16 +561,16 @@ backend_map_config_read_config(struct plugin_state *state, Slapi_Entry *e, key_formats[i++] = strdup(cvalue); } key_formats[i] = NULL; - slapi_vattr_values_free(&values, &actual_attr, - buffer_flags); } + slapi_vattr_values_free(&values, &actual_attr, + buffer_flags); } keys_formats = NULL; if (slapi_vattr_values_get(e, MAP_CONFIGURATION_KEYS_ATTR, &values, &disposition, &actual_attr, 0, &buffer_flags) == 0) { keys_formats = malloc((slapi_valueset_count(values) + 1) * - (sizeof (char *))); + sizeof (char *)); if (keys_formats != NULL) { i = 0; for (j = slapi_valueset_first_value(values, &value); @@ -580,9 +580,9 @@ backend_map_config_read_config(struct plugin_state *state, Slapi_Entry *e, keys_formats[i++] = strdup(cvalue); } keys_formats[i] = NULL; - slapi_vattr_values_free(&values, &actual_attr, - buffer_flags); } + slapi_vattr_values_free(&values, &actual_attr, + buffer_flags); } value_format = NULL; if (slapi_vattr_values_get(e, MAP_CONFIGURATION_VALUE_ATTR, &values, @@ -634,12 +634,16 @@ backend_map_config_read_config(struct plugin_state *state, Slapi_Entry *e, domain, map); use_key_formats = key_formats ? backend_dup_strlist(key_formats) : + default_key_format ? backend_dup_strlist_n((char **) &default_key_format, - 1); + 1) : + NULL; use_keys_formats = keys_formats ? backend_dup_strlist(keys_formats) : + default_keys_format ? backend_dup_strlist_n((char **) &default_keys_format, - 1); + 1) : + NULL; use_value_format = value_format ? strdup(value_format) : strdup(default_value_format); @@ -663,7 +667,9 @@ backend_map_config_read_config(struct plugin_state *state, Slapi_Entry *e, ret->disallowed_chars = use_disallowed_chars; ret->entry_filter = use_entry_filter; ret->key_formats = use_key_formats; + ret->n_key_formats = 0; ret->keys_formats = use_keys_formats; + ret->n_keys_formats = 0; ret->value_format = use_value_format; ret->ref_attrs = NULL; ret->inref_attrs = NULL; @@ -952,6 +958,7 @@ backend_startup(struct plugin_state *state) Slapi_PBlock *pb; char *attrs = NULL; backend_read_params(state); + pb = slapi_pblock_new(); slapi_log_error(SLAPI_LOG_PLUGIN, state->plugin_desc->spd_id, diff --git a/src/defaults.c b/src/defaults.c index 08dc59f..455a07f 100644 --- a/src/defaults.c +++ b/src/defaults.c @@ -171,24 +171,6 @@ defaults_get_map_config(const char *mapname, const char **disallowed_chars) { unsigned int i; - if (secure) { - *secure = DEFAULT_MAP_SECURE; - } - if (filter) { - *filter = DEFAULT_ENTRY_FILTER; - } - if (key_format) { - *key_format = DEFAULT_KEY_FORMAT; - } - if (keys_format) { - *keys_format = DEFAULT_KEYS_FORMAT; - } - if (value_format) { - *value_format = DEFAULT_VALUE_FORMAT; - } - if (disallowed_chars) { - *disallowed_chars = DEFAULT_DISALLOWED_CHARS; - } for (i = 0; i < sizeof(config) / sizeof(config[0]); i++) { bool_t match; match = FALSE; @@ -205,6 +187,9 @@ defaults_get_map_config(const char *mapname, } break; } + if (!match) { + continue; + } if (secure) { *secure = config[i].secure; } @@ -223,5 +208,26 @@ defaults_get_map_config(const char *mapname, if (disallowed_chars) { *disallowed_chars = config[i].disallowed_chars; } + break; + } + if (i >= (sizeof(config) / sizeof(config[0]))) { + if (secure) { + *secure = DEFAULT_MAP_SECURE; + } + if (filter) { + *filter = DEFAULT_ENTRY_FILTER; + } + if (key_format) { + *key_format = DEFAULT_KEY_FORMAT; + } + if (keys_format) { + *keys_format = DEFAULT_KEYS_FORMAT; + } + if (value_format) { + *value_format = DEFAULT_VALUE_FORMAT; + } + if (disallowed_chars) { + *disallowed_chars = DEFAULT_DISALLOWED_CHARS; + } } } |
