diff options
author | Archie Cobbs <archie@FreeBSD.org> | 2000-01-26 01:55:28 +0000 |
---|---|---|
committer | Archie Cobbs <archie@FreeBSD.org> | 2000-01-26 01:55:28 +0000 |
commit | a3dd62941f5a3293aace76538667e68ba52e12c4 (patch) | |
tree | 9a66dfd2813b90bae64681c94871563c1efd38c6 /security/skip/files/patch-bl | |
parent | We were forgetting to install "README.FreeBSD+NAT". (diff) |
Bash this port until it compiles under -current again.
Notes
Notes:
svn path=/head/; revision=25078
Diffstat (limited to 'security/skip/files/patch-bl')
-rw-r--r-- | security/skip/files/patch-bl | 316 |
1 files changed, 12 insertions, 304 deletions
diff --git a/security/skip/files/patch-bl b/security/skip/files/patch-bl index ab2f351fc630..090b76e4fed7 100644 --- a/security/skip/files/patch-bl +++ b/security/skip/files/patch-bl @@ -1,304 +1,12 @@ ---- skipsrc.orig/skip/freebsd/skip_es.c Fri Oct 25 13:12:42 1996 -+++ work/skip/freebsd/skip_es.c Sat May 15 17:05:09 1999 -@@ -81,6 +81,11 @@ - static unsigned short skip_pktid; - static skip_softc_t skip_softc[SKIP_MAX_OPENS]; - -+static struct callout_handle -+ skip_timeout_handle = CALLOUT_HANDLE_INITIALIZER(&skip_timeout_handle); -+ -+MALLOC_DEFINE(M_SKIP, "skip", "SKIP control structures and buffers"); -+ - /* - * statistics - */ -@@ -116,11 +121,13 @@ - static int skip_ifoutput(struct ifnet *, struct mbuf *, - struct sockaddr *, struct rtentry *rtp); - static int skip_ifinput(struct mbuf *, int); --static void skip_inittimers(); --static void skip_uninittimers(); --static void skip_timer(); -+static void skip_inittimers(void); -+static void skip_uninittimers(void); -+static void skip_timer(void *); - static int skip_add_interface(char *); - static int skip_del_interface(char *); -+static void skip_ifwakeup(skip_softc_t *); -+static int skip_bufextend(struct mbuf *, int); - - static void skip_encrypt_done(void *, struct mbuf *, struct mbuf *, - void *, skip_arg_t *); -@@ -136,14 +143,14 @@ - /* - * From Crypt/MAC system... - */ --extern int skip_es_bypass_init(); --extern void skip_es_bypass_uninit(); --extern void skip_key_initstore(); --extern void skip_key_uninitstore(); --extern void skip_key_initcryptors(); --extern void skip_key_uninitcryptors(); --extern void skip_mac_init(); --extern void skip_mac_uninit(); -+extern int skip_es_bypass_init(void); -+extern void skip_es_bypass_uninit(void); -+extern void skip_key_initstore(void); -+extern void skip_key_uninitstore(void); -+extern void skip_key_initcryptors(void); -+extern void skip_key_uninitcryptors(void); -+extern void skip_mac_init(void); -+extern void skip_mac_uninit(void); - extern int skip_fmt_kmgr(union skip_messages *, skip_keycb_t *); - - extern struct cdevsw skipdevsw; -@@ -157,7 +164,7 @@ - * Returns: 0 on success, errno otherwise. - */ - int --skip_init() -+skip_init(void) - { - register int s, rc; - register struct protosw *pr; -@@ -252,7 +259,10 @@ - for (pr = inetdomain.dom_protosw; - pr < inetdomain.dom_protoswNPROTOSW; pr++) { - -- pr->pr_input = skip_ifinput; -+ if (pr->pr_protocol == IPPROTO_DIVERT) -+ continue; -+ pr->pr_input = -+ (void (*)(struct mbuf *, int)) skip_ifinput; - } - splx(s); - } -@@ -266,7 +276,7 @@ - * Returns: 0 on success, errno otherwise. - */ - int --skip_uninit() -+skip_uninit(void) - { - register int s; - if (skip_busy || skip_keys_stats.skip_encrypt_keys_active -@@ -319,7 +329,11 @@ - major(dev), flags); - #endif - -+#if __FreeBSD_version < 400005 - if (suser(p->p_ucred, &p->p_acflag )) { -+#else -+ if (suser(p)) { -+#endif - return (EPERM); - } - if (minor(dev) >= SKIP_MAX_OPENS) { -@@ -422,27 +436,30 @@ - * Returns: 0 if no data available, 1 otherwise - */ - int --skip_ifselect(dev, rw, p) -+skip_ifpoll(dev, events, p) - dev_t dev; -- int rw; -+ int events; - struct proc *p; - { - register skip_softc_t *sp = &skip_softc[minor(dev)]; - register int s; -+ int revents = 0; - -- if (rw == FWRITE) { -- return (1); -- } -+ /* Check readable */ - s = splimp(); -- if (sp->q.ifq_len > 0) { -- splx(s); -- return (1); -+ if (events & (POLLIN | POLLRDNORM)) { -+ if (sp->q.ifq_len > 0) -+ revents |= (events & (POLLIN | POLLRDNORM)); -+ else -+ selrecord(p, &sp->sp_si); - } - -- selrecord(p, &sp->sp_si); -+ /* Always writable */ -+ if (events & (POLLOUT | POLLWRNORM)) -+ revents |= (events & (POLLOUT | POLLWRNORM)); - - splx(s); -- return(0); -+ return(revents); - } - - /* skip_ifread() -@@ -786,9 +803,9 @@ - * Returns: None - */ - static void --skip_inittimers() -+skip_inittimers(void) - { -- timeout(skip_timer, NULL, skip_key_tick * hz); -+ skip_timeout_handle = timeout(skip_timer, NULL, skip_key_tick * hz); - } - - /* skip_uninittimers() -@@ -798,9 +815,10 @@ - * Returns: None - */ - static void --skip_uninittimers() -+skip_uninittimers(void) - { -- untimeout(skip_timer, NULL); -+ untimeout(skip_timer, NULL, skip_timeout_handle); -+ callout_handle_init(&skip_timeout_handle); - } - - /* skip_timer() -@@ -812,14 +830,13 @@ - */ - /*ARGSUSED*/ - static void --skip_timer(arg) -- caddr_t arg; -+skip_timer(void *arg) - { - /* - * run through the key store - */ - skip_key_iterate(skip_key_check, NULL); -- timeout(skip_timer, NULL, skip_key_tick * hz); -+ skip_timeout_handle = timeout(skip_timer, NULL, skip_key_tick * hz); - } - - #ifdef notdef -@@ -846,6 +863,7 @@ - } - #endif - -+#ifdef notdef - void - skip_dump_buf(char *what, unsigned char *p, int len) - { -@@ -857,7 +875,9 @@ - } - printf("].\n"); - } -+#endif - -+#ifdef notdef - void - skip_dump_ip(struct ip *ip) - { -@@ -878,6 +898,7 @@ - ip->ip_ttl, ip->ip_p, ntohs(ip->ip_sum)); - - } -+#endif - - /* - * SKIP Ioctl and Interface management routines -@@ -1107,7 +1128,7 @@ - int - skip_ifioctl(dev, cmd, data, fflag, p) - dev_t dev; -- int cmd; -+ u_long cmd; - caddr_t data; - int fflag; - struct proc *p; -@@ -1390,7 +1411,6 @@ - skip_es_t *skip_if; - int iphlen, hdrlen = 0; - struct mbuf *decryptbuf = NULL; -- extern u_char ip_protox[]; - skip_param_t params; - skip_hdr_t skip_hdr; - skip_es_hash_t *entry, **acl; -@@ -1718,7 +1738,7 @@ - */ - decryptbuf->m_data += iphlen; - -- SKIP_DEBUG2("skip_ifinput: decryptbuf m_len=%d m_data=%d\n", -+ SKIP_DEBUG2("skip_ifinput: decryptbuf m_len=%d m_data=%p\n", - decryptbuf->m_len, decryptbuf->m_data); - - } -@@ -1745,7 +1765,7 @@ - ip->ip_id = ntohs(ip->ip_id); - ip->ip_off = ntohs(ip->ip_off); - pass: -- m->m_flags &= ~ M_EOR; -+ m->m_flags &= ~ M_PROTO1; - (*inetsw_default[ip_protox[ip->ip_p]].pr_input)(m, hlen); - return (0); - } -@@ -1910,6 +1930,13 @@ - */ - IPADDRCOPY(¶ms.tunnel_addr, &newip->ip_dst); - -+ /* -+ * insert different source address if specified -+ */ -+ -+ if(params.source != 0) -+ (&newip->ip_src)->s_addr = params.source; -+ - encryptbuf->m_len += sizeof (struct ip); - - /* -@@ -2005,7 +2032,7 @@ - if (params.kp_alg) { - newip->ip_p = SKIP_NEXT_ESP; - } else { -- newip->ip_p = IPPROTO_ENCAP; -+ newip->ip_p = IPPROTO_IPIP; - } - } - skip_if->stats.skip_if_raw_out++; -@@ -2028,6 +2055,13 @@ - * insert tunnel address as destination - */ - IPADDRCOPY(¶ms.tunnel_addr, &newip->ip_dst); -+ -+ /* -+ * insert different source address if specified -+ */ -+ -+ if(params.source != 0) -+ (&newip->ip_src)->s_addr = params.source; - } - - if (params.s_nsid == 0) { -@@ -2097,7 +2131,7 @@ - register skip_param_t *params = &res->params; - register struct ip *ip = mtod(original, struct ip *); - int rc, s, iphlen; -- struct mbuf *outbuf, *new_hdr; -+ struct mbuf *outbuf; - - SKIP_PRINT("skip_decrypt_done", params); - -@@ -2125,7 +2159,7 @@ - */ - outbuf = (res->modes & SKIP_CRYPT_ON) ? m : original; - -- if (res->proto != IPPROTO_ENCAP) { -+ if (res->proto != IPPROTO_IPIP) { - /* - * transport mode, need to copy original IP header - */ -@@ -2195,7 +2229,7 @@ - /* - * tag the start of the header buffer so SKIP can recognise it - */ -- outbuf->m_flags |= M_EOR | M_PKTHDR; -+ outbuf->m_flags |= M_PROTO1 | M_PKTHDR; - - s = splimp(); - if (IF_QFULL(&ipintrq)) { +diff -ur --unidirectional-new-file skipsrc-1.0.orig/skip/common/skip_ipsp.c work.new/skip/common/skip_ipsp.c +--- skipsrc-1.0.orig/skip/common/skip_ipsp.c Fri Oct 25 13:12:40 1996 ++++ work.new/skip/common/skip_ipsp.c Tue Jan 25 09:57:16 2000 +@@ -79,7 +79,7 @@ + skip_hdr_ipsp_decode(unsigned char *start, unsigned char *end, skip_hdr_t *hdr) + { + register unsigned char *p = start; +- register i; ++ register int i; + register int Akp_len = 0; + register int Ekp_len = 0; + unsigned char version; |