diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | servconf.c | 71 |
2 files changed, 40 insertions, 37 deletions
@@ -1,3 +1,9 @@ | |||
1 | 20110623 | ||
2 | - OpenBSD CVS Sync | ||
3 | - djm@cvs.openbsd.org 2011/06/22 21:47:28 | ||
4 | [servconf.c] | ||
5 | reuse the multistate option arrays to pretty-print options for "sshd -T" | ||
6 | |||
1 | 20110620 | 7 | 20110620 |
2 | - OpenBSD CVS Sync | 8 | - OpenBSD CVS Sync |
3 | - djm@cvs.openbsd.org 2011/06/04 00:10:26 | 9 | - djm@cvs.openbsd.org 2011/06/04 00:10:26 |
diff --git a/servconf.c b/servconf.c index 909ad7d8f..03b974617 100644 --- a/servconf.c +++ b/servconf.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: servconf.c,v 1.220 2011/06/17 21:47:35 djm Exp $ */ | 1 | /* $OpenBSD: servconf.c,v 1.221 2011/06/22 21:47:28 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | 3 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
4 | * All rights reserved | 4 | * All rights reserved |
@@ -1549,31 +1549,32 @@ parse_server_config(ServerOptions *options, const char *filename, Buffer *conf, | |||
1549 | } | 1549 | } |
1550 | 1550 | ||
1551 | static const char * | 1551 | static const char * |
1552 | fmt_intarg(ServerOpCodes code, int val) | 1552 | fmt_multistate_int(int val, const struct multistate *m) |
1553 | { | 1553 | { |
1554 | if (code == sAddressFamily) { | 1554 | u_int i; |
1555 | switch (val) { | 1555 | |
1556 | case AF_INET: | 1556 | for (i = 0; m[i].key != NULL; i++) { |
1557 | return "inet"; | 1557 | if (m[i].value == val) |
1558 | case AF_INET6: | 1558 | return m[i].key; |
1559 | return "inet6"; | ||
1560 | case AF_UNSPEC: | ||
1561 | return "any"; | ||
1562 | default: | ||
1563 | return "UNKNOWN"; | ||
1564 | } | ||
1565 | } | ||
1566 | if (code == sPermitRootLogin) { | ||
1567 | switch (val) { | ||
1568 | case PERMIT_NO_PASSWD: | ||
1569 | return "without-password"; | ||
1570 | case PERMIT_FORCED_ONLY: | ||
1571 | return "forced-commands-only"; | ||
1572 | case PERMIT_YES: | ||
1573 | return "yes"; | ||
1574 | } | ||
1575 | } | 1559 | } |
1576 | if (code == sProtocol) { | 1560 | return "UNKNOWN"; |
1561 | } | ||
1562 | |||
1563 | static const char * | ||
1564 | fmt_intarg(ServerOpCodes code, int val) | ||
1565 | { | ||
1566 | if (val == -1) | ||
1567 | return "unset"; | ||
1568 | switch (code) { | ||
1569 | case sAddressFamily: | ||
1570 | return fmt_multistate_int(val, multistate_addressfamily); | ||
1571 | case sPermitRootLogin: | ||
1572 | return fmt_multistate_int(val, multistate_permitrootlogin); | ||
1573 | case sGatewayPorts: | ||
1574 | return fmt_multistate_int(val, multistate_gatewayports); | ||
1575 | case sCompression: | ||
1576 | return fmt_multistate_int(val, multistate_compression); | ||
1577 | case sProtocol: | ||
1577 | switch (val) { | 1578 | switch (val) { |
1578 | case SSH_PROTO_1: | 1579 | case SSH_PROTO_1: |
1579 | return "1"; | 1580 | return "1"; |
@@ -1584,20 +1585,16 @@ fmt_intarg(ServerOpCodes code, int val) | |||
1584 | default: | 1585 | default: |
1585 | return "UNKNOWN"; | 1586 | return "UNKNOWN"; |
1586 | } | 1587 | } |
1588 | default: | ||
1589 | switch (val) { | ||
1590 | case 0: | ||
1591 | return "no"; | ||
1592 | case 1: | ||
1593 | return "yes"; | ||
1594 | default: | ||
1595 | return "UNKNOWN"; | ||
1596 | } | ||
1587 | } | 1597 | } |
1588 | if (code == sGatewayPorts && val == 2) | ||
1589 | return "clientspecified"; | ||
1590 | if (code == sCompression && val == COMP_DELAYED) | ||
1591 | return "delayed"; | ||
1592 | switch (val) { | ||
1593 | case -1: | ||
1594 | return "unset"; | ||
1595 | case 0: | ||
1596 | return "no"; | ||
1597 | case 1: | ||
1598 | return "yes"; | ||
1599 | } | ||
1600 | return "UNKNOWN"; | ||
1601 | } | 1598 | } |
1602 | 1599 | ||
1603 | static const char * | 1600 | static const char * |