Skip to content

Commit

Permalink
replace SSL checkbox in GUI with command line option
Browse files Browse the repository at this point in the history
  • Loading branch information
ecdsa committed Dec 18, 2017
1 parent 5c6544a commit dc388d4
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 13 deletions.
12 changes: 3 additions & 9 deletions gui/qt/network_dialog.py
Original file line number Diff line number Diff line change
Expand Up @@ -193,8 +193,8 @@ def __init__(self, network, config, wizard=False):
proxy_tab = QWidget()
blockchain_tab = QWidget()
tabs.addTab(blockchain_tab, _('Overview'))
tabs.addTab(proxy_tab, _('Connection'))
tabs.addTab(server_tab, _('Server'))
tabs.addTab(proxy_tab, _('Proxy'))

# server tab
grid = QGridLayout(server_tab)
Expand All @@ -204,13 +204,11 @@ def __init__(self, network, config, wizard=False):
self.server_host.setFixedWidth(200)
self.server_port = QLineEdit()
self.server_port.setFixedWidth(60)
self.ssl_cb = QCheckBox(_('Use SSL'))
self.autoconnect_cb = QCheckBox(_('Select server automatically'))
self.autoconnect_cb.setEnabled(self.config.is_modifiable('auto_connect'))

self.server_host.editingFinished.connect(self.set_server)
self.server_port.editingFinished.connect(self.set_server)
self.ssl_cb.clicked.connect(self.change_protocol)
self.autoconnect_cb.clicked.connect(self.set_server)
self.autoconnect_cb.clicked.connect(self.update)

Expand Down Expand Up @@ -269,8 +267,6 @@ def __init__(self, network, config, wizard=False):
self.tor_cb.hide()
self.tor_cb.clicked.connect(self.use_tor_proxy)

grid.addWidget(self.ssl_cb, 0, 0, 1, 3)
grid.addWidget(HelpButton(_('SSL is used to authenticate and encrypt your connections with Electrum servers.')), 0, 4)
grid.addWidget(self.tor_cb, 1, 0, 1, 3)
grid.addWidget(self.proxy_cb, 2, 0, 1, 3)
grid.addWidget(HelpButton(_('Proxy settings apply to all connections: with Electrum servers, but also with third-party services.')), 2, 4)
Expand Down Expand Up @@ -334,14 +330,13 @@ def enable_set_server(self):
self.server_port.setEnabled(enabled)
self.servers_list.setEnabled(enabled)
else:
for w in [self.autoconnect_cb, self.server_host, self.server_port, self.ssl_cb, self.servers_list]:
for w in [self.autoconnect_cb, self.server_host, self.server_port, self.servers_list]:
w.setEnabled(False)

def update(self):
host, port, protocol, proxy_config, auto_connect = self.network.get_parameters()
self.server_host.setText(host)
self.server_port.setText(port)
self.ssl_cb.setChecked(protocol=='s')
self.autoconnect_cb.setChecked(auto_connect)

host = self.network.interface.host if self.network.interface else _('None')
Expand Down Expand Up @@ -438,7 +433,6 @@ def change_server(self, host, protocol):
port = pp.get(protocol)
self.server_host.setText(host)
self.server_port.setText(port)
self.ssl_cb.setChecked(protocol=='s')

def accept(self):
pass
Expand All @@ -447,7 +441,7 @@ def set_server(self):
host, port, protocol, proxy, auto_connect = self.network.get_parameters()
host = str(self.server_host.text())
port = str(self.server_port.text())
protocol = 's' if self.ssl_cb.isChecked() else 't'
protocol = 't' if self.config.get('nossl') else 's'
auto_connect = self.autoconnect_cb.isChecked()
self.network.set_parameters(host, port, protocol, proxy, auto_connect)

Expand Down
1 change: 1 addition & 0 deletions lib/commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -825,6 +825,7 @@ def add_global_options(parser):
group.add_argument("-P", "--portable", action="store_true", dest="portable", default=False, help="Use local 'electrum_data' directory")
group.add_argument("-w", "--wallet", dest="wallet_path", help="wallet path")
group.add_argument("--testnet", action="store_true", dest="testnet", default=False, help="Use Testnet")
group.add_argument("--nossl", action="store_true", dest="nossl", default=False, help="Disable SSL")

def get_parser():
# create main parser
Expand Down
8 changes: 4 additions & 4 deletions lib/network.py
Original file line number Diff line number Diff line change
Expand Up @@ -170,16 +170,17 @@ def __init__(self, config=None):
self.blockchain_index = config.get('blockchain_index', 0)
if self.blockchain_index not in self.blockchains.keys():
self.blockchain_index = 0
self.protocol = 't' if self.config.get('nossl') else 's'
# Server for addresses and transactions
self.default_server = self.config.get('server')
# Sanitize default server
try:
deserialize_server(self.default_server)
host, port, protocol = deserialize_server(self.default_server)
assert protocol == self.protocol
except:
self.default_server = None
if not self.default_server:
self.default_server = pick_random_server()

self.lock = threading.Lock()
self.pending_sends = []
self.message_id = 0
Expand Down Expand Up @@ -217,8 +218,7 @@ def __init__(self, config=None):
self.auto_connect = self.config.get('auto_connect', True)
self.connecting = set()
self.socket_queue = queue.Queue()
self.start_network(deserialize_server(self.default_server)[2],
deserialize_proxy(self.config.get('proxy')))
self.start_network(self.protocol, deserialize_proxy(self.config.get('proxy')))

def register_callback(self, callback, events):
with self.lock:
Expand Down

0 comments on commit dc388d4

Please sign in to comment.