2021-07-16 Jerry Lundström Release 2.0.0 This major release is a complete rewrite of drool to Lua using dnsjit! This includes two commands: - `drool replay`: replay DNS traffic from packet capture (PCAP) files and send it to a specified server, with options such as to manipulate the timing between packets, as well as loop packets infinitely or for a set number of iterations. - `drool respdiff`: replay DNS queries found in the PCAP, but only if a correlating response is also found. The query, original response and the received response is then stored into a LMDB database which can then be used by respdiff by CZ.NIC (see https://gitlab.labs.nic.cz/knot/respdiff) for analysis. See `man drool`, `man drool reply` and `man drool respdiff` for more information. 9357c54 RPM dc27432 configure 5a60fd3 Bye Travis 21d950c Info, Travis eb44217 Badges 5623d60 COPR 1b5bd66 COPR, spec 2033d26 Package 61264d2 Funding c3eb323 (tag: v1.99.4) Copyright, v1.99.4 ff9dfd5 Timing Mode fc55d2d (tag: v1.99.3) Respdiff fix e432c91 (tag: v1.99.2) Respdiff, v1.99.2 8e99d0e Dependencies 46712c0 Packaging dcc5450 Configure options de63694 (tag: v1.99.1) Rewrite, v1.99.1 e96a9f9 (tag: v1.99.0) Backends 8c99925 pcapthread cf3f65a Split 99542e5 Rewrite into Lua using `dnsjit` 2018-02-16 Jerry Lundström Release 1.1.0 Rework of the timing code to make it more effective, based on proof-of-concept from Petr Špaček @pspacek (CZ.NIC). The `best_effort` timing mode is now deprecated, this is now the same mode as `keep` and the warnings `keep` made when unable to follow timings have been removed. 6e81a31 Timing d30918c WIP: timing rework 2018-01-16 Jerry Lundström Release 1.0.2 Bugfixes: - TCP option parsing was fixed in pcap-thread 3.0.0 but the work-around code was still in drool - The month in the console output was incorrect a47ed95 Update copyright year 4d44801 TCP options was fixed in pcap-thread 3.0.0 cb5cebf Fix #93: `tm_mon` is 0-11 2017-12-19 Jerry Lundström Release 1.0.1 (v1.0) Thanks to a few people, especially Petr Špaček @pspacek (CZ.NIC), for testing and reporting issues and other oddities (documentation is hard), release v1.0 is now ready! Increase of version because of how distributions compare package versions. f9a55bc Update pcap-thread to v3.1.0 9c26a5a pcap-thread and tests a069d84 Fix #87: Use `sockaddr_storage`, add more debug and error messages 047abe6 Fix #84: don't loop client list on timeout handling 5377698 Fix #82: Parse TCP payload, add Known Issues 05013f0 Fix #82: Send query length aea71ad Correct `timing multiply` in README also 6437fe7 Fix man page example for timing multiply 2017-09-18 Jerry Lundström Release 1.0.0-rc.1 Mostly documentation updates and clarifications but also a new timing mode `best_effort` to send packets as fast as possible without warnings and a correct usage of `nanosleep()` on systems that does not support `clock_nanosleep()`. 114f984 Fix #74: Best effort timing mode, fix usage of `nanosleep()` a32201c Rework development notes 3999214 Add examples and default values 1e70ab9 Design documentation 6e530ee Fix #64: More documentation around context and client_pool, and how configuration relates to each other. 2017-08-22 Jerry Lundström Release 1.0.0-beta.4 Compatibility fixes and packaging. f6b6251 Fix #66: Check for libev/ev.h also 8dff723 Code formatting a5af21d Update pcap-thread to v2.1.3 e622612 Prepare SPEC for OSB/COPR 3c8fbb0 Fix #57: Update README with build tools and environment setup 456d586 Add debian packaging files a0a74cb Add dependencies 2017-03-29 Jerry Lundström Release 1.0.0-beta.3 Various compatibility fixes across GNU/Linux, FreeBSD, OpenBSD and OS X, along with a bugfix in pcap-thread. Special thanks to Brian Carpenter (@geeknik) for fuzzing drool. 82273cc Fix #50: Compat for OS X fc9d87c Issue #50: Update pcap-thread to v2.1.2 04817f0 const not needed on size_t 7ab1811 Update submodules: sllq v1.0.0, parseconf v1.0.0 and omg-dns v1.0.0 242c67a Fix CID 1421861 9f3914f Add Travis and Coverity badges ae33c90 Check for `clock_gettime()` in librt, needed for older glibc 594c877 Add Travis-CI b7e19a2 Fix compiler warnings and check errors from `sigwait()` 3b9f2dc Fix #43, fix #44, fix #45: Update pcap-thread to fix one off in IP layer 2017-03-25 Jerry Lundström Release 1.0.0-beta.2 Some minor changes and documentation updates prior to making the repository public. 79ce5cc Add description 3f63cff Update all submodules to latest develop 0bbe9dc Log format 2017-03-06 Jerry Lundström Release 1.0.0-beta.1 Documentation and packaging for CentOS to prepare for release candidate. New command line option: - `-n` to run in dry-run mode a61d1fa Fix #9: Documentation ee93ced Impl timing multiply 7cfaf84 Tests, dry run and updated SLLQ 2017-03-02 Jerry Lundström Release 1.0.0-alpha.3 Reworked some of the client code to better handle stream sockets (TCP), retrys to send query if the system's sockets are exhausted. Can send queries as the original protocol or force them into UDP or TCP. Default number of client pools running per context is now 1, increase this if you want to push UDP queries. For TCP this has little effect since you will most likely hit system limits before that. Config changes: - Added `context client_pools num;` - Added `client_pool max_reuse_clients num;` - Added `client_pool sendas what;` Other changes: - Add timing details to warning about not keeping up with timings f8805da TCP, send as, proper shutdown 800e971 Include CHANGES in dist cae9834 Honor previous fd flags 2017-02-21 Jerry Lundström Release 1.0.0-alpha.2 This release implements the core engine and most of the network code which consists of: - parsing DNS packet from input using omg-dns - sending queries to a client pool using sllq - processing queries using client objects and libev event loops Handling results/responses have yet been implemented. Command line option changes: - Added `-R` to specify read mode for PCAP files - Removed `-w` and `-o` Config changes: - Added `timing ignore;` - Added `timing keep;` - Added `timing add nanoseconds;` - Added `timing reduce nanoseconds;` - Added `timing multiply float;`, note: no logic added yet - Added `client_pool target "ip" "port";` - Added `client_pool max_clients num;` - Added `client_pool client_ttl float;` - Added `client_pool skip_reply;` - Removed `read`, `input`, `write` and `output` 246c9ad Update README with example, build info and copyright etc 94ce650 Loop/iteration read, lag detect and documentation 7bda852 Send as, multi client pools per context e233f51 Tweaks 3d0dae4 Rework network code 5d2e492 Update conf example and man-page 9d2b4a3 Split conf, skip reply c9cc5a2 Use parseconf submodule 64241b8 Check for `clock_nanosleep()`, `nanosleep()` and use what it available bbdcb07 A lot of more stuff 2017-01-20 Jerry Lundström Release 1.0.0-alpha.1 First release, has command line options, conf file handling, logging, man-pages, can capture/read interface/pcaps and will display some statistics at exit. $ src/drool -h $ src/drool -vv -r file.pcap $ man src/drool.1 $ man src/drool.conf.5 bb5602c Fix #3 a46d040 Fix #13: Add license 5b43516 Fix #4: Basic layout for opts, conf, logging, skeleton man-pages and tests a9b6ab5 Fix #1: Add initial files and directories aca355b Initial commit