version 1.138, 2001/08/11 22:51:27 |
version 1.139, 2001/08/28 15:39:48 |
|
|
*/ |
*/ |
Options options; |
Options options; |
|
|
|
/* optional user configfile */ |
|
char *config = NULL; |
|
|
/* |
/* |
* Name of the host we are connecting to. This is the name given on the |
* Name of the host we are connecting to. This is the name given on the |
* command line, or the HostName specified for the user-supplied name in a |
* command line, or the HostName specified for the user-supplied name in a |
|
|
fprintf(stderr, "Options:\n"); |
fprintf(stderr, "Options:\n"); |
fprintf(stderr, " -l user Log in using this user name.\n"); |
fprintf(stderr, " -l user Log in using this user name.\n"); |
fprintf(stderr, " -n Redirect input from " _PATH_DEVNULL ".\n"); |
fprintf(stderr, " -n Redirect input from " _PATH_DEVNULL ".\n"); |
|
fprintf(stderr, " -F config Config file (default: ~/%s).\n", |
|
_PATH_SSH_USER_CONFFILE); |
fprintf(stderr, " -A Enable authentication agent forwarding.\n"); |
fprintf(stderr, " -A Enable authentication agent forwarding.\n"); |
fprintf(stderr, " -a Disable authentication agent forwarding (default).\n"); |
fprintf(stderr, " -a Disable authentication agent forwarding (default).\n"); |
#ifdef AFS |
#ifdef AFS |
|
|
|
|
again: |
again: |
while ((opt = getopt(ac, av, |
while ((opt = getopt(ac, av, |
"1246ab:c:e:fgi:kl:m:no:p:qstvxACD:I:L:NPR:TVX")) != -1) { |
"1246ab:c:e:fgi:kl:m:no:p:qstvxACD:F:I:L:NPR:TVX")) != -1) { |
switch (opt) { |
switch (opt) { |
case '1': |
case '1': |
options.protocol = SSH_PROTO_1; |
options.protocol = SSH_PROTO_1; |
|
|
case 'b': |
case 'b': |
options.bind_address = optarg; |
options.bind_address = optarg; |
break; |
break; |
|
case 'F': |
|
config = optarg; |
|
break; |
default: |
default: |
usage(); |
usage(); |
} |
} |
|
|
log_init(av[0], options.log_level == -1 ? SYSLOG_LEVEL_INFO : options.log_level, |
log_init(av[0], options.log_level == -1 ? SYSLOG_LEVEL_INFO : options.log_level, |
SYSLOG_FACILITY_USER, 1); |
SYSLOG_FACILITY_USER, 1); |
|
|
/* Read per-user configuration file. */ |
/* |
snprintf(buf, sizeof buf, "%.100s/%.100s", pw->pw_dir, _PATH_SSH_USER_CONFFILE); |
* Read per-user configuration file. Ignore the system wide config |
read_config_file(buf, host, &options); |
* file if the user specifies a config file on the command line. |
|
*/ |
|
if (config != NULL) { |
|
read_config_file(config, host, &options); |
|
} else { |
|
snprintf(buf, sizeof buf, "%.100s/%.100s", pw->pw_dir, |
|
_PATH_SSH_USER_CONFFILE); |
|
|
/* Read systemwide configuration file. */ |
/* Read systemwide configuration file. */ |
read_config_file(_PATH_HOST_CONFIG_FILE, host, &options); |
read_config_file(_PATH_HOST_CONFIG_FILE, host, &options); |
|
read_config_file(buf, host, &options); |
|
} |
|
|
/* Fill configuration defaults. */ |
/* Fill configuration defaults. */ |
fill_default_options(&options); |
fill_default_options(&options); |