Rev3537, Allow to add peers to site with get request
This commit is contained in:
parent
892ef23ca0
commit
6e1f4fada9
2 changed files with 23 additions and 6 deletions
|
@ -10,7 +10,7 @@ class Config(object):
|
||||||
|
|
||||||
def __init__(self, argv):
|
def __init__(self, argv):
|
||||||
self.version = "0.6.3"
|
self.version = "0.6.3"
|
||||||
self.rev = 3535
|
self.rev = 3537
|
||||||
self.argv = argv
|
self.argv = argv
|
||||||
self.action = None
|
self.action = None
|
||||||
self.pending_changes = {}
|
self.pending_changes = {}
|
||||||
|
|
|
@ -332,6 +332,21 @@ class UiRequest(object):
|
||||||
else:
|
else:
|
||||||
return "/" + address
|
return "/" + address
|
||||||
|
|
||||||
|
def processQueryString(self, site, query_string):
|
||||||
|
match = re.search("zeronet_peers=(.*?)(&|$)", query_string)
|
||||||
|
if match:
|
||||||
|
query_string = query_string.replace(match.group(0), "")
|
||||||
|
num_added = 0
|
||||||
|
for peer in match.group(1).split(","):
|
||||||
|
if not re.match(".*?:[0-9]+$", peer):
|
||||||
|
continue
|
||||||
|
ip, port = peer.split(":")
|
||||||
|
if site.addPeer(ip, int(port), source="query_string"):
|
||||||
|
num_added += 1
|
||||||
|
site.log.debug("%s peers added by query string" % num_added)
|
||||||
|
|
||||||
|
return query_string
|
||||||
|
|
||||||
def renderWrapper(self, site, path, inner_path, title, extra_headers, show_loadingscreen=None):
|
def renderWrapper(self, site, path, inner_path, title, extra_headers, show_loadingscreen=None):
|
||||||
file_inner_path = inner_path
|
file_inner_path = inner_path
|
||||||
if not file_inner_path:
|
if not file_inner_path:
|
||||||
|
@ -360,13 +375,15 @@ class UiRequest(object):
|
||||||
postmessage_nonce_security = "false"
|
postmessage_nonce_security = "false"
|
||||||
|
|
||||||
wrapper_nonce = self.getWrapperNonce()
|
wrapper_nonce = self.getWrapperNonce()
|
||||||
|
inner_query_string = self.processQueryString(site, self.env.get("QUERY_STRING", ""))
|
||||||
|
|
||||||
if self.env.get("QUERY_STRING"):
|
if inner_query_string:
|
||||||
query_string = "?%s&wrapper_nonce=%s" % (self.env["QUERY_STRING"], wrapper_nonce)
|
inner_query_string = "?%s&wrapper_nonce=%s" % (inner_query_string, wrapper_nonce)
|
||||||
elif "?" in inner_path:
|
elif "?" in inner_path:
|
||||||
query_string = "&wrapper_nonce=%s" % wrapper_nonce
|
inner_query_string = "&wrapper_nonce=%s" % wrapper_nonce
|
||||||
else:
|
else:
|
||||||
query_string = "?wrapper_nonce=%s" % wrapper_nonce
|
inner_query_string = "?wrapper_nonce=%s" % wrapper_nonce
|
||||||
|
|
||||||
|
|
||||||
if self.isProxyRequest(): # Its a remote proxy request
|
if self.isProxyRequest(): # Its a remote proxy request
|
||||||
if self.env["REMOTE_ADDR"] == "127.0.0.1": # Local client, the server address also should be 127.0.0.1
|
if self.env["REMOTE_ADDR"] == "127.0.0.1": # Local client, the server address also should be 127.0.0.1
|
||||||
|
@ -409,7 +426,7 @@ class UiRequest(object):
|
||||||
title=cgi.escape(title, True),
|
title=cgi.escape(title, True),
|
||||||
body_style=body_style,
|
body_style=body_style,
|
||||||
meta_tags=meta_tags,
|
meta_tags=meta_tags,
|
||||||
query_string=re.escape(query_string),
|
query_string=re.escape(inner_query_string),
|
||||||
wrapper_key=site.settings["wrapper_key"],
|
wrapper_key=site.settings["wrapper_key"],
|
||||||
ajax_key=site.settings["ajax_key"],
|
ajax_key=site.settings["ajax_key"],
|
||||||
wrapper_nonce=wrapper_nonce,
|
wrapper_nonce=wrapper_nonce,
|
||||||
|
|
Loading…
Reference in a new issue