Tue Mar 23 18:17:26 2021 UTC ()
dnsperf: Update to version 2.5.1

This also fixes build problems with bind-9.16.13. Detailed changes:

- Release 2.5.1

  This release re-adds support for TYPEnnn and ANY in the datafile, this
  was missed during the removal of the dependency on BINDs development
  libraries in v2.4.0.

  Also note that with v2.5.0, this software now depends on Concurrency
  Kit (ck) for atomic operations.

- Release 2.5.0

  This release adds re-connection support for TCP and DoT protocol,
  new options to `resperf` and fixes a few bugs.

  `dnsperf` and `resperf` will now try to re-connect when they lose a TCP
  or DoT connection, and with that comes a few new statistics metrics.
  For `dnsperf`, if a connection oriented protocol is used, it will now
  show the total number of re-connections made and the connection latency.
  For `resperf` it also shows the total number of re-connections made and
  the gnuplot data now contains the total number of connections made and
  the connection latency for each interval.
  Beside re-connection support, improvements have been made when it comes
  to tracking socket readiness while connections are established which
  should generate less warnings about "socket not ready".

  New `resperf` options:
  - `-R`: Reopen the datafile if it runs out of data before the testing
    is completed. This allows for long running tests on very small and
    simple query datafile.
  - `-F <fall_behind>`: Sets the maximum number of queries that can fall
    behind being sent. `resperf` will stop when this many queries should
    have been sent and it can be relative easy to hit if `-m <max_qps>`
    is set too high.
    The default is 1000 and setting it to zero (0) disables the check.

  Bugfixes:
  - Fixed port handling for host/network format when setting client side
    port with `-x`
  - Fix support for quoted characters, `\000` and `\.`, in domain names,
    this was lost when removing BIND's internal development libraries
  - Fix issue in `dnsperf`, it would loop forever if no connection could
    be established
  - Fix potential buffer overrun in `resperf` when using response id
    for `queries[]`
  - DoT: Fix bug when sending from buffer

  Other changes:
  - Always use `IPV6_V6ONLY` socket option for IPv6
  - Add man-page on `-W` option added in v2.4.0
  - Reformat man-pages
  - `resperf`:
    - Try and process more request each run to hopefully not hit max
    outstanding so easy when high QPS
    - Add default value to `-C` so it shows in help

- Release 2.4.2

  This release fixes a few issues with reading of the datafile which
  could lead to "ran out of data" errors.

  The problem was that reading from the datafile was done before finding
  a socket to send it on, or socket readyness, and that lead to progressing
  the queries without really doing anything.
  Another issues that's been fixed was that if the read lines perfectly
  aligned with the buffer, it would be treated like EOF and caused an exit.

- Release 2.4.1

  This release fixes an issue with the socket readiness function that
  could cause a buffer overflow (`-T 10 -c 2000`) due to `select()` being
  limited to check 1023 sockets. `poll()` is now used which has no limit.

  There has also been a few fixes to the contrib script `queryparse` that
  has to do with python v2 and v3 compatibility and better exception
  handling.

- Release 2.4.0

  This release removes the dependency on BIND's internal development
  libraries! This make building and packaging a lot easier and less
  troublesome in the future.

  This software now depends only on OpenSSL (for TSIG feature) with an
  optional depend on LDNS (for dynamic updates feature).

  New option:
  - Transport mode option `-m`/`-M` now recognizes `dot` alongside `tls`
    for encrypted DNS
  - Added `-W` for outputting warnings and errors to stdout

  Other changes / bugfixes:
  - Fix potential memory leak of query descriptions when using verbose
  - Only use TLS v1.2 and above for DoT/TLS
  - Add a lot of tests
  - Add coverage testing


(tron)
diff -r1.18 -r1.19 pkgsrc/benchmarks/dnsperf/Makefile
diff -r1.6 -r1.7 pkgsrc/benchmarks/dnsperf/distinfo

cvs diff -r1.18 -r1.19 pkgsrc/benchmarks/dnsperf/Makefile (expand / switch to unified diff)

--- pkgsrc/benchmarks/dnsperf/Makefile 2020/11/05 09:07:31 1.18
+++ pkgsrc/benchmarks/dnsperf/Makefile 2021/03/23 18:17:26 1.19
@@ -1,30 +1,30 @@ @@ -1,30 +1,30 @@
1# $NetBSD: Makefile,v 1.18 2020/11/05 09:07:31 ryoon Exp $ 1# $NetBSD: Makefile,v 1.19 2021/03/23 18:17:26 tron Exp $
2 2
3DISTNAME= dnsperf-2.3.4 3DISTNAME= dnsperf-2.5.1
4PKGREVISION= 1 
5CATEGORIES= benchmarks net 4CATEGORIES= benchmarks net
6MASTER_SITES= https://www.dns-oarc.net/files/dnsperf/ 5MASTER_SITES= https://www.dns-oarc.net/files/dnsperf/
7 6
8MAINTAINER= pkgsrc-users@NetBSD.org 7MAINTAINER= pkgsrc-users@NetBSD.org
9HOMEPAGE= https://www.dns-oarc.net/tools/dnsperf 8HOMEPAGE= https://www.dns-oarc.net/tools/dnsperf
10COMMENT= DNS server performance measurement tools 9COMMENT= DNS server performance measurement tools
11LICENSE= mit 10LICENSE= mit
12 11
13GNU_CONFIGURE= yes 12GNU_CONFIGURE= yes
14USE_TOOLS+= sh:run pkg-config 13USE_TOOLS+= sh:run pkg-config
15 14
16# This package needs "isc" include files and "isc-config.sh" to build. 15# This package needs "isc" include files and "isc-config.sh" to build.
17# The built-in check only considers "libbind". 16# The built-in check only considers "libbind".
18USE_BUILTIN.bind= no 17USE_BUILTIN.bind= no
19 18
20REPLACE_SH+= src/resperf-report 19REPLACE_SH+= src/resperf-report
21 20
22.include "../../archivers/xz/buildlink3.mk" 21.include "../../archivers/xz/buildlink3.mk"
23.include "../../converters/libiconv/buildlink3.mk" 22.include "../../converters/libiconv/buildlink3.mk"
 23.include "../../devel/concurrencykit/buildlink3.mk"
24.include "../../devel/zlib/buildlink3.mk" 24.include "../../devel/zlib/buildlink3.mk"
25.include "../../net/GeoIP/buildlink3.mk" 25.include "../../net/GeoIP/buildlink3.mk"
26.include "../../net/bind916/buildlink3.mk" 26.include "../../net/bind916/buildlink3.mk"
27.include "../../security/openssl/buildlink3.mk" 27.include "../../security/openssl/buildlink3.mk"
28.include "../../textproc/json-c/buildlink3.mk" 28.include "../../textproc/json-c/buildlink3.mk"
29.include "../../textproc/libxml2/buildlink3.mk" 29.include "../../textproc/libxml2/buildlink3.mk"
30.include "../../mk/bsd.pkg.mk" 30.include "../../mk/bsd.pkg.mk"

cvs diff -r1.6 -r1.7 pkgsrc/benchmarks/dnsperf/distinfo (expand / switch to unified diff)

--- pkgsrc/benchmarks/dnsperf/distinfo 2020/09/01 14:03:22 1.6
+++ pkgsrc/benchmarks/dnsperf/distinfo 2021/03/23 18:17:26 1.7
@@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
1$NetBSD: distinfo,v 1.6 2020/09/01 14:03:22 taca Exp $ 1$NetBSD: distinfo,v 1.7 2021/03/23 18:17:26 tron Exp $
2 2
3SHA1 (dnsperf-2.3.4.tar.gz) = 07f231060c9df3a858909653bcedbe62def3abc5 3SHA1 (dnsperf-2.5.1.tar.gz) = 4ee7749774d7357d117ba9e1751aa6d795c34730
4RMD160 (dnsperf-2.3.4.tar.gz) = 2631528075e275eb7657e48f6dcb68edc92826da 4RMD160 (dnsperf-2.5.1.tar.gz) = 18451aab6e41b9a4db87c5fca3f6bb1db884bafe
5SHA512 (dnsperf-2.3.4.tar.gz) = ec1df94d9f1c9bc9d439318cfa75f9eea7a8a41c88a411e0678606a3fc4374d1bcc63ce5da606ed4951477d994b440cc2109f2ffc99feddf29bbdfa17f44efd8 5SHA512 (dnsperf-2.5.1.tar.gz) = cd19973560ddb3fa5f9e503b7e904edbed229745ec13cdc32a94444b8e7ec62433128dfd1d212ba47f2c7e749f9ef7ab3af4f2744fb9a23641c8dfb74ce9b102
6Size (dnsperf-2.3.4.tar.gz) = 406693 bytes 6Size (dnsperf-2.5.1.tar.gz) = 428907 bytes