]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Update to !1427: Make primary's transfer log more detailed
authorMatthijs Mekking <matthijs@isc.org>
Mon, 18 Feb 2019 11:33:15 +0000 (06:33 -0500)
committerMatthijs Mekking <matthijs@isc.org>
Mon, 18 Feb 2019 11:33:15 +0000 (06:33 -0500)
lib/ns/include/ns/client.h
lib/ns/xfrout.c

index f78abc21493d46230c871cfcd881b6d1958293a2..cd6c9c8a47989a16b4b78391f9c2a9a5c062ce8b 100644 (file)
@@ -83,9 +83,9 @@
 /*% nameserver client structure */
 struct ns_client {
        unsigned int            magic;
-       isc_mem_t *             mctx;
-       ns_server_t *           sctx;
-       ns_clientmgr_t *        manager;
+       isc_mem_t               *mctx;
+       ns_server_t             *sctx;
+       ns_clientmgr_t          *manager;
        int                     state;
        int                     newstate;
        int                     naccepts;
@@ -95,7 +95,7 @@ struct ns_client {
        int                     nupdates;
        int                     nctls;
        int                     references;
-       bool            needshutdown;   /*
+       bool                    needshutdown;   /*
                                                 * Used by clienttest to get
                                                 * the client to go from
                                                 * inactive to free state
@@ -103,26 +103,26 @@ struct ns_client {
                                                 * client's task.
                                                 */
        unsigned int            attributes;
-       isc_task_t *            task;
-       dns_view_t *            view;
-       dns_dispatch_t *        dispatch;
-       isc_socket_t *          udpsocket;
-       isc_socket_t *          tcplistener;
-       isc_socket_t *          tcpsocket;
-       unsigned char *         tcpbuf;
+       isc_task_t              *task;
+       dns_view_t              *view;
+       dns_dispatch_t          *dispatch;
+       isc_socket_t            *udpsocket;
+       isc_socket_t            *tcplistener;
+       isc_socket_t            *tcpsocket;
+       unsigned char           *tcpbuf;
        dns_tcpmsg_t            tcpmsg;
-       bool            tcpmsg_valid;
-       isc_timer_t *           timer;
-       isc_timer_t *           delaytimer;
-       bool            timerset;
-       dns_message_t *         message;
-       isc_socketevent_t *     sendevent;
-       isc_socketevent_t *     recvevent;
-       unsigned char *         recvbuf;
-       dns_rdataset_t *        opt;
+       bool                    tcpmsg_valid;
+       isc_timer_t             *timer;
+       isc_timer_t             *delaytimer;
+       bool                    timerset;
+       dns_message_t           *message;
+       isc_socketevent_t       *sendevent;
+       isc_socketevent_t       *recvevent;
+       unsigned char           *recvbuf;
+       dns_rdataset_t          *opt;
        uint16_t                udpsize;
        uint16_t                extflags;
-       int16_t         ednsversion;    /* -1 noedns */
+       int16_t                 ednsversion;    /* -1 noedns */
        void                    (*next)(ns_client_t *);
        void                    (*shutdown)(void *arg, isc_result_t result);
        void                    *shutdown_arg;
@@ -130,20 +130,20 @@ struct ns_client {
        isc_time_t              requesttime;
        isc_stdtime_t           now;
        isc_time_t              tnow;
-       dns_name_t              signername;   /*%< [T]SIG key name */
-       dns_name_t *            signer;       /*%< NULL if not valid sig */
-       bool            mortal;       /*%< Die after handling request */
-       bool            pipelined;   /*%< TCP queries not in sequence */
+       dns_name_t              signername;     /*%< [T]SIG key name */
+       dns_name_t              *signer;        /*%< NULL if not valid sig */
+       bool                    mortal;         /*%< Die after handling request */
+       bool                    pipelined;      /*%< TCP queries not in sequence */
        isc_quota_t             *tcpquota;
        isc_quota_t             *recursionquota;
        ns_interface_t          *interface;
 
        isc_sockaddr_t          peeraddr;
-       bool            peeraddr_valid;
+       bool                    peeraddr_valid;
        isc_netaddr_t           destaddr;
        isc_sockaddr_t          destsockaddr;
 
-       dns_ecs_t               ecs;   /*%< EDNS client subnet sent by client */
+       dns_ecs_t               ecs;            /*%< EDNS client subnet sent by client */
 
        struct in6_pktinfo      pktinfo;
        isc_dscp_t              dscp;
index f98ab6b7f546558c5a47bccb50fca70a173bd413..502b10079b0a515bbb72c6e7c7f701ba9548a9d9 100644 (file)
@@ -1635,6 +1635,7 @@ xfrout_senddone(isc_task_t *task, isc_event_t *event) {
        UNUSED(task);
 
        INSIST(event->ev_type == ISC_SOCKEVENT_SENDDONE);
+       INSIST((xfr->client->attributes & NS_CLIENTATTR_TCP) != 0);
 
        xfr->sends--;
        INSIST(xfr->sends == 0);