summaryrefslogtreecommitdiff
path: root/net/flow-tools/patches/patch-ai
blob: 8d64222a99154de996fe2aac622fa9dcca49a0b3 (plain)
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
$NetBSD: patch-ai,v 1.3 2013/10/13 21:52:44 sbd Exp $

--- src/flow-dscan.c.orig	2003-04-02 18:03:01.000000000 +0000
+++ src/flow-dscan.c
@@ -112,6 +112,7 @@ int main(int argc, char **argv)
   u_int32 trigger_time, trigger_packets, trigger_octets;
   pid_t pid;
   struct tm *tm;
+  time_t time_tmp;
 
   total_flows = total_flows32 = 0;
   bzero(&ds, sizeof ds);
@@ -233,8 +234,9 @@ int main(int argc, char **argv)
     } else if (pid)
       exit (0); /* parent */
 
-    umask(0022);
-    setsid();
+    /* umask(0022); */
+    if (setsid() == -1)
+      fterr_err(1, "setsid()");
     for (i = 1; i < 16; ++i) /* XXX dynamically get NOFILE */
       close (i);
 
@@ -453,7 +455,8 @@ sup:
 
               ftt = ftltime(rec->sysUpTime, rec->unix_secs, rec->unix_nsecs,
                 rec->First);
-              tm = localtime((time_t*)&ftt.secs);
+              time_tmp = ftt.secs;
+              tm = localtime(&time_tmp);
 
               fmt_uint32(fmt_buf3, ftt.secs, FMT_JUST_LEFT);
 
@@ -479,7 +482,8 @@ sup:
 
         ftt = ftltime(rec->sysUpTime, rec->unix_secs, rec->unix_nsecs,
           rec->First);
-        tm = localtime((time_t*)&ftt.secs);
+	time_tmp = ftt.secs;
+	tm = localtime(&time_tmp);
 
         fmt_uint32(fmt_buf3, ftt.secs, FMT_JUST_LEFT);
 
@@ -1001,6 +1005,7 @@ void flow_dump(struct fts3rec_gen *rec)
   char fmt_buf1[64], fmt_buf2[64];
   struct tm *tm;
   static int header;
+  time_t time_tmp;
 
   if (!header) {
     fterr_info( "Start             End                Sif SrcIPaddress      SrcP  DIf DstIPaddress      DstP   P Fl       Pkts     Octets");
@@ -1008,14 +1013,16 @@ void flow_dump(struct fts3rec_gen *rec)
   }
 
   ftt = ftltime(rec->sysUpTime, rec->unix_secs, rec->unix_nsecs, rec->First);
-  tm = localtime((time_t*)&ftt.secs);
+  time_tmp = ftt.secs;
+  tm = localtime(&time_tmp);
 
   fterr_info( "%-2.2d%-2.2d.%-2.2d:%-2.2d:%-2.2d.%-3lu ",
     (int)tm->tm_mon+1, (int)tm->tm_mday, (int)tm->tm_hour,
     (int)tm->tm_min, (int)tm->tm_sec, (u_long)ftt.msecs);
 
   ftt = ftltime(rec->sysUpTime, rec->unix_secs, rec->unix_nsecs, rec->Last);
-  tm = localtime((time_t*)&ftt.secs);
+  time_tmp = ftt.secs;
+  tm = localtime(&time_tmp);
 
   fterr_info( "%-2.2d%-2.2d.%-2.2d:%-2.2d:%-2.2d.%-3lu ",
     (int)tm->tm_mon+1, (int)tm->tm_mday, (int)tm->tm_hour,