mirror of https://github.com/sipwise/kamailio.git
Change-Id: I22f985ae11a97395386343af82c6562cefc300f2
(cherry picked from commit 998899afe1)
mr12.4
parent
456d126f42
commit
8437974ef6
@ -0,0 +1,52 @@
|
|||||||
|
From: Victor Seva <vseva@sipwise.com>
|
||||||
|
Date: Tue, 27 May 2025 10:52:57 +0200
|
||||||
|
Subject: permissions: don't allow reloads in the middle of ongoind reload
|
||||||
|
|
||||||
|
---
|
||||||
|
src/modules/permissions/rpc.c | 13 ++++++++++---
|
||||||
|
1 file changed, 10 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/modules/permissions/rpc.c b/src/modules/permissions/rpc.c
|
||||||
|
index 6519c63..ae78aa4 100644
|
||||||
|
--- a/src/modules/permissions/rpc.c
|
||||||
|
+++ b/src/modules/permissions/rpc.c
|
||||||
|
@@ -45,7 +45,8 @@ int rpc_check_reload(rpc_t *rpc, void *ctx)
|
||||||
|
rpc->fault(ctx, 500, "ongoing reload");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
- *perm_rpc_reload_time = time(NULL);
|
||||||
|
+ // we are reloading
|
||||||
|
+ *perm_rpc_reload_time = time(NULL) + 86400;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -61,10 +62,13 @@ void rpc_trusted_reload(rpc_t *rpc, void *c)
|
||||||
|
|
||||||
|
if(reload_trusted_table_cmd() != 1) {
|
||||||
|
rpc->fault(c, 500, "Reload failed.");
|
||||||
|
- return;
|
||||||
|
+ goto done;
|
||||||
|
}
|
||||||
|
|
||||||
|
rpc->rpl_printf(c, "Reload OK");
|
||||||
|
+done:
|
||||||
|
+ // reloading is done
|
||||||
|
+ *perm_rpc_reload_time = time(NULL);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -101,10 +105,13 @@ void rpc_address_reload(rpc_t *rpc, void *c)
|
||||||
|
|
||||||
|
if(reload_address_table_cmd() != 1) {
|
||||||
|
rpc->fault(c, 500, "Reload failed.");
|
||||||
|
- return;
|
||||||
|
+ goto done;
|
||||||
|
}
|
||||||
|
|
||||||
|
rpc->rpl_printf(c, "Reload OK");
|
||||||
|
+done:
|
||||||
|
+ // reloading is done
|
||||||
|
+ *perm_rpc_reload_time = time(NULL);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
Loading…
Reference in new issue