From 1947581ec4e19fc29cb5e93cf897371edc2f5cf9 Mon Sep 17 00:00:00 2001 From: Nalin Dahyabhai Date: Thu, 31 Jul 2008 14:14:24 -0400 Subject: - make some used-only-locally functions static - warn if a map is going to be empty, because it usually signals a misconfiguration of some kind --- src/back-nis.c | 22 ++++++++++++++++++++++ src/back-sch.c | 22 ++++++++++++++++++++++ src/back-shr.c | 10 ++++++---- src/back-shr.h | 3 --- src/backend.h | 4 ++++ 5 files changed, 54 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/back-nis.c b/src/back-nis.c index 834eda3..930bd77 100644 --- a/src/back-nis.c +++ b/src/back-nis.c @@ -881,6 +881,28 @@ backend_entry_get_set_config_entry_filter(void) return NIS_MAP_CONFIGURATION_FILTER; } +/* Warn if a map is empty. */ +void +backend_check_empty(struct plugin_state *state, + const char *group, const char *set) +{ + unsigned int first_key_len, first_value_len; + int first_key_index; + const char *first_id; + char *first_key, *first_value; + bool_t map_secure; + if (!map_first(state, group, set, + &map_secure, + &first_key_len, &first_key, + &first_value_len, &first_value, + &first_id, + &first_key_index)) { + slapi_log_error(SLAPI_LOG_FATAL, state->plugin_desc->spd_id, + "warning: no entries in domain=%s,map=%s\n", + group, set); + } +} + /* Scan for the list of configured domains and maps. */ void backend_startup(struct plugin_state *state) diff --git a/src/back-sch.c b/src/back-sch.c index b62231e..49e1dd5 100644 --- a/src/back-sch.c +++ b/src/back-sch.c @@ -1006,6 +1006,28 @@ backend_compare_cb(Slapi_PBlock *pb) return ret; } +/* Warn if a set is empty. */ +void +backend_check_empty(struct plugin_state *state, + const char *group, const char *set) +{ + unsigned int first_key_len, first_value_len; + int first_key_index; + const char *first_id; + char *first_key, *first_value; + bool_t map_secure; + if (!map_first(state, group, set, + &map_secure, + &first_key_len, &first_key, + &first_value_len, &first_value, + &first_id, + &first_key_index)) { + slapi_log_error(SLAPI_LOG_FATAL, state->plugin_desc->spd_id, + "warning: no entries set up under %s,%s\n", + set, group); + } +} + /* Populate our data cache. */ void backend_startup(struct plugin_state *state) diff --git a/src/back-shr.c b/src/back-shr.c index 938ca7f..605d939 100644 --- a/src/back-shr.c +++ b/src/back-shr.c @@ -227,12 +227,12 @@ backend_shr_add_strlist(char ***strlist, const char *value) } /* Set or unset the entry using information in the callback data. */ -void +static void backend_shr_set_entry(Slapi_Entry *e, struct backend_set_data *set_data) { backend_set_entry(e, set_data); } -int +static int backend_shr_set_entry_cb(Slapi_Entry *e, void *set_data) { backend_shr_set_entry(e, set_data); @@ -240,7 +240,7 @@ backend_shr_set_entry_cb(Slapi_Entry *e, void *set_data) } /* Set or unset the named entry using information in the callback data. */ -void +static void backend_shr_set_config_entry_set_one_dn(struct plugin_state *state, const char *dn, struct backend_set_data *set_data) @@ -271,7 +271,7 @@ backend_shr_set_config_entry_set_one_dn(struct plugin_state *state, /* Check if the given entry is somewhere beneath the NDN and matches the * filter. */ -bool_t +static bool_t backend_shr_entry_matches(Slapi_PBlock *pb, Slapi_Entry *e, const char *containing_ndn, int scope, const char *check_filter) @@ -385,6 +385,8 @@ backend_shr_set_config_entry_add(struct plugin_state *state, Slapi_Entry *e, NULL); slapi_free_search_results_internal(pb); } + /* Warn if we didn't put anything into the set. */ + backend_check_empty(state, set_data->group, set_data->set); /* Clean up. */ slapi_pblock_destroy(pb); return 0; diff --git a/src/back-shr.h b/src/back-shr.h index 4aa8063..f53f9e3 100644 --- a/src/back-shr.h +++ b/src/back-shr.h @@ -36,9 +36,6 @@ void backend_shr_add_strlist(char ***strlist, const char *item); void backend_shr_startup(struct plugin_state *state, const char *set_filter); void backend_shr_postop_init(Slapi_PBlock *pb, struct plugin_state *state); -bool_t backend_shr_entry_matches(Slapi_PBlock *pb, Slapi_Entry *e, - const char *containing_ndn, int scope, - const char *check_filter); int backend_shr_set_config_entry_add(struct plugin_state *state, Slapi_Entry *e, const char *group_name, diff --git a/src/backend.h b/src/backend.h index bf7bb40..e1dfa31 100644 --- a/src/backend.h +++ b/src/backend.h @@ -67,6 +67,10 @@ void backend_set_config_read_config(struct plugin_state *state, struct backend_shr_set_data **set_data); void backend_set_config_free_config(struct backend_shr_set_data *set_data); +/* Warn if a just-populated set of entries is actually empty. */ +void backend_check_empty(struct plugin_state *state, + const char *group, const char *set); + /* Re-read any plugin configuration data which can be modified without * requiring a restart. */ void backend_update_params(struct plugin_state *state); -- cgit