laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/28020 )
Change subject: encode actual hostname in RSPRO ......................................................................
encode actual hostname in RSPRO
The RSPRO ComponentIdentity includes a 'name' for each remsim component.
So far we always used "fixme-name" instead of something meaningful. Let's use the hostname of the system instead.
Change-Id: I14925f16ae242dae89fa853a2fe31c5c1b32981d --- M src/bankd/bankd_main.c M src/client/user_ifdhandler.c M src/server/remsim_server.c 3 files changed, 16 insertions(+), 6 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/20/28020/1
diff --git a/src/bankd/bankd_main.c b/src/bankd/bankd_main.c index d8dab03..012b48c 100644 --- a/src/bankd/bankd_main.c +++ b/src/bankd/bankd_main.c @@ -59,6 +59,7 @@ __thread void *talloc_asn1_ctx; struct bankd *g_bankd; static void *g_tall_ctx; +static char g_hostname[256];
static void *worker_main(void *arg);
@@ -91,7 +92,7 @@ bankd->srvc.bankd.num_slots = 8;
bankd->comp_id.type = ComponentType_remsimBankd; - OSMO_STRLCPY_ARRAY(bankd->comp_id.name, "fixme-name"); + OSMO_STRLCPY_ARRAY(bankd->comp_id.name, g_hostname); OSMO_STRLCPY_ARRAY(bankd->comp_id.software, "remsim-bankd"); OSMO_STRLCPY_ARRAY(bankd->comp_id.sw_version, PACKAGE_VERSION); /* FIXME: other members of app_comp_id */ @@ -363,6 +364,9 @@ g_bankd = talloc_zero(NULL, struct bankd); OSMO_ASSERT(g_bankd);
+ if (gethostname(g_hostname, sizeof(g_hostname)) < 0) + strncpy(g_hostname, "unknown", sizeof(g_hostname)); + bankd_init(g_bankd);
srvc = &g_bankd->srvc; @@ -370,7 +374,7 @@ srvc->server_port = 9998; srvc->handle_rx = bankd_srvc_handle_rx; srvc->own_comp_id.type = ComponentType_remsimBankd; - OSMO_STRLCPY_ARRAY(srvc->own_comp_id.name, "fixme-name"); + OSMO_STRLCPY_ARRAY(srvc->own_comp_id.name, g_hostname); OSMO_STRLCPY_ARRAY(srvc->own_comp_id.software, "remsim-bankd"); OSMO_STRLCPY_ARRAY(srvc->own_comp_id.sw_version, PACKAGE_VERSION);
diff --git a/src/client/user_ifdhandler.c b/src/client/user_ifdhandler.c index 551db00..f3e5489 100644 --- a/src/client/user_ifdhandler.c +++ b/src/client/user_ifdhandler.c @@ -125,7 +125,6 @@
/* configuration of client thread; passed in from IFD thread */ struct client_thread_cfg { - const char *name; const char *server_host; int server_port; int client_id; @@ -367,8 +366,12 @@ struct client_thread_cfg *cfg = arg; struct client_config *ccfg; struct client_thread *ct; + char hostname[256]; int rc;
+ if (gethostname(hostname, sizeof(hostname)) < 0) + strncpy(hostname, "unknown", sizeof(hostname)); + osmo_select_init(); rc = osmo_ctx_init("client"); OSMO_ASSERT(rc == 0); @@ -387,7 +390,7 @@ if (!talloc_asn1_ctx) talloc_asn1_ctx= talloc_named_const(ct, 0, "asn1");
- ct->bc = remsim_client_create(ct, cfg->name, "remsim_ifdhandler", ccfg); + ct->bc = remsim_client_create(ct, hostname, "remsim_ifdhandler", ccfg); OSMO_ASSERT(ct->bc); ct->bc->data = ct;
@@ -560,7 +563,6 @@ { struct ifd_client *ic; struct client_thread_cfg cfg = { - .name = "fixme-name", .server_host = "127.0.0.1", .server_port = -1, .client_id = 0, diff --git a/src/server/remsim_server.c b/src/server/remsim_server.c index c2d54e5..a2c1a8c 100644 --- a/src/server/remsim_server.c +++ b/src/server/remsim_server.c @@ -80,9 +80,13 @@
int main(int argc, char **argv) { + char hostname[256]; void *talloc_rest_ctx; int rc;
+ if (gethostname(hostname, sizeof(hostname)) < 0) + strncpy(hostname, "unknown", sizeof(hostname)); + g_tall_ctx = talloc_named_const(NULL, 0, "global"); talloc_asn1_ctx = talloc_named_const(g_tall_ctx, 0, "asn1"); talloc_rest_ctx = talloc_named_const(g_tall_ctx, 0, "rest"); @@ -106,7 +110,7 @@ goto out_rspro;
g_rps->comp_id.type = ComponentType_remsimServer; - OSMO_STRLCPY_ARRAY(g_rps->comp_id.name, "fixme-name"); + OSMO_STRLCPY_ARRAY(g_rps->comp_id.name, hostname); OSMO_STRLCPY_ARRAY(g_rps->comp_id.software, "remsim-server"); OSMO_STRLCPY_ARRAY(g_rps->comp_id.sw_version, PACKAGE_VERSION); /* FIXME: other members of app_comp_id */