- (dtucker) [configure.ac misc.c readconf.c servconf.c ssh-keyscan.c] Make

RoutingDomain an unsupported option on platforms that don't have it.
This commit is contained in:
Darren Tucker 2010-01-08 19:53:52 +11:00
parent e67f7db968
commit 1f5e3dc274
6 changed files with 31 additions and 2 deletions

View File

@ -159,6 +159,8 @@
- (dtucker) [Makefile.in] .c files do not belong in the OBJ lines.
- (dtucker) [sftp.c] ifdef out the sftp completion bits for platforms that
don't have libedit.
- (dtucker) [configure.ac misc.c readconf.c servconf.c ssh-keyscan.c] Make
RoutingDomain an unsupported option on platforms that don't have it.
20091226
- (tim) [contrib/cygwin/Makefile] Install ssh-copy-id and ssh-copy-id.1

View File

@ -1,4 +1,4 @@
# $Id: configure.ac,v 1.432 2009/12/08 02:39:48 dtucker Exp $
# $Id: configure.ac,v 1.433 2010/01/08 08:53:52 dtucker Exp $
#
# Copyright (c) 1999-2004 Damien Miller
#
@ -15,7 +15,7 @@
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
AC_INIT(OpenSSH, Portable, openssh-unix-dev@mindrot.org)
AC_REVISION($Revision: 1.432 $)
AC_REVISION($Revision: 1.433 $)
AC_CONFIG_SRCDIR([ssh.c])
AC_CONFIG_HEADER(config.h)
@ -1623,6 +1623,11 @@ if test "x$ac_cv_func_getpeereid" != "xyes" -a "x$ac_cv_func_getpeerucred" != "x
)
fi
AC_CHECK_DECL(SO_RDOMAIN,
AC_DEFINE(USE_ROUTINGDOMAIN, 1, [Enable rdomain/VRF support]), ,
[#include <sys/types.h>
#include <sys/socket.h>])
dnl see whether mkstemp() requires XXXXXX
if test "x$ac_cv_func_mkdtemp" = "xyes" ; then
AC_MSG_CHECKING([for (overly) strict mkstemp])

4
misc.c
View File

@ -155,6 +155,7 @@ set_nodelay(int fd)
int
socket_rdomain(int domain, int type, int protocol, int rdomain)
{
#ifdef USE_ROUTINGDOMAIN
int sock, ipproto = IPPROTO_IP;
if ((sock = socket(domain, type, protocol)) == -1)
@ -186,6 +187,7 @@ socket_rdomain(int domain, int type, int protocol, int rdomain)
}
return (sock);
#endif
}
/* Characters considered whitespace in strsep calls. */
@ -273,6 +275,7 @@ a2port(const char *s)
return (int)port;
}
#ifdef USE_ROUTINGDOMAIN
int
a2rdomain(const char *s)
{
@ -284,6 +287,7 @@ a2rdomain(const char *s)
return -1;
return (int)rdomain;
}
#endif
int
a2tun(const char *s, int *remote)

View File

@ -229,7 +229,11 @@ static struct {
{ "permitlocalcommand", oPermitLocalCommand },
{ "visualhostkey", oVisualHostKey },
{ "useroaming", oUseRoaming },
#ifdef USE_ROUTINGDOMAIN
{ "routingdomain", oRDomain },
#else
{ "routingdomain", oUnsupported },
#endif
#ifdef JPAKE
{ "zeroknowledgepasswordauthentication",
oZeroKnowledgePasswordAuthentication },
@ -920,6 +924,7 @@ parse_int:
intptr = &options->use_roaming;
goto parse_flag;
#ifdef USE_ROUTINGDOMAIN
case oRDomain:
arg = strdelim(&s);
if (!arg || *arg == '\0')
@ -932,6 +937,7 @@ parse_int:
if (*activep)
options->rdomain = value;
break;
#endif
case oDeprecated:
debug("%s line %d: Deprecated option \"%s\"",

View File

@ -424,7 +424,11 @@ static struct {
{ "match", sMatch, SSHCFG_ALL },
{ "permitopen", sPermitOpen, SSHCFG_ALL },
{ "forcecommand", sForceCommand, SSHCFG_ALL },
#ifdef USE_ROUTINGDOMAIN
{ "routingdomain", sRDomain, SSHCFG_GLOBAL },
#else
{ "routingdomain", sUnsupported, SSHCFG_GLOBAL },
#endif
{ "chrootdirectory", sChrootDirectory, SSHCFG_ALL },
{ NULL, sBadOption, 0 }
};
@ -1296,6 +1300,7 @@ process_server_config_line(ServerOptions *options, char *line,
*charptr = xstrdup(arg);
break;
#ifdef USE_ROUTINGDOMAIN
case sRDomain:
intptr = &options->rdomain;
arg = strdelim(&cp);
@ -1308,6 +1313,7 @@ process_server_config_line(ServerOptions *options, char *line,
if (*intptr == -1)
*intptr = value;
break;
#endif
case sDeprecated:
logit("%s line %d: Deprecated option %s",

View File

@ -807,11 +807,17 @@ main(int argc, char **argv)
IPv4or6 = AF_INET6;
break;
case 'V':
#ifdef USE_ROUTINGDOMAIN
scan_rdomain = a2rdomain(optarg);
if (scan_rdomain == -1) {
fprintf(stderr, "Bad rdomain '%s'\n", optarg);
exit(1);
}
#else
fprintf(stderr, "RoutingDomain not supported on this "
"platform.\n");
exit(1);
#endif
break;
case '?':
default: