From 0802e118dd634b37d580effb7e5df4d4c26fa35c Mon Sep 17 00:00:00 2001 From: Mitesh Kanjariya Date: Fri, 25 Aug 2017 16:36:31 -0700 Subject: [PATCH] Handle hostname/domainname properly for FreeBSD Signed-off-by: Mitesh Kanjariya --- bgpd/bgpd.c | 10 ++++++---- lib/command.c | 14 -------------- 2 files changed, 6 insertions(+), 18 deletions(-) diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c index c64ebf1222..8b70c24ac2 100644 --- a/bgpd/bgpd.c +++ b/bgpd/bgpd.c @@ -2766,15 +2766,17 @@ static struct bgp *bgp_create(as_t *as, const char *name, XFREE(MTYPE_BGP_PEER_HOST, bgp->peer_self->hostname); bgp->peer_self->hostname = NULL; } - bgp->peer_self->hostname = XSTRDUP(MTYPE_BGP_PEER_HOST, - hostname_get()); + if (hostname_get()) + bgp->peer_self->hostname = XSTRDUP(MTYPE_BGP_PEER_HOST, + hostname_get()); if (bgp->peer_self->domainname != NULL) { XFREE(MTYPE_BGP_PEER_HOST, bgp->peer_self->domainname); bgp->peer_self->domainname = NULL; } - bgp->peer_self->domainname = XSTRDUP(MTYPE_BGP_PEER_HOST, - domainname_get()); + if (domainname_get()) + bgp->peer_self->domainname = XSTRDUP(MTYPE_BGP_PEER_HOST, + domainname_get()); bgp->peer = list_new(); bgp->peer->cmp = (int (*)(void *, void *))peer_cmp; bgp->peerhash = hash_create(peer_hash_key_make, peer_hash_same, NULL); diff --git a/lib/command.c b/lib/command.c index 78d8dbdc62..2d262c1146 100644 --- a/lib/command.c +++ b/lib/command.c @@ -130,12 +130,6 @@ struct host host; */ const char *hostname_get(void) { - struct utsname names; - - if (!host.name) { - uname(&names); - host.name = XSTRDUP(MTYPE_HOST, names.nodename); - } return host.name; } @@ -144,14 +138,6 @@ const char *hostname_get(void) */ const char *domainname_get(void) { - struct utsname names; - - if (!host.name || !host.domainname) { -#ifdef HAVE_STRUCT_UTSNAME_DOMAINNAME - uname(&names); - host.domainname = XSTRDUP(MTYPE_HOST, names.domainname); -#endif - } return host.domainname; } -- 2.39.5