version 1.31.4.2, 2006/10/06 03:19:32 |
version 1.32, 2005/12/06 22:38:27 |
|
|
/* $OpenBSD$ */ |
|
/* |
/* |
* Author: Tatu Ylonen <ylo@cs.hut.fi> |
* 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 |
|
|
* called by a name other than "ssh" or "Secure Shell". |
* called by a name other than "ssh" or "Secure Shell". |
*/ |
*/ |
|
|
#include <sys/types.h> |
#include "includes.h" |
|
RCSID("$OpenBSD$"); |
|
|
#include <netdb.h> |
|
#include <pwd.h> |
|
#include <string.h> |
|
#include <stdio.h> |
|
#include <stdarg.h> |
|
|
|
#include "xmalloc.h" |
#include "xmalloc.h" |
#include "match.h" |
#include "match.h" |
#include "log.h" |
#include "log.h" |
#include "canohost.h" |
#include "canohost.h" |
#include "buffer.h" |
|
#include "channels.h" |
#include "channels.h" |
#include "auth-options.h" |
#include "auth-options.h" |
#include "servconf.h" |
#include "servconf.h" |
#include "misc.h" |
#include "misc.h" |
#include "key.h" |
|
#include "hostfile.h" |
|
#include "auth.h" |
|
#ifdef GSSAPI |
|
#include "ssh-gss.h" |
|
#endif |
|
#include "monitor_wrap.h" |
#include "monitor_wrap.h" |
|
#include "auth.h" |
|
|
/* Flags set authorized_keys flags */ |
/* Flags set authorized_keys flags */ |
int no_port_forwarding_flag = 0; |
int no_port_forwarding_flag = 0; |
|
|
forced_command = NULL; |
forced_command = NULL; |
goto bad_option; |
goto bad_option; |
} |
} |
forced_command[i] = '\0'; |
forced_command[i] = 0; |
auth_debug_add("Forced command: %.900s", forced_command); |
auth_debug_add("Forced command: %.900s", forced_command); |
opts++; |
opts++; |
goto next_option; |
goto next_option; |
|
|
xfree(s); |
xfree(s); |
goto bad_option; |
goto bad_option; |
} |
} |
s[i] = '\0'; |
s[i] = 0; |
auth_debug_add("Adding to environment: %.900s", s); |
auth_debug_add("Adding to environment: %.900s", s); |
debug("Adding to environment: %.900s", s); |
debug("Adding to environment: %.900s", s); |
opts++; |
opts++; |
|
|
xfree(patterns); |
xfree(patterns); |
goto bad_option; |
goto bad_option; |
} |
} |
patterns[i] = '\0'; |
patterns[i] = 0; |
opts++; |
opts++; |
if (match_host_and_ip(remote_host, remote_ip, |
if (match_host_and_ip(remote_host, remote_ip, |
patterns) != 1) { |
patterns) != 1) { |
|
|
xfree(patterns); |
xfree(patterns); |
goto bad_option; |
goto bad_option; |
} |
} |
patterns[i] = '\0'; |
patterns[i] = 0; |
opts++; |
opts++; |
p = patterns; |
p = patterns; |
host = hpdelim(&p); |
host = hpdelim(&p); |
|
|
forced_tun_device = -1; |
forced_tun_device = -1; |
goto bad_option; |
goto bad_option; |
} |
} |
tun[i] = '\0'; |
tun[i] = 0; |
forced_tun_device = a2tun(tun, NULL); |
forced_tun_device = a2tun(tun, NULL); |
xfree(tun); |
xfree(tun); |
if (forced_tun_device == SSH_TUNID_ERR) { |
if (forced_tun_device < -1) { |
debug("%.100s, line %lu: invalid tun device", |
debug("%.100s, line %lu: invalid tun device", |
file, linenum); |
file, linenum); |
auth_debug_add("%.100s, line %lu: invalid tun device", |
auth_debug_add("%.100s, line %lu: invalid tun device", |