diff options
-rw-r--r-- | servconf.c | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/servconf.c b/servconf.c index 44de35367..ccb257843 100644 --- a/servconf.c +++ b/servconf.c | |||
@@ -1,5 +1,5 @@ | |||
1 | 1 | ||
2 | /* $OpenBSD: servconf.c,v 1.319 2017/11/03 03:18:53 dtucker Exp $ */ | 2 | /* $OpenBSD: servconf.c,v 1.320 2017/11/03 05:18:44 djm Exp $ */ |
3 | /* | 3 | /* |
4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | 4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
5 | * All rights reserved | 5 | * All rights reserved |
@@ -1098,6 +1098,11 @@ struct multistate { | |||
1098 | char *key; | 1098 | char *key; |
1099 | int value; | 1099 | int value; |
1100 | }; | 1100 | }; |
1101 | static const struct multistate multistate_flag[] = { | ||
1102 | { "yes", 1 }, | ||
1103 | { "no", 0 }, | ||
1104 | { NULL, -1 } | ||
1105 | }; | ||
1101 | static const struct multistate multistate_addressfamily[] = { | 1106 | static const struct multistate multistate_addressfamily[] = { |
1102 | { "inet", AF_INET }, | 1107 | { "inet", AF_INET }, |
1103 | { "inet6", AF_INET6 }, | 1108 | { "inet6", AF_INET6 }, |
@@ -1338,21 +1343,8 @@ process_server_config_line(ServerOptions *options, char *line, | |||
1338 | case sIgnoreRhosts: | 1343 | case sIgnoreRhosts: |
1339 | intptr = &options->ignore_rhosts; | 1344 | intptr = &options->ignore_rhosts; |
1340 | parse_flag: | 1345 | parse_flag: |
1341 | arg = strdelim(&cp); | 1346 | multistate_ptr = multistate_flag; |
1342 | if (!arg || *arg == '\0') | 1347 | goto parse_multistate; |
1343 | fatal("%s line %d: missing yes/no argument.", | ||
1344 | filename, linenum); | ||
1345 | value = 0; /* silence compiler */ | ||
1346 | if (strcmp(arg, "yes") == 0) | ||
1347 | value = 1; | ||
1348 | else if (strcmp(arg, "no") == 0) | ||
1349 | value = 0; | ||
1350 | else | ||
1351 | fatal("%s line %d: Bad yes/no argument: %s", | ||
1352 | filename, linenum, arg); | ||
1353 | if (*activep && *intptr == -1) | ||
1354 | *intptr = value; | ||
1355 | break; | ||
1356 | 1348 | ||
1357 | case sIgnoreUserKnownHosts: | 1349 | case sIgnoreUserKnownHosts: |
1358 | intptr = &options->ignore_user_known_hosts; | 1350 | intptr = &options->ignore_user_known_hosts; |