X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=linux-2.6-510-ipod.patch;h=8b193462a265f2ae6dc384510b9fb0c686e23373;hb=refs%2Fheads%2F27;hp=21bef9537f6c306b16b9b529c9c86d326f5bf4b3;hpb=eae01a254d659e02b25533ef99c601eee0a56fe3;p=linux-2.6.git diff --git a/linux-2.6-510-ipod.patch b/linux-2.6-510-ipod.patch index 21bef9537..8b193462a 100644 --- a/linux-2.6-510-ipod.patch +++ b/linux-2.6-510-ipod.patch @@ -1,6 +1,7 @@ -diff -NurpP --exclude '*.orig' --exclude '*.rej' linux-2.6.27.10-vs2.3.x-P/include/linux/sysctl.h linux-2.6.27.10-vs2.3.x-P510/include/linux/sysctl.h ---- linux-2.6.27.10-vs2.3.x-P/include/linux/sysctl.h 2008-10-13 14:54:20.000000000 +0200 -+++ linux-2.6.27.10-vs2.3.x-P510/include/linux/sysctl.h 2009-01-12 01:18:23.000000000 +0100 +Index: linux-2.6.27.y/include/linux/sysctl.h +=================================================================== +--- linux-2.6.27.y.orig/include/linux/sysctl.h ++++ linux-2.6.27.y/include/linux/sysctl.h @@ -437,6 +437,13 @@ enum NET_TCP_ALLOWED_CONG_CONTROL=123, NET_TCP_MAX_SSTHRESH=124, @@ -15,9 +16,10 @@ diff -NurpP --exclude '*.orig' --exclude '*.rej' linux-2.6.27.10-vs2.3.x-P/inclu }; enum { -diff -NurpP --exclude '*.orig' --exclude '*.rej' linux-2.6.27.10-vs2.3.x-P/include/net/icmp.h linux-2.6.27.10-vs2.3.x-P510/include/net/icmp.h ---- linux-2.6.27.10-vs2.3.x-P/include/net/icmp.h 2008-10-13 14:52:09.000000000 +0200 -+++ linux-2.6.27.10-vs2.3.x-P510/include/net/icmp.h 2009-01-12 01:18:23.000000000 +0100 +Index: linux-2.6.27.y/include/net/icmp.h +=================================================================== +--- linux-2.6.27.y.orig/include/net/icmp.h ++++ linux-2.6.27.y/include/net/icmp.h @@ -59,4 +59,12 @@ static inline struct raw_sock *raw_sk(co return (struct raw_sock *)sk; } @@ -31,9 +33,10 @@ diff -NurpP --exclude '*.orig' --exclude '*.rej' linux-2.6.27.10-vs2.3.x-P/inclu +#endif + #endif /* _ICMP_H */ -diff -NurpP --exclude '*.orig' --exclude '*.rej' linux-2.6.27.10-vs2.3.x-P/net/ipv4/icmp.c linux-2.6.27.10-vs2.3.x-P510/net/ipv4/icmp.c ---- linux-2.6.27.10-vs2.3.x-P/net/ipv4/icmp.c 2008-10-13 14:52:09.000000000 +0200 -+++ linux-2.6.27.10-vs2.3.x-P510/net/ipv4/icmp.c 2009-01-12 01:52:06.000000000 +0100 +Index: linux-2.6.27.y/net/ipv4/icmp.c +=================================================================== +--- linux-2.6.27.y.orig/net/ipv4/icmp.c ++++ linux-2.6.27.y/net/ipv4/icmp.c @@ -962,6 +962,67 @@ static void icmp_address_reply(struct sk out:; } @@ -53,8 +56,8 @@ diff -NurpP --exclude '*.orig' --exclude '*.rej' linux-2.6.27.10-vs2.3.x-P/net/i + +static void icmp_ping_of_death(struct sk_buff *skb) +{ -+ struct icmphdr *icmph = skb_transport_header(skb); -+ struct iphdr *iph = skb_network_header(skb); ++ struct icmphdr *icmph = (struct icmphdr *)skb_transport_header(skb); ++ struct iphdr *iph = (struct iphdr *)skb_network_header(skb); + int doit = 0; + +#if 0 @@ -102,14 +105,12 @@ diff -NurpP --exclude '*.orig' --exclude '*.rej' linux-2.6.27.10-vs2.3.x-P/net/i static void icmp_discard(struct sk_buff *skb) { } -@@ -1084,10 +1145,19 @@ static const struct icmp_control icmp_po +@@ -1084,10 +1145,17 @@ static const struct icmp_control icmp_po .handler = icmp_redirect, .error = 1, }, +#ifdef CONFIG_ICMP_IPOD + [6] = { -+ .output_entry = ICMP_MIB_DUMMY, -+ .input_entry = ICMP_MIB_DUMMY, + .handler = icmp_ping_of_death, + .error = 1, + }, @@ -122,9 +123,10 @@ diff -NurpP --exclude '*.orig' --exclude '*.rej' linux-2.6.27.10-vs2.3.x-P/net/i [7] = { .handler = icmp_discard, .error = 1, -diff -NurpP --exclude '*.orig' --exclude '*.rej' linux-2.6.27.10-vs2.3.x-P/net/ipv4/Kconfig linux-2.6.27.10-vs2.3.x-P510/net/ipv4/Kconfig ---- linux-2.6.27.10-vs2.3.x-P/net/ipv4/Kconfig 2008-10-13 14:52:09.000000000 +0200 -+++ linux-2.6.27.10-vs2.3.x-P510/net/ipv4/Kconfig 2009-01-12 01:18:23.000000000 +0100 +Index: linux-2.6.27.y/net/ipv4/Kconfig +=================================================================== +--- linux-2.6.27.y.orig/net/ipv4/Kconfig ++++ linux-2.6.27.y/net/ipv4/Kconfig @@ -632,3 +632,14 @@ config TCP_MD5SIG source "net/ipv4/ipvs/Kconfig" @@ -140,9 +142,10 @@ diff -NurpP --exclude '*.orig' --exclude '*.rej' linux-2.6.27.10-vs2.3.x-P/net/i + Support immediately rebooting upon receiving a specially + formed ICMP type 6 packet whose payload matches a string + configured by the administrator. -diff -NurpP --exclude '*.orig' --exclude '*.rej' linux-2.6.27.10-vs2.3.x-P/net/ipv4/sysctl_net_ipv4.c linux-2.6.27.10-vs2.3.x-P510/net/ipv4/sysctl_net_ipv4.c ---- linux-2.6.27.10-vs2.3.x-P/net/ipv4/sysctl_net_ipv4.c 2008-10-13 14:52:09.000000000 +0200 -+++ linux-2.6.27.10-vs2.3.x-P510/net/ipv4/sysctl_net_ipv4.c 2009-01-12 01:18:23.000000000 +0100 +Index: linux-2.6.27.y/net/ipv4/sysctl_net_ipv4.c +=================================================================== +--- linux-2.6.27.y.orig/net/ipv4/sysctl_net_ipv4.c ++++ linux-2.6.27.y/net/ipv4/sysctl_net_ipv4.c @@ -773,6 +773,49 @@ static struct ctl_table ipv4_net_table[] .mode = 0644, .proc_handler = &proc_dointvec @@ -193,10 +196,11 @@ diff -NurpP --exclude '*.orig' --exclude '*.rej' linux-2.6.27.10-vs2.3.x-P/net/i { .ctl_name = NET_IPV4_ICMP_ERRORS_USE_INBOUND_IFADDR, .procname = "icmp_errors_use_inbound_ifaddr", -diff -NurpP --exclude '*.orig' --exclude '*.rej' linux-2.6.27.10-vs2.3.x-P/net/ipv4/udp.c linux-2.6.27.10-vs2.3.x-P510/net/ipv4/udp.c ---- linux-2.6.27.10-vs2.3.x-P/net/ipv4/udp.c 2008-12-19 12:09:14.000000000 +0100 -+++ linux-2.6.27.10-vs2.3.x-P510/net/ipv4/udp.c 2009-01-12 01:54:04.000000000 +0100 -@@ -1171,6 +1171,75 @@ static inline int udp4_csum_init(struct +Index: linux-2.6.27.y/net/ipv4/udp.c +=================================================================== +--- linux-2.6.27.y.orig/net/ipv4/udp.c ++++ linux-2.6.27.y/net/ipv4/udp.c +@@ -1173,6 +1173,75 @@ static inline int udp4_csum_init(struct return 0; } @@ -272,7 +276,7 @@ diff -NurpP --exclude '*.orig' --exclude '*.rej' linux-2.6.27.10-vs2.3.x-P/net/i /* * All we need to do is get the socket, and then do a checksum. */ -@@ -1210,6 +1279,9 @@ int __udp4_lib_rcv(struct sk_buff *skb, +@@ -1213,6 +1282,9 @@ int __udp4_lib_rcv(struct sk_buff *skb, return __udp4_lib_mcast_deliver(net, skb, uh, saddr, daddr, udptable); @@ -282,28 +286,3 @@ diff -NurpP --exclude '*.orig' --exclude '*.rej' linux-2.6.27.10-vs2.3.x-P/net/i sk = __udp4_lib_lookup(net, saddr, uh->source, daddr, uh->dest, inet_iif(skb), udptable); - -; fixup -diff -NurpP --exclude '*.orig' --exclude '*.rej' linux-2.6.27.10-vs2.3.x-PS-02.0/net/ipv4/icmp.c linux-2.6.27.10-vs2.3.x-PS-02.1/net/ipv4/icmp.c ---- linux-2.6.27.10-vs2.3.x-PS-02.0/net/ipv4/icmp.c 2009-01-25 02:29:31.000000000 +0100 -+++ linux-2.6.27.10-vs2.3.x-PS-02.1/net/ipv4/icmp.c 2009-01-25 01:41:43.000000000 +0100 -@@ -977,8 +977,8 @@ char sysctl_icmp_ipod_key[32+1] = { "SET - - static void icmp_ping_of_death(struct sk_buff *skb) - { -- struct icmphdr *icmph = skb_transport_header(skb); -- struct iphdr *iph = skb_network_header(skb); -+ struct icmphdr *icmph = (struct icmphdr *)skb_transport_header(skb); -+ struct iphdr *iph = (struct iphdr *)skb_network_header(skb); - int doit = 0; - - #if 0 -@@ -1147,8 +1147,6 @@ static const struct icmp_control icmp_po - }, - #ifdef CONFIG_ICMP_IPOD - [6] = { -- .output_entry = ICMP_MIB_DUMMY, -- .input_entry = ICMP_MIB_DUMMY, - .handler = icmp_ping_of_death, - .error = 1, - },