From: Vincent Bernat Date: Wed, 10 Dec 2008 10:13:05 +0000 (+0100) Subject: Handle more gracefully DNS problems by keeping nodename X-Git-Tag: 0.3~12^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b5a6c4796eb37ba54d8007ea890e76a6521783fd;p=thirdparty%2Flldpd.git Handle more gracefully DNS problems by keeping nodename --- diff --git a/src/priv.c b/src/priv.c index 5c5aa2c9..28ef3ea6 100644 --- a/src/priv.c +++ b/src/priv.c @@ -234,11 +234,16 @@ asroot_gethostbyname() int len; if (uname(&un) != 0) fatal("[priv]: failed to get system information"); - if ((hp = gethostbyname(un.nodename)) == NULL) - fatal("[priv]: failed to get system name"); - len = strlen(hp->h_name); - must_write(remote, &len, sizeof(int)); - must_write(remote, hp->h_name, strlen(hp->h_name) + 1); + if ((hp = gethostbyname(un.nodename)) == NULL) { + LLOG_WARN("[priv]: unable to get system name"); + len = strlen(un.nodename); + must_write(remote, &len, sizeof(int)); + must_write(remote, un.nodename, len + 1); + } else { + len = strlen(hp->h_name); + must_write(remote, &len, sizeof(int)); + must_write(remote, hp->h_name, len + 1); + } } void