diff -ru pom-orig/XOR/linux-2.6/net/ipv4/netfilter/ipt_XOR.c pom-new/XOR/linux-2.6/net/ipv4/netfilter/ipt_XOR.c --- pom-orig/XOR/linux-2.6/net/ipv4/netfilter/ipt_XOR.c 2004-02-25 03:59:06.000000000 -0500 +++ pom-new/XOR/linux-2.6/net/ipv4/netfilter/ipt_XOR.c 2005-01-10 19:34:01.218767184 -0500 @@ -40,7 +40,7 @@ tcph = (struct tcphdr *) ((*pskb)->data + iph->ihl*4); for (i=0, j=0; i<(ntohs(iph->tot_len) - iph->ihl*4 - tcph->doff*4); ) { for (k=0; k<=info->block_size; k++) { - (char) (*pskb)->data[ iph->ihl*4 + tcph->doff*4 + i ] ^= + (*pskb)->data[ iph->ihl*4 + tcph->doff*4 + i ] ^= info->key[j]; i++; } @@ -52,7 +52,7 @@ udph = (struct udphdr *) ((*pskb)->data + iph->ihl*4); for (i=0, j=0; i<(ntohs(udph->len)-8); ) { for (k=0; k<=info->block_size; k++) { - (char) (*pskb)->data[ iph->ihl*4 + sizeof(struct udphdr) + i ] ^= + (*pskb)->data[ iph->ihl*4 + sizeof(struct udphdr) + i ] ^= info->key[j]; i++; }