diff options
author | kali <kali@leap.se> | 2013-02-14 06:10:21 +0900 |
---|---|---|
committer | kali <kali@leap.se> | 2013-02-14 06:10:21 +0900 |
commit | c22061a8e862e9ea0c78fed91e3e8d9ce32cbaf2 (patch) | |
tree | c1efd6a0db14430ecf1996d5f66d638e29177cd7 | |
parent | c18e8bd5bdf61fbd10056c8f6de84856ec81ccad (diff) | |
parent | 2e21c3137b2a771a36ddb1e2e6c5a7a3f6f67b92 (diff) |
Merge branch 'release/v0.2.0' into debian
-rw-r--r-- | docs/checklist_for_leap_client_release.wiki | 9 | ||||
-rw-r--r-- | docs/conf.py | 4 | ||||
-rw-r--r-- | docs/user/install.rst | 45 | ||||
-rw-r--r-- | src/leap/eip/checks.py | 10 | ||||
-rw-r--r-- | src/leap/gui/firstrun/login.py | 23 |
5 files changed, 58 insertions, 33 deletions
diff --git a/docs/checklist_for_leap_client_release.wiki b/docs/checklist_for_leap_client_release.wiki index c61b258c..1340d684 100644 --- a/docs/checklist_for_leap_client_release.wiki +++ b/docs/checklist_for_leap_client_release.wiki @@ -1,18 +1,19 @@ = LEAP CLient Release Checklist (*) = - * [ ] validate rc - * [ ] all rc-critical closed! + * [.] validate rc + * [X] all rc-critical closed! * [ ] all bbots green * [ ] uploaded translations: make translations * [ ] re-generate pyqt resources * [ ] update docs + * [ ] check installation sections * [ ] CREDITS * [ ] relnotes.txt * [ ] docs/known_issues.rst * [ ] NEWS.rst: Add release name and date to top-most item in NEWS. - * [ ] change docs/quickstart.rst to point to just the current + * [ ] change docs/install.rst to point to just the current leap-client-X.Y.Z.deb binaries and .tar.gz source code files * [ ] on release/vX.Y.Z branch: git pull * [ ] git tag X.Y.Z @@ -45,4 +46,4 @@ notes ----- -(*) this checklist kindly borrowed from tahoe-lafs documentation =) +(*) the original version of this handy checklist kindly borrowed from tahoe-lafs documentation =) diff --git a/docs/conf.py b/docs/conf.py index 05c8cf5b..296cb262 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -48,9 +48,9 @@ copyright = u'2012, The LEAP Encryption Access Project' # built documents. # # The short X.Y version. -version = '0.1.0' +version = '0.2.0' # The full version, including alpha/beta/rc tags. -release = '0.1.0' +release = '0.2.0' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/docs/user/install.rst b/docs/user/install.rst index 1f0fd831..a52c1b87 100644 --- a/docs/user/install.rst +++ b/docs/user/install.rst @@ -9,32 +9,51 @@ We assume that you want to get it properly installed before being able to use it Debian package -------------- -.. warning:: +If you are lucky enough to be using a debian system... well, you are lucky enough :) - No updated debian package yet. +To be able to install ``leap-client``, you need to add the leap repo to your software sources. First you add the leap keys to your keyring:: -Once we have a release candidate, probably the easiest way of having the LEAP Client installed will be to install a .deb package under debian or ubuntu systems. + gpg --recv-key 0x1E34A1828E207901 0x485B12FA218E81EB + gpg -a --export 0x1E34A1828E207901 | sudo apt-key add - + +Now you edit :file:`/etc/apt/sources.list` and add the leap repository:: + + deb http://deb.leap.se/debian unstable main + +Get the package ``leap-keyring``, so you can install the packages in a trusted way and get key updates automatically:: + + apt-get update + apt-get install leap-keyring + +And, finally, install the client:: + + apt-get install leap-client Distribute & Pip ---------------- -.. warning:: +Install the dependencies:: + + apt-get install openvpn python-qt4 python-dev python-openssl + + +And then installing the client with `pip <http://www.pip-installer.org/>`_ is as simple as:: - This does not work yet, since we have not released an initial version yet to the cheese shop. + pip install leap-client -Installing LEAP Client will be as simple as using `pip <http://www.pip-installer.org/>`_ once we have a release candidate:: +Show me the code! +----------------- - $ pip install leap-client +You can get the latest tarball :: -Get the code ------------- + wget https://leap.se/downloads/leap-client/tarball/latest -.. warning:: +Or the zipball:: - This... won't work either, as-is. This should be the third optional way to install stable releases from master branch. Right now that does not work because there is *nothing* updated in the master branch. Leaving this here since this is what we will be doing, but if you really intend to have a working tree, refer to the sections :ref:`setting up a working environment <environment>` or :ref:`fetching latest code for testing <fetchinglatest>`. + wget http://leap.se/downloads/leap-client/zipball/latest -You can get the code from LEAP public git repository :: +Or, if you prefer, you can also get the code from LEAP public git repository :: git clone git://leap.se/leap_client @@ -42,6 +61,6 @@ Or from the github mirror :: git clone git://github.com/leapcode/leap_client.git -Once you have grabbed a copy of the sources, you can install it into your site-packages easily :: +Once you have grabbed a copy of the sources for whatever mean, you can install it into your site-packages:: $ pyton setup.py install diff --git a/src/leap/eip/checks.py b/src/leap/eip/checks.py index af824c57..52230db2 100644 --- a/src/leap/eip/checks.py +++ b/src/leap/eip/checks.py @@ -57,14 +57,15 @@ class ProviderCertChecker(object): with provider. """ def __init__(self, fetcher=requests, - domain=None): + domain=None, + apidomain=None): self.fetcher = fetcher self.domain = domain #XXX needs some kind of autoinit #right now we set by hand #by loading and reading provider config - self.apidomain = None + self.apidomain = apidomain self.cacert = eipspecs.provider_ca_path(domain) def run_all( @@ -235,10 +236,9 @@ class ProviderCertChecker(object): except requests.exceptions.SSLError: logger.warning('SSLError while fetching cert. ' 'Look below for stack trace.') - # XXX raise better exception - return self.fail("SSLError") + raise eipexceptions.HttpsBadCertError("SSLError") except Exception as exc: - return self.fail(exc.message) + raise eipexceptions.EIPClientError(exc.message) try: logger.debug('validating cert...') diff --git a/src/leap/gui/firstrun/login.py b/src/leap/gui/firstrun/login.py index 1efceaa9..409cb9bf 100644 --- a/src/leap/gui/firstrun/login.py +++ b/src/leap/gui/firstrun/login.py @@ -1,6 +1,8 @@ """ LogIn Page, used inf First Run Wizard """ +import logging + from PyQt4 import QtCore from PyQt4 import QtGui @@ -13,6 +15,8 @@ from leap.gui import styles from leap.gui.constants import APP_LOGO, APP_WATERMARK, FULL_USERNAME_REGEX +logger = logging.getLogger(__name__) + class LogInPage(InlineValidationPage, UserFormMixIn): # InlineValidationPage @@ -112,7 +116,9 @@ class LogInPage(InlineValidationPage, UserFormMixIn): # InlineValidationPage # page here as a mean to catch # srp authentication errors while wizard = self.wizard() - eipconfigchecker = wizard.eipconfigchecker(domain=domain) + pconfig = wizard.eipconfigchecker(domain=domain) + pconfig.defaultprovider.load() + pconfig.set_api_domain() ######################## # 1) try name resolution @@ -126,7 +132,7 @@ class LogInPage(InlineValidationPage, UserFormMixIn): # InlineValidationPage # two-by-one def resolvedomain(): try: - eipconfigchecker.fetch_definition(domain=domain) + pconfig.fetch_definition(domain=domain) # we're using requests here for all # the possible error cases that it catches. @@ -144,30 +150,29 @@ class LogInPage(InlineValidationPage, UserFormMixIn): # InlineValidationPage yield((self.tr("Resolving domain name"), 20), resolvedomain) wizard.set_providerconfig( - eipconfigchecker.defaultprovider.config) + pconfig.defaultprovider.config) ######################## # 2) do authentication ######################## credentials = username, password pCertChecker = wizard.providercertchecker( - domain=domain) + domain=domain, + apidomain=pconfig.get_api_domain()) def validate_credentials(): - ################# - # FIXME #BUG #638 - verify = False try: pCertChecker.download_new_client_cert( - credentials=credentials, - verify=verify) + credentials=credentials) except auth.SRPAuthenticationError as exc: + logger.debug('srp auth error in validate credentials step') return self.fail( self.tr("Authentication error: %s" % exc.message)) except Exception as exc: + logger.error('unknown error in validate credentials step') return self.fail(exc.message) else: |