Re-import of fprobe-ulog
[fprobe-ulog.git] / contrib / ipt_ULOG.patch
1 --- /usr/src/kernel/linux-2.4.26/net/ipv4/netfilter/ipt_ULOG.c  2003-08-25 15:44:44.000000000 +0400
2 +++ ipt_ULOG.c  2004-08-09 10:54:04.000000000 +0400
3 @@ -165,6 +165,7 @@
4         size_t size, copy_len;
5         struct nlmsghdr *nlh;
6         struct ipt_ulog_info *loginfo = (struct ipt_ulog_info *) targinfo;
7 +       struct timeval now;
8  
9         /* ffs == find first bit set, necessary because userspace
10          * is already shifting groupnumber, but we need unshifted.
11 @@ -211,8 +212,14 @@
12  
13         /* copy hook, prefix, timestamp, payload, etc. */
14         pm->data_len = copy_len;
15 -       pm->timestamp_sec = (*pskb)->stamp.tv_sec;
16 -       pm->timestamp_usec = (*pskb)->stamp.tv_usec;
17 +       if ((*pskb)->stamp.tv_sec) {
18 +               pm->timestamp_sec = (*pskb)->stamp.tv_sec;
19 +               pm->timestamp_usec = (*pskb)->stamp.tv_usec;
20 +       } else {
21 +               do_gettimeofday(&now);
22 +               pm->timestamp_sec = now.tv_sec;
23 +               pm->timestamp_usec = now.tv_usec;
24 +       }
25         pm->mark = (*pskb)->nfmark;
26         pm->hook = hooknum;
27         if (loginfo->prefix[0] != '\0')