aboutsummaryrefslogtreecommitdiffstats
path: root/net/sniffit/files/patch-02
blob: 868d5b939b2612ee4d52e70edd24b101c7bae052 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
--- sniffit.0.3.5.c.orig    Fri Apr 18 02:33:58 1997
+++ sniffit.0.3.5.c Fri Apr  3 20:44:10 1998
@@ -411,11 +411,22 @@
    proto=unwrap_packet(sp, info); 
    if(proto == NO_IP)  return DONT_EXAMINE; /* no use in trying */
    if(proto == NO_IP_4)    return DONT_EXAMINE; /* no use in trying */
+   if(proto == CORRUPT_IP)
+     {
+       printf("Suspicious Packet detected... (Split header)\n");
+       return DONT_EXAMINE;
+     }
 
         memcpy(&iphead,(sp+PROTO_HEAD),sizeof(struct IP_header));
    so=(unsigned char *)&(iphead.source);
            dest=(unsigned char *)&(iphead.destination);
 
+   if(info->FRAG_nf!=0)
+     {
+       printf("Fragment Skipped...\n"); 
+       return DONT_EXAMINE;
+     }
+
    if((proto==TCP)&&(PROTOCOLS&F_TCP)) 
        {
 #ifdef DEBUG_ONSCREEN
@@ -1220,6 +1231,9 @@
    proto=unwrap_packet(sp, info);
    if(proto == NO_IP)  return DONT_EXAMINE; /* no use in trying */
    if(proto == NO_IP_4)    return DONT_EXAMINE; /* no use in trying */
+   if(proto == CORRUPT_IP) return DONT_EXAMINE; /* no use in trying */
+
+   if(info->FRAG_nf!=0)    return DONT_EXAMINE;
 
    (*IP_nr_of_packets)++;
    if(proto==ICMP)