]> git.ipfire.org Git - thirdparty/lldpd.git/commitdiff
Handle more gracefully DNS problems by keeping nodename
authorVincent Bernat <vbernat@wanadooportails.com>
Wed, 10 Dec 2008 10:13:05 +0000 (11:13 +0100)
committerVincent Bernat <vbernat@wanadooportails.com>
Wed, 10 Dec 2008 10:13:05 +0000 (11:13 +0100)
src/priv.c

index 5c5aa2c9edde1b33fa069a2dc8c19b880b5a461b..28ef3ea6da607668ffea2b441ba936d23ff86ba3 100644 (file)
@@ -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