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)
(cherry picked from commit 420f157493)
mr12.5.1
Donat Zenichev 2 months ago
parent 846236b8ec
commit 5c5e671f27

@ -63,6 +63,8 @@ sipwise/usrloc-don-t-synchronize-on-destroy-for-DB_ONLY.patch
sipwise/presence_offline_cleanup.patch
### active development
sipwise/permissions-don-t-allow-reloads-in-the-middle-of-ong.patch
sipwise/permissions_consider_db_mode_when_rpc_reload.patch
### Don't just put stuff in any order
### 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