[tor-commits] [flashproxy/master] Tolerate other URL parameters in client regisration lines.
dcf at torproject.org
dcf at torproject.org
Thu Oct 10 19:02:21 UTC 2013
commit 3e80ad4f244841beb53f23d70f13bd925c9bc48d
Author: David Fifield <david at bamsoftware.com>
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):
More information about the tor-commits
mailing list