]> git.ipfire.org Git - thirdparty/ulogd2.git/commitdiff
Set timestamp in NFLOG for INPUT and OUTPUT
authorEric Leblond <eric@inl.fr>
Sun, 1 Jun 2008 23:40:41 +0000 (01:40 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Sun, 1 Jun 2008 23:40:41 +0000 (01:40 +0200)
input/packet/ulogd_inppkt_NFLOG.c

index 9918fae6182b4affb90d2b98bef283a0bfecd5d2..0f265649ae78c7dbfbdb5b1070bb17a0b5ace098 100644 (file)
@@ -344,13 +344,14 @@ interp_packet(struct ulogd_pluginstance *upi, struct nflog_data *ldata)
 
        /* god knows why timestamp_usec contains crap if timestamp_sec
         * == 0 if (pkt->timestamp_sec || pkt->timestamp_usec) { */
-       if (nflog_get_timestamp(ldata, &ts) == 0 && ts.tv_sec) {
-               /* FIXME: convert endianness */
-               ret[NFLOG_KEY_OOB_TIME_SEC].u.value.ui32 = ts.tv_sec & 0xffffffff;
-               ret[NFLOG_KEY_OOB_TIME_SEC].flags |= ULOGD_RETF_VALID;
-               ret[NFLOG_KEY_OOB_TIME_USEC].u.value.ui32 = ts.tv_usec & 0xffffffff;
-               ret[NFLOG_KEY_OOB_TIME_USEC].flags |= ULOGD_RETF_VALID;
-       }
+       if (! (nflog_get_timestamp(ldata, &ts) == 0 && ts.tv_sec))
+               gettimeofday(&ts, NULL);
+
+       /* FIXME: convert endianness */
+       ret[NFLOG_KEY_OOB_TIME_SEC].u.value.ui32 = ts.tv_sec & 0xffffffff;
+       ret[NFLOG_KEY_OOB_TIME_SEC].flags |= ULOGD_RETF_VALID;
+       ret[NFLOG_KEY_OOB_TIME_USEC].u.value.ui32 = ts.tv_usec & 0xffffffff;
+       ret[NFLOG_KEY_OOB_TIME_USEC].flags |= ULOGD_RETF_VALID;
 
        ret[NFLOG_KEY_OOB_MARK].u.value.ui32 = mark;
        ret[NFLOG_KEY_OOB_MARK].flags |= ULOGD_RETF_VALID;