- (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) [Makefile.in] .c files do not belong in the OBJ lines.
- (dtucker) [sftp.c] ifdef out the sftp completion bits for platforms that - (dtucker) [sftp.c] ifdef out the sftp completion bits for platforms that
don't have libedit. 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 20091226
- (tim) [contrib/cygwin/Makefile] Install ssh-copy-id and ssh-copy-id.1 - (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 # Copyright (c) 1999-2004 Damien Miller
# #
@ -15,7 +15,7 @@
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
AC_INIT(OpenSSH, Portable, openssh-unix-dev@mindrot.org) 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_SRCDIR([ssh.c])
AC_CONFIG_HEADER(config.h) 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 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 dnl see whether mkstemp() requires XXXXXX
if test "x$ac_cv_func_mkdtemp" = "xyes" ; then if test "x$ac_cv_func_mkdtemp" = "xyes" ; then
AC_MSG_CHECKING([for (overly) strict mkstemp]) AC_MSG_CHECKING([for (overly) strict mkstemp])

4
misc.c
View File

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

View File

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

View File

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

View File

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