splay_empty_tree(&node_tree);
}
-node_t *new_node(void) {
+node_t *new_node(const char *name) {
node_t *n = xzalloc(sizeof(*n));
if(replaywin) {
n->mtu = MTU;
n->maxmtu = MTU;
n->udp_ping_rtt = -1;
+ n->name = xstrdup(name);
return n;
}
void free_node(node_t *n) {
+ if(!n) {
+ return;
+ }
+
splay_empty_tree(&n->subnet_tree);
splay_empty_tree(&n->edge_tree);
sockaddrfree(&n->address);
#ifndef DISABLE_LEGACY
- cipher_close(n->incipher);
- digest_close(n->indigest);
- cipher_close(n->outcipher);
- digest_close(n->outdigest);
+ cipher_free(n->incipher);
+ digest_free(n->indigest);
+ cipher_free(n->outcipher);
+ digest_free(n->outdigest);
#endif
ecdsa_free(n->ecdsa);
}
id[sizeof(id) - 1] = 0;
- send_request(c, "%d %d %s %s %s %d %d %zu %d %x %x %s %s %d %d %d %d %ld %d %"PRIu64" %"PRIu64" %"PRIu64" %"PRIu64, CONTROL, REQ_DUMP_NODES,
+ send_request(c, "%d %d %s %s %s %d %d %lu %d %x %x %s %s %d %d %d %d %ld %d %"PRIu64" %"PRIu64" %"PRIu64" %"PRIu64, CONTROL, REQ_DUMP_NODES,
n->name, id, n->hostname ? n->hostname : "unknown port unknown",
#ifdef DISABLE_LEGACY
0, 0, 0UL,
#else
- cipher_get_nid(n->outcipher), digest_get_nid(n->outdigest), digest_length(n->outdigest),
+ cipher_get_nid(n->outcipher), digest_get_nid(n->outdigest), (unsigned long)digest_length(n->outdigest),
#endif
- n->outcompression, n->options, bitfield_to_int(&n->status, sizeof(n->status)),
+ n->outcompression, n->options, n->status.value,
n->nexthop ? n->nexthop->name : "-", n->via && n->via->name ? n->via->name : "-", n->distance,
n->mtu, n->minmtu, n->maxmtu, (long)n->last_state_change, n->udp_ping_rtt,
n->in_packets, n->in_bytes, n->out_packets, n->out_bytes);