version 1.40.2.2, 2000/09/01 18:23:22 |
version 1.40.2.3, 2000/11/08 21:31:12 |
|
|
/* |
/* |
* |
|
* servconf.c |
|
* |
|
* Author: Tatu Ylonen <ylo@cs.hut.fi> |
|
* |
|
* 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 |
* |
* |
* Created: Mon Aug 21 15:48:58 1995 ylo |
* As far as I am concerned, the code I have written for this software |
* |
* can be used freely for any purpose. Any derived versions of this |
|
* software must be clearly marked as such, and if the derived work is |
|
* incompatible with the protocol description in the RFC file, it must be |
|
* called by a name other than "ssh" or "Secure Shell". |
*/ |
*/ |
|
|
#include "includes.h" |
#include "includes.h" |
|
|
options->afs_token_passing = -1; |
options->afs_token_passing = -1; |
#endif |
#endif |
options->password_authentication = -1; |
options->password_authentication = -1; |
|
options->kbd_interactive_authentication = -1; |
#ifdef SKEY |
#ifdef SKEY |
options->skey_authentication = -1; |
options->skey_authentication = -1; |
#endif |
#endif |
options->permit_empty_passwd = -1; |
options->permit_empty_passwd = -1; |
options->use_login = -1; |
options->use_login = -1; |
|
options->allow_tcp_forwarding = -1; |
options->num_allow_users = 0; |
options->num_allow_users = 0; |
options->num_deny_users = 0; |
options->num_deny_users = 0; |
options->num_allow_groups = 0; |
options->num_allow_groups = 0; |
|
|
#endif /* AFS */ |
#endif /* AFS */ |
if (options->password_authentication == -1) |
if (options->password_authentication == -1) |
options->password_authentication = 1; |
options->password_authentication = 1; |
|
if (options->kbd_interactive_authentication == -1) |
|
options->kbd_interactive_authentication = 0; |
#ifdef SKEY |
#ifdef SKEY |
if (options->skey_authentication == -1) |
if (options->skey_authentication == -1) |
options->skey_authentication = 1; |
options->skey_authentication = 1; |
|
|
options->permit_empty_passwd = 0; |
options->permit_empty_passwd = 0; |
if (options->use_login == -1) |
if (options->use_login == -1) |
options->use_login = 0; |
options->use_login = 0; |
|
if (options->allow_tcp_forwarding == -1) |
|
options->allow_tcp_forwarding = 1; |
if (options->protocol == SSH_PROTO_UNKNOWN) |
if (options->protocol == SSH_PROTO_UNKNOWN) |
options->protocol = SSH_PROTO_1|SSH_PROTO_2; |
options->protocol = SSH_PROTO_1|SSH_PROTO_2; |
if (options->gateway_ports == -1) |
if (options->gateway_ports == -1) |
|
|
#ifdef SKEY |
#ifdef SKEY |
sSkeyAuthentication, |
sSkeyAuthentication, |
#endif |
#endif |
sPasswordAuthentication, sListenAddress, |
sPasswordAuthentication, sKbdInteractiveAuthentication, sListenAddress, |
sPrintMotd, sIgnoreRhosts, sX11Forwarding, sX11DisplayOffset, |
sPrintMotd, sIgnoreRhosts, sX11Forwarding, sX11DisplayOffset, |
sStrictModes, sEmptyPasswd, sRandomSeedFile, sKeepAlives, sCheckMail, |
sStrictModes, sEmptyPasswd, sRandomSeedFile, sKeepAlives, sCheckMail, |
sUseLogin, sAllowUsers, sDenyUsers, sAllowGroups, sDenyGroups, |
sUseLogin, sAllowTcpForwarding, |
|
sAllowUsers, sDenyUsers, sAllowGroups, sDenyGroups, |
sIgnoreUserKnownHosts, sHostDSAKeyFile, sCiphers, sProtocol, sPidFile, |
sIgnoreUserKnownHosts, sHostDSAKeyFile, sCiphers, sProtocol, sPidFile, |
sGatewayPorts, sDSAAuthentication, sXAuthLocation, sSubsystem, sMaxStartups |
sGatewayPorts, sDSAAuthentication, sXAuthLocation, sSubsystem, sMaxStartups |
} ServerOpCodes; |
} ServerOpCodes; |
|
|
{ "afstokenpassing", sAFSTokenPassing }, |
{ "afstokenpassing", sAFSTokenPassing }, |
#endif |
#endif |
{ "passwordauthentication", sPasswordAuthentication }, |
{ "passwordauthentication", sPasswordAuthentication }, |
|
{ "kbdinteractiveauthentication", sKbdInteractiveAuthentication }, |
#ifdef SKEY |
#ifdef SKEY |
{ "skeyauthentication", sSkeyAuthentication }, |
{ "skeyauthentication", sSkeyAuthentication }, |
#endif |
#endif |
|
|
{ "uselogin", sUseLogin }, |
{ "uselogin", sUseLogin }, |
{ "randomseed", sRandomSeedFile }, |
{ "randomseed", sRandomSeedFile }, |
{ "keepalive", sKeepAlives }, |
{ "keepalive", sKeepAlives }, |
|
{ "allowtcpforwarding", sAllowTcpForwarding }, |
{ "allowusers", sAllowUsers }, |
{ "allowusers", sAllowUsers }, |
{ "denyusers", sDenyUsers }, |
{ "denyusers", sDenyUsers }, |
{ "allowgroups", sAllowGroups }, |
{ "allowgroups", sAllowGroups }, |
|
|
intptr = &options->password_authentication; |
intptr = &options->password_authentication; |
goto parse_flag; |
goto parse_flag; |
|
|
|
case sKbdInteractiveAuthentication: |
|
intptr = &options->kbd_interactive_authentication; |
|
goto parse_flag; |
|
|
case sCheckMail: |
case sCheckMail: |
intptr = &options->check_mail; |
intptr = &options->check_mail; |
goto parse_flag; |
goto parse_flag; |
|
|
if (*intptr == -1) |
if (*intptr == -1) |
*intptr = (LogLevel) value; |
*intptr = (LogLevel) value; |
break; |
break; |
|
|
|
case sAllowTcpForwarding: |
|
intptr = &options->allow_tcp_forwarding; |
|
goto parse_flag; |
|
|
case sAllowUsers: |
case sAllowUsers: |
while ((arg = strdelim(&cp)) && *arg != '\0') { |
while ((arg = strdelim(&cp)) && *arg != '\0') { |