- if(get_config_string(lookup_config(c->config_tree, "ECDSAPublicKey"), &p)) {
- c->ecdsa = ecdsa_set_base64_public_key(p);
- free(p);
- return c->ecdsa;
+ for(uint32_t i = 0; i < MAX_RECENT; i++) {
+ if(n->recent[i].sa.sa_family) {
+ known_count++;
+ }
+ }
+
+ uint32_t count = packmsg_get_array(&in);
+
+ for(uint32_t i = 0; i < count; i++) {
+ if(i < MAX_RECENT - known_count) {
+ n->recent[i + known_count] = packmsg_get_sockaddr(&in);
+ } else {
+ packmsg_skip_element(&in);
+ }
+ }
+
+ time_t last_reachable = packmsg_get_int64(&in);
+ time_t last_unreachable = packmsg_get_int64(&in);
+
+ if(!n->last_reachable) {
+ n->last_reachable = last_reachable;
+ }
+
+ if(!n->last_unreachable) {
+ n->last_unreachable = last_unreachable;