From 1f6f7ccad66cf86d60bcb3da24fb667bab2726e1 Mon Sep 17 00:00:00 2001 From: Michal Nowak Date: Mon, 12 Oct 2020 19:21:37 +0200 Subject: [PATCH] Drop unused portlist code --- bin/named/server.c | 1 - lib/dns/Makefile.am | 2 - lib/dns/dispatch.c | 18 -- lib/dns/include/dns/dispatch.h | 19 -- lib/dns/include/dns/portlist.h | 100 ---------- lib/dns/include/dns/types.h | 1 - lib/dns/portlist.c | 250 ------------------------ lib/dns/win32/libdns.def.in | 8 - lib/dns/win32/libdns.vcxproj.filters.in | 6 - lib/dns/win32/libdns.vcxproj.in | 2 - util/copyrights | 2 - 11 files changed, 409 deletions(-) delete mode 100644 lib/dns/include/dns/portlist.h delete mode 100644 lib/dns/portlist.c diff --git a/bin/named/server.c b/bin/named/server.c index b25d258bef..db84a2c164 100644 --- a/bin/named/server.c +++ b/bin/named/server.c @@ -76,7 +76,6 @@ #include #include #include -#include #include #include #include diff --git a/lib/dns/Makefile.am b/lib/dns/Makefile.am index f53debaccf..78bd453f90 100644 --- a/lib/dns/Makefile.am +++ b/lib/dns/Makefile.am @@ -105,7 +105,6 @@ libdns_la_HEADERS = \ include/dns/opcode.h \ include/dns/order.h \ include/dns/peer.h \ - include/dns/portlist.h \ include/dns/private.h \ include/dns/rbt.h \ include/dns/rcode.h \ @@ -211,7 +210,6 @@ libdns_la_SOURCES = \ order.c \ peer.c \ private.c \ - portlist.c \ rbt.c \ rbtdb.h \ rbtdb.c \ diff --git a/lib/dns/dispatch.c b/lib/dns/dispatch.c index 91a392b4a1..c4265aa5c9 100644 --- a/lib/dns/dispatch.c +++ b/lib/dns/dispatch.c @@ -34,7 +34,6 @@ #include #include #include -#include #include #include #include @@ -61,7 +60,6 @@ struct dns_dispatchmgr { unsigned int magic; isc_mem_t *mctx; dns_acl_t *blackhole; - dns_portlist_t *portlist; isc_stats_t *stats; /* Locked by "lock". */ @@ -1901,22 +1899,6 @@ dns_dispatchmgr_getblackhole(dns_dispatchmgr_t *mgr) { return (mgr->blackhole); } -void -dns_dispatchmgr_setblackportlist(dns_dispatchmgr_t *mgr, - dns_portlist_t *portlist) { - REQUIRE(VALID_DISPATCHMGR(mgr)); - UNUSED(portlist); - - /* This function is deprecated: use dns_dispatchmgr_setavailports(). */ - return; -} - -dns_portlist_t * -dns_dispatchmgr_getblackportlist(dns_dispatchmgr_t *mgr) { - REQUIRE(VALID_DISPATCHMGR(mgr)); - return (NULL); /* this function is deprecated */ -} - isc_result_t dns_dispatchmgr_setavailports(dns_dispatchmgr_t *mgr, isc_portset_t *v4portset, isc_portset_t *v6portset) { diff --git a/lib/dns/include/dns/dispatch.h b/lib/dns/include/dns/dispatch.h index 5e3cc85f02..c82b6c6ce4 100644 --- a/lib/dns/include/dns/dispatch.h +++ b/lib/dns/include/dns/dispatch.h @@ -196,25 +196,6 @@ dns_dispatchmgr_getblackhole(dns_dispatchmgr_t *mgr); *\li A pointer to the current blackhole list, or NULL. */ -void -dns_dispatchmgr_setblackportlist(dns_dispatchmgr_t *mgr, - dns_portlist_t * portlist); -/*%< - * This function is deprecated. Use dns_dispatchmgr_setavailports() instead. - * - * Requires: - *\li mgr is a valid dispatchmgr - */ - -dns_portlist_t * -dns_dispatchmgr_getblackportlist(dns_dispatchmgr_t *mgr); -/*%< - * This function is deprecated and always returns NULL. - * - * Requires: - *\li mgr is a valid dispatchmgr - */ - isc_result_t dns_dispatchmgr_setavailports(dns_dispatchmgr_t *mgr, isc_portset_t *v4portset, isc_portset_t *v6portset); diff --git a/lib/dns/include/dns/portlist.h b/lib/dns/include/dns/portlist.h deleted file mode 100644 index 30705acc73..0000000000 --- a/lib/dns/include/dns/portlist.h +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright (C) Internet Systems Consortium, Inc. ("ISC") - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, you can obtain one at https://mozilla.org/MPL/2.0/. - * - * See the COPYRIGHT file distributed with this work for additional - * information regarding copyright ownership. - */ - -/*! \file dns/portlist.h */ - -#include - -#include -#include -#include - -#include - -#ifndef DNS_PORTLIST_H -#define DNS_PORTLIST_H 1 - -ISC_LANG_BEGINDECLS - -isc_result_t -dns_portlist_create(isc_mem_t *mctx, dns_portlist_t **portlistp); -/*%< - * Create a port list. - * - * Requires: - *\li 'mctx' to be valid. - *\li 'portlistp' to be non NULL and '*portlistp' to be NULL; - * - * Returns: - *\li #ISC_R_SUCCESS - *\li #ISC_R_NOMEMORY - *\li #ISC_R_UNEXPECTED - */ - -isc_result_t -dns_portlist_add(dns_portlist_t *portlist, int af, in_port_t port); -/*%< - * Add the given tuple to the portlist. - * - * Requires: - *\li 'portlist' to be valid. - *\li 'af' to be AF_INET or AF_INET6 - * - * Returns: - *\li #ISC_R_SUCCESS - *\li #ISC_R_NOMEMORY - */ - -void -dns_portlist_remove(dns_portlist_t *portlist, int af, in_port_t port); -/*%< - * Remove the given tuple to the portlist. - * - * Requires: - *\li 'portlist' to be valid. - *\li 'af' to be AF_INET or AF_INET6 - */ - -bool -dns_portlist_match(dns_portlist_t *portlist, int af, in_port_t port); -/*%< - * Find the given tuple to the portlist. - * - * Requires: - *\li 'portlist' to be valid. - *\li 'af' to be AF_INET or AF_INET6 - * - * Returns - * \li #true if the tuple is found, false otherwise. - */ - -void -dns_portlist_attach(dns_portlist_t *portlist, dns_portlist_t **portlistp); -/*%< - * Attach to a port list. - * - * Requires: - *\li 'portlist' to be valid. - *\li 'portlistp' to be non NULL and '*portlistp' to be NULL; - */ - -void -dns_portlist_detach(dns_portlist_t **portlistp); -/*%< - * Detach from a port list. - * - * Requires: - *\li '*portlistp' to be valid. - */ - -ISC_LANG_ENDDECLS - -#endif /* DNS_PORTLIST_H */ diff --git a/lib/dns/include/dns/types.h b/lib/dns/include/dns/types.h index 2a08c31b5f..49e92108bb 100644 --- a/lib/dns/include/dns/types.h +++ b/lib/dns/include/dns/types.h @@ -116,7 +116,6 @@ typedef unsigned char dns_offsets_t[128]; typedef struct dns_order dns_order_t; typedef struct dns_peer dns_peer_t; typedef struct dns_peerlist dns_peerlist_t; -typedef struct dns_portlist dns_portlist_t; typedef struct dns_rbt dns_rbt_t; typedef uint16_t dns_rcode_t; typedef struct dns_rdata dns_rdata_t; diff --git a/lib/dns/portlist.c b/lib/dns/portlist.c deleted file mode 100644 index 5f25be2a48..0000000000 --- a/lib/dns/portlist.c +++ /dev/null @@ -1,250 +0,0 @@ -/* - * Copyright (C) Internet Systems Consortium, Inc. ("ISC") - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, you can obtain one at https://mozilla.org/MPL/2.0/. - * - * See the COPYRIGHT file distributed with this work for additional - * information regarding copyright ownership. - */ - -/*! \file */ - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#define DNS_PORTLIST_MAGIC ISC_MAGIC('P', 'L', 'S', 'T') -#define DNS_VALID_PORTLIST(p) ISC_MAGIC_VALID(p, DNS_PORTLIST_MAGIC) - -typedef struct dns_element { - in_port_t port; - uint16_t flags; -} dns_element_t; - -struct dns_portlist { - unsigned int magic; - isc_mem_t *mctx; - isc_refcount_t refcount; - isc_mutex_t lock; - dns_element_t *list; - unsigned int allocated; - unsigned int active; -}; - -#define DNS_PL_INET 0x0001 -#define DNS_PL_INET6 0x0002 -#define DNS_PL_ALLOCATE 16 - -static int -compare(const void *arg1, const void *arg2) { - const dns_element_t *e1 = (const dns_element_t *)arg1; - const dns_element_t *e2 = (const dns_element_t *)arg2; - - if (e1->port < e2->port) { - return (-1); - } - if (e1->port > e2->port) { - return (1); - } - return (0); -} - -isc_result_t -dns_portlist_create(isc_mem_t *mctx, dns_portlist_t **portlistp) { - dns_portlist_t *portlist; - - REQUIRE(portlistp != NULL && *portlistp == NULL); - - portlist = isc_mem_get(mctx, sizeof(*portlist)); - isc_mutex_init(&portlist->lock); - isc_refcount_init(&portlist->refcount, 1); - portlist->list = NULL; - portlist->allocated = 0; - portlist->active = 0; - portlist->mctx = NULL; - isc_mem_attach(mctx, &portlist->mctx); - portlist->magic = DNS_PORTLIST_MAGIC; - *portlistp = portlist; - return (ISC_R_SUCCESS); -} - -static dns_element_t * -find_port(dns_element_t *list, unsigned int len, in_port_t port) { - unsigned int xtry = len / 2; - unsigned int min = 0; - unsigned int max = len - 1; - unsigned int last = len; - - for (;;) { - if (list[xtry].port == port) { - return (&list[xtry]); - } - if (port > list[xtry].port) { - if (xtry == max) { - break; - } - min = xtry; - xtry = xtry + (max - xtry + 1) / 2; - INSIST(xtry <= max); - if (xtry == last) { - break; - } - last = min; - } else { - if (xtry == min) { - break; - } - max = xtry; - xtry = xtry - (xtry - min + 1) / 2; - INSIST(xtry >= min); - if (xtry == last) { - break; - } - last = max; - } - } - return (NULL); -} - -isc_result_t -dns_portlist_add(dns_portlist_t *portlist, int af, in_port_t port) { - dns_element_t *el; - isc_result_t result; - - REQUIRE(DNS_VALID_PORTLIST(portlist)); - REQUIRE(af == AF_INET || af == AF_INET6); - - LOCK(&portlist->lock); - if (portlist->active != 0) { - el = find_port(portlist->list, portlist->active, port); - if (el != NULL) { - if (af == AF_INET) { - el->flags |= DNS_PL_INET; - } else { - el->flags |= DNS_PL_INET6; - } - result = ISC_R_SUCCESS; - goto unlock; - } - } - - if (portlist->allocated <= portlist->active) { - unsigned int allocated; - allocated = portlist->allocated + DNS_PL_ALLOCATE; - el = isc_mem_get(portlist->mctx, sizeof(*el) * allocated); - if (portlist->list != NULL) { - memmove(el, portlist->list, - portlist->allocated * sizeof(*el)); - isc_mem_put(portlist->mctx, portlist->list, - portlist->allocated * sizeof(*el)); - } - portlist->list = el; - portlist->allocated = allocated; - } - portlist->list[portlist->active].port = port; - if (af == AF_INET) { - portlist->list[portlist->active].flags = DNS_PL_INET; - } else { - portlist->list[portlist->active].flags = DNS_PL_INET6; - } - portlist->active++; - qsort(portlist->list, portlist->active, sizeof(*el), compare); - result = ISC_R_SUCCESS; -unlock: - UNLOCK(&portlist->lock); - return (result); -} - -void -dns_portlist_remove(dns_portlist_t *portlist, int af, in_port_t port) { - dns_element_t *el; - - REQUIRE(DNS_VALID_PORTLIST(portlist)); - REQUIRE(af == AF_INET || af == AF_INET6); - - LOCK(&portlist->lock); - if (portlist->active != 0) { - el = find_port(portlist->list, portlist->active, port); - if (el != NULL) { - if (af == AF_INET) { - el->flags &= ~DNS_PL_INET; - } else { - el->flags &= ~DNS_PL_INET6; - } - if (el->flags == 0) { - *el = portlist->list[portlist->active]; - portlist->active--; - qsort(portlist->list, portlist->active, - sizeof(*el), compare); - } - } - } - UNLOCK(&portlist->lock); -} - -bool -dns_portlist_match(dns_portlist_t *portlist, int af, in_port_t port) { - dns_element_t *el; - bool result = false; - - REQUIRE(DNS_VALID_PORTLIST(portlist)); - REQUIRE(af == AF_INET || af == AF_INET6); - LOCK(&portlist->lock); - if (portlist->active != 0) { - el = find_port(portlist->list, portlist->active, port); - if (el != NULL) { - if (af == AF_INET && (el->flags & DNS_PL_INET) != 0) { - result = true; - } - if (af == AF_INET6 && (el->flags & DNS_PL_INET6) != 0) { - result = true; - } - } - } - UNLOCK(&portlist->lock); - return (result); -} - -void -dns_portlist_attach(dns_portlist_t *portlist, dns_portlist_t **portlistp) { - REQUIRE(DNS_VALID_PORTLIST(portlist)); - REQUIRE(portlistp != NULL && *portlistp == NULL); - - isc_refcount_increment(&portlist->refcount); - *portlistp = portlist; -} - -void -dns_portlist_detach(dns_portlist_t **portlistp) { - REQUIRE(portlistp != NULL && DNS_VALID_PORTLIST(*portlistp)); - dns_portlist_t *portlist = *portlistp; - *portlistp = NULL; - - if (isc_refcount_decrement(&portlist->refcount) == 1) { - portlist->magic = 0; - isc_refcount_destroy(&portlist->refcount); - if (portlist->list != NULL) { - isc_mem_put(portlist->mctx, portlist->list, - portlist->allocated * - sizeof(*portlist->list)); - } - isc_mutex_destroy(&portlist->lock); - isc_mem_putanddetach(&portlist->mctx, portlist, - sizeof(*portlist)); - } -} diff --git a/lib/dns/win32/libdns.def.in b/lib/dns/win32/libdns.def.in index 56061f76c0..6567fa4ced 100644 --- a/lib/dns/win32/libdns.def.in +++ b/lib/dns/win32/libdns.def.in @@ -280,10 +280,8 @@ dns_dispatch_starttcp dns_dispatchmgr_create dns_dispatchmgr_destroy dns_dispatchmgr_getblackhole -dns_dispatchmgr_getblackportlist dns_dispatchmgr_setavailports dns_dispatchmgr_setblackhole -dns_dispatchmgr_setblackportlist dns_dispatchmgr_setstats dns_dispatchset_cancelall dns_dispatchset_create @@ -733,12 +731,6 @@ dns_peerlist_currpeer dns_peerlist_detach dns_peerlist_new dns_peerlist_peerbyaddr -dns_portlist_add -dns_portlist_attach -dns_portlist_create -dns_portlist_detach -dns_portlist_match -dns_portlist_remove dns_private_chains dns_private_totext dns_rbt_addname diff --git a/lib/dns/win32/libdns.vcxproj.filters.in b/lib/dns/win32/libdns.vcxproj.filters.in index 7469f7bced..a7de95a273 100644 --- a/lib/dns/win32/libdns.vcxproj.filters.in +++ b/lib/dns/win32/libdns.vcxproj.filters.in @@ -158,9 +158,6 @@ Library Source Files - - Library Source Files - Library Source Files @@ -499,9 +496,6 @@ Library Header Files - - Library Header Files - Library Header Files diff --git a/lib/dns/win32/libdns.vcxproj.in b/lib/dns/win32/libdns.vcxproj.in index 644e809c3c..6c9fbd62b8 100644 --- a/lib/dns/win32/libdns.vcxproj.in +++ b/lib/dns/win32/libdns.vcxproj.in @@ -183,7 +183,6 @@ @END PKCS11 - @@ -287,7 +286,6 @@ - diff --git a/util/copyrights b/util/copyrights index 16a47dfcb2..d9a4420a34 100644 --- a/util/copyrights +++ b/util/copyrights @@ -1361,7 +1361,6 @@ ./lib/dns/include/dns/opcode.h C 2002,2004,2005,2006,2007,2016,2018,2019,2020 ./lib/dns/include/dns/order.h C 2002,2004,2005,2006,2007,2016,2017,2018,2019,2020 ./lib/dns/include/dns/peer.h C 2000,2001,2003,2004,2005,2006,2007,2008,2009,2013,2014,2015,2016,2017,2018,2019,2020 -./lib/dns/include/dns/portlist.h C 2003,2004,2005,2006,2007,2016,2018,2019,2020 ./lib/dns/include/dns/private.h C 2009,2011,2012,2016,2018,2019,2020 ./lib/dns/include/dns/rbt.h C 1999,2000,2001,2002,2004,2005,2006,2007,2008,2009,2012,2013,2014,2015,2016,2017,2018,2019,2020 ./lib/dns/include/dns/rcode.h C 1999,2000,2001,2004,2005,2006,2007,2008,2016,2018,2019,2020 @@ -1435,7 +1434,6 @@ ./lib/dns/pkcs11ecdsa_link.c C 2014,2015,2016,2017,2018,2019,2020 ./lib/dns/pkcs11eddsa_link.c C 2017,2018,2019,2020 ./lib/dns/pkcs11rsa_link.c C 2014,2015,2016,2017,2018,2019,2020 -./lib/dns/portlist.c C 2003,2004,2005,2006,2007,2014,2016,2018,2019,2020 ./lib/dns/private.c C 2009,2011,2012,2015,2016,2017,2018,2019,2020 ./lib/dns/rbt.c C 1999,2000,2001,2002,2003,2004,2005,2007,2008,2009,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020 ./lib/dns/rbtdb.c C 1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020