]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream commit
authordjm@openbsd.org <djm@openbsd.org>
Fri, 3 Feb 2017 05:05:56 +0000 (05:05 +0000)
committerDamien Miller <djm@mindrot.org>
Fri, 3 Feb 2017 05:07:27 +0000 (16:07 +1100)
allow form-feed characters at EOL; bz#2431 ok dtucker@

Upstream-ID: 1f453afaba6da2ae69d6afdf1ae79a917552f1a2

readconf.c
servconf.c

index 72b4a637c301caf9426fd0187b8f892f67cdd13c..6c934406e1fec3da170cce728b2831d41fc8eef6 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: readconf.c,v 1.266 2017/01/30 00:38:50 djm Exp $ */
+/* $OpenBSD: readconf.c,v 1.267 2017/02/03 05:05:56 djm Exp $ */
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -842,11 +842,11 @@ process_config_line_depth(Options *options, struct passwd *pw, const char *host,
                activep = &cmdline;
        }
 
-       /* Strip trailing whitespace */
+       /* Strip trailing whitespace. Allow \f (form feed) at EOL only */
        if ((len = strlen(line)) == 0)
                return 0;
        for (len--; len > 0; len--) {
-               if (strchr(WHITESPACE, line[len]) == NULL)
+               if (strchr(WHITESPACE "\f", line[len]) == NULL)
                        break;
                line[len] = '\0';
        }
index c9105a592d3025b7fe1237a3c09e83d1f536c2b3..1880b8cfdc9058c16a7afa853cd3a6021cc66613 100644 (file)
@@ -1,5 +1,5 @@
 
-/* $OpenBSD: servconf.c,v 1.302 2017/01/06 03:45:41 djm Exp $ */
+/* $OpenBSD: servconf.c,v 1.303 2017/02/03 05:05:56 djm Exp $ */
 /*
  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
  *                    All rights reserved
@@ -966,6 +966,15 @@ process_server_config_line(ServerOptions *options, char *line,
        long long val64;
        const struct multistate *multistate_ptr;
 
+       /* Strip trailing whitespace. Allow \f (form feed) at EOL only */
+       if ((len = strlen(line)) == 0)
+               return 0;
+       for (len--; len > 0; len--) {
+               if (strchr(WHITESPACE "\f", line[len]) == NULL)
+                       break;
+               line[len] = '\0';
+       }
+
        cp = line;
        if ((arg = strdelim(&cp)) == NULL)
                return 0;