From: Ian Jackson Date: Sat, 25 Oct 2014 18:22:01 +0000 (+0100) Subject: udp: Print more info in our comm_addr representations X-Git-Tag: v0.4.0_beta2~23 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=secnet.git;a=commitdiff_plain;h=571db1485179e0750e97fa5aa593237a7d554f87;hp=d9d101eaf54ff0c58852c8ccf37c4fcd8f8d8a35 udp: Print more info in our comm_addr representations Include an index number (starting at 0) and the line number (but not filename) at which we were defined. This is allows the user to more easily see (for example) which comm_addrs actually belong to the same udp, even if they might have a different ix and thus be reported with different local addresses. Signed-off-by: Ian Jackson --- diff --git a/udp.c b/udp.c index dde73ef..26853b7 100644 --- a/udp.c +++ b/udp.c @@ -31,6 +31,7 @@ struct udp { struct udpcommon uc; struct udpsocks socks; bool_t addr_configured; + unsigned counter; }; /* @@ -53,7 +54,8 @@ static const char *udp_addr_to_string(void *commst, const struct comm_addr *ca) int ix=ca->ix>=0 ? ca->ix : 0; assert(ix>=0 && ixn_socks); - snprintf(sbuf, sizeof(sbuf), "udp:%s%s-%s", + snprintf(sbuf, sizeof(sbuf), "udp#%u@l%d:%s%s-%s", + st->counter, st->uc.cc.loc.line, iaddr_to_string(&socks->socks[ix].addr), ca->ix<0 && socks->n_socks>1 ? "&" : "", iaddr_to_string(&ca->ia)); @@ -414,6 +416,8 @@ static void udp_phase_hook(void *sst, uint32_t new_phase) static list_t *udp_apply(closure_t *self, struct cloc loc, dict_t *context, list_t *args) { + static unsigned counter; + struct udp *st; list_t *caddrl; list_t *l; @@ -428,6 +432,8 @@ static list_t *udp_apply(closure_t *self, struct cloc loc, dict_t *context, struct udpsocks *socks=&st->socks; struct commcommon *cc=&uc->cc; + st->counter=counter++; + union iaddr defaultaddrs[] = { #ifdef CONFIG_IPV6 { .sin6 = { .sin6_family=AF_INET6,