diff options
author | Roger Dingledine <arma@torproject.org> | 2009-08-31 16:14:41 -0400 |
---|---|---|
committer | Roger Dingledine <arma@torproject.org> | 2009-08-31 16:14:41 -0400 |
commit | 4c297f74f79e0e3d357d20bfc584eccc758d1fd8 (patch) | |
tree | 0327e49bcede6702ca16e1700cb30cb5f4eb3f56 /src/or/main.c | |
parent | 64f393d56f8ff58223db56f3b8e64f0074877616 (diff) | |
download | tor-4c297f74f79e0e3d357d20bfc584eccc758d1fd8.tar.gz tor-4c297f74f79e0e3d357d20bfc584eccc758d1fd8.zip |
Only send reachability status events on overall success/failure
We were telling the controller about CHECKING_REACHABILITY and
REACHABILITY_FAILED status events whenever we launch a testing
circuit or notice that one has failed. Instead, only tell the
controller when we want to inform the user of overall success or
overall failure. Bugfix on 0.1.2.6-alpha. Fixes bug 1075. Reported
by SwissTorExit.
Diffstat (limited to 'src/or/main.c')
-rw-r--r-- | src/or/main.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/or/main.c b/src/or/main.c index 60c42aaae3..62335d3421 100644 --- a/src/or/main.c +++ b/src/or/main.c @@ -1185,17 +1185,26 @@ second_elapsed_callback(int fd, short event, void *args) TIMEOUT_UNTIL_UNREACHABILITY_COMPLAINT) { /* every 20 minutes, check and complain if necessary */ routerinfo_t *me = router_get_my_routerinfo(); - if (me && !check_whether_orport_reachable()) + if (me && !check_whether_orport_reachable()) { log_warn(LD_CONFIG,"Your server (%s:%d) has not managed to confirm that " "its ORPort is reachable. Please check your firewalls, ports, " "address, /etc/hosts file, etc.", me->address, me->or_port); - if (me && !check_whether_dirport_reachable()) + control_event_server_status(LOG_WARN, + "REACHABILITY_FAILED ORADDRESS=%s:%d", + me->address, me->or_port); + } + + if (me && !check_whether_dirport_reachable()) { log_warn(LD_CONFIG, "Your server (%s:%d) has not managed to confirm that its " "DirPort is reachable. Please check your firewalls, ports, " "address, /etc/hosts file, etc.", me->address, me->dir_port); + control_event_server_status(LOG_WARN, + "REACHABILITY_FAILED DIRADDRESS=%s:%d", + me->address, me->dir_port); + } } /** If more than this many seconds have elapsed, probably the clock |