laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/33812 )
Change subject: log at NOTICE level if somebody uses loopback addresses. ......................................................................
log at NOTICE level if somebody uses loopback addresses.
It appears a common mistake is to e.g. run remsim-server + remsim-bankd on one machine and then instruct them to use localhost or other loopback-routed addresses. This won't work as that address is then sent to a [remote] remsim-client that attempts to reach the bankd at localhost.
Change-Id: I3b4eda10e81a705aef8d647a860890a74cba8f13 --- M src/client/main_fsm.c M src/server/rspro_server.c 2 files changed, 25 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/12/33812/1
diff --git a/src/client/main_fsm.c b/src/client/main_fsm.c index 18798d3..dcdd239 100644 --- a/src/client/main_fsm.c +++ b/src/client/main_fsm.c @@ -248,6 +248,11 @@ rspro2bank_slot(&bc->bankd_slot, &pdu_rx->msg.choice.configClientBankReq.bankSlot); LOGPFSML(fi, LOGL_INFO, "Rx configClientBankReq(%s:%u / B%u:%u)\n", bc->bankd_conn.server_host, bc->bankd_conn.server_port, bc->bankd_slot.bank_id, bc->bankd_slot.slot_nr); + if (!strncmp(bc->bankd_conn.server_host, "127.", 4) || !strcmp(bc->bankd_conn.server_host, "::1")) { + LOGPFSML(fi, LOGL_NOTICE, "we were instructed to connect to a bankd on a loopback address " + "%s. This is most likely a BROKEN CONFIGURATION, unless this client runs on the " + "same host as remsim-bankd\n", bc->bankd_conn.server_host); + } /* bankd port 0 is a magic value to indicate "no bankd" */ if (bc->bankd_conn.server_port == 0) osmo_fsm_inst_state_chg(fi, MF_ST_UNCONFIGURED, 0, 0); diff --git a/src/server/rspro_server.c b/src/server/rspro_server.c index da27a2d..9f01273 100644 --- a/src/server/rspro_server.c +++ b/src/server/rspro_server.c @@ -314,6 +314,11 @@ return; } bankd_ip = ntohl(inet_addr(ip_str)); + if ((bankd_ip >> 24) == 127) { + LOGPFSML(bankd_conn->fi, LOGL_NOTICE, "bankd operating on loopback address %s, ", + "this is very likely a BROKEN CONFIGURATION, unless remsim-client runs " + "on the same machine as remsim-bankd and remsim-server\n", ip_str); + } bankd_port = 9999; /* TODO: configurable */ }