From: ThomasV Date: Thu, 29 Mar 2012 21:19:36 +0000 (+0400) Subject: password X-Git-Url: https://git.novaco.in/?p=electrum-server.git;a=commitdiff_plain;h=65383ca074c7ee02311df11d57ca42061177558e password --- diff --git a/server.py b/server.py index 6feb636..8b67e49 100755 --- a/server.py +++ b/server.py @@ -96,7 +96,7 @@ if __name__ == '__main__': transports = [] if native_port: transports.append( NativeServer(shared, abe, sb, config.get('server','banner'), host, int(native_port)) ) if stratum_tcp_port: transports.append( TcpServer(dispatcher, host, int(stratum_tcp_port)) ) - if stratum_http_port: transports.append( HttpServer(dispatcher, host, int(stratum_http_port)) ) + if stratum_http_port: transports.append( HttpServer(dispatcher, host, int(stratum_http_port), password) ) for server in transports: server.start() diff --git a/transports/stratum_http.py b/transports/stratum_http.py index a7ef49d..b9fe30c 100644 --- a/transports/stratum_http.py +++ b/transports/stratum_http.py @@ -341,13 +341,14 @@ class HttpSession(Session): self.pending_responses.append(response) class HttpServer(threading.Thread): - def __init__(self, dispatcher, host, port): + def __init__(self, dispatcher, host, port, password): self.shared = dispatcher.shared self.dispatcher = dispatcher.request_dispatcher threading.Thread.__init__(self) self.daemon = True self.host = host self.port = port + self.password = password self.lock = threading.Lock() def run(self): @@ -373,8 +374,13 @@ class HttpServer(threading.Thread): self.dispatcher.process(session, request) def do_stop(self, session, request): - self.shared.stop() - return 'ok' + try: + password = request['params'][0] + except: + password = None + if password == self.password: + self.shared.stop() + return 'ok'