version 1.40.2.4, 2001/03/12 15:44:14 |
version 1.40.2.5, 2001/03/21 18:53:00 |
|
|
sChallengeResponseAuthentication, |
sChallengeResponseAuthentication, |
sPasswordAuthentication, sKbdInteractiveAuthentication, sListenAddress, |
sPasswordAuthentication, sKbdInteractiveAuthentication, sListenAddress, |
sPrintMotd, sIgnoreRhosts, sX11Forwarding, sX11DisplayOffset, |
sPrintMotd, sIgnoreRhosts, sX11Forwarding, sX11DisplayOffset, |
sStrictModes, sEmptyPasswd, sRandomSeedFile, sKeepAlives, sCheckMail, |
sStrictModes, sEmptyPasswd, sKeepAlives, sCheckMail, |
sUseLogin, sAllowTcpForwarding, |
sUseLogin, sAllowTcpForwarding, |
sAllowUsers, sDenyUsers, sAllowGroups, sDenyGroups, |
sAllowUsers, sDenyUsers, sAllowGroups, sDenyGroups, |
sIgnoreUserKnownHosts, sCiphers, sMacs, sProtocol, sPidFile, |
sIgnoreUserKnownHosts, sCiphers, sMacs, sProtocol, sPidFile, |
|
|
{ "strictmodes", sStrictModes }, |
{ "strictmodes", sStrictModes }, |
{ "permitemptypasswords", sEmptyPasswd }, |
{ "permitemptypasswords", sEmptyPasswd }, |
{ "uselogin", sUseLogin }, |
{ "uselogin", sUseLogin }, |
{ "randomseed", sRandomSeedFile }, |
|
{ "keepalive", sKeepAlives }, |
{ "keepalive", sKeepAlives }, |
{ "allowtcpforwarding", sAllowTcpForwarding }, |
{ "allowtcpforwarding", sAllowTcpForwarding }, |
{ "allowusers", sAllowUsers }, |
{ "allowusers", sAllowUsers }, |
|
|
hints.ai_flags = (addr == NULL) ? AI_PASSIVE : 0; |
hints.ai_flags = (addr == NULL) ? AI_PASSIVE : 0; |
snprintf(strport, sizeof strport, "%d", options->ports[i]); |
snprintf(strport, sizeof strport, "%d", options->ports[i]); |
if ((gaierr = getaddrinfo(addr, strport, &hints, &aitop)) != 0) |
if ((gaierr = getaddrinfo(addr, strport, &hints, &aitop)) != 0) |
fatal("bad addr or host: %s (%s)\n", |
fatal("bad addr or host: %s (%s)", |
addr ? addr : "<NULL>", |
addr ? addr : "<NULL>", |
gai_strerror(gaierr)); |
gai_strerror(gaierr)); |
for (ai = aitop; ai->ai_next; ai = ai->ai_next) |
for (ai = aitop; ai->ai_next; ai = ai->ai_next) |
|
|
fatal("%s line %d: ports must be specified before " |
fatal("%s line %d: ports must be specified before " |
"ListenAdress.\n", filename, linenum); |
"ListenAdress.\n", filename, linenum); |
if (options->num_ports >= MAX_PORTS) |
if (options->num_ports >= MAX_PORTS) |
fatal("%s line %d: too many ports.\n", |
fatal("%s line %d: too many ports.", |
filename, linenum); |
filename, linenum); |
arg = strdelim(&cp); |
arg = strdelim(&cp); |
if (!arg || *arg == '\0') |
if (!arg || *arg == '\0') |
fatal("%s line %d: missing port number.\n", |
fatal("%s line %d: missing port number.", |
filename, linenum); |
filename, linenum); |
options->ports[options->num_ports++] = atoi(arg); |
options->ports[options->num_ports++] = atoi(arg); |
break; |
break; |
|
|
case sListenAddress: |
case sListenAddress: |
arg = strdelim(&cp); |
arg = strdelim(&cp); |
if (!arg || *arg == '\0') |
if (!arg || *arg == '\0') |
fatal("%s line %d: missing inet addr.\n", |
fatal("%s line %d: missing inet addr.", |
filename, linenum); |
filename, linenum); |
add_listen_addr(options, arg); |
add_listen_addr(options, arg); |
break; |
break; |
|
|
case sHostKeyFile: |
case sHostKeyFile: |
intptr = &options->num_host_key_files; |
intptr = &options->num_host_key_files; |
if (*intptr >= MAX_HOSTKEYS) { |
if (*intptr >= MAX_HOSTKEYS) { |
fprintf(stderr, "%s line %d: to many host keys specified (max %d).\n", |
fprintf(stderr, |
|
"%s line %d: too many host keys specified (max %d).\n", |
filename, linenum, MAX_HOSTKEYS); |
filename, linenum, MAX_HOSTKEYS); |
exit(1); |
exit(1); |
} |
} |
|
|
charptr = &options->pid_file; |
charptr = &options->pid_file; |
goto parse_filename; |
goto parse_filename; |
|
|
case sRandomSeedFile: |
|
fprintf(stderr, "%s line %d: \"randomseed\" option is obsolete.\n", |
|
filename, linenum); |
|
arg = strdelim(&cp); |
|
break; |
|
|
|
case sPermitRootLogin: |
case sPermitRootLogin: |
intptr = &options->permit_root_login; |
intptr = &options->permit_root_login; |
arg = strdelim(&cp); |
arg = strdelim(&cp); |
if (!arg || *arg == '\0') { |
if (!arg || *arg == '\0') { |
fprintf(stderr, "%s line %d: missing yes/without-password/no argument.\n", |
fprintf(stderr, "%s line %d: missing yes/" |
filename, linenum); |
"without-password/forced-commands-only/no " |
|
"argument.\n", filename, linenum); |
exit(1); |
exit(1); |
} |
} |
if (strcmp(arg, "without-password") == 0) |
if (strcmp(arg, "without-password") == 0) |
|
|
arg = strdelim(&cp); |
arg = strdelim(&cp); |
value = log_facility_number(arg); |
value = log_facility_number(arg); |
if (value == (SyslogFacility) - 1) |
if (value == (SyslogFacility) - 1) |
fatal("%.200s line %d: unsupported log facility '%s'\n", |
fatal("%.200s line %d: unsupported log facility '%s'", |
filename, linenum, arg ? arg : "<NONE>"); |
filename, linenum, arg ? arg : "<NONE>"); |
if (*intptr == -1) |
if (*intptr == -1) |
*intptr = (SyslogFacility) value; |
*intptr = (SyslogFacility) value; |
|
|
arg = strdelim(&cp); |
arg = strdelim(&cp); |
value = log_level_number(arg); |
value = log_level_number(arg); |
if (value == (LogLevel) - 1) |
if (value == (LogLevel) - 1) |
fatal("%.200s line %d: unsupported log level '%s'\n", |
fatal("%.200s line %d: unsupported log level '%s'", |
filename, linenum, arg ? arg : "<NONE>"); |
filename, linenum, arg ? arg : "<NONE>"); |
if (*intptr == -1) |
if (*intptr == -1) |
*intptr = (LogLevel) value; |
*intptr = (LogLevel) value; |
|
|
case sAllowUsers: |
case sAllowUsers: |
while ((arg = strdelim(&cp)) && *arg != '\0') { |
while ((arg = strdelim(&cp)) && *arg != '\0') { |
if (options->num_allow_users >= MAX_ALLOW_USERS) |
if (options->num_allow_users >= MAX_ALLOW_USERS) |
fatal("%s line %d: too many allow users.\n", |
fatal("%s line %d: too many allow users.", |
filename, linenum); |
filename, linenum); |
options->allow_users[options->num_allow_users++] = xstrdup(arg); |
options->allow_users[options->num_allow_users++] = xstrdup(arg); |
} |
} |
|
|
case sDenyUsers: |
case sDenyUsers: |
while ((arg = strdelim(&cp)) && *arg != '\0') { |
while ((arg = strdelim(&cp)) && *arg != '\0') { |
if (options->num_deny_users >= MAX_DENY_USERS) |
if (options->num_deny_users >= MAX_DENY_USERS) |
fatal( "%s line %d: too many deny users.\n", |
fatal( "%s line %d: too many deny users.", |
filename, linenum); |
filename, linenum); |
options->deny_users[options->num_deny_users++] = xstrdup(arg); |
options->deny_users[options->num_deny_users++] = xstrdup(arg); |
} |
} |
|
|
case sAllowGroups: |
case sAllowGroups: |
while ((arg = strdelim(&cp)) && *arg != '\0') { |
while ((arg = strdelim(&cp)) && *arg != '\0') { |
if (options->num_allow_groups >= MAX_ALLOW_GROUPS) |
if (options->num_allow_groups >= MAX_ALLOW_GROUPS) |
fatal("%s line %d: too many allow groups.\n", |
fatal("%s line %d: too many allow groups.", |
filename, linenum); |
filename, linenum); |
options->allow_groups[options->num_allow_groups++] = xstrdup(arg); |
options->allow_groups[options->num_allow_groups++] = xstrdup(arg); |
} |
} |
|
|
case sDenyGroups: |
case sDenyGroups: |
while ((arg = strdelim(&cp)) && *arg != '\0') { |
while ((arg = strdelim(&cp)) && *arg != '\0') { |
if (options->num_deny_groups >= MAX_DENY_GROUPS) |
if (options->num_deny_groups >= MAX_DENY_GROUPS) |
fatal("%s line %d: too many deny groups.\n", |
fatal("%s line %d: too many deny groups.", |
filename, linenum); |
filename, linenum); |
options->deny_groups[options->num_deny_groups++] = xstrdup(arg); |
options->deny_groups[options->num_deny_groups++] = xstrdup(arg); |
} |
} |