ChangeLog 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  1. 20061101
  2. - (djm) Collect licenses into LICENSE file
  3. - (djm) malloc(x*y) -> calloc(x, y)
  4. - (djm) Sync sys-tree.h
  5. - (djm) Release 0.9.8
  6. 20060315
  7. - (djm) Add "send-template" softflowctl command to resend a NetFlow 9
  8. template record immediately
  9. 20060315
  10. - (djm) Fix DLT_RAW support, from jhanna AT shaw.ca
  11. - (djm) Support ${DESTDIR} in Makefile install target, from
  12. ssnodgra AT pheran.com
  13. - (djm) Encode ICMP type and code into port numbers (apparently this is
  14. what Cisco exporters do), patch from ssnodgra AT pheran.com slightly
  15. tweaked by me
  16. - (djm) Crank version number to 0.9.8
  17. - (djm) Add RPM packaging files from ssnodgra AT pheran.com
  18. 20060214
  19. - (djm) Add missing getopt() bit for flowtrack mode
  20. 20060211
  21. - (djm) Add option to ignore port and protocol information from flows,
  22. allowing flows from the same IP addresses to be automatically
  23. coalesced
  24. 20060126
  25. - (djm) Correctly expire quiescent flows when they hit maximum_lifetime;
  26. bug noticed and patch tested by andreas.brillisauer AT hetzner.de
  27. 20051206
  28. - (djm) Make sure installation directories exist, spotted by
  29. alshu AT tut.by
  30. 20051118
  31. - (djm) Some extra paranoia and verbosity on malloc failures
  32. - (djm) Support Linux "cooked socket" datalink type, from Tony Lewis
  33. gnutered AT yahoo.com.au
  34. 20051001
  35. - (djm) Fix typo, from rbreathe AT brookes.ac.uk
  36. 20050505
  37. - (djm) Fix time printing bug in debug mode
  38. - (djm) Fix reversed NetFlow v.9 first_switched and last_switched times
  39. 20050505
  40. - (djm) Fix bug in sequence number generation. Reported by
  41. b.ghita AT jack.see.plymouth.ac.uk and mwlucas AT blackhelicopters.org
  42. - (djm) Report pcap stats in statistics display
  43. 20050114
  44. - (djm) Release 0.9.7
  45. 20050110
  46. - (djm) Fix endianness problem in NetFlow v.9 port number export. Found and
  47. fixed by paolo.lucente AT ic.cnr.it
  48. - (djm) Add option to set hoplimit/TTL in support of multicast export support
  49. - (djm) Document multicast export
  50. 20041109
  51. - (djm) Test for struct ip6_ext in autoconf and define a replacement if
  52. missing, some systems lack it
  53. 20040930
  54. - (djm) Increase caplen a little for IPv6
  55. - (djm) Remove unused debugging code from NetFlow v.9 support
  56. - (djm) Add a timeout to cluster expiry expiry events, so we get more flows
  57. per packet. Default is to check for expiries every 60s
  58. - (djm) Allow timouts to be disabled (by setting them to 0)
  59. - (djm) Include IP_PROTOCOL_VERSION field in NetFlow v.9 packets
  60. - (djm) Don't bother tracking IPv6 flows if NetFlow export version
  61. doesn't support it
  62. - (djm) Don't crank up pcap snaplen unless we are interested in IPv6 either
  63. - (djm) Unbreak v6 flow export
  64. - (djm) Unbreak compilation on non-OpenBSD
  65. - (djm) Update README with recent changes (NetFlow v.9, v6 flows)
  66. - (djm) Release 0.9.6
  67. 20040929
  68. - (djm) Improve IPv6 code: track flowlables bidirectionally (but don't key on
  69. them for now), print addresses:port tuples unambiguously and apply correct
  70. timeout for ICMPv6 flows
  71. - (djm) Remove NetFlow v.1 types from NetFlow v.5 code
  72. - (djm) NetFlow v.9 support
  73. 20040913
  74. - (djm) Split out netflow send functions into separate files
  75. - (djm) Switch to a table of netflow exporter functions in preparation for
  76. additional export protocols
  77. - (djm) Collect netflow export target information together in a struct, in
  78. preparation for more export protocols and support for multiple export targets
  79. - (djm) Optimise the datalink_check function, by caching the last datalink type
  80. used.
  81. 20040909
  82. - (djm) Implement IPv6 flow tracking. Currently no export functionality.
  83. - (djm) Portability fixes for Linux, add closefrom()
  84. - (djm) Use strlcat/strlcpy instead of strn* functions
  85. - (djm) Comment out dump_packet (uncomment when debugging)
  86. 20040909
  87. - (djm) inline is unnecessary
  88. - (djm) Rework datalink processing, in preparation of IPv6 support
  89. - (djm) Next step in preparation of IPv6 support: make flow structure and
  90. lookup function support both IPv4 and IPv6 addresses (v6 addrs aren't yet
  91. used)
  92. - (djm) Another step on the road: factor out transport-layer protocol parsing
  93. from IPv4 parsing code
  94. - (djm) Be more careful about putting flows into canonical format
  95. - (djm) Prepare for IPv6 packet to flow conversion routine
  96. 20040901
  97. - (djm) Fix a tiny, stupid bug that prevents flow export
  98. - (djm) Release version 0.9.2
  99. 20040827
  100. - (djm) NetFlow v.5 supports 30 flows per packet
  101. - (djm) Use struct sockaddr in arguments (not sockaddr_storage), properly
  102. check length
  103. - (djm) Mention NetFlow v.5 support in manpage
  104. - (djm) Release version 0.9.1
  105. 20040716
  106. - (djm) Fix collector.pl when no address family specified on commandline
  107. spotted by pgennai AT netstarnetworks.com
  108. 20040710
  109. - (djm) Tidy up code: remove some debugging gunk, kill a global
  110. - (djm) Add support for NetFlow v.5 export format to softflowd
  111. - (djm) Add support for NetFlow v.5 export format to collector.pl
  112. 20040430
  113. - (djm) Release version 0.9
  114. 20040417
  115. - (djm) Fix invalid packet bug
  116. 20040417
  117. - (djm) Eliminate periodic expiry scans, wait in poll() only until the next
  118. scheduled expiry event
  119. - (djm) Separate timeout for ICMP traffic, generic timeout is too long
  120. 20040416
  121. - (djm) A bunch of changes necessary to support building on Solaris 9 (though
  122. the resultant binary doesn't seem to work properly):
  123. - Use getaddrinfo instead of inet_aton to parse host/port for export
  124. - Use setreuid if setresuid isn't around (ditto for gid)
  125. - Add replacement daemon() function from OpenBSD
  126. - Provide our own logit() function, because Solaris syslog() doesn't
  127. support LOG_PERROR
  128. - A heap of configure and common.h additions and fixes
  129. - (djm) Fix busted preprocessor
  130. - (djm) Support "[host]:port" syntax to specify numeric IPv6 export target
  131. - (djm) Fix connect() for IPv6 export targets
  132. - (djm) IPv6 listen support for collector.pl
  133. - (djm) Allow v4 operation of collector.pl if v6 modules aren't present
  134. - (djm) More flow export fixes
  135. - (djm) Tidy manpage and mention v6 export syntax
  136. - (djm) Unbreak Solaris, pass socklen around instead of using sa_len
  137. - (djm) Unbreak "make install"
  138. 20040415
  139. - (djm) Clear socket errors before UDP send; from pfflowd
  140. - (djm) Print flow start and finish times in collector.pl
  141. - (djm) Linux needs grp.h for setgroups()
  142. - (djm) Never endprotoent()
  143. - (djm) Use autoconf to detect various things; in preparation of more
  144. portability
  145. - (djm) Detect int and define standard int types in configure
  146. 20031111
  147. - (djm) Remove -Werror from CFLAGS, it causes problems in released software
  148. 20031109
  149. - (djm) Give compile-time choice over flow and expiry event tree type
  150. default is splay tree for flows and red-black tree for expiry events
  151. (limited benchmarking indicates that this is the fastest)
  152. - (djm) Lock the BPF device to prevent changes should the unpriv child
  153. be compromised (only OpenBSD supports this ioctl for now)
  154. 20031001
  155. - (djm) Realloc audit
  156. - (djm) Chroot to /var/empty and drop privileges on daemonisation
  157. - (djm) More things TODO
  158. 20030620
  159. - (djm) Fixup collector timestamp printing
  160. - (djm) Rework TODO, add section on planned fragment handling
  161. - (djm) Add "strip" target to Makefile
  162. - (djm) Add "help" keyword to recognised softflowctl responses
  163. - (djm) Fix fragment handling bug: we would try to look into fragmented
  164. payload on later fragments. This could cause random tcp/udp port numbers
  165. to be recorded.
  166. - (djm) Fix malicious fragment handling bug: deliberately tiny fragments
  167. (e.g. http://citeseer.nj.nec.com/ptacek98insertion.html) would be ignored
  168. and would not create flow entries.
  169. - (djm) Count fragments that we have seen
  170. - (djm) Release version 0.8.1
  171. 20030307
  172. - (djm) Add basic perl netflow collector
  173. 20021110
  174. - (djm) Refactor, dramatically shrink mainloop
  175. 20021105
  176. - (djm) Don't exit on failure to lookup net/mask. From Alejandro Roman
  177. <aroman@uyr.com.ar>
  178. 20021031
  179. - (djm) Add some examples to the manpage
  180. 20021030
  181. - (djm) New user-friendly time specification code from OpenSSH/Kevin Steves
  182. - (djm) Always use local sys-tree.h (for older OpenBSD's)
  183. 20021029
  184. - (djm) Multiple fixes and improvements from Octavian Cerna <tavy@ylabs.com>
  185. - softflowd.c (connsock): Fix arguments to `connect': addr is a pointer,
  186. not a structure.
  187. (flow_update_expiry): Properly compute the flow lifetime.
  188. (send_netflow_v1): Count the leftover packet.
  189. Send flow_start, flow_finish and uptime_ms as Cisco equipment
  190. does: milliseconds since system boot.
  191. (timeval_sub_ms): New function.
  192. (main): Changed POLL_WAIT to be (EXPIRY_WAIT/2) as stated in the
  193. comment above `poll': twice per recheck.
  194. `poll' takes the last argument in milliseconds.
  195. Initialize system_boot_time as the time at the start of capture
  196. (fixme: how does this affect reading from capture files?)
  197. 20021024
  198. - (djm) Release softflowd-0.7.1
  199. $Id: ChangeLog,v 1.87 2006/11/02 06:36:16 djm Exp $