# changelog

author: Todd Shadburn <tshadb@opencomputingsolutions.com>
changelog:
  - Bumped release to 12
  	- Handle EINTR in comm_group_loop()
  	- Updated provides/obsoletes in spec file to replace older versions


author: Todd Shadburn <tshadb@opencomputingsolutions.com>
changelog:
  - Changed version to 0.2.2 and release to 1
  	- Added iterator functionality to AVLTree implementation
  	- Updated provides/obsoletes in spec file to replace older versions


author: Todd Shadburn <tshadburn@opencomputingsolutions.com>
changelog:
  - Bumped release to 36
  	- plugins/ni_linux.c: Corrected a missing list iteration which could cause a loop condition on statvfs() error
  	- netinfoevtd.logrotate.in: added netinfo-events.log and netinfo-perf2rrd.log
  	- netinfo.spec: Make /etc/netinfo/netinfod.conf world readable


author: Todd Shadburn <tshadburn@opencomputingsolutions.com>
changelog:
  - Bumped release to 37
  	- netinfoevtd.c: Exit (fail) on bad return code from comm_accept()
  	- Updates to systemd unit files and logrotate config files
  	- netinfoevtd.service.in: added LimitNOFILE=4096 to increase open file limit for the daemon


author: Todd Shadburn <tshadburn@opencomputingsolutions.com>
changelog:
  - Bumped release to 38
  	- netinfofilterd.c: Corrected missing format variable in call to log_entry (segv in failure path)


author: Todd Shadburn <tshadburn@opencomputingsolutions.com>
changelog:
  - Bumped release to 39
  	- plugins/nieh_oneshot2trap.c: enforce buffer length
  	- src/netinfofilterd.c: escape message value before SQL inserts
  	- src/netinfofilterd.c: Added thread_id to thread-level log messages
  	- src/netinfofilterd.c: worker threads continue to process buckets as long as one is available in the work queue
  	- src/netinfofilterd.c: Exit main loop on three fatal errors
  	- src/netinfofilterd.c: Additional trapfile syntax checks, added dynamic pathbucket allocation and added basic thread processing stats
  	- src/netinfofilterd.c: Added support for 'inotify_enable' tuning option
  	- src/netinfofilterd.c: comment out several debug lines
  	- src/netinfofilterd.c: default to 2 worker threads
  	- src/netinfofilterd.c: Added support for 'tuning' configration directives
  	- src/netinfofilterd.c: Conversion to a multithreaded daemon


author: Todd Shadburn <tshadburn@opencomputingsolutions.com>
changelog:
  - Bumped release to 40
  	- ni_inotify: initial release of new plugin using inotify to watch filesystem objects for changes


author: Todd Shadburn <tshadburn@opencomputingsolutions.com>
changelog:
  - Bumped release to 42
  	- Include systemd unti files in debian builds and some configure.in cleanup
  	- configure.in: correct dir check typo
  	- netinfo.spec: correct date typo in netinfo.spec
  	- configure.in: Replace AC_CHECK_FILE calls with AS_IF for cross-compile support


author: Todd Shadburn <tshadburn@opencomputingsolutions.com>
changelog:
  - Bumped release to 43
  	- netinfofilterd: implement DB connection validation in thread timeout(idle) handler
  	- netinfofilterd: implement DB reconnect and query retries for alert select statement


author: Todd Shadburn <tshadburn@opencomputingsolutions.com>
changelog:
  - Bumped release to 44
  	- nieh_oneshot2trap.c: definition cleanup and some additional debug logging
  	- Initial sbuffer implementation and nieh_oneshot2trap integration


author: Todd Shadburn <tshadburn@opencomputingsolutions.com>
changelog:
  - Bumped release to 45
  	- Event queuing updates in nieh_oneshot2trap and netinfofilterd
  	- Updated provides/obsoletes in spec file to replace older versions


author: Todd Shadburn <tshadburn@opencomputingsolutions.com>
changelog:
  - Bumped release to 47
  	- nieh_forward: adjust argument handling and support log_file argument
  	- event: attribute corrections in eventclient_init_manual()
  	- nieh_forward: initial version of a forwarding plugin for netinfoevtd
  	- event: add eventclient_init_manual() to allow eventclient configuration via Attributes directly


author: Todd Shadburn <tshadburn@opencomputingsolutions.com>
changelog:
  - Bumped release to 48
  	- netinfofilterd.c: reap exited child processes in main loop
  	- netinfo.spec: create /var/lib/netinfo/scripts during netinfofilterd install
  	- netinfofilterd: add variable placeholders in config file
  	- netinfo.spec: update requires for rhel9+


author: Todd Shadburn <tshadburn@opencomputingsolutions.com>
changelog:
  - Bumped release to 7
  	- tests/testdns.c: added fd_read_wait() to deal with all sockets being non-blocking
  	- plugins/pfm_dns.c: complete implementation of  backend_decrease_connections() and backend_remove() and added some DEBUG logging
  	- lib/udp.c: set socket to non-blocking in udp_connect() and use close() after shutdown in udp_shutdown()
  	- ioloop: remove the table slide operations (which caused issues anyway)
  	- pfm/pfm_dns: added support for unregistering backend connections


author: Todd Shadburn <tshadburn@opencomputingsolutions.com>
changelog:
  - Bumped release to 8
  	- support/udpfilterd.conf.in: add comments and examples
  	- src/udpfilterd.c: correctly handle empty/blank lines in config file
  	- pfm_dns: update replacement connection message format
  	- pfm_dns: remove commented out debug code
  	- pfm_dns: set recursion flags in nxdomain responses (based on request flags)


author: Todd Shadburn <tshadburn@opencomputingsolutions.com>
changelog:
  - Bumped release to 9
  	- udpfilterd: utilize logging_reopen() when parsing log configuration directives
  	- logging: added logging_reopen() to facilite log file changes and rotation
  	- udpfilterd: continue basic syslog support additions
  	- udpfilterd: added basic syslog support
  	- helper: remove unused log_entry() function
  	- Command string array sizing is driven (centrally) from pfm.h now


author: Todd Shadburn <tshadburn@opencomputingsolutions.com>
changelog:
  - Bumped release to 10
  	- pnetbuffer: added inline function support which can provide upto 6x performance improvements
  	- Fixed a few possibly initialied variable warning
  	- pfm_dns: log allowed queries at info level and VOTE_LOG at notice level


author: Todd Shadburn <tshadburn@opencomputingsolutions.com>
changelog:
  - Bumped release to 12
  	- pfm_dns: convert counter to the metric abstraction
  	- udpfilterctl: better handling of pfm command responses
  	- metric: abstraction code for handling metrics
  	- pfm_dns: improve filter list and implement filter query remove functionality
  	- udpfilterd: display textual log level when the logging level is changed
  	- logging: added logging_level_to_string() helper function
  	- pfm_dns: all plugin messages logged at notice level
  	- udpfilterd: all daemon messages logged at notice level


author: Todd Shadburn <tshadburn@opencomputingsolutions.com>
changelog:
  - Bumped release to 13
  	- pfm_dns: added debug-level logging in filter_match()
  	- udpfilterctl: code to correctly enumerate all strings in a response packet


author: Todd Shadburn <tshadburn@opencomputingsolutions.com>
changelog:
  - Bumped release to 14
  	- pfm_dns: RESPONSE_STRING_SIZE increased from 128 to 256
  	- include/pfm.h: PFM_COMMAND_STR_SIZE increased from 64 to 255
  	- pfm_dns: some code reformatting/cleanup
  	- pfm_dns: added per-filter hit counter and 'filter query counters' command


author: Todd Shadburn <tshadburn@opencomputingsolutions.com>
changelog:
  - Bumped release to 15
  	- pfm_dns: adjust 'filter counters' output (display rule vote/hits before rule match string)
  	- pfm_dns: adjust 'filter list' output (remove unneeded static text  and display rule vote before rule match string)


author: Todd Shadburn <tshadburn@opencomputingsolutions.com>
changelog:
  - Bumped release to 16
  	- correct conditional variable usage in RPM spec file
  	- pfm_dns: free the pre-allocated filter in some error scenarios
  	- pnetbuffer: integrate pnetbuffer_{add,read}_double() functions
  	- udpfilterd: corrected log message typo
  	- libpfmmod: added initial TCP support


author: Todd Shadburn <tshadburn@opencomputingsolutions.com>
changelog:
  - Version 0.2.0 release 1
  	- Support both UDP and TCP connections/backends
  	- pfm_dns: support for backend min/max sizes and initial on-demand backend scaling
  	- pfm_dns: conversion to using flitersets and support source filtering
  	- some log formatting updates for consistency


author: Todd Shadburn <tshadburn@opencomputingsolutions.com>
changelog:
  - Version 0.2.0 release 2
  	- pfm_dns: udp_backend_io_callback() log/drop response where frontend_fd is unset
  	- pfm_dns: vector_process_data() log/assert when frontend_fd is not unset in new table entry
  	- pfm_dns: add request id to several log entries for research purposes


author: Todd Shadburn <tshadburn@opencomputingsolutions.com>
changelog:
  - Version 0.2.0 release 3
  	- pfm_dns: breakout select_usable_backend_fd() and log message adjustments
  	- testdns: handle request retries and retries on read() EAGAIN
  	- pfm_dns: correct packetbuf reuse error and additional debugging/assertion changes
  	- testdns: support inter-request delay argument
  	- pfm_dns: continued statbilization work for v2
  	- requests.[ch]: added struct timespec to capture request start time for response/handling measurements
  	- testdns: support arguments for input file, server name/port, protocol type (udp/tcp/random) and iterations
  	- testdlist: additional tests of moving items between lists
  	- udpfilterd.conf.in: use 'reject' instead of 'deny'
  	- pfm_dns: correct formatting for 'logged' message


author: Todd Shadburn <tshadburn@opencomputingsolutions.com>
changelog:
  - Version 0.2.0 release 5
  	- testdns: better socket error handling
  	- pfm_dns: convert to using new fdfuncs functions, correct request table handling and lots of cleanup
  	- fdfuncs: fixes and log updates to fd_try{read,write}()
  	- backend: dont close in-use connections in backend_decrease_connections()
  	- fdfuncs: added logging statements
  	- fdfuncs: initial coding of fd_try_{read,write}(), fd_submit_for_write() and fd_get_ready_packet()
  	- pfm_dns: remove .sfd from packetbuf_t
  	- packetbuf: remove .sfd and add packetbuf_{gs}et_address()
  	- pfm_dns: move packetbuf_t/fd_t to separate header/source files


author: Todd Shadburn <tshadburn@opencomputingsolutions.com>
changelog:
  - Version 0.2.0 release 6
  	- pfm_dns: use new fdfuncs in udp_backend_io_callback()
  	- testdns: ensure new TCP connections are writable, more response error checking and output cleanup
  	- fdfuncs: corrected implementation of split_packetbuf_to_tcp_dns_packets()
  	- fdfuncs: implement split_packetbuf_to_tcp_dns_packets() for inbound tcp packet splitting
  	- pfm_dsn: increase initial packetbuf allocations clear frontend request table entry on frontend write error
  	- pnetbuffer: correct pnetbuffer_peek_uint64() prototype


author: Todd Shadburn <tshadburn@opencomputingsolutions.com>
changelog:
  - Version 0.2.0 release 7
  	- pfm_dns: adjust duplicate request logging and perform backend_count_usage() on successful backend selection
  	- pfm_dns: process all pending frontend packets
  	- pfm_dns: consolidate backend response handling and process all pending backend packets
  	- fdfuncs: remove .in_rem member from fd_t structure
  	- pfm_dns: replace failed backend in udp_backend_io_callback() and comment cleanup
  	- fdfuncs: remove commented-out code
  	- ioloop: comment-out one debug statement


author: Todd Shadburn <tshadburn@opencomputingsolutions.com>
changelog:
  - Version 0.2.0 release 8
  	- pfm_dns: added timer for logging statistics and adjusted default packetbuf slab sizing
  	- packetbuf: add packetbuf_slab_stats_t and packetbuf_slab_get_stats() for stats logging
  	- fdfuncs: correct two packetbuf leaks in fd_try_read()
  	- backend: correct memory alloc log formats


author: Todd Shadburn <tshadburn@opencomputingsolutions.com>
changelog:
  - Version 0.2.0 release 9
  	- pfm_dns: log entry format updates and backend response error flags
  	- backend: log entry format updates for consistency
  	- ioloop: remove commented-out code


author: Todd Shadburn <tshadburn@opencomputingsolutions.com>
changelog:
  - Version 0.2.0 release 10
  	- pfm_dns: handle UDP backend HUP/ERR by replacing the backend connection
  	- pfm_dns: assert (for now) on HUP/ERR for TCP frontend server socket
  	- pfm_dns: assert (for now) on HUP/ERR for UDP frontend server socket
  	- ioloop: fd callback is expected to handle EPOLLIN/OUT/ERR/HUP


author: Todd Shadburn <tshadburn@opencomputingsolutions.com>
changelog:
  - Version 0.2.0 release 11
  	- pfm_dns: log and drop requests with 1) a malformed header or 2) a zero request ID
  	- ioloop: remove debug statement in ioloop_run()


