head 1.2; access; symbols pkgsrc-2013Q2:1.2.0.54 pkgsrc-2013Q2-base:1.2 pkgsrc-2012Q4:1.2.0.52 pkgsrc-2012Q4-base:1.2 pkgsrc-2011Q4:1.2.0.50 pkgsrc-2011Q4-base:1.2 pkgsrc-2011Q2:1.2.0.48 pkgsrc-2011Q2-base:1.2 pkgsrc-2009Q4:1.2.0.46 pkgsrc-2009Q4-base:1.2 pkgsrc-2008Q4:1.2.0.44 pkgsrc-2008Q4-base:1.2 pkgsrc-2008Q3:1.2.0.42 pkgsrc-2008Q3-base:1.2 cube-native-xorg:1.2.0.40 cube-native-xorg-base:1.2 pkgsrc-2008Q2:1.2.0.38 pkgsrc-2008Q2-base:1.2 pkgsrc-2008Q1:1.2.0.36 pkgsrc-2008Q1-base:1.2 pkgsrc-2007Q4:1.2.0.34 pkgsrc-2007Q4-base:1.2 pkgsrc-2007Q3:1.2.0.32 pkgsrc-2007Q3-base:1.2 pkgsrc-2007Q2:1.2.0.30 pkgsrc-2007Q2-base:1.2 pkgsrc-2007Q1:1.2.0.28 pkgsrc-2007Q1-base:1.2 pkgsrc-2006Q4:1.2.0.26 pkgsrc-2006Q4-base:1.2 pkgsrc-2006Q3:1.2.0.24 pkgsrc-2006Q3-base:1.2 pkgsrc-2006Q2:1.2.0.22 pkgsrc-2006Q2-base:1.2 pkgsrc-2006Q1:1.2.0.20 pkgsrc-2006Q1-base:1.2 pkgsrc-2005Q4:1.2.0.18 pkgsrc-2005Q4-base:1.2 pkgsrc-2005Q3:1.2.0.16 pkgsrc-2005Q3-base:1.2 pkgsrc-2005Q2:1.2.0.14 pkgsrc-2005Q2-base:1.2 pkgsrc-2005Q1:1.2.0.12 pkgsrc-2005Q1-base:1.2 pkgsrc-2004Q4:1.2.0.10 pkgsrc-2004Q4-base:1.2 pkgsrc-2004Q3:1.2.0.8 pkgsrc-2004Q3-base:1.2 pkgsrc-2004Q2:1.2.0.6 pkgsrc-2004Q2-base:1.2 pkgsrc-2004Q1:1.2.0.4 pkgsrc-2004Q1-base:1.2 pkgsrc-2003Q4:1.2.0.2 pkgsrc-2003Q4-base:1.2 buildlink2-base:1.2 netbsd-1-5-PATCH001:1.1 netbsd-1-5-RELEASE:1.1 netbsd-1-4-PATCH003:1.1; locks; strict; comment @# @; 1.2 date 2001.08.02.12.55.25; author itojun; state dead; branches; next 1.1; 1.1 date 2000.03.20.02.25.35; author itojun; state Exp; branches; next ; desc @@ 1.2 log @say goodbye to security/ssh6. per comments on packages@@netbsd. @ text @$NetBSD: patch-ai,v 1.1 2000/03/20 02:25:35 itojun Exp $ --- scp.c.orig Wed May 12 07:19:28 1999 +++ scp.c Fri Dec 24 21:54:17 1999 @@@@ -180,6 +180,19 @@@@ #define STDERR_FILENO 2 #endif +#ifdef AFS +/* This is set to non-zero to disable authentication forwarding. */ +int nofwd = 0; +#endif /* AFS */ + +/* This is set to non-zero if IPv4 is desired. */ +int IPv4 = 0; + +#ifdef ENABLE_IPV6 +/* This is set to non-zero if IPv6 is desired. */ +int IPv6 = 0; +#endif + /* This is set to non-zero to enable verbose mode. */ int verbose = 0; @@@@ -295,8 +308,17 @@@@ } args[i++] = "-x"; args[i++] = "-a"; +#ifdef ENABLE_ANOTHER_PORT_TRY + args[i++] = "-A"; +#endif /* ENABLE_ANOTHER_PORT_TRY */ args[i++] = "-oFallBackToRsh no"; args[i++] = "-oClearAllForwardings yes"; + if (IPv4) + args[i++] = "-4"; +#ifdef ENABLE_IPV6 + if (IPv6) + args[i++] = "-6"; +#endif if (verbose) args[i++] = "-v"; if (compress) @@@@ -305,6 +327,10 @@@@ args[i++] = "-P"; if (batchmode) args[i++] = "-oBatchMode yes"; +#ifdef AFS + if (nofwd) + args[i++] = "-k"; +#endif /* AFS */ if (cipher != NULL) { args[i++] = "-c"; @@@@ -441,8 +467,23 @@@@ statistics = 0; fflag = tflag = 0; - while ((ch = getopt(argc, argv, "aAqQdfprtvBCL1c:i:P:o:S:")) != EOF) + while ((ch = getopt(argc, argv, "aAqQdfprtvBCL1c:i:P:o:S:4" +#ifdef AFS + "k" +#endif +#ifdef ENABLE_IPV6 + "6" +#endif + )) != EOF) switch(ch) { /* User-visible flags. */ + case '4': + IPv4 = 1; + break; +#ifdef ENABLE_IPV6 + case '6': + IPv6 = 1; + break; +#endif case 'S': ssh_program = optarg; break; @@@@ -490,6 +531,11 @@@@ case 'r': iamrecursive = 1; break; +#ifdef AFS + case 'k': + nofwd = 1; + break; +#endif /* AFS */ /* Server options. */ case 'd': targetshouldbedirectory = 1; @@@@ -589,6 +635,17 @@@@ exit(errs != 0); } +char * +cleanhostname(host) + char *host; +{ + if (*host == '[' && host[strlen(host) - 1] == ']') { + host[strlen(host) - 1] = '\0'; + return (host + 1); + } else + return host; +} + void toremote(targ, argc, argv) char *targ, *argv[]; @@@@ -644,6 +701,7 @@@@ bp = xmalloc(len); if (host) { *host++ = 0; + host = cleanhostname(host); suser = argv[i]; if (*suser == '\0') suser = pwd->pw_name; @@@@ -655,13 +713,15 @@@@ suser, host, cmd, src, tuser ? tuser : "", tuser ? "@@" : "", thost, targ); - } else + } else { + host = cleanhostname(argv[i]); (void)snprintf(bp, len, "exec %s%s %s -x -o'FallBackToRsh no' -o'ClearAllForwardings yes' -n %s %s %s '%s%s%s:%s'", ssh_program, verbose ? " -v" : "", options, - argv[i], cmd, src, + host, cmd, src, tuser ? tuser : "", tuser ? "@@" : "", thost, targ); + } if (verbose) fprintf(stderr, "Executing: %s\n", bp); if (system(bp)) errs++; @@@@ -671,7 +731,7 @@@@ len = strlen(targ) + CMDNEEDS + 20; bp = xmalloc(len); (void)snprintf(bp, len, "%s -t %s", cmd, targ); - host = thost; + host = cleanhostname(thost); if (do_cmd(host, tuser, bp, &remin, &remout) < 0) exit(1); @@@@ -721,6 +781,7 @@@@ else if (!okname(suser)) continue; } + host = cleanhostname(host); len = strlen(src) + CMDNEEDS + 20; bp = xmalloc(len); (void)snprintf(bp, len, "%s -f %s", cmd, src); @@@@ -1365,11 +1426,19 @@@@ colon(cp) char *cp; { + int flag = 0; + if (*cp == ':') /* Leading colon is part of file name. */ return (0); + if (*cp == '[') + flag = 1; for (; *cp; ++cp) { - if (*cp == ':') + if (*cp == '@@' && *(cp+1) == '[') + flag = 1; + if (*cp == ']' && *(cp+1) == ':' && flag) + return (cp+1); + if (*cp == ':' && !flag) return (cp); if (*cp == '/') return (0); @ 1.1 log @split security/ssh and security/ssh6. security/ssh6: IPv4/v6 ready, socks unavailable, kerberos available (not tested) security/ssh: IPv4 onlyready, socks available, kerberos available (not tested) should be integrated into one whenever socks support becomes aware of getaddrinfo/getnameinfo. two directories with tons of patches/patch-* is a maintenance headache. @ text @d1 1 a1 1 $NetBSD: patch-ai,v 1.5 1999/12/25 05:28:35 kim Exp $ @