===== net/ipv4/udp.c 1.61 vs edited ===== --- 1.61/net/ipv4/udp.c 2004-06-05 06:59:36 +10:00 +++ edited/net/ipv4/udp.c 2004-06-25 21:56:34 +10:00 @@ -964,6 +964,7 @@ len = skb->tail - udpdata; switch (encap_type) { + default: case UDP_ENCAP_ESPINUDP: /* Check if this is a keepalive packet. If so, eat it. */ if (len == 1 && udpdata[0] == 0xff) { @@ -1016,12 +1017,6 @@ } else /* Must be an IKE packet.. pass it through */ return 1; - - default: - if (net_ratelimit()) - printk(KERN_INFO "udp_encap_rcv(): Unhandled UDP encap type: %u\n", - encap_type); - return 1; } #endif } @@ -1297,7 +1292,16 @@ break; case UDP_ENCAP: - up->encap_type = val; + switch (val) { + case 0: + case UDP_ENCAP_ESPINUDP: + case UDP_ENCAP_ESPINUDP_NON_IKE: + up->encap_type = val; + break; + default: + err = -ENOPROTOOPT; + break; + } break; default: ===== net/ipv6/udp.c 1.67 vs edited ===== --- 1.67/net/ipv6/udp.c 2004-06-21 09:37:54 +10:00 +++ edited/net/ipv6/udp.c 2004-06-25 20:13:50 +10:00 @@ -1044,7 +1044,14 @@ break; case UDP_ENCAP: - up->encap_type = val; + switch (val) { + case 0: + up->encap_type = val; + break; + default: + err = -ENOPROTOOPT; + break; + } break; default: