fix AuthenticationMethods during configuration re-parse;
reported by Juan Francisco Cantero Hurtado

Upstream-ID: 8ffa1dac25c7577eca8238e825317ab20848f9b4
This commit is contained in:
djm@openbsd.org 2016-06-23 05:17:51 +00:00 коммит произвёл Damien Miller
Родитель 3147e7595d
Коммит 46ecd19e55
1 изменённых файлов: 4 добавлений и 2 удалений

Просмотреть файл

@ -1,5 +1,5 @@
/* $OpenBSD: servconf.c,v 1.291 2016/06/17 05:03:40 djm Exp $ */
/* $OpenBSD: servconf.c,v 1.292 2016/06/23 05:17:51 djm Exp $ */
/*
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
* All rights reserved
@ -1813,6 +1813,7 @@ process_server_config_line(ServerOptions *options, char *line,
case sAuthenticationMethods:
if (options->num_auth_methods == 0) {
value = 0; /* seen "any" pseudo-method */
value2 = 0; /* sucessfully parsed any method */
while ((arg = strdelim(&cp)) && *arg != '\0') {
if (options->num_auth_methods >=
MAX_AUTH_METHODS)
@ -1836,12 +1837,13 @@ process_server_config_line(ServerOptions *options, char *line,
"authentication method list.",
filename, linenum);
}
value2 = 1;
if (!*activep)
continue;
options->auth_methods[
options->num_auth_methods++] = xstrdup(arg);
}
if (options->num_auth_methods == 0) {
if (value2 == 0) {
fatal("%s line %d: no AuthenticationMethods "
"specified", filename, linenum);
}