6 :released: 9th of April 2020
13 fix records ending up in wrong packet section (Kees Monshouwer)
19 cache: strictly enforce maximum size, and improve cleanup routine
25 avoid IXFR-in corruption when deltas come in close together (please see the :ref:`ixfr-in-corruption-4.2.2` upgrade notes)
31 api: add includerings option to statistics endpoint
37 fix out-of-bound access for zero length "serialized" string when using lmdbbackend. (Kees Monshouwer)
43 bind backend: pthread_mutex_t should be inited and destroyed and not be copied
47 :released: 2nd of December 2019
49 This release fixes several bugs and makes a few features more robust or intuitive. It also contains a few performance improvements for API users.
56 LUA view: do not crash on empty IP list
62 API: Accept headers without spaces
69 Avoid database state-related SERVFAILs after a LUA error
72 :tags: Bug Fixes, Improvements, LMDB
76 Just before 4.2.0, some SQL-related fixes broke edit-zone and other features with the LMDB backend. This has been fixed now. (backport by Kees Monshouwer)
79 :tags: Performance, Improvements
82 API: reduce number of database connections (Kees Monshouwer)
88 Register a few known RR types and remove an unknown one
91 :tags: New Features, Improvements
94 Add SLAVE-RENOTIFY zone metadata support (Matti Hiljanen)
101 rfc2136, pdnsutil: somewhat improve duplicate record handling
107 bindbackend: use metadata for also-notifies as well (Matti Hiljanen)
114 pdnsutil increase-serial: under SOA-EDIT=INCEPTION-EPOCH, bump as if it is EPOCH
117 :tags: New Features, Improvements
120 Add configurable timeout for inbound AXFR (Matti Hiljanen)
123 :tags: Performance, Improvements
126 API: optionally do not return dnssec info in domain list (Chris Hofstaedtler)
132 Basic validation of $GENERATE parameters
135 :tags: New Features, Improvements
138 Add CentOS 8 as builder target
141 :tags: New Features, Improvements
144 gmysql backend, add an option to send the SSL capability flag
148 :released: 30th of August 2019
150 Compared to the last release candidate, one more bug has been fixed.
152 The LMDB backend is incomplete in this version. Slaving zones works, loading zones with pdnsutil works, but more fine grained edits (using edit-zone, or the REST API) fail. We hope to fix this soon in a 4.2.x release.
154 For an overview of features new since 4.1.x, please see `the 4.2.0 announcement blog post <http://blog.powerdns.com/2019/08/29/powerdns-authoritative-server-4-2-0/>`__.
160 bind getAllDomains: ignore per-zone exceptions
164 :released: 29th of July 2019
166 Thanks to an overwhelming amount of testing by our fabulous user community, this release candidate contains a ton of bug fixes (and a few improvements) compared to the previous one. We hope this has shaken out all of the important bugs, so that we can release 4.2.0 soon!
168 This release, sadly, cripples the LMDB backend somewhat, due to `transaction-related fixes for the SQL backends <https://github.com/PowerDNS/pdns/pull/7891>`__. We hope to fix `this issue <https://github.com/PowerDNS/pdns/issues/8134>`__ before 4.2.0, or otherwise, early in 4.2.x.
174 packethandler: Compare TSIG key name using DNSName
180 boost.m4 improvements
186 Make sure we always compile with BOOST_CB_ENABLE_DEBUG set to 0
192 Fix SERVFAIL when backend returns empty DNSName
198 add metric for open TCP connections
204 stop using select() in places where FDs can be >1023
210 pdnsutil increase-serial: set right ordername
216 use BIGINT for notified_serial in pg schema (Klaus Darilion)
219 :tags: Improvements, Robustness, Performance
222 Various robustness and performance improvements around domain IDs (Kees Monshouwer)
228 Fix the accounting of servfail-queries in the distributor
231 :tags: Improvements, Build
234 remove unused import to enable compile on illumos (Thomas Mieslinger)
237 :tags: Improvements, Performance
240 ixfrdist: limit XFR chunk size to 16k
246 limit compression pointers to 14 bits
252 catch name & IP parse errors during outgoing notify preparations
258 Fix a memory leak when sqlite3_exec() fails
261 :tags: Improvements, Build
264 don't enable the tbhandler when libc only pretends to be glibc (James Taylor)
270 Fix a leak on 'Backend reported permanent error which prevented lookup' error
276 Clear CMSG_SPACE(sizeof(data)) in cmsghdr to appease valgrind
282 web: make max request/response body size configurable
288 deprecate SOA autocomplete in pdnsutil check-zone (Kees Monshouwer)
291 :tags: Improvements, Packaging
294 move /var/lib/pdns to pdns-server debian package
300 Show newer features in configure output and --version
303 :tags: Improvements, Performance
306 completely disable the packet when cache-ttl=0 (Kees Monshouwer)
312 Improve error when notification comes in for non-slave zone
318 web: add edited_serial to Zone object
321 :tags: Improvements, Build
324 Adapt calidns for openbsd and other systems without rcvmmsg(2)
327 :tags: Improvements, Performance
330 DNSName, speed up toString() conversion
334 :released: 14th of June 2019
337 :tags: Improvements, LMDB
340 Make explicit lmdbbackend synchronous option
343 :tags: Improvements, LMDB
346 Reduce mmap size for lmdb on 32 bits plus restrict number of shards
349 :tags: Bug Fixes, LMDB
350 :pullreq: 7784, 7697, 7643
354 * lmdbbackend: auth was unset in get() (always true) (Kees Monshouwer)
355 * LMDB defaulted to port 0 for master addresses unless explicitly set
356 * fix ``getAllDomains()`` (Kees Monshouwer)
359 :tags: Bug fixes, Backends
362 auth API, pdnsutil: improve backend transaction correctness
365 :tags: Robustness, Backends
368 detect SOA cache pollution caused by broken backends (Kees Monshouwer)
371 :tags: Improvements, Backends
374 sqlite3: make journal mode configurable; default to WAL
377 :tags: Bug Fixes, Backends
380 auth gsql ``getAllDomains``: ignore stou errors
383 :tags: Performance, Backends
386 speedup ``getUpdatedMasters()`` for the gsql backends (Kees Monshouwer)
389 :tags: Bug Fixes, Backends
394 * Allow updates to override existing ENT records
395 * Fix ENTs removal when "replacing" new records via the API
398 :tags: Bug Fixes, Backends
401 Cleanup SOA editing (Kees Monshouwer)
407 pdns_control reopens geoip databases on reload (jpmens)
413 b2b-migrate did not open a transaction, breaking it for lmdb
419 No longer filter DNSSEC metadata when DNSSEC is enabled in gsql
425 Rectify for ent records in narrow zones was slightly wrong. (Kees Monshouwer)
431 Clear caches (meta-data, keys) on domain deletion
434 :tags: Performance, LUA
437 optionally reuse Lua state
440 :tags: Improvements, Portability
441 :pullreq: 7862, 7861, 7818, 7668
443 Portability/building improvements:
445 * Update boost.m4 to the latest version
446 * Check if ``-latomic`` is needed instead of hardcoding (neheb)
447 * Use ``net-snmp-config --netsnmp-agent-libs`` instead of ``--agent-libs``
448 * bump boost requirement to 1.42 unconditionally
451 :tags: Improvements, Robustness
452 :pullreq: 7864, 7865, 7708
454 Robustness improvements:
456 * Fix warnings reported by Coverity
457 * Initialize cURL before starting any thread
458 * Don't do unaligned memory access
461 :tags: Improvements, Compliance
464 Always truncate when the additional records do not fit in a response (Kees Monshouwer)
467 :tags: Improvements, Compliance
470 Remove ``disable-tcp`` option
473 :tags: Improvements, Compliance
476 RKEY is missing algorithm field (DNS-Leo)
479 :tags: Bug Fixes, Compliance
484 * Don't sign insecure records with keys from other zones (Kees Monshouwer)
485 * always add DS for secure zones, broken since #7523 (Kees Monshouwer)
488 :tags: Improvements, Compliance
491 Ignore Path MTU Discovery on UDP server socket
494 :tags: Features, Tools
497 add DoH support to sdig
500 :tags: Bug Fixes, Tools
504 pdnsutil: show DS for second and further keys too
507 :tags: Features, Tools
510 dumresp: add TCP support
513 :tags: Deprecation, API
516 API: mark ``set-ptr`` as deprecated (zeha)
520 :pullreq: 7790, 7569, 7662, 7503, 7517, 7587
522 Various robustness improvements:
524 * Do not busy loop if we get lots of notifies.
525 * Improve error reporting with garbage in the 'master' field of the database
526 * Do not exit on exception resolving addresses to notify
527 * Auth ringbuffer summaries were case sensitive & accounted delegations incorrectly
528 * plug mysql_thread_init memory leak
529 * Ensure we increase the number of queued queries before decreasing it
532 :tags: Performance, DNSSEC
535 disable dnssec pre-processing for non dnssec zones and avoid a lot of ``isSecuredZone()`` calls (Kees Monshouwer)
541 rename 'supermaster' option to 'superslave'
544 :tags: Improvements, Webserver
547 improve logging in the web server
550 :tags: Features, Tools
553 pdnsutil, dnswasher: add support for encrypting IP addresses
559 GSQL: Log more data in error messages
563 :released: 19th of March 2019
570 Insufficient validation in the HTTP remote backend (CVE-2019-3871, PowerDNS Security Advisory :doc:`2019-03 <../security-advisories/powerdns-advisory-2019-03>`)
573 :tags: Bug Fixes, API
577 Fix API search failed with "Commands out of sync; you can't run this command now".
580 :tags: Bug Fixes, GeoIP
583 Fix static lookup when using weighted records on multiple record types.
586 :tags: Improvements, DNSSEC
589 Report ``checkKey`` errors upwards.
592 :tags: Bug Fixes, MySQL
596 Fix invalid SOA record in MySQL which prevented the authoritative
597 server from starting.
603 ixfrdist: Add option to limit AXFR record count.
606 :tags: Improvements, API
610 Add ``type`` filter to search-data api.
613 :tags: Improvements, Internals
616 Use a less expensive way to get memory stats for ``real-memory-usage``.
619 :tags: Improvements, API
623 Add ``rcode`` response statistics on API.
630 Lua records: Add ``useragent`` option to ``ifurlup`` and set a default.
633 :tags: Improvements, Remote
637 remotebackend: Implement ``getUpdatedMasters``.
643 Correctly interpret an empty AXFR response to an IXFR query.
650 Lua: Expose ``dns_random`` as ``pdnsrandom``.
653 :tags: Improvements, API
657 Use commas instead of spaces when setting Zone Masters via the REST API.
660 :tags: Bug Fixes, API
664 Improve handling of out of range ``modified_at`` value.
667 :tags: Bug Fixes, Tools
670 Fix output order of pdnsutil ``add-record``.
676 Respect packet size limits, even with ECS and TSIG.
683 Fix dot stripping in ``setcontent()``.
686 :tags: Improvements, API
689 Improve RRset validation.
692 :tags: Bug Fixes, MySQL
695 Avoid infinite loop in mydnsbackend.
698 :tags: Bug Fixes, LMDB
702 Do not compress the root since LMDB backend cannot set a root zone
703 with a compressible SOA record.
706 :tags: Bug Fixes, LMDB
710 Avoid duplicate NSEC3 records in presigned zones in LMDB backend.
713 :tags: New Features, LMDB
716 Authoritative LMDB backend.
719 :tags: Improvements, Internals
722 Be smarter about trimming whitespace when creating records from ASCII.
725 :tags: Improvements, Internals
728 More sandboxing using SystemD's features.
731 :tags: Improvements, Internals
734 Fix attempt to restrict / speed-up additional processing to auth zone.
737 :tags: Bug Fixes, Tools
740 sdig: Handle non-IN class records better.
743 :tags: Improvements, DNSSEC
746 Error on DNSSEC default misconfiguration.
749 :tags: Bug Fixes, Improvements, Tools
752 Dnsscope off-by-one + domain-filter.
755 :tags: Bug Fixes, Internals
758 Fix ``dns_random()`` always returning 0 when the minimum acceptable value is 0.
761 :tags: Bug Fixes, Internals
764 Lower ``udp-truncation-threshold`` by default to 1232.
767 :tags: Improvements, Internals
770 Make ``pdns_control notify *`` also notify slaves zones.
773 :tags: Improvements, Internals
776 Zero out QTYPE response numbers in our statistics. Makes Valgrind
777 usable on auth again.
780 :tags: Bug Fixes, Tools
784 pdns_notify: Support hostname for notification.
787 :tags: Improvements, Internals
790 Improve memory handling for NSEC(3) records with lots of types.
796 Fix replying from ANY address for non-standard port.
799 :tags: Improvements, API
802 Fix a couple of Swagger / OpenAPI issues.
808 Fix a few off-by-one errors.
811 :tags: Bug Fixes, GeoIP
815 Forbid 0 as weight value.
818 :tags: Bug Fixes, Internals
821 Prevent leak of file descriptor if running out of ports for incoming AXFR.
824 :tags: Improvements, DNSSEC
827 Fallback to SHA1 for the signatures cache if MD5 is not available.
830 :tags: Bug Fixes, API
834 Prevent more than one CNAME / SOA record in the same RRset.
837 :tags: Improvements, Internals
840 Use a cache-able soa record for the serial check caused by a notify.
846 Improved Lua records - Added all selector, and backupSelector fallbacks.
853 On incoming NOTIFY load our serial from backend to have it available during slave-check.
855 Also log ourserial to ease debugging.
858 :tags: Improvements, API, DNSSEC
861 API: Add TSIG key manipulation endpoints.
867 Configure ``--enable-pdns-option`` ``--with-third-party-module``.
874 Address some known LUA Records issues:
876 * Better check input lists,
877 * Report lua wildcards errors,
878 * Exposes ``DNSName::getRawLabels`` in lua env,
879 * Better document LUA functions and objects.
882 :tags: Improvements, API
885 Make API changes do a rectify by default, add an option to disable.
888 :tags: Bug Fixes, Improvements
892 Remove ``autoserial`` from the Authoritative Server. Serial 0 was a little bit too special in PowerDNS.
898 Handle ANY queries with Lua records.
904 Remove ``out-of-zone-additional-processing`` setting.
910 geoip: properly delete libGeoIP return values.
916 SOA-check: reject NXDOMAIN response and check label of RR against qname.
919 :tags: Improvements, DNSSEC
922 Improve RSA key warnings.
928 Fix ``carbon-instance`` / ``carbon-namespace`` inconsistencies.
935 geoipbackend: Allow empty content for ENT record.
941 pdnsutil.1 & settings:
943 * Add Ed25519 and Ed448,
944 * Document ECC keysizes,
948 :tags: Bug Fixes, API
951 Check DNSNames that should be hostnames.
958 Add namespace and instance variable to carbon key.
961 :tags: Bug Fixes, Packages
964 Fix up the BIND config files on upgrade.
970 geoipbackend: Handle read error for config file.
976 Use unique pointers in the OpenSSL signer.
979 :tags: API, Removed Features
982 Remove ``api-logfile`` flag and grep API endpoint.
988 Store ``NetmaskTree`` nodes in a set for faster removal.
994 Adds the glorious log-log histograms.
1000 Make sure we escape ``127`` in TXT records.
1006 Add support for NONE SOA-EDIT kind.
1012 Name threads in the programs.
1018 ALIAS: Respond SERVFAIL on non-NOERRORs from resolver.
1024 Add support for OpenSSL 1.1.1's ed25519 and ed448 for signing and verifying.
1030 Add incremental ``slave-check`` backoff also for failed AXFR.
1036 Respond correctly to DS query at delegation in unsigned zone.
1042 Enhance query-logging with timing for MySQL, PostgreSQL and SQLite.
1048 Apply ALIAS scopemask after chasing.
1054 Fix compilation with LibreSSL 2.7.0+.
1060 Release memory in case of error in the OpenSSL ECDSA constructor.
1067 Actually truncate truncated responses.
1070 :tags: Improvements, Packages
1073 Remove GOST and Botan support.
1076 :tags: Improvements, API
1079 Add zone lookup by ``/zones?zone=example.org``.
1091 Add option ``send-signed-notify`` to send NOTIFYs without TSIG signature.
1094 :tags: Removed Features, API
1097 Drop ``api-readonly`` configuration setting.
1103 Remove SOA-check backoff on incoming NOTIFY and fix ``d_lock`` handling.
1106 :tags: Bug Fixes, Tools
1109 Make ``edit-zone`` catch zoneparser exceptions as well.
1112 :tags: Improvements, Tools
1115 ``check-all-zones``: find duplicate zones and SOAs.
1121 ``check-zone``: allow null MX, SRV.
1127 Workaround MariaDB pretending to be MySQL.
1133 Add the serials when logging the final result of a slave check.
1136 :tags: Bug Fixes, API
1137 :pullreq: 6780, 6816
1139 Make sure that we use strict weak records ordering in the API.
1140 (Doing this avoids concurrent records / comments iteration from running out of sync.)
1146 Reset the TSIG state between queries.
1149 :tags: Improvements, Tools
1152 calidns: Accurate qps targets.
1158 LuaWrapper: Disable maybe uninitialized warnings with boost optional.
1164 Only parse ``resolv.conf`` once - this avoids race conditions.
1170 Implement a smarter dedup for filling packets in auth.
1173 :tags: Improvements, Tools
1176 pdns_control notify: Handle slave w/o renotify properly.
1179 :tags: Improvements, Tools
1182 pdnsutil: Occlusion and auth check improvements.
1188 Sign CDS/CDNSKEY RRsets with the KSK.
1194 luawrapper: Report caught ``std::exception`` as ``lua_error``.
1200 Initialize some missed qtypes: WKS, SMIMEA.
1206 geoipbackend: Check ``GeoIP_id_by_addr_gl`` and ``GeoIP_id_by_addr_v6_gl`` return value.
1212 stubresolver: Improve locking.
1218 Reject duplicate RRsets in patchZone.
1221 :tags: Bug Fixes, API
1224 Remove ENTs when "replacing" new records.
1230 gmysql: Use future-proof statement for transaction isolation.
1233 :tags: Improvements, API
1236 API export function output change to add IN to the output.
1239 :tags: Improvements, API
1243 Send correct response codes for the CryptoKey endpoints.
1249 Ensure ALIAS answers over TCP have correct name.
1252 :tags: Bug Fixes, Tools
1255 calidns: Don't issue socket buffer or SCHED_FIFO warnings in quiet mode.
1258 :tags: Bug Fixes, API
1261 Restrict creation of OPT and TSIG rrsets.
1267 Fix some minor issues for presigned (large) bind zones.
1273 dnsreplay: Add more checks against bogus PCAP.
1276 :tags: Bug Fixes, Improvements
1280 Geoip: Fix poisoning of cache when hit service's default network.
1282 Also includes an optimization to make lookups faster.
1285 :tags: Improvements, Tools
1288 pdnsutil: also load modules through the ``load-modules`` directive.
1291 :tags: Improvements, Tools
1294 calidns: Add ``quiet``, ``minimum-success-rate`` options to use from a script.
1297 :tags: New Features, Tools
1300 Add ``dnspcap2calidns`` to convert PCAP to the calidns format.
1303 :tags: Bug Fixes, Tools
1306 dnsreplay: Bail out on a too small outgoing buffer.
1309 :tags: Bug Fixes, Tools
1312 pdnsutil: Use new domain in ``b2bmigrate``.
1315 :tags: Bug Fixes, API
1318 Increase serial after DNSSEC related updates.
1324 bindbackend: Refuse launch suffixes.
1327 :tags: Improvements, Tools
1330 calidns: Add an option to read ECS values from the query file, skip comments.
1336 Avoid interleaved access to B (via ``d_dk``). Before this patch,
1337 the meta lookup would interfere with the already-started
1338 ``B.lookup``. This caused failures with odbc/MSSQL.
1344 Add missing overrides.
1347 :tags: Improvements, Tools
1350 calidns: Add a ``maximum-qps`` option to stay at a given stable load.
1356 LUA Records (yes we know it is "Lua").
1362 Add return 0 for correct exit of ``set-kind`` and ``set-account``.
1365 :tags: Bug Fixes, Tools
1368 Link ``dnspcap2protobuf`` against librt when needed.
1374 Recheck serial when AXFR is done.
1377 :tags: Improvements, Internals
1380 dns_random: Implement new dns_random.
1396 Avoid an isane amount of new backend connections during an AXFR.
1399 :tags: Improvements, Internals
1402 Remove ``theLog`` and ``theL`` and replace this with a global ``g_log``.
1405 :tags: Improvements, Tools
1408 Add TCP support for ALIAS.
1414 Add support for MB and MG RR types.
1420 Add actual EDNS buffer size logging, not just our interpretation.
1423 :tags: Improvements, Internals
1426 Lower 'packet too short' loglevel.
1432 Report unparseable data in stoul ``invalid_argument`` exception.
1435 :tags: New Features, Tools
1438 Add quiet modifier to pdnsutil ``rectify-all-zones`` command.
1444 Fix handling of user defined AXFR filters return values.
1451 Reload ``/etc/resolv.conf`` when modified.
1454 :tags: Bug Fixes, Tools
1457 Rather than crash, sheepishly report no file/linenum in pdnsutil.
1460 :tags: Improvements, Tools
1463 calidns: Add the ``--ecs`` parameter to add random ECS values to queries.
1469 Lua2 backend: This is a rewrite of the lua backend. It uses AuthLua4 as basis and more strongly typed access using LuaContext.
1476 Make requests always return to sender, for usage in multimaster slave zones. Also - made sure that the master that is questioned for updates will be selected randomly, to prevent repeatedly asking a dead master for updates.
1479 :tags: Improvements, API
1482 Return status ``409`` if domain already exists.
1488 Reject updates if they would lead to CNAME+Other data.
1494 Fix rectify (ordername) for non-DNSSEC zones.
1500 pkcs11signers: Fix yubikey NEO to work.
1506 Make ``check-zone`` error on rows that have content but shouldn't.
1512 Make ``outgoing-query-address`` and ``outgoing-query-address6``
1513 behaviours equivalent.
1520 GeoIPbackend improvements:
1522 * Adds MMDB support. Now geoip backend can be compiled without geoip support,
1523 * Adds location support,
1524 * Fixes SERVFAIL if expansion is empty.
1530 Fix syntax error for ``replace-rrset``. (@lordievader)
1533 :tags: Improvements, API
1536 Expose ``ResponseStats`` via REST API.
1539 :tags: Improvements, Internals
1542 Remove all traces of selectmplexer, fix up pollmplexer.
1545 :tags: Bug Fixes, Tools
1548 IXFR: correct behavior of dealing with DNS Name with multiple records; speed up IXFR transaction.
1554 bindbackend: handle ``std::exception`` during startup zone-parsing.
1557 :tags: Improvements, Tools
1560 Add an ``--initial-port`` option to dnsreplay.
1565 :tickets: 5079, 5594, 5654
1567 Add XPF support to sdig, PowerDNS Recursor and dnsdist.
1570 :tags: Improvements, Internals
1574 Change from ``time_t`` to ``uint32_t`` for serial in ``calculateSOASerial``.
1580 Check more thoroughly the source of UDP answers.
1586 Slave cleanups. (@zeha)
1593 gmysql-backend: set unsigned attribute on ``notified_serial`` column.
1600 pdns: Improve record parsing
1606 Escaping unusual DNS label octets in DNSName is off by one.
1609 :tags: Improvements, Internals
1612 Use ``toLogString()`` for logging and throwing.
1615 :tags: Improvements, Internals
1618 Remove obsolete EDNS PING code. (@zeha)
1624 Update EDNS Option code list.
1630 Changes to compile and run on NetBSD.
1636 Remove ``serializeSOAData``, refactor ``calculate``/``edit``/``increaseSOA``.
1639 :tags: Improvements, Tools
1642 Add colour to diff output of pdnsutil.
1647 :tickets: 6101, 6120
1649 Improve tests and two bugfixes:
1651 * Fix xfrIP to reject invalid ips,
1652 * Accept seconds since epoch in RRSIG timestamps too.
1660 Forbid creating algo 5/8/10 keys with out-of-spec sizes.
1666 Add methods missing from AuthLua4 when Lua support is disabled.
1672 Init openssl and libsodium before chrooting in pdnsutil.
1675 :tags: Bug Fixes, LDAP
1678 Fix listing zones incl. AXFR.
1684 Fix uninitialized index in Lua's DNSPacket::getRRS() binding.
1691 Fix out of bounds exception in CAA processing.
1694 :tags: Improvements, API
1697 Return ``404`` for non-existing zones.
1704 Add Draft of Swagger spec for Authoritative Server HTTP API.
1711 Forbid label compression in ALIAS wire format.
1718 API: Add response-by-qtype and response-by-rcode on /statistics endpoint
1724 Several improvements to processing of notifies.
1726 * Turn off supermaster support by default (adds new setting).
1727 * PowerDNS was wasting a lot of queries while processing notifies.
1728 * Use comboaddress for IPs (was strings)