};
char *conn_state_to_string[][_CONN_TYPE_MAX+1] = {
- { NULL }, /* no type associated with 0 */
- { "ready" }, /* op listener, 0 */
- { "awaiting keys", /* op, 0 */
- "open", /* 1 */
- "close", /* 2 */
- "close_wait" }, /* 3 */
+ { NULL }, /* no type associated with 0 */
+ { NULL }, /* op listener, obsolete */
+ { NULL }, /* op, obsolete */
{ "ready" }, /* or listener, 0 */
- { "connect()ing", /* 0 */
- "handshaking", /* 1 */
- "open" }, /* 2 */
- { "waiting for dest info", /* exit, 0 */
- "connecting", /* 1 */
- "open" }, /* 2 */
+ { "", /* OR, 0 */
+ "connect()ing", /* 1 */
+ "handshaking", /* 2 */
+ "open" }, /* 3 */
+ { "", /* exit, 0 */
+ "waiting for dest info", /* 1 */
+ "connecting", /* 2 */
+ "open" }, /* 3 */
{ "ready" }, /* app listener, 0 */
{ "", /* 0 */
"", /* 1 */
"", /* 2 */
- "awaiting dest info", /* app, 3 */
- "waiting for OR connection", /* 4 */
- "open" }, /* 5 */
+ "", /* 3 */
+ "awaiting dest info", /* app, 4 */
+ "waiting for OR connection", /* 5 */
+ "open" }, /* 6 */
{ "ready" }, /* dir listener, 0 */
- { "connecting (fetch)", /* 0 */
- "connecting (upload)", /* 1 */
- "client sending fetch", /* 2 */
- "client sending upload", /* 3 */
- "client reading fetch", /* 4 */
- "client reading upload", /* 5 */
- "awaiting command", /* 6 */
- "writing" }, /* 7 */
- { "idle", /* dns worker, 0 */
- "busy" }, /* 1 */
- { "idle", /* cpu worker, 0 */
- "busy with onion", /* 1 */
- "busy with handshake" }, /* 2 */
+ { "", /* dir, 0 */
+ "connecting (fetch)", /* 1 */
+ "connecting (upload)", /* 2 */
+ "client sending fetch", /* 3 */
+ "client sending upload", /* 4 */
+ "client reading fetch", /* 5 */
+ "client reading upload", /* 6 */
+ "awaiting command", /* 7 */
+ "writing" }, /* 8 */
+ { "", /* dns worker, 0 */
+ "idle", /* 1 */
+ "busy" }, /* 2 */
+ { "", /* cpu worker, 0 */
+ "idle", /* 1 */
+ "busy with onion", /* 2 */
+ "busy with handshake" }, /* 3 */
};
/********* END VARIABLES ************/
char keydir[512];
char fingerprint[FINGERPRINT_LEN+MAX_NICKNAME_LEN+3];
char *cp;
+ const char *tmp, *mydesc;
crypto_pk_env_t *prkey;
/* OP's don't need keys. Just initialize the TLS context.*/
log_fn(LOG_ERR, "Error initializing descriptor.");
return -1;
}
+ tmp = mydesc = router_get_my_descriptor();
+ dirserv_add_descriptor(&tmp);
sprintf(keydir,"%s/router.desc", options.DataDirectory);
log_fn(LOG_INFO,"Dumping descriptor to %s...",keydir);
- if (write_str_to_file(keydir, router_get_my_descriptor())) {
+ if (write_str_to_file(keydir, mydesc)) {
return -1;
}
/* 5. Dump fingerprint to 'fingerprint' */
log_fn(LOG_WARNING,"Choosing route length failed.");
return NULL;
}
- log_fn(LOG_DEBUG,"Chosen route length %d.",*routelen);
+ log_fn(LOG_DEBUG,"Chosen route length %d (%d routers available).",*routelen, rarray_len);
num_acceptable_routers = count_acceptable_routers(rarray, rarray_len);
oldchoice = rarray_len;
for(i=0;i<*routelen;i++) {
- log(LOG_DEBUG,"new_route(): Choosing hop %u.",i);
+ log_fn(LOG_DEBUG,"Choosing hop %u.",i);
if (CRYPTO_PSEUDO_RAND_INT(choice)) {
free((void *)route);
return NULL;