Browse Source

hints for nick on where to integrate

svn:r273
Roger Dingledine 22 years ago
parent
commit
0f17d09066
1 changed files with 5 additions and 0 deletions
  1. 5 0
      src/or/directory.c

+ 5 - 0
src/or/directory.c

@@ -43,6 +43,7 @@ void directory_initiate_fetch(routerinfo_t *router) {
   conn->address = strdup(router->address);
   conn->receiver_bucket = -1; /* edge connections don't do receiver buckets */
   conn->bandwidth = -1;
+  conn->pkey = crypto_pk_dup_key(router->signing_pkey);
 
   s=socket(PF_INET,SOCK_STREAM,IPPROTO_TCP);
   if(s < 0) { 
@@ -116,6 +117,8 @@ void directory_set_dirty(void) {
 
 void directory_rebuild(void) {
   if(directory_dirty) {
+/* NICK: This is where the dirserver makes a new <the_directory,directorylen>
+ * (or whatever it'll be called in the future) pair. */
     dump_directory_to_string(the_directory, MAX_DIR_SIZE);
     log(LOG_INFO,"New directory:\n%s",the_directory);
     directorylen = strlen(the_directory);
@@ -141,6 +144,8 @@ int connection_dir_process_inbuf(connection_t *conn) {
       log(LOG_DEBUG,"connection_dir_process_inbuf(): Empty directory. Ignoring.");
       return -1;
     }
+/* NICK: This is where the client parses, checks-the-signature-of, etc the
+ * new directory. conn->pkey is the signing key of the directory server we chose. */
     if(router_get_list_from_string(the_directory) < 0) {
       log(LOG_DEBUG,"connection_dir_process_inbuf(): ...but parsing failed. Ignoring.");
     }