[or-cvs] if options.FascistFirewall but none are running on port 80,...

Roger Dingledine arma at seul.org
Wed Aug 18 21:14:00 UTC 2004


Update of /home/or/cvsroot/src/or
In directory moria.mit.edu:/home2/arma/work/onion/cvs/src/or

Modified Files:
	routerlist.c 
Log Message:
if options.FascistFirewall but none are running on port 80, try
the others before giving up.


Index: routerlist.c
===================================================================
RCS file: /home/or/cvsroot/src/or/routerlist.c,v
retrieving revision 1.131
retrieving revision 1.132
diff -u -d -r1.131 -r1.132
--- routerlist.c	18 Aug 2004 11:20:15 -0000	1.131
+++ routerlist.c	18 Aug 2004 21:13:58 -0000	1.132
@@ -20,7 +20,7 @@
 
 /* static function prototypes */
 static routerinfo_t *
-router_pick_directory_server_impl(int requireauth, int preferothers);
+router_pick_directory_server_impl(int requireauth, int requireothers, int fascistfirewall);
 static void mark_all_authdirservers_up(void);
 static int router_resolve_routerlist(routerlist_t *dir);
 
@@ -47,15 +47,15 @@
 routerinfo_t *router_pick_directory_server(int requireauth, int requireothers) {
   routerinfo_t *choice;
 
-  choice = router_pick_directory_server_impl(requireauth, requireothers);
+  choice = router_pick_directory_server_impl(requireauth, requireothers, options.FascistFirewall);
   if(choice)
     return choice;
 
   log_fn(LOG_INFO,"No dirservers are reachable. Trying them all again.");
-  /* mark all authdirservers are up again */
+  /* mark all authdirservers as up again */
   mark_all_authdirservers_up();
   /* try again */
-  choice = router_pick_directory_server_impl(requireauth, requireothers);
+  choice = router_pick_directory_server_impl(requireauth, requireothers, 0);
   if(choice)
     return choice;
 
@@ -71,7 +71,7 @@
       return NULL;
   }
   /* give it one last try */
-  choice = router_pick_directory_server_impl(requireauth, requireothers);
+  choice = router_pick_directory_server_impl(requireauth, requireothers, 0);
   return choice;
 }
 
@@ -79,7 +79,7 @@
  * it has to be a trusted server. If requireothers, it cannot be us.
  */
 static routerinfo_t *
-router_pick_directory_server_impl(int requireauth, int requireothers)
+router_pick_directory_server_impl(int requireauth, int requireothers, int fascistfirewall)
 {
   int i;
   routerinfo_t *router;
@@ -99,7 +99,7 @@
       continue;
     if(requireothers && router_is_me(router))
       continue;
-    if(options.FascistFirewall) {
+    if(fascistfirewall) {
       sprintf(buf,"%d",router->dir_port);
       if (!smartlist_string_isin(options.FirewallPorts, buf))
         continue;



More information about the tor-commits mailing list