summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCecylia Bocovich <cohosh@torproject.org>2021-11-23 10:40:43 -0500
committerCecylia Bocovich <cohosh@torproject.org>2021-11-23 11:18:04 -0500
commit0d3894dbbcde9f45fbbf53c451c8b1c4d290280c (patch)
treed2d011b29188865ffe3434016e05ceb129bd5954 /src
parent809b636b6ec9039262c1feb874a9d167046bf515 (diff)
downloadtor-0d3894dbbcde9f45fbbf53c451c8b1c4d290280c.tar.gz
tor-0d3894dbbcde9f45fbbf53c451c8b1c4d290280c.zip
Add documentation on {C,S}METHOD parsing behaviour
Diffstat (limited to 'src')
-rw-r--r--src/feature/client/transports.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/feature/client/transports.c b/src/feature/client/transports.c
index 5eda63ce8e..80903ac9e5 100644
--- a/src/feature/client/transports.c
+++ b/src/feature/client/transports.c
@@ -903,12 +903,20 @@ handle_proxy_line(const char *line, managed_proxy_t *mp)
if (mp->conf_state != PT_PROTO_ACCEPTING_METHODS)
goto err;
+ /* Log the error but do not kill the managed proxy.
+ * A proxy may contain several transports and if one
+ * of them is misconfigured, we still want to use
+ * the other transports. A managed proxy with no usable
+ * transports will log a warning.
+ * See https://gitlab.torproject.org/tpo/core/tor/-/issues/7362
+ * */
parse_client_method_error(line);
return;
} else if (!strcmpstart(line, PROTO_SMETHOD_ERROR)) {
if (mp->conf_state != PT_PROTO_ACCEPTING_METHODS)
goto err;
+ /* Log the error but do not kill the managed proxy */
parse_server_method_error(line);
return;
} else if (!strcmpstart(line, PROTO_CMETHOD)) {