]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
errors have addresses with them.
authorWouter Wijngaards <wouter@nlnetlabs.nl>
Thu, 18 Oct 2007 09:04:55 +0000 (09:04 +0000)
committerWouter Wijngaards <wouter@nlnetlabs.nl>
Thu, 18 Oct 2007 09:04:55 +0000 (09:04 +0000)
git-svn-id: file:///svn/unbound/trunk@692 be551aaa-1e26-0410-a405-d3ace91eadb9

doc/Changelog
iterator/iter_delegpt.c
iterator/iterator.c
services/outside_network.c
testcode/fake_event.c
util/net_help.c
util/net_help.h

index 2114bc3befcb35047f2a5a9c34e51236b6588369..1ce00179a0b388922ca95fc4bee898cb7ae94f22 100644 (file)
@@ -1,3 +1,6 @@
+18 October 2007: Wouter
+       - addresses are logged with errors.
+
 17 October 2007: Wouter
        - fixup another cycle detect and ns-addr timeout resolution bug.
          This time by refusing delegations from the cache without addresses
index 4a8870250c456cdd2677d3ff4c19a4da09ecdcf2..8272f4dce8057240c31940ea5ccdf33d8de6b7bf 100644 (file)
@@ -215,7 +215,7 @@ void delegpt_log(enum verbosity_value v, struct delegpt* dp)
                        log_info("  %s%s", buf, (ns->resolved?"*":""));
                }
                for(a = dp->target_list; a; a = a->next_target) {
-                       log_addr("  ", &a->addr, a->addrlen);
+                       log_addr(VERB_ALGO, "  ", &a->addr, a->addrlen);
                }
        }
 }
index 5feb63fb942458be7bf64e695052f77755ce3a26..3890a67e80656a95103e32bb81d75e93a38e0525 100644 (file)
@@ -1145,7 +1145,8 @@ processQueryTargets(struct module_qstate* qstate, struct iter_qstate* iq,
                &target->addr, target->addrlen, qstate);
        if(!outq) {
                log_err("error sending query to auth server; skip this address");
-               log_addr("error for address:", &target->addr, target->addrlen);
+               log_addr(0, "error for address:", 
+                       &target->addr, target->addrlen);
                return next_state(iq, QUERYTARGETS_STATE);
        }
        outbound_list_insert(&iq->outlist, outq);
index 457e20f8e71fc6849bcf5a27ea8754faa20ac5b0..73e45271ea3fa9b1395897b1c7cb4ea76c26ca42 100644 (file)
@@ -132,14 +132,14 @@ outnet_tcp_take_into_use(struct waiting_tcp* w, uint8_t* pkt, size_t pkt_len)
                s = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
        if(s == -1) {
                log_err("outgoing tcp: socket: %s", strerror(errno));
-               log_addr("failed address", &w->addr, w->addrlen);
+               log_addr(0, "failed address", &w->addr, w->addrlen);
                return 0;
        }
        fd_set_nonblock(s);
        if(connect(s, (struct sockaddr*)&w->addr, w->addrlen) == -1) {
                if(errno != EINPROGRESS) {
                        log_err("outgoing tcp: connect: %s", strerror(errno));
-                       log_addr("failed address", &w->addr, w->addrlen);
+                       log_addr(0, "failed address", &w->addr, w->addrlen);
                        close(s);
                        return 0;
                }
@@ -206,7 +206,8 @@ outnet_tcp_cb(struct comm_point* c, void* arg, int error,
                /* check ID */
                if(ldns_buffer_limit(c->buffer) < sizeof(uint16_t) ||
                        LDNS_ID_WIRE(ldns_buffer_begin(c->buffer))!=pend->id) {
-                       log_addr("outnettcp: bad ID in reply, from:",
+                       log_addr(VERB_DETAIL, 
+                               "outnettcp: bad ID in reply, from:",
                                &pend->query->addr, pend->query->addrlen);
                        error = NETEVENT_CLOSED;
                }
@@ -241,9 +242,8 @@ outnet_udp_cb(struct comm_point* c, void* arg, int error,
        memcpy(&key.addr, &reply_info->addr, reply_info->addrlen);
        key.addrlen = reply_info->addrlen;
        verbose(VERB_ALGO, "Incoming reply id = %4.4x", key.id);
-       if(verbosity >= VERB_ALGO) {
-               log_addr("Incoming reply addr =", &reply_info->addr, reply_info->addrlen);
-       }
+       log_addr(VERB_ALGO, "Incoming reply addr =", 
+               &reply_info->addr, reply_info->addrlen);
 
        /* find it, see if this thing is a valid query response */
        verbose(VERB_ALGO, "lookup size is %d entries", (int)outnet->pending->count);
@@ -1019,8 +1019,9 @@ serviced_tcp_callback(struct comm_point* c, void* arg, int error,
        struct serviced_query* sq = (struct serviced_query*)arg;
        struct comm_reply r2;
        sq->pending = NULL; /* removed after this callback */
-       if(error != NETEVENT_NOERROR && verbosity >= VERB_DETAIL)
-               log_addr("tcp error for address", &sq->addr, sq->addrlen);
+       if(error != NETEVENT_NOERROR)
+               log_addr(VERB_DETAIL, "tcp error for address", 
+                       &sq->addr, sq->addrlen);
        if(error==NETEVENT_NOERROR)
                infra_update_tcp_works(sq->outnet->infra, &sq->addr,
                        sq->addrlen);
index ba53bc74db1883861241fda95dfb00e42f3d2817..261b012fb2facfa3bf739bcbdaed74220dc44a6b 100644 (file)
@@ -178,7 +178,7 @@ pending_find_match(struct replay_runtime* runtime, struct entry** entry,
                                "with entry line %d", timenow, 
                                p->start_step, p->end_step, (*entry)->lineno);
                        if(p->addrlen != 0)
-                               log_addr("matched ip", &p->addr, p->addrlen);
+                               log_addr(0, "matched ip", &p->addr, p->addrlen);
                        log_pkt("matched pkt: ", (*entry)->reply_list->reply);
                        return 1;
                }
index 0fa6a44c1464041242e952525a3ffb0f257e83c0..9a1ea69486ae47bd4b030ac9802c69ddb72a620a 100644 (file)
@@ -146,13 +146,16 @@ memdup(void* data, size_t len)
 }
 
 void
-log_addr(const char* str, struct sockaddr_storage* addr, socklen_t addrlen)
+log_addr(enum verbosity_value v, const char* str, 
+       struct sockaddr_storage* addr, socklen_t addrlen)
 {
         uint16_t port;
         const char* family = "unknown";
         char dest[100];
         int af = (int)((struct sockaddr_in*)addr)->sin_family;
         void* sinaddr = &((struct sockaddr_in*)addr)->sin_addr;
+       if(verbosity < v)
+               return;
         switch(af) {
                 case AF_INET: family="ip4"; break;
                 case AF_INET6: family="ip6";
@@ -166,8 +169,8 @@ log_addr(const char* str, struct sockaddr_storage* addr, socklen_t addrlen)
         }
        dest[sizeof(dest)-1] = 0;
         port = ntohs(((struct sockaddr_in*)addr)->sin_port);
-        verbose(VERB_DETAIL, "%s %s %s %d (len %d)",
-                str, family, dest, (int)port, (int)addrlen);
+        log_info("%s %s %s %d (len %d)", str, family, dest, (int)port, 
+               (int)addrlen);
 }
 
 int 
index aeb3802bcd68e135f5731296b6cd0a0cb9232579..c5b574e8888dd0f34a0edf710092279b591cfb41 100644 (file)
@@ -145,12 +145,13 @@ void* memdup(void* data, size_t len);
 
 /**
  * Prints the sockaddr in readable format with log_info. Debug helper.
+ * @param v: at what verbosity level to print this.
  * @param str: descriptive string printed with it.
  * @param addr: the sockaddr to print. Can be ip4 or ip6.
  * @param addrlen: length of addr.
  */
-void log_addr(const char* str, struct sockaddr_storage* addr, 
-       socklen_t addrlen);
+void log_addr(enum verbosity_value v, const char* str, 
+       struct sockaddr_storage* addr, socklen_t addrlen);
 
 /**
  * Prints zone name and sockaddr in readable format with log_info. Debug.