diff options
Diffstat (limited to 'usr.sbin/sasyncd')
-rw-r--r-- | usr.sbin/sasyncd/conf.y | 54 | ||||
-rw-r--r-- | usr.sbin/sasyncd/sasyncd.c | 63 | ||||
-rw-r--r-- | usr.sbin/sasyncd/sasyncd.h | 9 |
3 files changed, 59 insertions, 67 deletions
diff --git a/usr.sbin/sasyncd/conf.y b/usr.sbin/sasyncd/conf.y index e958d001011..d32a5043865 100644 --- a/usr.sbin/sasyncd/conf.y +++ b/usr.sbin/sasyncd/conf.y @@ -1,4 +1,4 @@ -/* $OpenBSD: conf.y,v 1.11 2006/06/02 20:31:48 moritz Exp $ */ +/* $OpenBSD: conf.y,v 1.12 2006/12/24 05:01:08 msf Exp $ */ /* * Copyright (c) 2005 Håkan Olsson. All rights reserved. @@ -269,7 +269,7 @@ yylex(void) return v; } -static int +int conf_parse_file(char *cfgfile) { struct stat st; @@ -342,56 +342,6 @@ conf_parse_file(char *cfgfile) return 1; } -int -conf_init(int argc, char **argv) -{ - char *cfgfile = 0; - int ch; - - memset(&cfgstate, 0, sizeof cfgstate); - cfgstate.runstate = INIT; - LIST_INIT(&cfgstate.peerlist); - - cfgstate.listen_port = SASYNCD_DEFAULT_PORT; - - while ((ch = getopt(argc, argv, "c:dv")) != -1) { - switch (ch) { - case 'c': - if (cfgfile) - return 2; - cfgfile = optarg; - break; - case 'd': - cfgstate.debug++; - break; - case 'v': - cfgstate.verboselevel++; - break; - default: - return 2; - } - } - argc -= optind; - argv += optind; - - if (argc > 0) - return 2; - - if (!cfgfile) - cfgfile = SASYNCD_CFGFILE; - - if (conf_parse_file(cfgfile) == 0) { - if (!cfgstate.sharedkey) { - fprintf(stderr, "config: " - "no shared key specified, cannot continue"); - return 1; - } - return 0; - } - - return 1; -} - void yyerror(const char *s) { diff --git a/usr.sbin/sasyncd/sasyncd.c b/usr.sbin/sasyncd/sasyncd.c index 0cca8426af6..2186318d9e4 100644 --- a/usr.sbin/sasyncd/sasyncd.c +++ b/usr.sbin/sasyncd/sasyncd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sasyncd.c,v 1.13 2006/09/01 01:13:25 mpf Exp $ */ +/* $OpenBSD: sasyncd.c,v 1.14 2006/12/24 05:01:08 msf Exp $ */ /* * Copyright (c) 2005 Håkan Olsson. All rights reserved. @@ -130,11 +130,22 @@ sasyncd_run(pid_t ppid) return 0; } +__dead static void +usage(void) +{ + extern char *__progname; + + fprintf(stderr, "Usage: %s [-c config-file] [-d] [-v[v]]\n", + __progname); + exit(1); +} + int main(int argc, char **argv) { extern char *__progname; - int r; + char *cfgfile = 0; + int ch, r; if (geteuid() != 0) { /* No point in continuing. */ @@ -154,15 +165,47 @@ main(int argc, char **argv) log_init(__progname); timer_init(); - r = conf_init(argc, argv); - if (r > 1) { - fprintf(stderr, "Usage: %s [-c config-file] [-d] [-v[v]]\n", - __progname); - fprintf(stderr, "Default configuration file is %s\n", - SASYNCD_CFGFILE); + memset(&cfgstate, 0, sizeof cfgstate); + cfgstate.runstate = INIT; + LIST_INIT(&cfgstate.peerlist); + + cfgstate.listen_port = SASYNCD_DEFAULT_PORT; + + while ((ch = getopt(argc, argv, "c:dv")) != -1) { + switch (ch) { + case 'c': + if (cfgfile) + return 2; + cfgfile = optarg; + break; + case 'd': + cfgstate.debug++; + break; + case 'v': + cfgstate.verboselevel++; + break; + default: + usage(); + } + } + argc -= optind; + argv += optind; + + if (argc > 0) + usage(); + + if (!cfgfile) + cfgfile = SASYNCD_CFGFILE; + + if (conf_parse_file(cfgfile) == 0 ) { + if (!cfgstate.sharedkey) { + fprintf(stderr, "config: " + "no shared key specified, cannot continue"); + exit(1); + } + } else { + exit(1); } - if (r) - return 1; carp_demote(CARP_INC, 0); diff --git a/usr.sbin/sasyncd/sasyncd.h b/usr.sbin/sasyncd/sasyncd.h index f2564f60c5c..979b97d9089 100644 --- a/usr.sbin/sasyncd/sasyncd.h +++ b/usr.sbin/sasyncd/sasyncd.h @@ -1,4 +1,4 @@ -/* $OpenBSD: sasyncd.h,v 1.11 2006/09/01 01:13:25 mpf Exp $ */ +/* $OpenBSD: sasyncd.h,v 1.12 2006/12/24 05:01:08 msf Exp $ */ /* * Copyright (c) 2005 Håkan Olsson. All rights reserved. @@ -102,7 +102,7 @@ extern int carp_demoted; #define CARP_DEMOTE_MAXTIME 60 /* conf.c */ -int conf_init(int, char **); +int conf_parse_file(char *); /* carp.c */ int carp_init(void); @@ -112,6 +112,8 @@ void carp_update_state(enum RUNSTATE); void carp_set_rfd(fd_set *); void carp_read_message(fd_set *); const char* carp_state_name(enum RUNSTATE); +void isakmpd_setrun(void); + /* log.c */ /* @@ -162,9 +164,6 @@ void timer_next_event(struct timeval *); void timer_run(void); int timer_add(char *, u_int32_t, void (*)(void *), void *); -/* carp.c */ -void isakmpd_setrun(void); - #if defined (GC_DEBUG) /* Boehms GC */ void *GC_debug_malloc(size_t, char *, int); |