commit 3e80ad4f244841beb53f23d70f13bd925c9bc48d
Author: David Fifield <[email protected]>
Date:   Wed Oct 9 23:06:00 2013 -0700

    Tolerate other URL parameters in client regisration lines.
---
 facilitator/facilitator-reg-daemon |   12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/facilitator/facilitator-reg-daemon 
b/facilitator/facilitator-reg-daemon
index 2cb2904..ed9eb7e 100755
--- a/facilitator/facilitator-reg-daemon
+++ b/facilitator/facilitator-reg-daemon
@@ -7,6 +7,7 @@ import socket
 import sys
 import threading
 import time
+import urlparse
 
 import fac
 
@@ -81,9 +82,14 @@ def find_client_addr(body):
         client=...
     Returns None if no client line was found."""
     for line in body.splitlines():
-        if line.startswith("client="):
-            _, client_spec = line.split("=", 1)
-            return fac.parse_addr_spec(client_spec)
+        try:
+            qs = urlparse.parse_qs(line, keep_blank_values=True, 
strict_parsing=True)
+        except ValueError:
+            continue
+        client_specs = qs["client"]
+        if len(client_specs) != 1:
+            continue
+        return fac.parse_addr_spec(client_specs[0])
     return None
 
 class Handler(SocketServer.StreamRequestHandler):



_______________________________________________
tor-commits mailing list
[email protected]
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits

Reply via email to