]> git.hungrycats.org Git - linux/commitdiff
[IPV6]: Kill broken and unused IPV6_AUTHHDR support.
authorHideaki Yoshifuji <yoshfuji@linux-ipv6.org>
Sun, 8 Feb 2004 04:54:14 +0000 (20:54 -0800)
committerDavid S. Miller <davem@nuts.davemloft.net>
Sun, 8 Feb 2004 04:54:14 +0000 (20:54 -0800)
include/linux/ipv6.h
net/ipv6/datagram.c
net/ipv6/exthdrs.c
net/ipv6/ipv6_sockglue.c

index ab97fc52092130bfee7316de1087f9a82f23db30..29911bf4218e035b4c2b1875367cdab05ed480fc 100644 (file)
@@ -185,7 +185,6 @@ struct inet6_skb_parm
        int                     iif;
        __u16                   ra;
        __u16                   hop;
-       __u16                   auth;
        __u16                   dst0;
        __u16                   srcrt;
        __u16                   dst1;
@@ -211,7 +210,6 @@ struct ipv6_pinfo {
                                rxhlim:1,
                                hopopts:1,
                                dstopts:1,
-                                authhdr:1,
                                 rxflow:1;
                } bits;
                __u8            all;
index a32e0b5d9c82ff779a830e042d867f60ec68ee3e..8c39cf5f6e340dad10fc40939928bf9c6b5ae00a 100644 (file)
@@ -242,10 +242,6 @@ int datagram_recv_ctl(struct sock *sk, struct msghdr *msg, struct sk_buff *skb)
                struct ipv6_rt_hdr *rthdr = (struct ipv6_rt_hdr *)(skb->nh.raw + opt->srcrt);
                put_cmsg(msg, SOL_IPV6, IPV6_RTHDR, (rthdr->hdrlen+1) << 3, rthdr);
        }
-       if (np->rxopt.bits.authhdr && opt->auth) {
-               u8 *ptr = skb->nh.raw + opt->auth;
-               put_cmsg(msg, SOL_IPV6, IPV6_AUTHHDR, (ptr[1]+1)<<2, ptr);
-       }
        if (np->rxopt.bits.dstopts && opt->dst1) {
                u8 *ptr = skb->nh.raw + opt->dst1;
                put_cmsg(msg, SOL_IPV6, IPV6_DSTOPTS, (ptr[1]+1)<<3, ptr);
@@ -378,26 +374,6 @@ int datagram_send_ctl(struct msghdr *msg, struct flowi *fl,
                        opt->dst1opt = hdr;
                        break;
 
-               case IPV6_AUTHHDR:
-                        if (cmsg->cmsg_len < CMSG_LEN(sizeof(struct ipv6_opt_hdr))) {
-                               err = -EINVAL;
-                               goto exit_f;
-                       }
-
-                       hdr = (struct ipv6_opt_hdr *)CMSG_DATA(cmsg);
-                       len = ((hdr->hdrlen + 2) << 2);
-                       if (cmsg->cmsg_len < CMSG_LEN(len)) {
-                               err = -EINVAL;
-                               goto exit_f;
-                       }
-                       if (len & ~7) {
-                               err = -EINVAL;
-                               goto exit_f;
-                       }
-                       opt->opt_flen += len;
-                       opt->auth = hdr;
-                       break;
-
                case IPV6_RTHDR:
                         if (cmsg->cmsg_len < CMSG_LEN(sizeof(struct ipv6_rt_hdr))) {
                                err = -EINVAL;
index 65f00568b1a4901a4fa9cd07dc8511496ec83392..93b2f8bbf65bf8b74b09f8e37f356cc0be923794 100644 (file)
@@ -518,17 +518,6 @@ static u8 *ipv6_build_exthdr(struct sk_buff *skb, u8 *prev_hdr, u8 type, struct
        return &h->nexthdr;
 }
 
-static u8 *ipv6_build_authhdr(struct sk_buff *skb, u8 *prev_hdr, struct ipv6_opt_hdr *opt)
-{
-       struct ipv6_opt_hdr *h = (struct ipv6_opt_hdr *)skb_put(skb, (opt->hdrlen+2)<<2);
-
-       memcpy(h, opt, (opt->hdrlen+2)<<2);
-       h->nexthdr = *prev_hdr;
-       *prev_hdr = NEXTHDR_AUTH;
-       return &h->nexthdr;
-}
-
-
 u8 *ipv6_build_nfrag_opts(struct sk_buff *skb, u8 *prev_hdr, struct ipv6_txoptions *opt,
                          struct in6_addr *daddr, u32 jumbolen)
 {
@@ -567,8 +556,6 @@ u8 *ipv6_build_nfrag_opts(struct sk_buff *skb, u8 *prev_hdr, struct ipv6_txoptio
 
 u8 *ipv6_build_frag_opts(struct sk_buff *skb, u8 *prev_hdr, struct ipv6_txoptions *opt)
 {
-       if (opt->auth)
-               prev_hdr = ipv6_build_authhdr(skb, prev_hdr, opt->auth);
        if (opt->dst1opt)
                prev_hdr = ipv6_build_exthdr(skb, prev_hdr, NEXTHDR_DEST, opt->dst1opt);
        return prev_hdr;
@@ -608,15 +595,6 @@ static void ipv6_push_exthdr(struct sk_buff *skb, u8 *proto, u8 type, struct ipv
        *proto = type;
 }
 
-static void ipv6_push_authhdr(struct sk_buff *skb, u8 *proto, struct ipv6_opt_hdr *opt)
-{
-       struct ipv6_opt_hdr *h = (struct ipv6_opt_hdr *)skb_push(skb, (opt->hdrlen+2)<<2);
-
-       memcpy(h, opt, (opt->hdrlen+2)<<2);
-       h->nexthdr = *proto;
-       *proto = NEXTHDR_AUTH;
-}
-
 void ipv6_push_nfrag_opts(struct sk_buff *skb, struct ipv6_txoptions *opt,
                          u8 *proto,
                          struct in6_addr **daddr)
@@ -633,8 +611,6 @@ void ipv6_push_frag_opts(struct sk_buff *skb, struct ipv6_txoptions *opt, u8 *pr
 {
        if (opt->dst1opt)
                ipv6_push_exthdr(skb, proto, NEXTHDR_DEST, opt->dst1opt);
-       if (opt->auth)
-               ipv6_push_authhdr(skb, proto, opt->auth);
 }
 
 struct ipv6_txoptions *
@@ -652,8 +628,6 @@ ipv6_dup_options(struct sock *sk, struct ipv6_txoptions *opt)
                        *((char**)&opt2->dst0opt) += dif;
                if (opt2->dst1opt)
                        *((char**)&opt2->dst1opt) += dif;
-               if (opt2->auth)
-                       *((char**)&opt2->auth) += dif;
                if (opt2->srcrt)
                        *((char**)&opt2->srcrt) += dif;
        }
index c9aa51f318b3e094a3533c9661ccf572506cf4f6..52c02189c483f0d2d46b41b328661cbf792bb2be 100644 (file)
@@ -230,11 +230,6 @@ int ipv6_setsockopt(struct sock *sk, int level, int optname, char *optval,
                retv = 0;
                break;
 
-       case IPV6_AUTHHDR:
-               np->rxopt.bits.authhdr = valbool;
-               retv = 0;
-               break;
-
        case IPV6_DSTOPTS:
                np->rxopt.bits.dstopts = valbool;
                retv = 0;
@@ -623,10 +618,6 @@ int ipv6_getsockopt(struct sock *sk, int level, int optname, char *optval,
                val = np->rxopt.bits.hopopts;
                break;
 
-       case IPV6_AUTHHDR:
-               val = np->rxopt.bits.authhdr;
-               break;
-
        case IPV6_DSTOPTS:
                val = np->rxopt.bits.dstopts;
                break;