278 lines
11 KiB
Text
278 lines
11 KiB
Text
2024-08-28 Jerry Lundström
|
|
|
|
Release 1.4.0
|
|
|
|
This release adds a new module `input.zmmpcap` to read compressed PCAPs
|
|
using `mmap()`, changes how `core.thread` push/pop, removes signal
|
|
blocking and squashes a few bugs.
|
|
|
|
For `core.thread`, the `push()`/`pop()` now uses `double` instead of
|
|
`int64_t` to match the conversion table of LuaJIT and to support
|
|
floating point numbers.
|
|
|
|
Updates:
|
|
- `examples/dumpdns`:
|
|
- Add support for reading PCAPs using `mmpcap` or `zmmpcap`
|
|
- Add support for reading PCAPs from stdin
|
|
- `zpcap`: Add support for reading zlib/lzma compressed PCAPs
|
|
|
|
Fixes:
|
|
- Fix #234: Remove signal blocking
|
|
- Fix #233: floating point numbers not supported by `dnsjit.core.thread` push/pop
|
|
- Fix a potential memory leak in trie
|
|
- `zpcap`: Fix incorrect check if having enough to read
|
|
|
|
b376ac9 Fix a potential memory leak in trie
|
|
dfeb20e Badges
|
|
e4fa047 Fix zzmpcap
|
|
88b5ccf Compressed PCAPs, Copyright
|
|
36b8266 thread push number
|
|
0056736 thread push number
|
|
0247ec6 Signals, code format
|
|
|
|
2023-12-07 Jerry Lundström
|
|
|
|
Release 1.3.0
|
|
|
|
This release adds `core.object.dns:reset()` to reset DNS objects so they
|
|
can be reused correctly.
|
|
|
|
Example scripts have been updated to reflect this along with correctly
|
|
setting `includes_dnslen` for TCP packets.
|
|
|
|
New example converter `pcap2tcpdns` added that can be used to create bin
|
|
files for replaying with `dnsperf -B`.
|
|
|
|
f0d0b39 pkg-config
|
|
464a198 pcap2tcpdns
|
|
b40ad6d example convertor from PCAP to TCP DNS format used by dnsperf -B option
|
|
ac51bfd pkg-config
|
|
198bae9 Copyright
|
|
5a87e37 DNS reset, dnslen TCP
|
|
f2d6b05 Doc
|
|
265a577 COPR fix
|
|
|
|
2022-03-21 Jerry Lundström
|
|
|
|
Release 1.2.3
|
|
|
|
This patch release fixes compilation issues on FreeBSD for LLVM v12+.
|
|
|
|
4346a48 static inline
|
|
|
|
2021-11-05 Jerry Lundström
|
|
|
|
Release 1.2.2
|
|
|
|
This patch release fixes a small issues with the generated
|
|
compatibility code and updates the package control files for Debian.
|
|
|
|
3cdd801 Fix compat
|
|
cb352c6 debhelper
|
|
|
|
2021-07-07 Jerry Lundström
|
|
|
|
Release 1.2.1
|
|
|
|
This patch release fixes packages for SLE/openSUSE and the generation
|
|
of an environment script for the stand-alone tool example.
|
|
|
|
9c6f630 SLE/openSUSE
|
|
f07ac4a Stand-alone tool example
|
|
|
|
2021-07-05 Jerry Lundström
|
|
|
|
Release 1.2.0
|
|
|
|
This release adds development files and autotool examples for C/Lua
|
|
modules or stand-alone tools for dnsjit.
|
|
|
|
In `examples/` you'll now also find:
|
|
|
|
- `modules/input-example`
|
|
This input example is based on `dnsjit.input.zero` which was a testing
|
|
modules during the early days of dnsjit.
|
|
It's a C module that generates empty objects for the receiver.
|
|
|
|
- `modules/filter-example`:
|
|
This filter example is C module that counts the number of objects
|
|
passed to it before sending it to the receiver.
|
|
|
|
- `modules/output-example`:
|
|
This output example is based on `dnsjit.output.null` which was a testing
|
|
modules during the early days of dnsjit.
|
|
It's a C module that will just discard objects it receives.
|
|
|
|
- `modules/lib-example`:
|
|
This example Lua module takes two `core_timespec_t` C objects and gives
|
|
the duration between them as a string.
|
|
|
|
- `stand-alone-tool`:
|
|
This example is based on `test_pcap_read.lua` and `test_throughput.lua`
|
|
which was previous located in `examples/`.
|
|
There are two installable Lua programs and shows how to depend on
|
|
a dnsjit version, depend on specific dnsjit modules and how to run
|
|
tests using `make test`.
|
|
|
|
All these examples can easily be copied and renamed to build and
|
|
distribute your own dnsjit modules and tools, using autotool for
|
|
`configure`, `make` and `make install`.
|
|
|
|
Development files will also be installed, or can be installed via
|
|
`dnsjit-dev`/`dnsjit-devel` packages. All C headers have been prefixed
|
|
with `dnsjit/` (for example `#include <dnsjit/version.h>`).
|
|
|
|
Thanks to this new setup, the module `output.dnssim` has been moved out
|
|
from dnsjit's repository and placed in DNS shotgun's:
|
|
|
|
https://gitlab.nic.cz/knot/shotgun/-/tree/master/replay/dnssim
|
|
|
|
This will help CZ.NIC to maintain and release both the module and tool
|
|
at the same time.
|
|
|
|
New modules:
|
|
- Added `input.zpcap`, module for reading LZ4/ZSTD compressed PCAPs
|
|
- Added `core.loader`, module for loading C modules using LuaJIT's `ffi` interface and `package.cpath`
|
|
- Added `core.file` with `core_file_exists()`, a C function to check if a file exists
|
|
|
|
Other changes:
|
|
- Add `<dnsjit/version.h>` for `DNSJIT_MAJOR_VERSION`, `DNSJIT_MINOR_VERSION`, `DNSJIT_PATCH_VERSION`
|
|
- `dnsjit`: Remove version print on start
|
|
- `dnsjit.input.zero`: Will `require("example.input.zero")` for backwards compatibility
|
|
- `dnsjit.output.null`: Will `require("example.output.null")` for backwards compatibility
|
|
- `core/timespec`: Add `:max_init()`, return a new object with maximum values set for seconds and nanoseconds.
|
|
- `output/pcap`:
|
|
- Update `open()` man-page, indicate usage of `pcap_dump_open()`
|
|
- Add `have_errors()` to check for write errors during/after dumping
|
|
- `input.fpcap`: Add `fadvise_sequential()` to advise sequential read of the file
|
|
- `examples/dumpdns.lua`: Add support for dumping compressed PCAPs
|
|
|
|
Bugfixes:
|
|
- `lib/getopt`: Fix short options, error if length is not 1
|
|
- `core/timespec`: Fix typo in struct documentation
|
|
|
|
892ac65 example lib
|
|
ae7e647 stand alone tool, dnsjit
|
|
2d937a5 Package
|
|
5c5ba74 Package
|
|
6059bb5 Package
|
|
48df46f zpcap
|
|
ff13586 Remove dnssim
|
|
389f274 filter example
|
|
45e0102 output example
|
|
9d76760 Example input
|
|
f823db8 Example modules - input
|
|
df12078 f/m-advise
|
|
31ee04d WIP: Advise kernel that inputs are read sequentially
|
|
eff6313 Output PCAP man-page, errors
|
|
ac60fec Timespec
|
|
cea7936 Bye Travis
|
|
a5c967f getopt
|
|
506ee99 getopt: detect incorrect short strings
|
|
|
|
2021-02-03 Jerry Lundström
|
|
|
|
Release 1.1.0
|
|
|
|
This releases adds a new module for handling Base64 URLs and new calls
|
|
for error handling and opening PCAPs using file descriptors, along with
|
|
a bug fix in `lib.getopt` and other changes.
|
|
|
|
The `dnssim` module has also gotten its own version and changelog, this
|
|
is to prepare it for being moved outside of dnsjit's repository in the
|
|
future.
|
|
|
|
New modules, calls, features:
|
|
- New `lib.base64url`: Utility library to convert data to base64url format
|
|
- `core.log`: New call `Log.errstr()`: Convert error number to its text representation
|
|
- `input.fpcap`: New call `Fpcap.openfp()`: Open a PCAP file for processing using a file descriptor, for example `io.stdin`
|
|
- `output.dnssim`: Support for DNS-over-HTTPS
|
|
|
|
Bug fixes:
|
|
- `lib.getopt`: Fix bug where `-` and `--` could not be used as arguments to options
|
|
|
|
Other changes:
|
|
- Fix typo in configure help text
|
|
- Add coverage
|
|
- `filter.ipsplit`: Extend PRNG modulus to 2^31, new implementation is the same as glibc's `rand()`
|
|
- `lib.ip`: Fix typo in documentation
|
|
- `output.dnssim`:
|
|
- This module now has it's own changelog
|
|
- Updated to v20210129
|
|
- Depend on libhttp2 for dnssim DNS-over-HTTPS capabilities
|
|
- `output.pcap`: Log libpcap error when failing to open
|
|
- SUSE packages now depend on moonjit because of lack of LuaJIT support
|
|
|
|
d001ccb m4
|
|
4b63bce output/dnssim: add changelog
|
|
7355810 output/dnssim: add version checks
|
|
95fa6a9 input pcap/fpcap, getopt
|
|
99c3d9f test/test_ipsplit: update to use new PRNG
|
|
3235b09 filter/ipsplit: extend PRNG modulus to 2^31
|
|
8ff81a0 fixup! input.fpcap: filename "-" reads from stdin
|
|
63cf0a4 output/dnssim: fix regression in DoH GET
|
|
367d0b8 input.pcap: document stdin feature of open_offline()
|
|
8d94504 input.fpcap: filename "-" reads from stdin
|
|
617058e getopt: accept singleton - also as option value
|
|
7d7f17c output/dnssim: unify failed to bind error messages
|
|
bdf1517 output/dnssim: add IPv4 support
|
|
15a21da Sonarcloud
|
|
ceeea1d SUSE
|
|
1fc3c82 PR179
|
|
2f5d38f output/dnssim: allow user-set instance log name
|
|
b036c68 Info
|
|
0af1ffb Travis, configure
|
|
49bdc08 output/dnssim: implement udp(tcp_fallback) method
|
|
b4f9cf9 man: update gitlab.labs.nic.cz to gitlab.nic.cz
|
|
45b977d output/dnssim: update man page
|
|
4184090 output/dnssim: https2 - fix connection closure issues
|
|
342f33e output/dnssim: https2 - omit closing connection inside callback
|
|
67a76d5 output/dnssim: handle all states when closing connection
|
|
41f04d8 output/dnssim: document importance of conn state enum ordering
|
|
795ab6f output/dnssim: tls - fix handling of CONGESTED connections
|
|
8792b32 output/dnssim: match QUESTION section of received responses
|
|
3a88f5b Coverage
|
|
4f611c8 dnssim
|
|
6e35d5b Compile
|
|
63faa44 README, format code, man-page
|
|
925f85e lib: add missing man reference
|
|
9239087 output/dnssim: fix man formatting
|
|
bd7bee5 fix lua log levels
|
|
4083efd output/dnssim: fix doc typo
|
|
24c22b8 lib/base64url: add lua bindings
|
|
69be2a1 core/log: add errstr() utility function
|
|
0c14d74 output/dnssim: improve https2() documentation and behaviour
|
|
f74e19c output/pcap: log errors when opening output PCAP
|
|
6fe699a output/dnssim: cleanup and nitpicks
|
|
96db8a9 output/https2: handle max_concurrent_streams similar to nghttp2
|
|
15ea609 output/dnssim: https2 - ensure uri authority is always set
|
|
fad3ed6 output/dnssim: https2 - fix some TODOs
|
|
0bee6d8 output/dnssim: https2 - lua documentation
|
|
e83e010 output/dnssim: https2 - implement GET method
|
|
b553e0f output/dnssim: https2 - configure method
|
|
a431a0d contrib: add base64url functions
|
|
c753097 output/dnssim: https2 - set default concurrent stream limit
|
|
d49f275 output/dnssim: https2 - track number of open streams
|
|
2f7217f output/dnssim: https2 - improve data send edge cases
|
|
c0abebc output/dnssim: https2 - return correct error code on send failure
|
|
5b1f6c3 output/dnssim: conn - avoid assert when tearing down failed connections
|
|
5c42266 output/dnssim: exit when file descriptors run out
|
|
1ab2ab6 output/dnssim: https2 - additional asserts to detect invalid data
|
|
4424eb3 output/dnssim: https2 - check response code
|
|
303f2cd output/dnssim: https2 - improve QID mismatch debug msg
|
|
86e3761 output/dnssim: https2 - bugfixes
|
|
4a52f47 output/dnssim: https2 - use more consistent code style for pointers
|
|
c8d853e output/dnssim: conn - fix potential memory leak
|
|
3e6038b output/dnssim: https2 - enable zero-ing out msgid
|
|
712634c output/dnssim: https2 - properly match dnsmsg to query from http request
|
|
5abe943 output/dnssim: https2 - free memory on teardown
|
|
39a9e9e output/dnssim: https2 - initial implementation
|
|
058aee2 output/dnssim: https2 - initialize and setup session
|
|
85eb4a3 output/dnssim: https2 - add libnghttp2 dependency
|
|
6712bd6 output/dnssim: https2 - add skeleton
|
|
|
|
2020-07-23 Jerry Lundström
|
|
|
|
Release 1.0.0
|
|
|
|
First release of dnsjit.
|