From 08ae53e400ff6fa2d8147aad440c38173c106cae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A1bio=20J=2E=20Bertinatto?= Date: Tue, 5 Nov 2013 00:50:16 -0200 Subject: [PATCH 1/4] Fix bug9665 --- src/or/connection_or.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/or/connection_or.c b/src/or/connection_or.c index 04ad2cc008..ba3ac00f04 100644 --- a/src/or/connection_or.c +++ b/src/or/connection_or.c @@ -1195,6 +1195,11 @@ connection_or_connect(const tor_addr_t *_addr, uint16_t port, "your pluggable transport proxy stopped running.", fmt_addrport(&TO_CONN(conn)->addr, TO_CONN(conn)->port), transport_name, transport_name); + + control_event_bootstrap_problem( + "Can't connect to bridge", + END_OR_CONN_REASON_NO_ROUTE); + } else { log_warn(LD_GENERAL, "Tried to connect to '%s' through a proxy, but " "the proxy address could not be found.", From 754a50592c412d95d2eb48038784d0ef725a7dc2 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Mon, 7 Apr 2014 13:41:07 -0400 Subject: [PATCH 2/4] Forward-port bug9665 fix to work with our fix for 11069 --- src/or/connection_or.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/or/connection_or.c b/src/or/connection_or.c index ba3ac00f04..01ff4dca07 100644 --- a/src/or/connection_or.c +++ b/src/or/connection_or.c @@ -1198,7 +1198,8 @@ connection_or_connect(const tor_addr_t *_addr, uint16_t port, control_event_bootstrap_problem( "Can't connect to bridge", - END_OR_CONN_REASON_NO_ROUTE); + END_OR_CONN_REASON_NO_ROUTE, + conn); } else { log_warn(LD_GENERAL, "Tried to connect to '%s' through a proxy, but " From 90341b4852bf88f1fdf9fd150fa2f5c47f88b2cb Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Mon, 7 Apr 2014 13:44:22 -0400 Subject: [PATCH 3/4] For missing transport, say "PT_MISSING" not "NO_ROUTE" --- src/or/connection_or.c | 2 +- src/or/or.h | 3 ++- src/or/reasons.c | 2 ++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/or/connection_or.c b/src/or/connection_or.c index 01ff4dca07..6572a918e6 100644 --- a/src/or/connection_or.c +++ b/src/or/connection_or.c @@ -1198,7 +1198,7 @@ connection_or_connect(const tor_addr_t *_addr, uint16_t port, control_event_bootstrap_problem( "Can't connect to bridge", - END_OR_CONN_REASON_NO_ROUTE, + END_OR_CONN_REASON_PT_MISSING, conn); } else { diff --git a/src/or/or.h b/src/or/or.h index 38ab1767e0..1b35c1f99b 100644 --- a/src/or/or.h +++ b/src/or/or.h @@ -604,7 +604,8 @@ typedef enum { #define END_OR_CONN_REASON_NO_ROUTE 6 /* no route to host/net */ #define END_OR_CONN_REASON_IO_ERROR 7 /* read/write error */ #define END_OR_CONN_REASON_RESOURCE_LIMIT 8 /* sockets, buffers, etc */ -#define END_OR_CONN_REASON_MISC 9 +#define END_OR_CONN_REASON_PT_MISSING 9 /* PT failed or not available */ +#define END_OR_CONN_REASON_MISC 10 /* Reasons why we (or a remote OR) might close a stream. See tor-spec.txt for * documentation of these. The values must match. */ diff --git a/src/or/reasons.c b/src/or/reasons.c index 0674474e72..750e89bbe7 100644 --- a/src/or/reasons.c +++ b/src/or/reasons.c @@ -231,6 +231,8 @@ orconn_end_reason_to_control_string(int r) return "RESOURCELIMIT"; case END_OR_CONN_REASON_MISC: return "MISC"; + case END_OR_CONN_REASON_PT_MISSING: + return "PT_MISSING"; case 0: return ""; default: From 74195db6b67d2e98019104d49e44717fd54d5ec2 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Mon, 7 Apr 2014 22:19:56 -0400 Subject: [PATCH 4/4] Changes file for bug9665 --- changes/bug9665 | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 changes/bug9665 diff --git a/changes/bug9665 b/changes/bug9665 new file mode 100644 index 0000000000..d9e58591ee --- /dev/null +++ b/changes/bug9665 @@ -0,0 +1,4 @@ + o Minor features: + - Report a failure to connect to a bridge because its transport + type has no configured pluggable transport as a new type of bootstrap + failure. Resolves ticket 9665. Patch from Fábio J. Bertinatto.