Add "list" as an alias for "dump" in the CLI.
[tinc] / src / tincctl.c
index 04fbdd5..8d3d7a5 100644 (file)
@@ -88,7 +88,7 @@ static struct option const long_options[] = {
 
 static void version(void) {
        printf("%s version %s (built %s %s, protocol %d.%d)\n", PACKAGE,
-                  VERSION, BUILD_DATE, BUILD_TIME, PROT_MAJOR, PROT_MINOR);
+                  BUILD_VERSION, BUILD_DATE, BUILD_TIME, PROT_MAJOR, PROT_MINOR);
        printf("Copyright (C) 1998-2014 Ivo Timmermans, Guus Sliepen and others.\n"
                        "See the AUTHORS file for a complete list.\n\n"
                        "tinc comes with ABSOLUTELY NO WARRANTY.  This is free software,\n"
@@ -106,6 +106,7 @@ static void usage(bool status) {
                                "  -c, --config=DIR        Read configuration options from DIR.\n"
                                "  -n, --net=NETNAME       Connect to net NETNAME.\n"
                                "      --pidfile=FILENAME  Read control cookie from FILENAME.\n"
+                               "      --force             Force some commands to work despite warnings.\n"
                                "      --help              Display this help and exit.\n"
                                "      --version           Output version information and exit.\n"
                                "\n"
@@ -145,11 +146,11 @@ static void usage(bool status) {
                                "  log [level]                Dump log output [up to the specified level]\n"
                                "  export                     Export host configuration of local node to standard output\n"
                                "  export-all                 Export all host configuration files to standard output\n"
-                               "  import [--force]           Import host configuration file(s) from standard input\n"
-                               "  exchange [--force]         Same as export followed by import\n"
-                               "  exchange-all [--force]     Same as export-all followed by import\n"
+                               "  import                     Import host configuration file(s) from standard input\n"
+                               "  exchange                   Same as export followed by import\n"
+                               "  exchange-all               Same as export-all followed by import\n"
                                "  invite NODE [...]          Generate an invitation for NODE\n"
-                               "  join INVITATION            Join a VPN using an INVITIATION\n"
+                               "  join INVITATION            Join a VPN using an INVITATION\n"
                                "  network [NETNAME]          List all known networks, or switch to the one named NETNAME.\n"
                                "  fsck                       Check the configuration files for problems.\n"
                                "\n");
@@ -1370,6 +1371,8 @@ const var_t variables[] = {
        {"UDPDiscoveryKeepaliveInterval", VAR_SERVER},
        {"UDPDiscoveryInterval", VAR_SERVER},
        {"UDPDiscoveryTimeout", VAR_SERVER},
+       {"MTUInfoInterval", VAR_SERVER},
+       {"UDPInfoInterval", VAR_SERVER},
        {"UDPRcvBuf", VAR_SERVER},
        {"UDPSndBuf", VAR_SERVER},
        {"VDEGroup", VAR_SERVER},
@@ -1610,6 +1613,11 @@ static int cmd_config(int argc, char *argv[]) {
                                }
                                set = true;
                                continue;
+                       // Add
+                       } else if(action > 0) {
+                               // Check if we've already seen this variable with the same value
+                               if(!strcasecmp(bvalue, value))
+                                       found = true;
                        }
                }
 
@@ -1642,7 +1650,7 @@ static int cmd_config(int argc, char *argv[]) {
        }
 
        // Add new variable if necessary.
-       if(action > 0 || (action == 0 && !set)) {
+       if((action > 0 && !found)|| (action == 0 && !set)) {
                if(fprintf(tf, "%s = %s\n", variable, value) < 0) {
                        fprintf(stderr, "Error writing to temporary file %s: %s\n", tmpfile, strerror(errno));
                        return 1;
@@ -2219,6 +2227,7 @@ static const struct {
        {"restart", cmd_restart},
        {"reload", cmd_reload},
        {"dump", cmd_dump},
+       {"list", cmd_dump},
        {"purge", cmd_purge},
        {"debug", cmd_debug},
        {"retry", cmd_retry},