pespin has uploaded this change for review.
ss7_xua_srv: Make sure we don't accept conns for ASPs configured as transport-role client
Change-Id: I955aed3c6cdaa0a7eaa14150eeb7458ee9b41d9d
---
M src/ss7_xua_srv.c
1 file changed, 17 insertions(+), 7 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-sigtran refs/changes/01/41501/1
diff --git a/src/ss7_xua_srv.c b/src/ss7_xua_srv.c
index a97b07f..7e55777 100644
--- a/src/ss7_xua_srv.c
+++ b/src/ss7_xua_srv.c
@@ -75,13 +75,23 @@
LOGP(DLSS7, LOGL_INFO, "%s: New %s connection accepted\n", sock_name, proto_name);
asp = ss7_asp_find_by_socket_addr(fd, oxs->cfg.trans_proto);
- if (asp && asp->cfg.adm_state == OSMO_SS7_ASP_ADM_S_SHUTDOWN) {
- LOGPASP(asp, DLSS7, LOGL_NOTICE,
- "Reject incoming new connection from %s for ASP in adm state %s\n",
- sock_name, get_value_string(osmo_ss7_asp_admin_state_names, asp->cfg.adm_state));
- close(fd);
- talloc_free(sock_name);
- return 0;
+ if (asp) {
+ if (!asp->cfg.is_server) {
+ LOGPASP(asp, DLSS7, LOGL_NOTICE,
+ "Reject incoming new connection from %s for ASP configured as 'transport-role client'\n",
+ sock_name);
+ close(fd);
+ talloc_free(sock_name);
+ return 0;
+ }
+ if (asp->cfg.adm_state == OSMO_SS7_ASP_ADM_S_SHUTDOWN) {
+ LOGPASP(asp, DLSS7, LOGL_NOTICE,
+ "Reject incoming new connection from %s for ASP in adm state %s\n",
+ sock_name, get_value_string(osmo_ss7_asp_admin_state_names, asp->cfg.adm_state));
+ close(fd);
+ talloc_free(sock_name);
+ return 0;
+ }
}
srv = osmo_stream_srv_create2(oxs, link, fd, NULL);
To view, visit change 41501. To unsubscribe, or for help writing mail filters, visit settings.