version 1.143, 2005/07/30 02:03:47 |
version 1.144, 2005/12/06 22:38:27 |
|
|
Cipher none |
Cipher none |
PasswordAuthentication no |
PasswordAuthentication no |
|
|
|
Host vpn.fake.com |
|
Tunnel yes |
|
TunnelDevice 3 |
|
|
# Defaults for various options |
# Defaults for various options |
Host * |
Host * |
ForwardAgent no |
ForwardAgent no |
|
|
oAddressFamily, oGssAuthentication, oGssDelegateCreds, |
oAddressFamily, oGssAuthentication, oGssDelegateCreds, |
oServerAliveInterval, oServerAliveCountMax, oIdentitiesOnly, |
oServerAliveInterval, oServerAliveCountMax, oIdentitiesOnly, |
oSendEnv, oControlPath, oControlMaster, oHashKnownHosts, |
oSendEnv, oControlPath, oControlMaster, oHashKnownHosts, |
|
oTunnel, oTunnelDevice, oLocalCommand, oPermitLocalCommand, |
oDeprecated, oUnsupported |
oDeprecated, oUnsupported |
} OpCodes; |
} OpCodes; |
|
|
|
|
{ "controlpath", oControlPath }, |
{ "controlpath", oControlPath }, |
{ "controlmaster", oControlMaster }, |
{ "controlmaster", oControlMaster }, |
{ "hashknownhosts", oHashKnownHosts }, |
{ "hashknownhosts", oHashKnownHosts }, |
|
{ "tunnel", oTunnel }, |
|
{ "tunneldevice", oTunnelDevice }, |
|
{ "localcommand", oLocalCommand }, |
|
{ "permitlocalcommand", oPermitLocalCommand }, |
{ NULL, oBadOption } |
{ NULL, oBadOption } |
}; |
}; |
|
|
|
|
xfree(options->remote_forwards[i].connect_host); |
xfree(options->remote_forwards[i].connect_host); |
} |
} |
options->num_remote_forwards = 0; |
options->num_remote_forwards = 0; |
|
options->tun_open = 0; |
} |
} |
|
|
/* |
/* |
|
|
int *activep) |
int *activep) |
{ |
{ |
char *s, **charptr, *endofnumber, *keyword, *arg, *arg2, fwdarg[256]; |
char *s, **charptr, *endofnumber, *keyword, *arg, *arg2, fwdarg[256]; |
int opcode, *intptr, value; |
int opcode, *intptr, value, value2; |
size_t len; |
size_t len; |
Forward fwd; |
Forward fwd; |
|
|
|
|
goto parse_string; |
goto parse_string; |
|
|
case oProxyCommand: |
case oProxyCommand: |
|
charptr = &options->proxy_command; |
|
parse_command: |
if (s == NULL) |
if (s == NULL) |
fatal("%.200s line %d: Missing argument.", filename, linenum); |
fatal("%.200s line %d: Missing argument.", filename, linenum); |
charptr = &options->proxy_command; |
|
len = strspn(s, WHITESPACE "="); |
len = strspn(s, WHITESPACE "="); |
if (*activep && *charptr == NULL) |
if (*activep && *charptr == NULL) |
*charptr = xstrdup(s + len); |
*charptr = xstrdup(s + len); |
|
|
intptr = &options->hash_known_hosts; |
intptr = &options->hash_known_hosts; |
goto parse_flag; |
goto parse_flag; |
|
|
|
case oTunnel: |
|
intptr = &options->tun_open; |
|
goto parse_flag; |
|
|
|
case oTunnelDevice: |
|
arg = strdelim(&s); |
|
if (!arg || *arg == '\0') |
|
fatal("%.200s line %d: Missing argument.", filename, linenum); |
|
value = a2tun(arg, &value2); |
|
if (value < -1) |
|
fatal("%.200s line %d: Bad tun device.", filename, linenum); |
|
if (*activep) { |
|
options->tun_local = value; |
|
options->tun_remote = value2; |
|
} |
|
break; |
|
|
|
case oLocalCommand: |
|
charptr = &options->local_command; |
|
goto parse_command; |
|
|
|
case oPermitLocalCommand: |
|
intptr = &options->permit_local_command; |
|
goto parse_flag; |
|
|
case oDeprecated: |
case oDeprecated: |
debug("%s line %d: Deprecated option \"%s\"", |
debug("%s line %d: Deprecated option \"%s\"", |
filename, linenum, keyword); |
filename, linenum, keyword); |
|
|
options->control_path = NULL; |
options->control_path = NULL; |
options->control_master = -1; |
options->control_master = -1; |
options->hash_known_hosts = -1; |
options->hash_known_hosts = -1; |
|
options->tun_open = -1; |
|
options->tun_local = -1; |
|
options->tun_remote = -1; |
|
options->local_command = NULL; |
|
options->permit_local_command = -1; |
} |
} |
|
|
/* |
/* |
|
|
options->control_master = 0; |
options->control_master = 0; |
if (options->hash_known_hosts == -1) |
if (options->hash_known_hosts == -1) |
options->hash_known_hosts = 0; |
options->hash_known_hosts = 0; |
|
if (options->tun_open == -1) |
|
options->tun_open = 0; |
|
if (options->permit_local_command == -1) |
|
options->permit_local_command = 0; |
|
/* options->local_command should not be set by default */ |
/* options->proxy_command should not be set by default */ |
/* options->proxy_command should not be set by default */ |
/* options->user will be set in the main program if appropriate */ |
/* options->user will be set in the main program if appropriate */ |
/* options->hostname will be set in the main program if appropriate */ |
/* options->hostname will be set in the main program if appropriate */ |