diff options
| author | Nalin Dahyabhai <nalin.dahyabhai@pobox.com> | 2008-06-26 12:54:41 -0400 |
|---|---|---|
| committer | Nalin Dahyabhai <nalin.dahyabhai@pobox.com> | 2008-06-26 12:54:41 -0400 |
| commit | 0487c34fec189add296bd4177b67a05cd13d7aab (patch) | |
| tree | 80c3dba9062070345b346b9c907776d8a5fd7fea /src | |
| parent | b78784c5c2e228da4863b24dab0ac33430b91e4f (diff) | |
- don't require a disallowed_chars setting
- handle filter settings without enclosing parentheses
Diffstat (limited to 'src')
| -rw-r--r-- | src/backend.c | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/src/backend.c b/src/backend.c index 1ca125d..f57707b 100644 --- a/src/backend.c +++ b/src/backend.c @@ -230,13 +230,13 @@ backend_copy_cb_data(const struct backend_map_data *data) if ((ret->domain == NULL) || (ret->map == NULL) || (ret->bases == NULL) || - (ret->disallowed_chars == NULL) || (ret->entry_filter == NULL) || ((ret->key_formats == NULL) && (ret->keys_formats == NULL)) || (ret->value_format == NULL)) { backend_free_map_data(ret); return NULL; - } return ret; + } + return ret; } /* Given a map-entry directory entry, determine which keys it should have, @@ -542,7 +542,20 @@ backend_map_config_read_config(struct plugin_state *state, Slapi_Entry *e, i = slapi_valueset_first_value(values, &value); if (i != -1) { cvalue = slapi_value_get_string(value); - entry_filter = strdup(cvalue); + if (strlen(cvalue) > 1) { + if ((cvalue[0] != '(') || + (cvalue[strlen(cvalue) - 1] != ')')) { + entry_filter = malloc(strlen(cvalue) + + 3); + if (entry_filter != NULL) { + sprintf(entry_filter, "(%s)", + cvalue); + } + } + } + if (entry_filter == NULL) { + entry_filter = strdup(cvalue); + } } slapi_vattr_values_free(&values, &actual_attr, buffer_flags); } |
