1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
|
2024-09-04 Jerry Lundström
Release 1.7.3
This patch release fixes memory alignment issues and the handling of
TCP segments. Many thanks to Ray Bellis (ISC) for reporting this and
helping greatly with fixing it!
d8a06a3 C++11
8c99466 Memory align, TCP assemble
2024-08-29 Jerry Lundström
Release 1.7.2
This patch release fixes various issues reported by CI/code analysis
tools.
Fixes:
- `RefCountString`: Use anonymous array for `data`
- `sql`: Fix heap overflow [[sonarcloud](https://sonarcloud.io/project/issues?open=AZF-b0jIXv-Y5-GmvUlN&id=dns-oarc%3APacketQ)]
- Fix CodeQL issues:
- https://github.com/DNS-OARC/PacketQ/security/code-scanning/35
- https://github.com/DNS-OARC/PacketQ/security/code-scanning/37
- https://github.com/DNS-OARC/PacketQ/security/code-scanning/38
- https://github.com/DNS-OARC/PacketQ/security/code-scanning/39
- https://github.com/DNS-OARC/PacketQ/security/code-scanning/40
- https://github.com/DNS-OARC/PacketQ/security/code-scanning/5
68b5385 Cleanup
1dfd47b CodeQL, code format
6224234 CodeQL fixes
6771f3a Copyright
3283c43 Heap overflow
1ff69df Badges
d4e93ec Workflow
75283cc Doc
25adefa Add CodeQL workflow for GitHub code scanning
bb7be53 Fix COPR
2022-06-02 Jerry Lundström
Release 1.7.1
This patch release fixes a bug in the domain name parsing that cuts
off very long names.
4ec95e7 FQDN parsing
2022-04-13 Jerry Lundström
Release 1.7.0
This release adds two new columns for the number of labels in the
query and in the first answer, and two new functions for looking up
country code and autonomous system number (ASN) of addresses using
MaxMind databases (see `FUNCTIONS.md` on how to specify database
to use).
- New column `qlabels`, number of labels in `qname`
- New column `alabels`, number of labels in `aname`
- New function `CC(address)`, the 2-letter ISO country code associated with the address
- New function `ASN(address)`, the ASN associated with the address
64d1d72 Couting labels
b3b970d Adding field qlabel_count as the count of the number of labels in the query
0866f45 auto
53c27ca SonarCloud, LGTM, packages
1e5f986 MaxMind DB
3967c31 Adding country-code and ASN lookup from MaxMind DB as functions on address strings
2022-03-10 Jerry Lundström
Release 1.6.0
This release adds a new SQL function for masking addresses and adds
support for Pcap's LINUX_SLL link layer.
The new `netmask()` function (added by Ken Renard @kdrenard) is used
as follows: `NETMASK(address [, v4_mask_length [, v6_mask_length]])`
Other fixes:
- `packet_handler`: Clean up header parsing, size checks etc
- Remove own defines of ether/proto types and don't overlap `struct in6_addr`
ae211e6 LINUX_SLL, netmask(), ether types
d847c97 Adding Netmask description to FUNCTIONS.md
4be804d Adding Netmask function. Usage "netmask (<address_field>[, <IPv4-mask-length>[, <IPv6-mask-length>]])"
2021-11-05 Jerry Lundström
Release 1.5.0
This release fixes issues with CSV and JSON w.r.t. quoted strings. CSV
output now conforms to RFC4180 and JSON output conforms to RFC8259.
Also added a new option (`--rfc1035`) to output and quote domain names
as described in RFC1035.
Other changes:
- Update debian control files
- Fix typo in `--help` text
- Fix OpenBSD clang++ compiler warnings
- `Output::add_int()`: Fix potential memory overwrite
8206e0f OpenBSD clang warnings
6c1247f Code format
d6c82d4 New option to escape DNS names
2bf6f26 Fix typo in --help around --xml parameter
9c95d15 Conform to CSV/JSON RFCs
feb0596 debhelper
be37ad0 Bye Travis
2020-10-23 Jerry Lundström
Release 1.4.3
This release updates the DNS resource record types list with the new
types SVCB and HTTPS. It also fixes a lot of issues reported by code
analysis and adds code coverage tests.
0ddbc42 Info, Travis, configure
37a8136 Add SVCB, HTTPS rrtypes
6188935 m4
c159904 Coverage
7907eb4 Documentation, sonar
2fe937a Badges
90a5e55 LGTM
fae992a COPR
2020-03-02 Jerry Lundström
Release 1.4.2
Updated list of DNS resource types and work on CI and packaging.
Commits:
4bdb9e3 Add missing rr types
7c529ed README
d610061 COPR, spec
96763d8 Package
5aa5984 Funding
377be2d spec
a0b5fb7 Travis-CI
2017-11-09 Jerry Lundström
Release 1.4.1
Fixed an issue with the in-memory representation of DNS records which
was not initialized correctly and could cause the reuse of old data,
especially if the record was incomplete (such as FormErr).
Commits:
6a790e6 Fix #61: Make sure variables are initialized
ed37b88 Update Murmur location
5afb576 Update code format and move Murmur into it's own dir
2017-07-11 Jerry Lundström
Release 1.4.0
This release adds new fields for IP version and EDNS0 Client Subnet along
with documentation updates, new usage (`--help`) and a buffer overflow
check. Rework of the way OPT records are parsed has been done to make it
easier to add support for other EDNS options in the future.
New fields:
- `ip_version`: The IP version as an int (4/6)
- `edns0_ecs`: A bool that is true if Client Subnet (RFC7871) was found
- `edns0_ecs_family`: An int with the address family
- `edns0_ecs_source`: An int with the source prefix length
- `edns0_ecs_scope`: An int with the scope prefix length
- `edns0_ecs_address`: A textual representation of the address
Bugfix:
- `get_ushort()` in DNS parsing was not checking length of buffer before
accessing it.
Commits:
0e7c34a Rewrote usage, add option descriptions, tables and fields
3943dda Update documentation and tests
f4b9464 Add IP_Version
0b309e6 ECS addresses and OPT RR parsing
875fd60 Correct type in documentation also
b5a91b7 Damn the common keyboard sequences...
358b9af Buf overflow check, move OPT RR parsing, rework EDNS0 ECS
d38fffc Add EDNS option codes and EDNS Client Subnet (ECS) support
2017-06-02 Jerry Lundström
Release 1.3.1
This release add packaging files for DEB and RPM distributions and
fixes a couple of bugs:
- ICMP code to fill the tables was wrong and created segfault using
normal select, aggregation or group functions. The code has been
rewritten to work as the DNS code does and ICMP tests have been
added.
- Historically PacketQ parses all resource records but only saves
the first and last record, this would overwrite EDNS information
if it was not the first or last record. This has been fixed by
saving the EDNS information as it is found.
Thanks to Anand Buddhdev (RIPE NCC) and Daniel Stirnimann (SWITCH)
for providing PCAPs to help resolve the bugs.
Commits:
9c2627f Fix CID 1439421
5423c1d Fix #17: Save EDNS information when it's found
ecb166e Fix #48: ICMP parsing and a little better memory handling
0052024 Fix #45: Add packaging files
2017-05-23 Jerry Lundström
Release 1.3.0
First release under DNS-OARC management with license changed to GPL v3.0,
minor version jump to not conflict with forked repositories that
increased the version themselves.
Software now using Travis-CI and Jenkins to compile and test under Debian,
Ubuntu, CentOS, FreeBSD and OpenBSD. Coverity Scan used for code analysis
and 30 defects have been solved.
Bug fixes / enhancements:
- Big endian supported correctly
- Check data length when processing TCP/UDP packets
- Support VLAN-tagged packets
- Support for older compilers (CentOS 6)
- Prevent "time of check, time of use"
- Use `snprintf()` instead of `sprinf()`
Commits:
6782f1f libpcap is not needed
23a1ca0 Add more 'order by' in tests to ahve concurrent results
f14ab5d Run tests in Travis also
1a0c98a Add test for bigendian PCAP
64ee5a8 - fixed reading of big-endian pcap files (including gzipped pcap)
- added sample-bigendian.pcap.gz
dd6ab57 Add test based on the extended regression tests
27518c5 More regression tests
d889228 Updated regression-test.sh to make the ordering of test query
results more consistent, to avoid false positives.
d157fef Expanded the regression tests.
b3df6c2 Added checks for bad TCP and UDP packet lengths (which could
cause malloc requests for humongous amounts of memory...)
2e46729 Added support for VLAN-tagged ethertypes.
10ae2d6 Fix #20: Support CentOS 6 compiler (and hopefully RHEL6 also)
e7a8163 Format code using `clang-format`
a9ae0fe Change namespace to `packetq` and uniform header defines
6ab0fde Add Coverity badge
63b480b Use `open()`, `fstat()` and `fdopen()` to prevent "time of check,
time of use" problem
446a5bf Fix CIDs
01be348 Fix CIDs
d11a61f Use `snprintf()`
0bc8e57 Add regression test (from example) for all output formats
09b9037 Move wiki documentation into the repository
5e41dbb Update README.md
6b2263f Add dependencies
9cd6e5a Add Travis-CI badge
cf582f8 Add Travis-CI
d7eaa55 Cleanup and license change
2014-04-23 Roger Murray
Release 1.1.11
This release and prior releases was not documented here, see repository
for more information.
|