tcpconns plugin: Fix an endianness problem under *BSD.
authorFlorian Forster <octo@leeloo.lan.home.verplant.org>
Sat, 24 Jan 2009 10:00:30 +0000 (11:00 +0100)
committerFlorian Forster <octo@leeloo.lan.home.verplant.org>
Sat, 24 Jan 2009 10:03:28 +0000 (11:03 +0100)
The port numbers were assumed to be in the host's byte order, when in
fact they are in network byte order (big endian). The patch adds `ntohs'
where necessary to fix this problem.

Resolves: #35

src/tcpconns.c

index 2e11592..ff663b8 100644 (file)
@@ -506,7 +506,8 @@ static int conn_read (void)
        && ((inp->inp_vflag & INP_IPV6) == 0))
       continue;
 
-    conn_handle_ports (inp->inp_lport, inp->inp_fport, tp->t_state);
+    conn_handle_ports (ntohs (inp->inp_lport), ntohs (inp->inp_fport),
+       tp->t_state);
   } /* for (in_ptr) */
 
   in_orig = NULL;