]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
complain early if we get an unrecognized nickname from
authorRoger Dingledine <arma@torproject.org>
Mon, 5 Apr 2004 17:51:00 +0000 (17:51 +0000)
committerRoger Dingledine <arma@torproject.org>
Mon, 5 Apr 2004 17:51:00 +0000 (17:51 +0000)
bob's rend service descriptor

svn:r1482

src/or/connection_edge.c
src/or/or.h
src/or/rendclient.c

index 8c33b6cef5e8e2d97aa945f17316d926e45eda5a..cf61be1e9b569bc8331e79470097ebd2b08eedb4 100644 (file)
@@ -777,12 +777,16 @@ circuit_get_open_circ_or_launch(connection_t *conn,
 
     if(desired_circuit_purpose == CIRCUIT_PURPOSE_C_INTRODUCING) {
       /* need to pick an intro point */
-      exitname = rend_get_random_intro(conn->rend_query);
+      exitname = rend_client_get_random_intro(conn->rend_query);
       if(!exitname) {
         log_fn(LOG_WARN,"Couldn't get an intro point for '%s'. Closing conn.",
                conn->rend_query);
         return -1;
       }
+      if(!router_get_by_nickname(exitname)) {
+        log_fn(LOG_WARN,"Advertised intro point '%s' is not known. Closing.", exitname);
+        return -1;
+      }
       log_fn(LOG_INFO,"Chose %s as intro point for %s.", exitname, conn->rend_query);
     }
 
index d74115636e7840e80c5882fa21bdb2a62c3a414d..81f67c9e37658f4cd630c5411d356c6053d58f70 100644 (file)
@@ -1046,7 +1046,7 @@ int rend_client_receive_rendezvous(circuit_t *circ, const char *request, int req
 void rend_client_desc_fetched(char *query, int success);
 
 int rend_cmp_service_ids(char *one, char *two);
-char *rend_get_random_intro(char *query);
+char *rend_client_get_random_intro(char *query);
 int rend_parse_rendezvous_address(char *address);
 
 int rend_client_send_establish_rendezvous(circuit_t *circ);
index 82f3681e0784cdd0dc8a997010b4fae49f861e2f..96ea145cae9069da4877185d749ef55505a5f545 100644 (file)
@@ -208,7 +208,7 @@ int rend_cmp_service_ids(char *one, char *two) {
 /* return a pointer to a nickname for a random introduction
  * point of query. return NULL if error.
  */
-char *rend_get_random_intro(char *query) {
+char *rend_client_get_random_intro(char *query) {
   const char *descp;
   int desc_len;
   int i;