248 lines
7.9 KiB
Text
248 lines
7.9 KiB
Text
|
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
|