]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream: do not attempt to find an absolute path for sshd_config
authordjm@openbsd.org <djm@openbsd.org>
Sun, 15 Dec 2019 20:57:15 +0000 (20:57 +0000)
committerDamien Miller <djm@mindrot.org>
Mon, 16 Dec 2019 03:19:41 +0000 (14:19 +1100)
SecurityKeyProvider=internal - unbreaks cfgparse regress test

OpenBSD-Commit-ID: d2ddcf525c0dc3c8339522360c10b3c70f1fd641

servconf.c

index 30cd598403f814cf1597ece19f106b9d0f3adbb6..9fe02d7e8609441ca06955439b82e27f967e0154 100644 (file)
@@ -1,5 +1,5 @@
 
-/* $OpenBSD: servconf.c,v 1.355 2019/12/15 18:57:30 djm Exp $ */
+/* $OpenBSD: servconf.c,v 1.356 2019/12/15 20:57:15 djm Exp $ */
 /*
  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
  *                    All rights reserved
@@ -2032,7 +2032,18 @@ process_server_config_line(ServerOptions *options, char *line,
 
        case sSecurityKeyProvider:
                charptr = &options->sk_provider;
-               goto parse_filename;
+               arg = strdelim(&cp);
+               if (!arg || *arg == '\0')
+                       fatal("%s line %d: missing file name.",
+                           filename, linenum);
+               if (*activep && *charptr == NULL) {
+                       *charptr = strcasecmp(arg, "internal") == 0 ?
+                           xstrdup(arg) : derelativise_path(arg);
+                       /* increase optional counter */
+                       if (intptr != NULL)
+                               *intptr = *intptr + 1;
+               }
+               break;
 
        case sIPQoS:
                arg = strdelim(&cp);