X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Ftincd.c;h=0ccbdee6f13f6e7bca8a95b8efd580132f771afa;hp=8eeef1d3df8c7120ded020b87bce206cdf72615c;hb=66067cc9c1347fb2de35660d531fdd4be8aede6a;hpb=68e23b1c9e69b2a218b3be821ad1ba3b3b6a64f2 diff --git a/src/tincd.c b/src/tincd.c index 8eeef1d3..0ccbdee6 100644 --- a/src/tincd.c +++ b/src/tincd.c @@ -17,7 +17,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id: tincd.c,v 1.10.4.52 2001/09/01 12:36:53 guus Exp $ + $Id: tincd.c,v 1.10.4.55 2001/10/28 08:41:19 guus Exp $ */ #include "config.h" @@ -58,16 +58,19 @@ char *program_name; /* If nonzero, display usage information and exit. */ -static int show_help; +int show_help; /* If nonzero, print the version on standard output and exit. */ -static int show_version; +int show_version; /* If nonzero, it will attempt to kill a running tincd and exit. */ -static int kill_tincd = 0; +int kill_tincd = 0; /* If nonzero, generate public/private keypair for this host/net. */ -static int generate_keys = 0; +int generate_keys = 0; + +/* If nonzero, use null ciphers and skip all key exchanges. */ +int bypass_security = 0; char *identname; /* program name for syslog */ char *pidfilename; /* pid file location */ @@ -85,6 +88,7 @@ static struct option const long_options[] = { "no-detach", no_argument, &do_detach, 0 }, { "generate-keys", optional_argument, NULL, 'K'}, { "debug", optional_argument, NULL, 'd'}, + { "bypass-security", no_argument, &bypass_security, 1 }, { NULL, 0, NULL, 0 } }; @@ -205,7 +209,7 @@ int keygen(int bits) { RSA *rsa_key; FILE *f; - config_t const *cfg; + char *name = NULL; char *filename; fprintf(stderr, _("Generating %d bits keys:\n"), bits); @@ -219,8 +223,10 @@ int keygen(int bits) else fprintf(stderr, _("Done.\n")); - if(config && (cfg = get_config_val(config, config_name))) - asprintf(&filename, "%s/hosts/%s", confbase, cfg->data.ptr); + get_config_string(lookup_config(config_tree, "Name"), &name); + + if(name) + asprintf(&filename, "%s/hosts/%s", confbase, name); else asprintf(&filename, "%s/rsa_key.pub", confbase); @@ -317,6 +323,7 @@ main(int argc, char **argv, char **envp) g_argv = argv; make_names(); + init_configuration(&config_tree); /* Slllluuuuuuurrrrp! */ cp @@ -350,8 +357,8 @@ cp if(do_detach) { - syslog(LOG_NOTICE, _("Restarting in %d seconds!"), MAXTIMEOUT); - sleep(MAXTIMEOUT); + syslog(LOG_NOTICE, _("Restarting in %d seconds!"), maxtimeout); + sleep(maxtimeout); } else {