2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-31 22:45:39 +00:00

needs string.h for memset() prototype.

This commit is contained in:
David Lawrence
2000-05-13 21:57:02 +00:00
parent 22520194de
commit 3d181bc9f1

View File

@@ -20,10 +20,10 @@
#include <stdlib.h> #include <stdlib.h>
#include <isc/lfsr.h> #include <isc/lfsr.h>
#include <isc/list.h>
#include <isc/mem.h> #include <isc/mem.h>
#include <isc/mutex.h> #include <isc/mutex.h>
#include <isc/print.h> #include <isc/print.h>
#include <isc/string.h>
#include <isc/task.h> #include <isc/task.h>
#include <isc/util.h> #include <isc/util.h>
@@ -124,7 +124,7 @@ struct dns_dispatch {
#define VALID_DISPATCHMGR(e) ISC_MAGIC_VALID((e), DNS_DISPATCHMGR_MAGIC) #define VALID_DISPATCHMGR(e) ISC_MAGIC_VALID((e), DNS_DISPATCHMGR_MAGIC)
/* /*
* statics. * Statics.
*/ */
static dns_dispentry_t *bucket_search(dns_dispatch_t *, isc_sockaddr_t *, static dns_dispentry_t *bucket_search(dns_dispatch_t *, isc_sockaddr_t *,
dns_messageid_t, unsigned int); dns_messageid_t, unsigned int);
@@ -155,16 +155,14 @@ static dns_dispentry_t *linear_next(dns_dispatch_t *disp,
* The resulting string is guaranteed to be null-terminated. * The resulting string is guaranteed to be null-terminated.
*/ */
static void static void
sockaddr_format(isc_sockaddr_t *sa, char *array, unsigned int size) sockaddr_format(isc_sockaddr_t *sa, char *array, unsigned int size) {
{
isc_result_t result; isc_result_t result;
isc_buffer_t buf; isc_buffer_t buf;
isc_buffer_init(&buf, array, size); isc_buffer_init(&buf, array, size);
result = isc_sockaddr_totext(sa, &buf); result = isc_sockaddr_totext(sa, &buf);
if (result != ISC_R_SUCCESS) { if (result != ISC_R_SUCCESS) {
snprintf(array, size, snprintf(array, size, "<unknown address, family %u>",
"<unknown address, family %u>",
sa->type.sa.sa_family); sa->type.sa.sa_family);
array[size - 1] = '\0'; array[size - 1] = '\0';
} }
@@ -227,8 +225,7 @@ reseed_lfsr(isc_lfsr_t *lfsr, void *arg)
* Return an unpredictable message ID. * Return an unpredictable message ID.
*/ */
static isc_uint32_t static isc_uint32_t
dns_randomid(dns_dispatch_t *disp) dns_randomid(dns_dispatch_t *disp) {
{
isc_uint32_t id; isc_uint32_t id;
id = isc_lfsr_generate32(&disp->qid_lfsr1, &disp->qid_lfsr2); id = isc_lfsr_generate32(&disp->qid_lfsr1, &disp->qid_lfsr2);
@@ -240,8 +237,7 @@ dns_randomid(dns_dispatch_t *disp)
* Return a hash of the destination and message id. * Return a hash of the destination and message id.
*/ */
static isc_uint32_t static isc_uint32_t
dns_hash(dns_dispatch_t *disp, isc_sockaddr_t *dest, isc_uint32_t id) dns_hash(dns_dispatch_t *disp, isc_sockaddr_t *dest, isc_uint32_t id) {
{
unsigned int ret; unsigned int ret;
ret = isc_sockaddr_hash(dest, ISC_TRUE); ret = isc_sockaddr_hash(dest, ISC_TRUE);
@@ -259,8 +255,7 @@ static dns_dispatchmethods_t dns_wire_methods = {
}; };
static dns_dispentry_t * static dns_dispentry_t *
linear_first(dns_dispatch_t *disp) linear_first(dns_dispatch_t *disp) {
{
dns_dispentry_t *ret; dns_dispentry_t *ret;
unsigned int bucket; unsigned int bucket;
@@ -277,8 +272,7 @@ linear_first(dns_dispatch_t *disp)
} }
static dns_dispentry_t * static dns_dispentry_t *
linear_next(dns_dispatch_t *disp, dns_dispentry_t *resp) linear_next(dns_dispatch_t *disp, dns_dispentry_t *resp) {
{
dns_dispentry_t *ret; dns_dispentry_t *ret;
unsigned int bucket; unsigned int bucket;
@@ -304,8 +298,7 @@ linear_next(dns_dispatch_t *disp, dns_dispentry_t *resp)
* locked. * locked.
*/ */
static void static void
destroy_disp(dns_dispatch_t *disp) destroy_disp(dns_dispatch_t *disp) {
{
dns_dispatchevent_t *ev; dns_dispatchevent_t *ev;
dns_dispatchmgr_t *mgr; dns_dispatchmgr_t *mgr;
@@ -373,8 +366,7 @@ bucket_search(dns_dispatch_t *disp, isc_sockaddr_t *dest, dns_messageid_t id,
} }
static void static void
free_buffer(dns_dispatch_t *disp, void *buf, unsigned int len) free_buffer(dns_dispatch_t *disp, void *buf, unsigned int len) {
{
isc_sockettype_t socktype; isc_sockettype_t socktype;
INSIST(buf != NULL && len != 0); INSIST(buf != NULL && len != 0);
@@ -400,8 +392,7 @@ free_buffer(dns_dispatch_t *disp, void *buf, unsigned int len)
} }
static void * static void *
allocate_buffer(dns_dispatch_t *disp, unsigned int len) allocate_buffer(dns_dispatch_t *disp, unsigned int len) {
{
void *temp; void *temp;
INSIST(len > 0); INSIST(len > 0);
@@ -418,8 +409,7 @@ allocate_buffer(dns_dispatch_t *disp, unsigned int len)
} }
static inline void static inline void
free_event(dns_dispatch_t *disp, dns_dispatchevent_t *ev) free_event(dns_dispatch_t *disp, dns_dispatchevent_t *ev) {
{
if (disp->failsafe_ev == ev) { if (disp->failsafe_ev == ev) {
INSIST(disp->shutdown_out == 1); INSIST(disp->shutdown_out == 1);
disp->shutdown_out = 0; disp->shutdown_out = 0;
@@ -431,8 +421,7 @@ free_event(dns_dispatch_t *disp, dns_dispatchevent_t *ev)
} }
static inline dns_dispatchevent_t * static inline dns_dispatchevent_t *
allocate_event(dns_dispatch_t *disp) allocate_event(dns_dispatch_t *disp) {
{
dns_dispatchevent_t *ev; dns_dispatchevent_t *ev;
ev = isc_mempool_get(disp->epool); ev = isc_mempool_get(disp->epool);
@@ -464,8 +453,7 @@ allocate_event(dns_dispatch_t *disp)
* restart. * restart.
*/ */
static void static void
udp_recv(isc_task_t *task, isc_event_t *ev_in) udp_recv(isc_task_t *task, isc_event_t *ev_in) {
{
isc_socketevent_t *ev = (isc_socketevent_t *)ev_in; isc_socketevent_t *ev = (isc_socketevent_t *)ev_in;
dns_dispatch_t *disp = ev_in->ev_arg; dns_dispatch_t *disp = ev_in->ev_arg;
dns_messageid_t id; dns_messageid_t id;
@@ -648,8 +636,7 @@ udp_recv(isc_task_t *task, isc_event_t *ev_in)
* restart. * restart.
*/ */
static void static void
tcp_recv(isc_task_t *task, isc_event_t *ev_in) tcp_recv(isc_task_t *task, isc_event_t *ev_in) {
{
dns_dispatch_t *disp = ev_in->ev_arg; dns_dispatch_t *disp = ev_in->ev_arg;
dns_tcpmsg_t *tcpmsg = &disp->tcpmsg; dns_tcpmsg_t *tcpmsg = &disp->tcpmsg;
dns_messageid_t id; dns_messageid_t id;
@@ -820,8 +807,7 @@ tcp_recv(isc_task_t *task, isc_event_t *ev_in)
* disp must be locked. * disp must be locked.
*/ */
static void static void
startrecv(dns_dispatch_t *disp) startrecv(dns_dispatch_t *disp) {
{
isc_sockettype_t socktype; isc_sockettype_t socktype;
isc_result_t res; isc_result_t res;
isc_region_t region; isc_region_t region;
@@ -883,8 +869,7 @@ startrecv(dns_dispatch_t *disp)
* Mgr must be locked when calling this function. * Mgr must be locked when calling this function.
*/ */
static isc_boolean_t static isc_boolean_t
destroy_mgr_ok(dns_dispatchmgr_t *mgr) destroy_mgr_ok(dns_dispatchmgr_t *mgr) {
{
if (!MGR_IS_SHUTTINGDOWN(mgr)) if (!MGR_IS_SHUTTINGDOWN(mgr))
return (ISC_FALSE); return (ISC_FALSE);
if (!ISC_LIST_EMPTY(mgr->list)) if (!ISC_LIST_EMPTY(mgr->list))
@@ -897,8 +882,7 @@ destroy_mgr_ok(dns_dispatchmgr_t *mgr)
* Mgr must be unlocked when calling this function. * Mgr must be unlocked when calling this function.
*/ */
static void static void
destroy_mgr(dns_dispatchmgr_t **mgrp) destroy_mgr(dns_dispatchmgr_t **mgrp) {
{
isc_mem_t *mctx; isc_mem_t *mctx;
dns_dispatchmgr_t *mgr; dns_dispatchmgr_t *mgr;
@@ -921,8 +905,7 @@ destroy_mgr(dns_dispatchmgr_t **mgrp)
*/ */
isc_result_t isc_result_t
dns_dispatchmgr_create(isc_mem_t *mctx, dns_dispatchmgr_t **mgrp) dns_dispatchmgr_create(isc_mem_t *mctx, dns_dispatchmgr_t **mgrp) {
{
dns_dispatchmgr_t *mgr; dns_dispatchmgr_t *mgr;
isc_result_t result; isc_result_t result;
@@ -951,8 +934,7 @@ dns_dispatchmgr_create(isc_mem_t *mctx, dns_dispatchmgr_t **mgrp)
void void
dns_dispatchmgr_destroy(dns_dispatchmgr_t **mgrp) dns_dispatchmgr_destroy(dns_dispatchmgr_t **mgrp) {
{
dns_dispatchmgr_t *mgr; dns_dispatchmgr_t *mgr;
isc_boolean_t killit; isc_boolean_t killit;
@@ -975,8 +957,7 @@ dns_dispatchmgr_destroy(dns_dispatchmgr_t **mgrp)
#define ATTRMATCH(_a1, _a2, _mask) (((_a1) & (_mask)) == ((_a2) & (_mask))) #define ATTRMATCH(_a1, _a2, _mask) (((_a1) & (_mask)) == ((_a2) & (_mask)))
static isc_boolean_t static isc_boolean_t
local_addr_match(dns_dispatch_t *disp, isc_sockaddr_t *addr) local_addr_match(dns_dispatch_t *disp, isc_sockaddr_t *addr) {
{
in_port_t port; in_port_t port;
if (addr == NULL) if (addr == NULL)
@@ -990,8 +971,7 @@ local_addr_match(dns_dispatch_t *disp, isc_sockaddr_t *addr)
} }
static isc_boolean_t static isc_boolean_t
remote_addr_match(dns_dispatch_t *disp, isc_sockaddr_t *addr) remote_addr_match(dns_dispatch_t *disp, isc_sockaddr_t *addr) {
{
if (addr == NULL) if (addr == NULL)
return (ISC_TRUE); return (ISC_TRUE);
@@ -1232,8 +1212,7 @@ dns_dispatch_create(dns_dispatchmgr_t *mgr, isc_socket_t *sock,
} }
void void
dns_dispatch_attach(dns_dispatch_t *disp, dns_dispatch_t **dispp) dns_dispatch_attach(dns_dispatch_t *disp, dns_dispatch_t **dispp) {
{
REQUIRE(VALID_DISPATCH(disp)); REQUIRE(VALID_DISPATCH(disp));
REQUIRE(dispp != NULL && *dispp == NULL); REQUIRE(dispp != NULL && *dispp == NULL);
@@ -1244,10 +1223,8 @@ dns_dispatch_attach(dns_dispatch_t *disp, dns_dispatch_t **dispp)
*dispp = disp; *dispp = disp;
} }
void void
dns_dispatch_detach(dns_dispatch_t **dispp) dns_dispatch_detach(dns_dispatch_t **dispp) {
{
dns_dispatch_t *disp; dns_dispatch_t *disp;
isc_boolean_t killit; isc_boolean_t killit;
dns_dispatchmgr_t *mgr; dns_dispatchmgr_t *mgr;
@@ -1650,8 +1627,7 @@ dns_dispatch_freeevent(dns_dispatch_t *disp, dns_dispentry_t *resp,
} }
static void static void
do_next_response(dns_dispatch_t *disp, dns_dispentry_t *resp) do_next_response(dns_dispatch_t *disp, dns_dispentry_t *resp) {
{
dns_dispatchevent_t *ev; dns_dispatchevent_t *ev;
INSIST(resp->item_out == ISC_FALSE); INSIST(resp->item_out == ISC_FALSE);
@@ -1676,8 +1652,7 @@ do_next_response(dns_dispatch_t *disp, dns_dispentry_t *resp)
} }
static void static void
do_next_request(dns_dispatch_t *disp, dns_dispentry_t *resp) do_next_request(dns_dispatch_t *disp, dns_dispentry_t *resp) {
{
dns_dispatchevent_t *ev; dns_dispatchevent_t *ev;
INSIST(resp->item_out == ISC_FALSE); INSIST(resp->item_out == ISC_FALSE);
@@ -1701,8 +1676,7 @@ do_next_request(dns_dispatch_t *disp, dns_dispentry_t *resp)
} }
static void static void
do_cancel(dns_dispatch_t *disp, dns_dispentry_t *resp) do_cancel(dns_dispatch_t *disp, dns_dispentry_t *resp) {
{
dns_dispatchevent_t *ev; dns_dispatchevent_t *ev;
if (disp->shutdown_out == 1) if (disp->shutdown_out == 1)
@@ -1764,16 +1738,14 @@ do_cancel(dns_dispatch_t *disp, dns_dispentry_t *resp)
} }
isc_socket_t * isc_socket_t *
dns_dispatch_getsocket(dns_dispatch_t *disp) dns_dispatch_getsocket(dns_dispatch_t *disp) {
{
REQUIRE(VALID_DISPATCH(disp)); REQUIRE(VALID_DISPATCH(disp));
return (disp->socket); return (disp->socket);
} }
void void
dns_dispatch_cancel(dns_dispatch_t *disp) dns_dispatch_cancel(dns_dispatch_t *disp) {
{
REQUIRE(VALID_DISPATCH(disp)); REQUIRE(VALID_DISPATCH(disp));
LOCK(&disp->lock); LOCK(&disp->lock);
@@ -1806,8 +1778,7 @@ dns_dispatch_changeattributes(dns_dispatch_t *disp,
#if 0 #if 0
void void
dns_dispatchmgr_dump(dns_dispatchmgr_t *mgr) dns_dispatchmgr_dump(dns_dispatchmgr_t *mgr) {
{
dns_dispatch_t *disp; dns_dispatch_t *disp;
char foo[1024]; char foo[1024];