aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <nhofmeyr@sysmocom.de>2023-03-14 19:48:34 +0100
committerNeels Hofmeyr <nhofmeyr@sysmocom.de>2023-03-30 03:49:56 +0200
commit0e501c5adbb19d1531e7102db946993ca25019f9 (patch)
tree17b464b6d54da3b86a3da4b356514a4e07ac9124
parent95b39b5b046869b6682578cb1f60ce419d412772 (diff)
mgcp_client: guard against duplicate CI requestsneels/iuup2amr
-rw-r--r--src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c
index a01bbdc32..a6f7e6ee1 100644
--- a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c
+++ b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c
@@ -626,6 +626,11 @@ void osmo_mgcpc_ep_ci_request(struct osmo_mgcpc_ep_ci *ci,
LOGP(DLMGCP, LOGL_ERROR, "Invalid MGW endpoint request: no ci\n");
goto dispatch_error;
}
+ if (ci->pending) {
+ LOG_CI(ci, LOGL_ERROR, "verb %s is already pending, wait for notify event before requesting %s\n",
+ osmo_mgcp_verb_name(ci->verb), osmo_mgcp_verb_name(verb));
+ goto dispatch_error;
+ }
if (!verb_info && verb != MGCP_VERB_DLCX) {
LOG_CI(ci, LOGL_ERROR, "Invalid MGW endpoint request: missing verb details for %s\n",
osmo_mgcp_verb_name(verb));