2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-30 14:07:59 +00:00

Drop unused portlist code

This commit is contained in:
Michal Nowak
2020-10-12 19:21:37 +02:00
parent e67737aa75
commit 1f6f7ccad6
11 changed files with 0 additions and 409 deletions

View File

@@ -76,7 +76,6 @@
#include <dns/nta.h> #include <dns/nta.h>
#include <dns/order.h> #include <dns/order.h>
#include <dns/peer.h> #include <dns/peer.h>
#include <dns/portlist.h>
#include <dns/private.h> #include <dns/private.h>
#include <dns/rbt.h> #include <dns/rbt.h>
#include <dns/rdataclass.h> #include <dns/rdataclass.h>

View File

@@ -105,7 +105,6 @@ libdns_la_HEADERS = \
include/dns/opcode.h \ include/dns/opcode.h \
include/dns/order.h \ include/dns/order.h \
include/dns/peer.h \ include/dns/peer.h \
include/dns/portlist.h \
include/dns/private.h \ include/dns/private.h \
include/dns/rbt.h \ include/dns/rbt.h \
include/dns/rcode.h \ include/dns/rcode.h \
@@ -211,7 +210,6 @@ libdns_la_SOURCES = \
order.c \ order.c \
peer.c \ peer.c \
private.c \ private.c \
portlist.c \
rbt.c \ rbt.c \
rbtdb.h \ rbtdb.h \
rbtdb.c \ rbtdb.c \

View File

@@ -34,7 +34,6 @@
#include <dns/events.h> #include <dns/events.h>
#include <dns/log.h> #include <dns/log.h>
#include <dns/message.h> #include <dns/message.h>
#include <dns/portlist.h>
#include <dns/stats.h> #include <dns/stats.h>
#include <dns/tcpmsg.h> #include <dns/tcpmsg.h>
#include <dns/types.h> #include <dns/types.h>
@@ -61,7 +60,6 @@ struct dns_dispatchmgr {
unsigned int magic; unsigned int magic;
isc_mem_t *mctx; isc_mem_t *mctx;
dns_acl_t *blackhole; dns_acl_t *blackhole;
dns_portlist_t *portlist;
isc_stats_t *stats; isc_stats_t *stats;
/* Locked by "lock". */ /* Locked by "lock". */
@@ -1901,22 +1899,6 @@ dns_dispatchmgr_getblackhole(dns_dispatchmgr_t *mgr) {
return (mgr->blackhole); 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 isc_result_t
dns_dispatchmgr_setavailports(dns_dispatchmgr_t *mgr, isc_portset_t *v4portset, dns_dispatchmgr_setavailports(dns_dispatchmgr_t *mgr, isc_portset_t *v4portset,
isc_portset_t *v6portset) { isc_portset_t *v6portset) {

View File

@@ -196,25 +196,6 @@ dns_dispatchmgr_getblackhole(dns_dispatchmgr_t *mgr);
*\li A pointer to the current blackhole list, or NULL. *\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 isc_result_t
dns_dispatchmgr_setavailports(dns_dispatchmgr_t *mgr, isc_portset_t *v4portset, dns_dispatchmgr_setavailports(dns_dispatchmgr_t *mgr, isc_portset_t *v4portset,
isc_portset_t *v6portset); isc_portset_t *v6portset);

View File

@@ -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 <stdbool.h>
#include <isc/lang.h>
#include <isc/net.h>
#include <isc/types.h>
#include <dns/types.h>
#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 <port,af> 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 <port,af> 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 <port,af> 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 */

View File

@@ -116,7 +116,6 @@ typedef unsigned char dns_offsets_t[128];
typedef struct dns_order dns_order_t; typedef struct dns_order dns_order_t;
typedef struct dns_peer dns_peer_t; typedef struct dns_peer dns_peer_t;
typedef struct dns_peerlist dns_peerlist_t; typedef struct dns_peerlist dns_peerlist_t;
typedef struct dns_portlist dns_portlist_t;
typedef struct dns_rbt dns_rbt_t; typedef struct dns_rbt dns_rbt_t;
typedef uint16_t dns_rcode_t; typedef uint16_t dns_rcode_t;
typedef struct dns_rdata dns_rdata_t; typedef struct dns_rdata dns_rdata_t;

View File

@@ -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 <inttypes.h>
#include <stdbool.h>
#include <stdlib.h>
#include <isc/magic.h>
#include <isc/mem.h>
#include <isc/mutex.h>
#include <isc/net.h>
#include <isc/refcount.h>
#include <isc/result.h>
#include <isc/string.h>
#include <isc/types.h>
#include <isc/util.h>
#include <dns/portlist.h>
#include <dns/types.h>
#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));
}
}

View File

@@ -280,10 +280,8 @@ dns_dispatch_starttcp
dns_dispatchmgr_create dns_dispatchmgr_create
dns_dispatchmgr_destroy dns_dispatchmgr_destroy
dns_dispatchmgr_getblackhole dns_dispatchmgr_getblackhole
dns_dispatchmgr_getblackportlist
dns_dispatchmgr_setavailports dns_dispatchmgr_setavailports
dns_dispatchmgr_setblackhole dns_dispatchmgr_setblackhole
dns_dispatchmgr_setblackportlist
dns_dispatchmgr_setstats dns_dispatchmgr_setstats
dns_dispatchset_cancelall dns_dispatchset_cancelall
dns_dispatchset_create dns_dispatchset_create
@@ -733,12 +731,6 @@ dns_peerlist_currpeer
dns_peerlist_detach dns_peerlist_detach
dns_peerlist_new dns_peerlist_new
dns_peerlist_peerbyaddr 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_chains
dns_private_totext dns_private_totext
dns_rbt_addname dns_rbt_addname

View File

@@ -158,9 +158,6 @@
<ClCompile Include="..\peer.c"> <ClCompile Include="..\peer.c">
<Filter>Library Source Files</Filter> <Filter>Library Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\portlist.c">
<Filter>Library Source Files</Filter>
</ClCompile>
<ClCompile Include="..\private.c"> <ClCompile Include="..\private.c">
<Filter>Library Source Files</Filter> <Filter>Library Source Files</Filter>
</ClCompile> </ClCompile>
@@ -499,9 +496,6 @@
<ClInclude Include="..\include\dns\peer.h"> <ClInclude Include="..\include\dns\peer.h">
<Filter>Library Header Files</Filter> <Filter>Library Header Files</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\include\dns\portlist.h">
<Filter>Library Header Files</Filter>
</ClInclude>
<ClInclude Include="..\include\dns\private.h"> <ClInclude Include="..\include\dns\private.h">
<Filter>Library Header Files</Filter> <Filter>Library Header Files</Filter>
</ClInclude> </ClInclude>

View File

@@ -183,7 +183,6 @@
<ClCompile Include="..\pkcs11eddsa_link.c" /> <ClCompile Include="..\pkcs11eddsa_link.c" />
<ClCompile Include="..\pkcs11rsa_link.c" /> <ClCompile Include="..\pkcs11rsa_link.c" />
@END PKCS11 @END PKCS11
<ClCompile Include="..\portlist.c" />
<ClCompile Include="..\private.c" /> <ClCompile Include="..\private.c" />
<ClCompile Include="..\rbt.c" /> <ClCompile Include="..\rbt.c" />
<ClCompile Include="..\rbtdb.c" /> <ClCompile Include="..\rbtdb.c" />
@@ -287,7 +286,6 @@
<ClInclude Include="..\include\dns\opcode.h" /> <ClInclude Include="..\include\dns\opcode.h" />
<ClInclude Include="..\include\dns\order.h" /> <ClInclude Include="..\include\dns\order.h" />
<ClInclude Include="..\include\dns\peer.h" /> <ClInclude Include="..\include\dns\peer.h" />
<ClInclude Include="..\include\dns\portlist.h" />
<ClInclude Include="..\include\dns\private.h" /> <ClInclude Include="..\include\dns\private.h" />
<ClInclude Include="..\include\dns\rbt.h" /> <ClInclude Include="..\include\dns\rbt.h" />
<ClInclude Include="..\include\dns\rcode.h" /> <ClInclude Include="..\include\dns\rcode.h" />

View File

@@ -1361,7 +1361,6 @@
./lib/dns/include/dns/opcode.h C 2002,2004,2005,2006,2007,2016,2018,2019,2020 ./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/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/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/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/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 ./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/pkcs11ecdsa_link.c C 2014,2015,2016,2017,2018,2019,2020
./lib/dns/pkcs11eddsa_link.c C 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/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/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/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 ./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