- OpenBSD CVS Sync

- djm@cvs.openbsd.org 2011/06/22 21:47:28
     [servconf.c]
     reuse the multistate option arrays to pretty-print options for "sshd -T"
This commit is contained in:
Damien Miller 2011-06-23 08:20:30 +10:00
parent 4ac99c366c
commit 82c558761d
2 changed files with 40 additions and 37 deletions

View File

@ -1,3 +1,9 @@
20110623
- OpenBSD CVS Sync
- djm@cvs.openbsd.org 2011/06/22 21:47:28
[servconf.c]
reuse the multistate option arrays to pretty-print options for "sshd -T"
20110620 20110620
- OpenBSD CVS Sync - OpenBSD CVS Sync
- djm@cvs.openbsd.org 2011/06/04 00:10:26 - djm@cvs.openbsd.org 2011/06/04 00:10:26

View File

@ -1,4 +1,4 @@
/* $OpenBSD: servconf.c,v 1.220 2011/06/17 21:47:35 djm Exp $ */ /* $OpenBSD: servconf.c,v 1.221 2011/06/22 21:47:28 djm 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
@ -1549,31 +1549,32 @@ parse_server_config(ServerOptions *options, const char *filename, Buffer *conf,
} }
static const char * static const char *
fmt_intarg(ServerOpCodes code, int val) fmt_multistate_int(int val, const struct multistate *m)
{ {
if (code == sAddressFamily) { u_int i;
switch (val) {
case AF_INET: for (i = 0; m[i].key != NULL; i++) {
return "inet"; if (m[i].value == val)
case AF_INET6: return m[i].key;
return "inet6"; }
case AF_UNSPEC:
return "any";
default:
return "UNKNOWN"; return "UNKNOWN";
} }
}
if (code == sPermitRootLogin) { static const char *
switch (val) { fmt_intarg(ServerOpCodes code, int val)
case PERMIT_NO_PASSWD: {
return "without-password"; if (val == -1)
case PERMIT_FORCED_ONLY: return "unset";
return "forced-commands-only"; switch (code) {
case PERMIT_YES: case sAddressFamily:
return "yes"; return fmt_multistate_int(val, multistate_addressfamily);
} case sPermitRootLogin:
} return fmt_multistate_int(val, multistate_permitrootlogin);
if (code == sProtocol) { case sGatewayPorts:
return fmt_multistate_int(val, multistate_gatewayports);
case sCompression:
return fmt_multistate_int(val, multistate_compression);
case sProtocol:
switch (val) { switch (val) {
case SSH_PROTO_1: case SSH_PROTO_1:
return "1"; return "1";
@ -1584,21 +1585,17 @@ fmt_intarg(ServerOpCodes code, int val)
default: default:
return "UNKNOWN"; return "UNKNOWN";
} }
} default:
if (code == sGatewayPorts && val == 2)
return "clientspecified";
if (code == sCompression && val == COMP_DELAYED)
return "delayed";
switch (val) { switch (val) {
case -1:
return "unset";
case 0: case 0:
return "no"; return "no";
case 1: case 1:
return "yes"; return "yes";
} default:
return "UNKNOWN"; return "UNKNOWN";
} }
}
}
static const char * static const char *
lookup_opcode_name(ServerOpCodes code) lookup_opcode_name(ServerOpCodes code)