1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-21 20:38:45 +00:00
freebsd-ports/security/skip/files/patch-ck
Julian Elischer b7d69e8bbb Submitted by: archie Cobbs (archie@whistle.com)
updates to make skip port work better, from the original porter.
1998-04-13 00:17:45 +00:00

162 lines
4.5 KiB
Plaintext

diff -ur --unidirectional-new-file skipsrc-1.0.orig/skip/tools/skiphost/skiphost.c skipsrc-1.0/skip/tools/skiphost/skiphost.c
--- skipsrc-1.0.orig/skip/tools/skiphost/skiphost.c Fri Oct 25 13:13:03 1996
+++ skipsrc-1.0/skip/tools/skiphost/skiphost.c Sun Apr 12 15:29:52 1998
@@ -76,6 +76,7 @@
static char *skip_version = NULL;
static char *skip_mode = NULL;
static char *tunnel = NULL;
+static char *srcaddr = NULL;
static int opt, opt_cpt;
static int opt_action, opt_more;
@@ -89,11 +90,14 @@
static int opt_prt, opt_sh, opt_sel;
static int opt_trs, opt_tunnel;
static int opt_msk, opt_nomadic;
+static int opt_source;
boolean_t on_boot = B_FALSE;
#define SKIP_HOST_MASK "255.255.255.255"
+struct in_addr source_addr;
+
static void usage();
/*
@@ -218,6 +222,11 @@
if (params->ip_addr.s_addr != params->tunnel_addr.s_addr) {
printf(" -A %s", inet_ntoa(params->tunnel_addr));
}
+
+ if(params->source != 0) {
+ source_addr.s_addr = params->source;
+ printf(" -f %s", inet_ntoa(source_addr));
+ }
switch (params->version) {
@@ -376,6 +385,11 @@
printf(" tunnel=%s", inet_ntoa(params->tunnel_addr));
}
+ if (params->source != 0) {
+ source_addr.s_addr = params->source;
+ printf(" source=%s", inet_ntoa(source_addr));
+ }
+
switch (params->version) {
case SKIP_NONE:
@@ -907,12 +921,18 @@
}
}
+ if(opt_source) {
+ parms.source = inet_addr(srcaddr);
+ } else {
+ parms.source = 0;
+ }
+
/*
* Check if a cleartext host...
*/
opt_sel = opt_r_nsid + opt_s_nsid + opt_r_keyid;
opt_sel += opt_kij + opt_crypt + opt_mac + opt_comp;
- opt_sel += opt_vers + opt_nomadic + opt_tunnel;
+ opt_sel += opt_vers + opt_nomadic + opt_tunnel + opt_source;
if (!opt_sel) {
/*
@@ -1531,6 +1551,7 @@
"\t\t[-r <receiver NSID>] [-R <receiver key Id>]...\n"
"\t\t[-s <sender NSID>] [-S <sender key Id>]...\n"
"\t\t[-v <SKIP version>] [-A <tunnel address>] [-T]\n"
+ "\t\t[-f <source address>]\n"
"\t%s [-i <interface>] "
"-x <hostname|IP address|\"*\"> [-M <mask>]...\n"
"\t\t[-k <kij algorithm>] [-t <crypt algorithm>]...\n"
@@ -1592,6 +1613,7 @@
opt_trs = opt_msk = 0;
opt_prt = opt_sh = opt_mode = 0;
opt_nomadic = opt_tunnel = 0;
+ opt_source = 0;
ifname = skip_default_if();
@@ -1614,7 +1636,7 @@
*/
optind = 1;
while ((opt = getopt(argc, argv,
- "phuPVTa:d:o:x:i:s:r:S:R:k:t:m:c:v:M:A:")) != -1) {
+ "phuPVTa:d:o:x:i:s:r:S:R:k:t:m:c:v:M:A:f:")) != -1) {
switch (opt) {
@@ -1761,7 +1783,10 @@
SKIP_ONE(&opt_tunnel);
tunnel = optarg;
break;
-
+ case 'f':
+ SKIP_ONE(&opt_source);
+ srcaddr = optarg;
+ break;
case 'h':
default:
usage();
@@ -1890,7 +1915,7 @@
opt_sel = opt_r_nsid + opt_s_nsid + opt_r_keyid + opt_s_keyid;
opt_sel += opt_kij + opt_crypt + opt_mac + opt_comp;
opt_sel += opt_mode + opt_vers + opt_trs + opt_msk;
- opt_sel += opt_tunnel;
+ opt_sel += opt_tunnel + opt_source;
if (opt_sel) {
fprintf(stderr, "%s -u does not take options\n",
@@ -1912,7 +1937,7 @@
opt_sel = opt_r_nsid + opt_s_nsid + opt_r_keyid + opt_s_keyid;
opt_sel += opt_kij + opt_crypt + opt_mac + opt_comp;
opt_sel += opt_mode + opt_vers + opt_trs + opt_msk;
- opt_sel += opt_tunnel;
+ opt_sel += opt_tunnel + opt_source;
if (opt_sel) {
fprintf(stderr, "%s -p does not take options\n",
@@ -1941,7 +1966,7 @@
opt_sel = opt_r_nsid + opt_s_nsid + opt_r_keyid + opt_s_keyid;
opt_sel += opt_kij + opt_crypt + opt_mac + opt_comp;
opt_sel += opt_mode + opt_vers + opt_trs + opt_msk;
- opt_sel += opt_tunnel;
+ opt_sel += opt_tunnel + opt_source;
if (opt_sel) {
fprintf(stderr, "%s -P does not take options\n",
@@ -1963,7 +1988,7 @@
opt_sel = opt_r_nsid + opt_s_nsid + opt_r_keyid + opt_s_keyid;
opt_sel += opt_kij + opt_crypt + opt_mac + opt_comp;
opt_sel += opt_mode + opt_vers + opt_trs + opt_msk;
- opt_sel += opt_tunnel;
+ opt_sel += opt_tunnel + opt_source;
if (opt_sel) {
fprintf(stderr, "%s -V does not take options\n",
@@ -1985,7 +2010,7 @@
opt_sel = opt_r_nsid + opt_s_nsid + opt_r_keyid + opt_s_keyid;
opt_sel += opt_kij + opt_crypt + opt_mac + opt_comp;
opt_sel += opt_vers + opt_trs + opt_msk;
- opt_sel += opt_tunnel;
+ opt_sel += opt_tunnel + opt_source;
if (opt_sel) {
usage();
@@ -2018,7 +2043,7 @@
*/
opt_sel = opt_s_nsid + opt_s_keyid;
opt_sel += opt_kij + opt_crypt + opt_mac + opt_comp;
- opt_sel += opt_mode + opt_trs + opt_tunnel;
+ opt_sel += opt_mode + opt_trs + opt_tunnel + opt_source;
if (opt_sel) {
usage();