diff options
| author | 2020-01-20 18:43:21 +0000 | |
|---|---|---|
| committer | 2020-01-20 18:43:21 +0000 | |
| commit | 95dfa548bee9da1241813dfd7e8c7be4d099a7b1 (patch) | |
| tree | ca43d01f2a4bead5d2dbbf6d91d599256d952401 /usr.sbin/bind/lib/isc/unix/socket.c | |
| parent | Fix a address family desynchronisation between lwres_conf and (diff) | |
| download | wireguard-openbsd-95dfa548bee9da1241813dfd7e8c7be4d099a7b1.tar.xz wireguard-openbsd-95dfa548bee9da1241813dfd7e8c7be4d099a7b1.zip | |
We are not using json, xml nor httpd.
OK millert
Diffstat (limited to 'usr.sbin/bind/lib/isc/unix/socket.c')
| -rw-r--r-- | usr.sbin/bind/lib/isc/unix/socket.c | 281 |
1 files changed, 2 insertions, 279 deletions
diff --git a/usr.sbin/bind/lib/isc/unix/socket.c b/usr.sbin/bind/lib/isc/unix/socket.c index df38446f9c2..b86f62990e8 100644 --- a/usr.sbin/bind/lib/isc/unix/socket.c +++ b/usr.sbin/bind/lib/isc/unix/socket.c @@ -44,7 +44,7 @@ #include <isc/bufferlist.h> #include <isc/condition.h> #include <isc/formatcheck.h> -#include <isc/json.h> + #include <isc/list.h> #include <isc/log.h> #include <isc/mem.h> @@ -62,7 +62,7 @@ #include <isc/task.h> #include <isc/thread.h> #include <isc/util.h> -#include <isc/xml.h> + #include <sys/un.h> #include <sys/event.h> @@ -551,15 +551,6 @@ isc__socket_getname(isc_socket_t *socket0); void * isc__socket_gettag(isc_socket_t *socket0); -#ifdef HAVE_LIBXML2 -void -isc__socketmgr_renderxml(isc_socketmgr_t *mgr0, xmlTextWriterPtr writer); -#endif -#ifdef HAVE_JSON -isc_result_t -isc__socketmgr_renderjson(isc_socketmgr_t *mgr0, json_object *stats); -#endif - static struct { isc_socketmethods_t methods; @@ -5415,272 +5406,4 @@ isc__socket_getfd(isc_socket_t *socket0) { return ((short) sock->fd); } -#if defined(HAVE_LIBXML2) || defined(HAVE_JSON) -static const char * -_socktype(isc_sockettype_t type) -{ - if (type == isc_sockettype_udp) - return ("udp"); - else if (type == isc_sockettype_tcp) - return ("tcp"); - else if (type == isc_sockettype_unix) - return ("unix"); - else if (type == isc_sockettype_fdwatch) - return ("fdwatch"); - else - return ("not-initialized"); -} -#endif - -#ifdef HAVE_LIBXML2 -#define TRY0(a) do { xmlrc = (a); if (xmlrc < 0) goto error; } while(0) -int -isc_socketmgr_renderxml(isc_socketmgr_t *mgr0, xmlTextWriterPtr writer) { - isc__socketmgr_t *mgr = (isc__socketmgr_t *)mgr0; - isc__socket_t *sock = NULL; - char peerbuf[ISC_SOCKADDR_FORMATSIZE]; - isc_sockaddr_t addr; - ISC_SOCKADDR_LEN_T len; - int xmlrc; - - LOCK(&mgr->lock); - -#ifdef USE_SHARED_MANAGER - TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "references")); - TRY0(xmlTextWriterWriteFormatString(writer, "%d", mgr->refs)); - TRY0(xmlTextWriterEndElement(writer)); -#endif /* USE_SHARED_MANAGER */ - - TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "sockets")); - sock = ISC_LIST_HEAD(mgr->socklist); - while (sock != NULL) { - LOCK(&sock->lock); - TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "socket")); - - TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "id")); - TRY0(xmlTextWriterWriteFormatString(writer, "%p", sock)); - TRY0(xmlTextWriterEndElement(writer)); - - if (sock->name[0] != 0) { - TRY0(xmlTextWriterStartElement(writer, - ISC_XMLCHAR "name")); - TRY0(xmlTextWriterWriteFormatString(writer, "%s", - sock->name)); - TRY0(xmlTextWriterEndElement(writer)); /* name */ - } - - TRY0(xmlTextWriterStartElement(writer, - ISC_XMLCHAR "references")); - TRY0(xmlTextWriterWriteFormatString(writer, "%d", - sock->references)); - TRY0(xmlTextWriterEndElement(writer)); - - TRY0(xmlTextWriterWriteElement(writer, ISC_XMLCHAR "type", - ISC_XMLCHAR _socktype(sock->type))); - - if (sock->connected) { - isc_sockaddr_format(&sock->peer_address, peerbuf, - sizeof(peerbuf)); - TRY0(xmlTextWriterWriteElement(writer, - ISC_XMLCHAR "peer-address", - ISC_XMLCHAR peerbuf)); - } - - len = sizeof(addr); - if (getsockname(sock->fd, &addr.type.sa, (void *)&len) == 0) { - isc_sockaddr_format(&addr, peerbuf, sizeof(peerbuf)); - TRY0(xmlTextWriterWriteElement(writer, - ISC_XMLCHAR "local-address", - ISC_XMLCHAR peerbuf)); - } - - TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "states")); - if (sock->pending_recv) - TRY0(xmlTextWriterWriteElement(writer, - ISC_XMLCHAR "state", - ISC_XMLCHAR "pending-receive")); - if (sock->pending_send) - TRY0(xmlTextWriterWriteElement(writer, - ISC_XMLCHAR "state", - ISC_XMLCHAR "pending-send")); - if (sock->pending_accept) - TRY0(xmlTextWriterWriteElement(writer, - ISC_XMLCHAR "state", - ISC_XMLCHAR "pending_accept")); - if (sock->listener) - TRY0(xmlTextWriterWriteElement(writer, - ISC_XMLCHAR "state", - ISC_XMLCHAR "listener")); - if (sock->connected) - TRY0(xmlTextWriterWriteElement(writer, - ISC_XMLCHAR "state", - ISC_XMLCHAR "connected")); - if (sock->connecting) - TRY0(xmlTextWriterWriteElement(writer, - ISC_XMLCHAR "state", - ISC_XMLCHAR "connecting")); - if (sock->bound) - TRY0(xmlTextWriterWriteElement(writer, - ISC_XMLCHAR "state", - ISC_XMLCHAR "bound")); - - TRY0(xmlTextWriterEndElement(writer)); /* states */ - - TRY0(xmlTextWriterEndElement(writer)); /* socket */ - - UNLOCK(&sock->lock); - sock = ISC_LIST_NEXT(sock, link); - } - TRY0(xmlTextWriterEndElement(writer)); /* sockets */ - - error: - if (sock != NULL) - UNLOCK(&sock->lock); - - UNLOCK(&mgr->lock); - - return (xmlrc); -} -#endif /* HAVE_LIBXML2 */ - -#ifdef HAVE_JSON -#define CHECKMEM(m) do { \ - if (m == NULL) { \ - result = ISC_R_NOMEMORY;\ - goto error;\ - } \ -} while(0) - -isc_result_t -isc_socketmgr_renderjson(isc_socketmgr_t *mgr0, json_object *stats) { - isc_result_t result = ISC_R_SUCCESS; - isc__socketmgr_t *mgr = (isc__socketmgr_t *)mgr0; - isc__socket_t *sock = NULL; - char peerbuf[ISC_SOCKADDR_FORMATSIZE]; - isc_sockaddr_t addr; - ISC_SOCKADDR_LEN_T len; - json_object *obj, *array = json_object_new_array(); - - CHECKMEM(array); - - LOCK(&mgr->lock); - -#ifdef USE_SHARED_MANAGER - obj = json_object_new_int(mgr->refs); - CHECKMEM(obj); - json_object_object_add(stats, "references", obj); -#endif /* USE_SHARED_MANAGER */ - - sock = ISC_LIST_HEAD(mgr->socklist); - while (sock != NULL) { - json_object *states, *entry = json_object_new_object(); - char buf[255]; - - CHECKMEM(entry); - json_object_array_add(array, entry); - - LOCK(&sock->lock); - - snprintf(buf, sizeof(buf), "%p", sock); - obj = json_object_new_string(buf); - CHECKMEM(obj); - json_object_object_add(entry, "id", obj); - - if (sock->name[0] != 0) { - obj = json_object_new_string(sock->name); - CHECKMEM(obj); - json_object_object_add(entry, "name", obj); - } - - obj = json_object_new_int(sock->references); - CHECKMEM(obj); - json_object_object_add(entry, "references", obj); - - obj = json_object_new_string(_socktype(sock->type)); - CHECKMEM(obj); - json_object_object_add(entry, "type", obj); - - if (sock->connected) { - isc_sockaddr_format(&sock->peer_address, peerbuf, - sizeof(peerbuf)); - obj = json_object_new_string(peerbuf); - CHECKMEM(obj); - json_object_object_add(entry, "peer-address", obj); - } - - len = sizeof(addr); - if (getsockname(sock->fd, &addr.type.sa, (void *)&len) == 0) { - isc_sockaddr_format(&addr, peerbuf, sizeof(peerbuf)); - obj = json_object_new_string(peerbuf); - CHECKMEM(obj); - json_object_object_add(entry, "local-address", obj); - } - - states = json_object_new_array(); - CHECKMEM(states); - json_object_object_add(entry, "states", states); - - if (sock->pending_recv) { - obj = json_object_new_string("pending-receive"); - CHECKMEM(obj); - json_object_array_add(states, obj); - } - - if (sock->pending_send) { - obj = json_object_new_string("pending-send"); - CHECKMEM(obj); - json_object_array_add(states, obj); - } - - if (sock->pending_accept) { - obj = json_object_new_string("pending-accept"); - CHECKMEM(obj); - json_object_array_add(states, obj); - } - - if (sock->listener) { - obj = json_object_new_string("listener"); - CHECKMEM(obj); - json_object_array_add(states, obj); - } - - if (sock->connected) { - obj = json_object_new_string("connected"); - CHECKMEM(obj); - json_object_array_add(states, obj); - } - - if (sock->connecting) { - obj = json_object_new_string("connecting"); - CHECKMEM(obj); - json_object_array_add(states, obj); - } - - if (sock->bound) { - obj = json_object_new_string("bound"); - CHECKMEM(obj); - json_object_array_add(states, obj); - } - - UNLOCK(&sock->lock); - sock = ISC_LIST_NEXT(sock, link); - } - - json_object_object_add(stats, "sockets", array); - array = NULL; - result = ISC_R_SUCCESS; - - error: - if (array != NULL) - json_object_put(array); - - if (sock != NULL) - UNLOCK(&sock->lock); - - UNLOCK(&mgr->lock); - - return (result); -} -#endif /* HAVE_JSON */ - #include "../socket_api.c" |
