static int connection_ap_handshake_process_socks(connection_t *conn);
static int connection_exit_begin_conn(cell_t *cell, circuit_t *circ);
-static int connection_exit_set_rendezvous_addr_port(connection_t *conn);
static void connection_edge_consider_sending_sendme(connection_t *conn);
static uint32_t client_dns_lookup_entry(const char *address);
int router_rebuild_descriptor(void) {
routerinfo_t *ri;
+ struct in_addr addr;
+ if (!tor_inet_aton(options.Address, &addr)) {
+ log_fn(LOG_ERR, "options.Address didn't hold an IP.");
+ return -1;
+ }
ri = tor_malloc_zero(sizeof(routerinfo_t));
ri->address = tor_strdup(options.Address);
ri->nickname = tor_strdup(options.Nickname);
- /* No need to set addr. */
+ ri->addr = (uint32_t) addr.s_addr;
ri->or_port = options.ORPort;
ri->socks_port = options.SocksPort;
ri->dir_port = options.DirPort;
for(i=0;i<routerlist->n_routers;i++) {
router = routerlist->routers[i];
- if (0 == strcmp(router->nickname, nickname))
+ if (0 == strcasecmp(router->nickname, nickname))
return router;
}
router = router_get_my_routerinfo();
- if (router && 0 == strcmp(router->nickname, nickname))
+ if (router && 0 == strcasecmp(router->nickname, nickname))
return router;
return NULL;