upstream commit
Two small fixes for sshd -T: ListenAddress'es are added to a list head so reverse the order when printing them to ensure the behaviour remains the same, and print StreamLocalBindMask as octal with leading zero. ok deraadt@
This commit is contained in:
parent
bd902b8473
commit
1108ae242f
27
servconf.c
27
servconf.c
|
@ -1,5 +1,5 @@
|
||||||
|
|
||||||
/* $OpenBSD: servconf.c,v 1.262 2015/04/23 04:53:53 dtucker Exp $ */
|
/* $OpenBSD: servconf.c,v 1.263 2015/04/23 04:59:10 dtucker Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
||||||
* All rights reserved
|
* All rights reserved
|
||||||
|
@ -2027,6 +2027,12 @@ dump_cfg_int(ServerOpCodes code, int val)
|
||||||
printf("%s %d\n", lookup_opcode_name(code), val);
|
printf("%s %d\n", lookup_opcode_name(code), val);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
dump_cfg_oct(ServerOpCodes code, int val)
|
||||||
|
{
|
||||||
|
printf("%s 0%o\n", lookup_opcode_name(code), val);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
dump_cfg_fmtint(ServerOpCodes code, int val)
|
dump_cfg_fmtint(ServerOpCodes code, int val)
|
||||||
{
|
{
|
||||||
|
@ -2071,6 +2077,7 @@ dump_config(ServerOptions *o)
|
||||||
int ret;
|
int ret;
|
||||||
struct addrinfo *ai;
|
struct addrinfo *ai;
|
||||||
char addr[NI_MAXHOST], port[NI_MAXSERV], *s = NULL;
|
char addr[NI_MAXHOST], port[NI_MAXSERV], *s = NULL;
|
||||||
|
char *laddr1 = xstrdup(""), *laddr2 = NULL;
|
||||||
|
|
||||||
/* these are usually at the top of the config */
|
/* these are usually at the top of the config */
|
||||||
for (i = 0; i < o->num_ports; i++)
|
for (i = 0; i < o->num_ports; i++)
|
||||||
|
@ -2078,7 +2085,11 @@ dump_config(ServerOptions *o)
|
||||||
dump_cfg_fmtint(sProtocol, o->protocol);
|
dump_cfg_fmtint(sProtocol, o->protocol);
|
||||||
dump_cfg_fmtint(sAddressFamily, o->address_family);
|
dump_cfg_fmtint(sAddressFamily, o->address_family);
|
||||||
|
|
||||||
/* ListenAddress must be after Port */
|
/*
|
||||||
|
* ListenAddress must be after Port. add_one_listen_addr pushes
|
||||||
|
* addresses onto a stack, so to maintain ordering we need to
|
||||||
|
* print these in reverse order.
|
||||||
|
*/
|
||||||
for (ai = o->listen_addrs; ai; ai = ai->ai_next) {
|
for (ai = o->listen_addrs; ai; ai = ai->ai_next) {
|
||||||
if ((ret = getnameinfo(ai->ai_addr, ai->ai_addrlen, addr,
|
if ((ret = getnameinfo(ai->ai_addr, ai->ai_addrlen, addr,
|
||||||
sizeof(addr), port, sizeof(port),
|
sizeof(addr), port, sizeof(port),
|
||||||
|
@ -2087,12 +2098,18 @@ dump_config(ServerOptions *o)
|
||||||
(ret != EAI_SYSTEM) ? gai_strerror(ret) :
|
(ret != EAI_SYSTEM) ? gai_strerror(ret) :
|
||||||
strerror(errno));
|
strerror(errno));
|
||||||
} else {
|
} else {
|
||||||
|
laddr2 = laddr1;
|
||||||
if (ai->ai_family == AF_INET6)
|
if (ai->ai_family == AF_INET6)
|
||||||
printf("listenaddress [%s]:%s\n", addr, port);
|
xasprintf(&laddr1, "listenaddress [%s]:%s\n%s",
|
||||||
|
addr, port, laddr2);
|
||||||
else
|
else
|
||||||
printf("listenaddress %s:%s\n", addr, port);
|
xasprintf(&laddr1, "listenaddress %s:%s\n%s",
|
||||||
|
addr, port, laddr2);
|
||||||
|
free(laddr2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
printf("%s", laddr1);
|
||||||
|
free(laddr1);
|
||||||
|
|
||||||
/* integer arguments */
|
/* integer arguments */
|
||||||
#ifdef USE_PAM
|
#ifdef USE_PAM
|
||||||
|
@ -2106,7 +2123,7 @@ dump_config(ServerOptions *o)
|
||||||
dump_cfg_int(sMaxSessions, o->max_sessions);
|
dump_cfg_int(sMaxSessions, o->max_sessions);
|
||||||
dump_cfg_int(sClientAliveInterval, o->client_alive_interval);
|
dump_cfg_int(sClientAliveInterval, o->client_alive_interval);
|
||||||
dump_cfg_int(sClientAliveCountMax, o->client_alive_count_max);
|
dump_cfg_int(sClientAliveCountMax, o->client_alive_count_max);
|
||||||
dump_cfg_int(sStreamLocalBindMask, o->fwd_opts.streamlocal_bind_mask);
|
dump_cfg_oct(sStreamLocalBindMask, o->fwd_opts.streamlocal_bind_mask);
|
||||||
|
|
||||||
/* formatted integer arguments */
|
/* formatted integer arguments */
|
||||||
dump_cfg_fmtint(sPermitRootLogin, o->permit_root_login);
|
dump_cfg_fmtint(sPermitRootLogin, o->permit_root_login);
|
||||||
|
|
Loading…
Reference in New Issue