]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream: Do not call process_queued_listen_addrs() for every
authordjm@openbsd.org <djm@openbsd.org>
Wed, 27 May 2020 21:59:11 +0000 (21:59 +0000)
committerDarren Tucker <dtucker@dtucker.net>
Thu, 28 May 2020 00:25:18 +0000 (10:25 +1000)
included file from sshd_config; patch from Jakub Jelen

OpenBSD-Commit-ID: 0ff603d6f06a7fab4881f12503b53024799d0a49

servconf.c

index ba0a92c7b306eb157eabbe28ac4160236ac9ebad..391f4e8270f9227504dfc8bd2157885c9f705c69 100644 (file)
@@ -1,5 +1,5 @@
 
-/* $OpenBSD: servconf.c,v 1.363 2020/04/17 03:30:05 djm Exp $ */
+/* $OpenBSD: servconf.c,v 1.364 2020/05/27 21:59:11 djm Exp $ */
 /*
  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
  *                    All rights reserved
@@ -74,8 +74,8 @@ static void add_listen_addr(ServerOptions *, const char *,
     const char *, int);
 static void add_one_listen_addr(ServerOptions *, const char *,
     const char *, int);
-void parse_server_config_depth(ServerOptions *options, const char *filename,
-    struct sshbuf *conf, struct include_list *includes,
+static void parse_server_config_depth(ServerOptions *options,
+    const char *filename, struct sshbuf *conf, struct include_list *includes,
     struct connection_info *connectinfo, int flags, int *activep, int depth);
 
 /* Use of privilege separation or not */
@@ -2570,7 +2570,7 @@ copy_set_server_options(ServerOptions *dst, ServerOptions *src, int preauth)
 #undef M_CP_STRARRAYOPT
 
 #define SERVCONF_MAX_DEPTH     16
-void
+static void
 parse_server_config_depth(ServerOptions *options, const char *filename,
     struct sshbuf *conf, struct include_list *includes,
     struct connection_info *connectinfo, int flags, int *activep, int depth)
@@ -2596,7 +2596,6 @@ parse_server_config_depth(ServerOptions *options, const char *filename,
        if (bad_options > 0)
                fatal("%s: terminating, %d bad configuration options",
                    filename, bad_options);
-       process_queued_listen_addrs(options);
 }
 
 void
@@ -2607,6 +2606,7 @@ parse_server_config(ServerOptions *options, const char *filename,
        int active = connectinfo ? 0 : 1;
        parse_server_config_depth(options, filename, conf, includes,
            connectinfo, 0, &active, 0);
+       process_queued_listen_addrs(options);
 }
 
 static const char *