Hi Arturo,

> I would like to ask, What are your plans regarding wheezy?

Just jumping in here as I just had a look at backporting this patch. I
think there might be some issues with the upstream patch anyway, eg.:

 
https://github.com/inliniac/suricata/commit/4a04f814b15762eb446a5ead4d69d021512df6f8#commitcomment-21401303

Apart from that, how about:

    --- suricata-1.2.1.orig/src/defrag.c
    +++ suricata-1.2.1/src/defrag.c
    @@ -174,6 +174,8 @@ typedef struct DefragTracker_ {
         uint32_t id; /**< IP ID for this tracker.  32 bits for IPv6, 16
                       * for IPv4. */
     
    +    uint8_t proto; /**< IP protocol for this tracker. */
    +
         uint8_t policy; /**< Reassembly policy this tracker will use. */
     
         uint8_t af; /**< Address family for this tracker, AF_INET or
    @@ -268,6 +270,8 @@ DefragHashCompare(void *a, uint16_t a_le
             return 0;
         else if (!CMP_ADDR(&dta->dst_addr, &dtb->dst_addr))
             return 0;
    +    else if (dta->proto != dtb->proto)
    +        return 0;
     
         /* Match. */
         return 1;
    @@ -1140,6 +1144,7 @@ DefragGetTracker(ThreadVars *tv, DecodeT
             DefragTrackerReset(tracker);
             tracker->af = lookup_key->af;
             tracker->id = lookup_key->id;
    +        tracker->proto = IP_GET_IPPROTO(p);
             tracker->src_addr = lookup_key->src_addr;
             tracker->dst_addr = lookup_key->dst_addr;
             tracker->policy = DefragGetOsPolicy(p);



Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      la...@debian.org / chris-lamb.co.uk
       `-

Reply via email to