add support for overriding peer-exchange-port for individual hosts
[project/unetd.git] / main.c
diff --git a/main.c b/main.c
index c9ce132a2cfa616d88f92c619cfd9d2b5cec4c14..e4e93317fcfe212a5c02b46a81eb73f03f231525 100644 (file)
--- a/main.c
+++ b/main.c
@@ -32,7 +32,9 @@ network_write_hosts(struct network *net, FILE *f)
 
        avl_for_each_element(&net->hosts, host, node) {
                inet_ntop(AF_INET6, &host->peer.local_addr, ip, sizeof(ip));
-               fprintf(f, "%s\t%s\n", ip, network_host_name(host));
+               fprintf(f, "%s\t%s%s%s\n", ip, network_host_name(host),
+                       net->config.domain ? "." : "",
+                       net->config.domain ? net->config.domain : "");
        }
 }
 
@@ -46,7 +48,9 @@ void unetd_write_hosts(void)
        if (!hosts_file)
                return;
 
-       asprintf(&tmpfile, "%s.XXXXXXXX", hosts_file);
+       if (asprintf(&tmpfile, "%s.XXXXXXXX", hosts_file) < 0)
+               return;
+
        fd = mkstemp(tmpfile);
        if (fd < 0) {
                perror("mkstemp");