2 - Implement tracking of remote ports: shows which ports the host
3 is making outgoing connections to. Long time feature request.
4 - Bugfix: when the capture interface goes down, exit instead of
6 - Fix "clock error" due to machine reboot.
7 - SIGUSR1 now resets the time and bytes reported on the graphs
9 - Account for all IP protocols.
10 - Change the default ports_max to only twice the default
13 v3.0.718 (25 January 2014)
14 - (SECURITY!) Don't chroot() by default. The user must specify
15 a --chroot dir for this to happen now.
16 - Bring back the "--base /path" functionality.
17 - Add explicit warning about graphs being blank if we can't get
18 local IPs on an interface.
19 - Don't crash in timer_stop() if monotonic time stops or goes
21 - Lots of internal cleanups.
22 - Use time_t instead of "long" for time. This is more correct
23 and should fix darkstat on OpenBSD 5.5 on 32-bit systems.
25 v3.0.717 (14 August 2013)
26 - (OS X only) Work around lack of clock_gettime().
27 - Fix crash due to str_appendf() not understanding %ld.
29 v3.0.716 (8 August 2013)
30 - Implement support for multiple capture interfaces.
31 - Support multiple local IPs on an interface.
32 - Only error out if we fail to create all HTTP sockets.
33 In particular, this helps on IPv6-incapable platforms.
34 - Use monotonic time over wall time where appropriate.
35 - Portability fixes for NetBSD and OpenBSD.
37 v3.0.715 (January 2012)
38 - Compatibility fixes for Hurd and Solaris.
39 - Use link-time optimization and automake-like silent rules.
40 - Support systems without ifaddrs.h again.
41 - Continuing fixes for IPv6 support.
42 - Only update lastseen time for sender, not recipient.
43 - Implement --local-only: accounting for hosts on the local net.
44 - Make failure to bind() a socket non-fatal.
45 - Make failure to get local IP non-fatal.
46 - Fall back to gethostbyaddr() if getnameinfo() fails.
47 - Fix detection of IPv4 multicast addresses.
48 - Fix decoding on OpenBSD DLT_NULL interfaces (e.g. gif(4))
51 - IPv6 support! Big ups to Mats Erik Andersson who did most
53 - Allow sort on last-seen, thanks to Dirk Koopman.
54 - Support multiple bind addresses.
55 - Add --disable-debug configure flag, thanks to Malte S. Stretz.
56 - Make it possible to export the database without resetting it:
58 - Web: Use relative URLs, so darkstat works properly
59 behind mod_proxy, thanks to Malte S. Stretz.
62 - Don't require --verbose for pcap_stats.
63 - Survive interface going down on Linux.
64 - Support DLT_RAW, implemented by Anton S. Ustyuzhanin.
65 - Skip accounting for hosts or ports if their max
67 - Implement --hexdump for troubleshooting.
68 - Web: Implement --no-lastseen
69 - Implement --snaplen manual override.
70 - Fix snaplen problem on recent (1-2 years?) Linux kernels.
72 - Implement --wait as a NetworkManager workaround.
74 (there were no releases made in 2009)
76 v3.0.712 (November 2008)
77 - Web: Add --no-macs option to hide mac addresses.
79 - Web: Make tables prettier.
80 - Host detail view now triggers a DNS lookup.
81 - Manpage tweaks, also move from section 1 to section 8.
82 - Track and show how long ago a host was last seen.
83 Suggested by: Prof A Olowofoyeku (The African Chief)
84 - Show pcap_stats (like number of packets dropped) in the web
85 interface and also upon exit.
87 v3.0.711 (August 2008)
88 - Split --debug into --verbose and --no-daemon
89 - Include launchd config and instructions for running darkstat
90 on Mac OS X. Contributed by Damien Clauzel.
91 - Implement PPPoE decoding on ethernet iface. (--pppoe)
92 - Web: Add automatic reload button. Thanks Dennis!
93 - Web: Add a graph legend with min/avg/max.
94 - Web: Remove hashtable stats pages.
98 - Implement limiting of number of ports tracked per host,
99 configurable on the commandline (--ports-max)
100 - Optionally don't track high ports (--highest-port)
102 - Fix rare use-after-free resulting from hosts table reduction.
103 - Make hosts limit configurable (--hosts-max)
104 - Option to read from capfile as alternative to live capture
105 (really only useful for development, benchmarking)
106 - Add the sniffed interface name to HTML reports.
111 - Fix silly bug in formatting hex.
112 - Check for pcap.h in include/pcap/ for old RedHat-a-likes.
113 - New commandline parser.
114 - To stay in foreground, pass --debug instead of -d.
115 - We can now reset all statistics at runtime (send SIGUSR1)
116 - Make chroot dir configurable on cmdline (--chroot)
117 - Make privdrop user configurable on cmdline (--user)
118 - Implement daylog (brings back a v2 feature)
119 - Import and export hosts and graphs, this brings back a fairly
120 major v2 feature. Big ups to Ben for doing a lot of the
121 design and implementation of this feature!
122 Note that the v3 database format is, by design, incompatible
124 - Report average KB/s in and out on graphs.
125 Thanks to Damian Lozinski for suggestion and first cut at the
127 - Fix graph rotation when the delay between rotations is big
128 enough to clear an entire graph.
129 - Make ip_proto 8 bits wide, to match the IP header.
130 - Implement pidfile functionality for people who prefer to
131 handle daemons in this manner.
135 - Decode DLT_PPP and DLT_PPP_SERIAL on NetBSD,
136 patch courtesy of Bartosz Kuzma.
137 - Don't use pcap_setnonblock(), with help from Colin Phipps.
138 - Reduce the number of syscalls made.
139 - Answer FAQ about graph axes / labels / scale.
140 - Fix build on OpenBSD (thanks Chris!) and Solaris.
141 - Commandline arg (-n) to disable promiscuous mode when
142 sniffing, thanks to Chris Kuethe for the implementation.
143 - Commandline arg (-r) to disable DNS resolver.
144 - Track and report per-host last seen MAC address.
145 - Move FAQ into manpage.
146 - Implement display of start time and running time.
147 - Web: implement sorting the hosts table by in/out/total.
148 - Web: implement paging through the hosts table.
149 - Web: implement full view of hosts table.
150 - Don't die if the capture interface loses its IP address.
151 - Make daemonize (previously -d) the default, and make -D the
152 argument to suppress it.
153 - Commandline arg (-l) to graph traffic entering/leaving the
154 local network as opposed to just the local IP. v2 had this.
155 - Allow configure-time override of CHROOT_DIR and PRIVDROP_USER.
156 - Web: new color scheme.
160 - Fix build against old libpcap (thanks Claudio)
161 - Fix build on AIX (thanks Andreas)
162 - Fix build warnings on NetBSD (thanks Bartosz)
163 - Deny writes to BPF socket (thanks Can)
164 - Reverse-resolve IPs less aggressively.
165 - Free up the DNS queue as we process it.
166 - Fix dns_reply silliness.
167 - Web: tweak the look of the top bar.
168 - Web: update total packets and bytes as part of graph update.
169 - Decode DLT_LINUX_SLL (ippp0 on Linux),
170 patch courtesy of Ingo Bressler
174 - Fix build on NetBSD.
175 - Fix shutdown on Linux.
176 - Performance improvements.
178 - Work around BPF being immediate on Linux.
179 This improves performance.
180 - Drop privileges when we don't need them. Chroot. Generally
181 be more paranoid. Thanks to Chris Kuethe for patches and
183 - Daemonize. (run in the background)
184 - Graphs: Make the entire bar have the same label (instead of
185 different labels for in/out), add thousands separators for
186 legibility, include the position/index (i.e. day 22)
187 - Instead of reducing the hosts_db based on time, do it based on
189 - Implement somewhat better handling of time moving backwards -
190 we assume that real time is monotonic and just renumber the
191 graph bars. (time is hard)
192 - Greatly improve IPC with the DNS child, make it more efficient
193 and much more robust.
194 - Decode DLT_PPP_ETHER (pppoe0 on OpenBSD), patch courtesy of
199 First public release of darkstat 3. Almost a complete rewrite
200 since v2.6. Architecture much improved, better portability and
201 stability. Approximate feature parity with v2, missing
206 End of the line for darkstat 2.
208 vim:set noet ts=8 sts=8 sw=8 tw=72: