+ if(!c->node) {
+ c->node = lookup_node(c->name);
+ }
+
+ if(!c->node) {
+ c->node = new_node(c->name);
+ c->node->connection = c;
+ node_add(c->node);
+ }
+
+ if(!c->node->address_cache) {
+ c->node->address_cache = open_address_cache(c->node);
+ }
+
+ add_recent_address(c->node->address_cache, &c->address);
+