diff --git a/openssh-6.6.1p1-servconf-parser.patch b/openssh-6.6.1p1-servconf-parser.patch new file mode 100644 index 0000000..b93f6f3 --- /dev/null +++ b/openssh-6.6.1p1-servconf-parser.patch @@ -0,0 +1,31 @@ +diff --git a/servconf.c b/servconf.c +index b7f3294..bc1e909 100644 +--- a/servconf.c ++++ b/servconf.c +@@ -1550,7 +1550,7 @@ process_server_config_line(ServerOptions *options, char *line, + break; + + case sForceCommand: +- if (cp == NULL) ++ if (cp == NULL || *cp == '\0') + fatal("%.200s line %d: Missing argument.", filename, + linenum); + len = strspn(cp, WHITESPACE); +@@ -1595,7 +1595,7 @@ process_server_config_line(ServerOptions *options, char *line, + break; + + case sVersionAddendum: +- if (cp == NULL) ++ if (cp == NULL || *cp == '\0') + fatal("%.200s line %d: Missing argument.", filename, + linenum); + len = strspn(cp, WHITESPACE); +@@ -1630,6 +1630,8 @@ process_server_config_line(ServerOptions *options, char *line, + break; + + case sAuthenticationMethods: ++ if (cp == NULL || *cp == '\0') ++ fatal("%.200s line %d: Missing argument.", filename, linenum); + if (*activep && options->num_auth_methods == 0) { + while ((arg = strdelim(&cp)) && *arg != '\0') { + if (options->num_auth_methods >= diff --git a/openssh.spec b/openssh.spec index e0e6806..ca58e0c 100644 --- a/openssh.spec +++ b/openssh.spec @@ -201,6 +201,9 @@ Patch912: openssh-6.6.1p1-utf8-banner.patch # don't consider a partial success as a failure # https://bugzilla.mindrot.org/show_bug.cgi?id=2270 Patch913: openssh-6.6.1p1-partial-success.patch +# fix parsing of empty options in sshd_conf +# https://bugzilla.mindrot.org/show_bug.cgi?id=2281 +Patch914: openssh-6.6.1p1-servconf-parser.patch License: BSD @@ -409,6 +412,7 @@ popd %patch911 -p1 -b .set_remote_ipaddr %patch912 -p1 -b .utf8-banner %patch913 -p1 -b .partial-success +%patch914 -p1 -b .servconf %patch200 -p1 -b .audit %patch700 -p1 -b .fips