MT#63868 permissions: while reloading consider if cache is disabled

Do not reload trusted table sources in hash buckets,
when the db cache mode is disabled.

This prevents sudden attempt to actually initialize hash buckets,
when the mode is 0.

Change-Id: I3e911905f1d73b94883d1f5550b6638b43b47b9f
(cherry picked from commit 8edd837fd2)
mr14.1
Donat Zenichev 2 months ago
parent 2d8bad124a
commit dab00faf5e

@ -47,6 +47,7 @@ sipwise/permissions-don-t-allow-reloads-in-the-middle-of-ong.patch
sipwise/dlg_get_var_error_more_verbose_on_dlg sipwise/dlg_get_var_error_more_verbose_on_dlg
sipwise/db_redis_protect_length_overflow.patch sipwise/db_redis_protect_length_overflow.patch
sipwise/db_redis_support_null_key_values.patch sipwise/db_redis_support_null_key_values.patch
sipwise/permissions_consider_db_mode_when_rpc_reload.patch
### Don't just put stuff in any order ### Don't just put stuff in any order
### use gbp pq import/export tooling to help maintain patches ### use gbp pq import/export tooling to help maintain patches

@ -0,0 +1,26 @@
--- a/src/modules/permissions/rpc.c
+++ b/src/modules/permissions/rpc.c
@@ -60,12 +60,19 @@ void rpc_trusted_reload(rpc_t *rpc, void
return;
}
- if(reload_trusted_table_cmd() != 1) {
- rpc->fault(c, 500, "Reload failed.");
- goto done;
+ // only reload the hash buckets then, when the cache is activated (db_mode = 1)
+ if(perm_db_mode == ENABLE_CACHE) {
+ if(reload_trusted_table_cmd() != 1) {
+ rpc->fault(c, 500, "Reload failed.");
+ goto done;
+ }
+ rpc->rpl_printf(c, "Reload OK");
+ } else {
+ LM_DBG("Skip trusted sources reload in hash buckets, caching is "
+ "disabled.\n");
+ rpc->fault(c, 500, "Reload skipped (disabled cache)");
}
- rpc->rpl_printf(c, "Reload OK");
done:
// reloading is done
*perm_rpc_reload_time = time(NULL);
Loading…
Cancel
Save