X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;ds=inline;f=src%2Ftincctl.c;h=394051e2d658092d19a1200c4657aef5a35800e2;hb=4ea5d218c5c8e5739071bc6e57cf8404db5323ef;hp=fdb72e05469e4634b5ee411ce99e5b71e24a0520;hpb=44c7f554c7a6eb411428cfd30ca2cb21a613830e;p=meshlink diff --git a/src/tincctl.c b/src/tincctl.c index fdb72e05..394051e2 100644 --- a/src/tincctl.c +++ b/src/tincctl.c @@ -1,6 +1,6 @@ /* tincctl.c -- Controlling a running tincd - Copyright (C) 2007-2014 Guus Sliepen + Copyright (C) 2014 Guus Sliepen This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -33,12 +33,15 @@ #include "ecdsagen.h" #include "info.h" #include "invitation.h" -#include "names.h" #include "rsagen.h" #include "utils.h" #include "tincctl.h" #include "top.h" +#ifndef MSG_NOSIGNAL +#define MSG_NOSIGNAL 0 +#endif + static char **orig_argv; static int orig_argc; @@ -140,7 +143,7 @@ static void usage(bool status) { " join INVITATION Join a VPN using an INVITIATION\n" " network [NETNAME] List all known networks, or switch to the one named NETNAME.\n" "\n"); - printf("Report bugs to tinc@tinc-vpn.org.\n"); + printf("Report bugs to bugs@meshlink.io.\n"); } } @@ -529,7 +532,7 @@ bool sendline(int fd, char *format, ...) { blen++; while(blen) { - int result = send(fd, p, blen, 0); + int result = send(fd, p, blen, MSG_NOSIGNAL); if(result == -1 && errno == EINTR) continue; else if(result <= 0) @@ -741,6 +744,11 @@ bool connect_tincd(bool verbose) { freeaddrinfo(res); #endif +#ifdef SO_NOSIGPIPE + static const int one = 1; + setsockopt(c, SOL_SOCKET, SO_NOSIGPIPE, (void *)&one, sizeof one); +#endif + char data[4096]; int version; @@ -1313,8 +1321,6 @@ const var_t variables[] = { {"ScriptsInterpreter", VAR_SERVER}, {"StrictSubnets", VAR_SERVER}, {"TunnelServer", VAR_SERVER}, - {"UDPRcvBuf", VAR_SERVER}, - {"UDPSndBuf", VAR_SERVER}, {"VDEGroup", VAR_SERVER}, {"VDEPort", VAR_SERVER}, /* Host configuration */ @@ -2089,7 +2095,6 @@ static int switch_network(char *name) { free(netname); netname = strcmp(name, ".") ? xstrdup(name) : NULL; - make_names(); xasprintf(&tinc_conf, "%s" SLASH "tinc.conf", confbase); xasprintf(&hosts_dir, "%s" SLASH "hosts", confbase); xasprintf(&prompt, "%s> ", identname); @@ -2405,7 +2410,6 @@ int main(int argc, char *argv[]) { if(!parse_options(argc, argv)) return 1; - make_names(); xasprintf(&tinc_conf, "%s" SLASH "tinc.conf", confbase); xasprintf(&hosts_dir, "%s" SLASH "hosts", confbase);