From b5a6c4796eb37ba54d8007ea890e76a6521783fd Mon Sep 17 00:00:00 2001 From: Vincent Bernat Date: Wed, 10 Dec 2008 11:13:05 +0100 Subject: [PATCH] Handle more gracefully DNS problems by keeping nodename --- src/priv.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) 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 -- 2.39.5