summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/leap/app.py9
-rw-r--r--src/leap/base/auth.py7
-rw-r--r--src/leap/baseapp/eip.py7
-rw-r--r--src/leap/baseapp/mainwindow.py2
-rw-r--r--src/leap/baseapp/network.py1
-rw-r--r--src/leap/eip/eipconnection.py2
-rw-r--r--src/leap/eip/openvpnconnection.py1
-rw-r--r--src/leap/gui/firstrun/connect.py51
-rw-r--r--src/leap/gui/firstrun/last.py27
-rw-r--r--src/leap/gui/firstrun/providersetup.py8
-rwxr-xr-xsrc/leap/gui/firstrun/wizard.py1
11 files changed, 66 insertions, 50 deletions
diff --git a/src/leap/app.py b/src/leap/app.py
index 912e390d..eb38751c 100644
--- a/src/leap/app.py
+++ b/src/leap/app.py
@@ -48,14 +48,6 @@ def main():
console.setFormatter(formatter)
logger.addHandler(console)
- #logger.debug(opts)
- import os
- ldlib = os.environ.get("LD_LIBRARY_PATH", None)
- dyldlib = os.environ.get("DYLD_LIBRARY_PATH", None)
-
- logger.debug("LD_LIBRARY_PATH %s" % ldlib)
- logger.debug("DYLD_LIBRARY_PATH %s" % dyldlib)
-
logger.info('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~')
logger.info('LEAP client version %s', VERSION)
logger.info('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~')
@@ -73,7 +65,6 @@ def main():
# To test:
# $ LANG=es ./app.py
locale = QtCore.QLocale.system().name()
- print locale
qtTranslator = QtCore.QTranslator()
if qtTranslator.load("qt_%s" % locale, ":/translations"):
app.installTranslator(qtTranslator)
diff --git a/src/leap/base/auth.py b/src/leap/base/auth.py
index f629972f..c2d3f424 100644
--- a/src/leap/base/auth.py
+++ b/src/leap/base/auth.py
@@ -44,7 +44,7 @@ class LeapSRPRegister(object):
schema="https",
provider=None,
verify=True,
- register_path="1/users.json",
+ register_path="1/users",
method="POST",
fetcher=requests,
srp=srp,
@@ -113,9 +113,6 @@ class LeapSRPRegister(object):
uri, data=user_data,
timeout=SIGNUP_TIMEOUT,
verify=self.verify)
- logger.debug(req)
- logger.debug('user_data: %s', user_data)
- #logger.debug('response: %s', req.text)
# we catch it in the form
#req.raise_for_status()
return (req.ok, req)
@@ -159,7 +156,7 @@ class SRPAuth(requests.auth.AuthBase):
def get_init_data(self):
try:
init_session = self.session.post(
- self.server + '/1/sessions.json/',
+ self.server + '/1/sessions/',
data=self.get_auth_data(),
verify=self.verify)
except requests.exceptions.ConnectionError:
diff --git a/src/leap/baseapp/eip.py b/src/leap/baseapp/eip.py
index 4c1fb32d..2f215f00 100644
--- a/src/leap/baseapp/eip.py
+++ b/src/leap/baseapp/eip.py
@@ -193,21 +193,24 @@ class EIPConductorAppMixin(object):
# connection information via management interface
log = self.conductor.get_log()
error_matrix = [(EVENT_CONNECT_REFUSED, (self.start_or_stopVPN, ))]
- self.network_checker.checker.parse_log_and_react(log, error_matrix)
+ if hasattr(self.network_checker, 'checker'):
+ self.network_checker.checker.parse_log_and_react(log, error_matrix)
@QtCore.pyqtSlot()
- def start_or_stopVPN(self):
+ def start_or_stopVPN(self, **kwargs):
"""
stub for running child process with vpn
"""
if self.conductor.has_errors():
logger.debug('not starting vpn; conductor has errors')
+ return
if self.eip_service_started is False:
try:
self.conductor.connect()
except eip_exceptions.EIPNoCommandError as exc:
+ logger.error('tried to run openvpn but no command is set')
self.triggerEIPError.emit(exc)
except Exception as err:
diff --git a/src/leap/baseapp/mainwindow.py b/src/leap/baseapp/mainwindow.py
index b1e5bccf..91b0dc61 100644
--- a/src/leap/baseapp/mainwindow.py
+++ b/src/leap/baseapp/mainwindow.py
@@ -186,4 +186,6 @@ class LeapWindow(QtGui.QMainWindow,
called from the end of wizard
"""
self.show_systray_icon()
+ # this will setup the command
+ self.conductor.run_openvpn_checks()
self.start_or_stopVPN()
diff --git a/src/leap/baseapp/network.py b/src/leap/baseapp/network.py
index d5685504..dc5182a4 100644
--- a/src/leap/baseapp/network.py
+++ b/src/leap/baseapp/network.py
@@ -36,6 +36,7 @@ class NetworkCheckerAppMixin(object):
@QtCore.pyqtSlot(object)
def runNetworkChecks(self):
+ logger.debug('running checks (from NetworkChecker Mixin slot)')
self.network_checker.run_checks()
@QtCore.pyqtSlot(object)
diff --git a/src/leap/eip/eipconnection.py b/src/leap/eip/eipconnection.py
index 20b45e36..d012c567 100644
--- a/src/leap/eip/eipconnection.py
+++ b/src/leap/eip/eipconnection.py
@@ -177,7 +177,7 @@ class EIPConnection(OpenVPNConnection, StatusMixIn):
super(EIPConnection, self).__init__(*args, **kwargs)
- def connect(self):
+ def connect(self, **kwargs):
"""
entry point for connection process
"""
diff --git a/src/leap/eip/openvpnconnection.py b/src/leap/eip/openvpnconnection.py
index 05979ff7..4953db11 100644
--- a/src/leap/eip/openvpnconnection.py
+++ b/src/leap/eip/openvpnconnection.py
@@ -280,7 +280,6 @@ to be triggered for each one of them.
# checks
-
def _check_if_running_instance(self):
"""
check if openvpn is already running
diff --git a/src/leap/gui/firstrun/connect.py b/src/leap/gui/firstrun/connect.py
index b7688380..9d89b7ab 100644
--- a/src/leap/gui/firstrun/connect.py
+++ b/src/leap/gui/firstrun/connect.py
@@ -120,9 +120,11 @@ class ConnectionPage(ValidationPage):
called after _do_checks has finished
(connected to checker thread finished signal)
"""
- # this should be called CONNECT PAGE AGAIN.
# here we go! :)
if self.is_done():
+ nextbutton = self.wizard().button(QtGui.QWizard.NextButton)
+ nextbutton.setFocus()
+
full_domain = self.field('provider_domain')
domain, port = get_https_domain_and_port(full_domain)
_domain = u"%s:%s" % (
@@ -138,10 +140,15 @@ class ConnectionPage(ValidationPage):
if conductor:
conductor.set_provider_domain(domain)
- conductor.run_checks()
- self.conductor = conductor
- errors = self.eip_error_check()
- if not errors and start_eip_signal:
+ # we could run some of the checks to be
+ # sure everything is in order, but
+ # I see no point in doing it, we assume
+ # we've gone thru all checks during the wizard.
+ #conductor.run_checks()
+ #self.conductor = conductor
+ #errors = self.eip_error_check()
+ #if not errors and start_eip_signal:
+ if start_eip_signal:
start_eip_signal.emit()
else:
@@ -150,12 +157,6 @@ class ConnectionPage(ValidationPage):
"probably the wizard has been launched "
"in an stand-alone way.")
- # XXX look for a better place to signal
- # we are done.
- # We could probably have a fake validatePage
- # that checks if the domain transfer has been
- # done to conductor object, triggers the start_signal
- # and does the go_next()
self.set_done()
def eip_error_check(self):
@@ -165,9 +166,13 @@ class ConnectionPage(ValidationPage):
consumes the conductor error queue.
pops errors, and add those to the wizard page
"""
- logger.debug('eip error check from connecting page')
- errq = self.conductor.error_queue
- # XXX missing!
+ # TODO handle errors.
+ # We should redirect them to the log viewer
+ # with a brief message.
+ # XXX move to LAST PAGE instead.
+ #logger.debug('eip error check from connecting page')
+ #errq = self.conductor.error_queue
+ pass
def _do_validation(self):
"""
@@ -186,17 +191,25 @@ class ConnectionPage(ValidationPage):
prevpage,
first_error)
self.go_back()
- else:
- logger.debug('should go next, wait for user to click next')
- #self.go_next()
def nextId(self):
wizard = self.wizard()
- #if not wizard:
- #return
return wizard.get_page_index('lastpage')
def initializePage(self):
super(ConnectionPage, self).initializePage()
self.set_undone()
+ cancelbutton = self.wizard().button(QtGui.QWizard.CancelButton)
+ cancelbutton.hide()
self.completeChanged.emit()
+
+ wizard = self.wizard()
+ eip_statuschange_signal = wizard.eip_statuschange_signal
+ if eip_statuschange_signal:
+ eip_statuschange_signal.connect(
+ lambda status: self.send_status(
+ status))
+
+ def send_status(self, status):
+ wizard = self.wizard()
+ wizard.openvpn_status.append(status)
diff --git a/src/leap/gui/firstrun/last.py b/src/leap/gui/firstrun/last.py
index e097b2ae..32d98acc 100644
--- a/src/leap/gui/firstrun/last.py
+++ b/src/leap/gui/firstrun/last.py
@@ -15,7 +15,8 @@ class LastPage(QtGui.QWizardPage):
def __init__(self, parent=None):
super(LastPage, self).__init__(parent)
- self.setTitle(self.tr("Connecting to Encrypted Internet Proxy service..."))
+ self.setTitle(self.tr(
+ "Connecting to Encrypted Internet Proxy service..."))
self.setPixmap(
QtGui.QWizard.LogoPixmap,
@@ -33,6 +34,7 @@ class LastPage(QtGui.QWizardPage):
self.status_line_2 = QtGui.QLabel()
self.status_line_3 = QtGui.QLabel()
self.status_line_4 = QtGui.QLabel()
+ self.status_line_5 = QtGui.QLabel()
layout = QtGui.QVBoxLayout()
layout.addWidget(self.label)
@@ -42,6 +44,7 @@ class LastPage(QtGui.QWizardPage):
layout.addWidget(self.status_line_2)
layout.addWidget(self.status_line_3)
layout.addWidget(self.status_line_4)
+ layout.addWidget(self.status_line_5)
self.setLayout(layout)
@@ -67,7 +70,7 @@ class LastPage(QtGui.QWizardPage):
# signals. See progress.py
logger.debug('logging status in last page')
self.validation_done = False
- status_count = 0
+ status_count = 1
try:
while True:
status = (yield)
@@ -84,11 +87,23 @@ class LastPage(QtGui.QWizardPage):
pass
def initializePage(self):
+ super(LastPage, self).initializePage()
wizard = self.wizard()
- if not wizard:
- return
- eip_status_handler = self.eip_status_handler()
+ handler = self.eip_status_handler()
+
+ # get statuses done in prev page
+ for st in wizard.openvpn_status:
+ self.send_status(handler.send, st)
+
+ # bind signal for events yet to come
eip_statuschange_signal = wizard.eip_statuschange_signal
if eip_statuschange_signal:
eip_statuschange_signal.connect(
- lambda status: eip_status_handler.send(status))
+ lambda status: self.send_status(
+ handler.send, status))
+
+ def send_status(self, cb, status):
+ try:
+ cb(status)
+ except StopIteration:
+ pass
diff --git a/src/leap/gui/firstrun/providersetup.py b/src/leap/gui/firstrun/providersetup.py
index 981e3214..6017e4d3 100644
--- a/src/leap/gui/firstrun/providersetup.py
+++ b/src/leap/gui/firstrun/providersetup.py
@@ -141,18 +141,12 @@ class ProviderSetupValidationPage(ValidationPage):
wizard.set_validation_error(
prevpage,
first_error)
- # XXX don't go back, signal error
- #self.go_back()
- else:
- logger.debug('should be going next, wait on user')
- #self.go_next()
def nextId(self):
wizard = self.wizard()
from_login = wizard.from_login
if from_login:
- # XXX bad name. change to connect again.
- next_ = 'signupvalidation'
+ next_ = 'connect'
else:
next_ = 'signup'
return wizard.get_page_index(next_)
diff --git a/src/leap/gui/firstrun/wizard.py b/src/leap/gui/firstrun/wizard.py
index 427f9df8..f198dca0 100755
--- a/src/leap/gui/firstrun/wizard.py
+++ b/src/leap/gui/firstrun/wizard.py
@@ -136,6 +136,7 @@ class FirstRunWizard(QtGui.QWizard):
self.add_pages_from_dict(pages_dict)
self.validation_errors = {}
+ self.openvpn_status = []
self.setPixmap(
QtGui.QWizard.BannerPixmap,