ChangeLog 8.9 KB

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