From 5518564ef8e054dbf15cd022ca01ccc656c89e5b Mon Sep 17 00:00:00 2001 From: Ivan Alejandro Date: Tue, 6 Oct 2015 11:47:19 -0300 Subject: [bug] store zmq certs in the right path Change KEYS_DIR for a function, so the path does not get defined on import (and most likely) before the flags are defined. Move the flags_dict call before the generate_zmq_certificates call. Otherwise the standalone flag won't be set properly. - Resolves: #7512 --- src/leap/bitmask/backend/utils.py | 33 ++++++++++++++++++++++----------- src/leap/bitmask/backend_app.py | 6 +++--- 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/src/leap/bitmask/backend/utils.py b/src/leap/bitmask/backend/utils.py index 3b5effc5..a5f54cd2 100644 --- a/src/leap/bitmask/backend/utils.py +++ b/src/leap/bitmask/backend/utils.py @@ -36,7 +36,14 @@ from leap.common.check import leap_assert logger = get_logger() -KEYS_DIR = os.path.join(get_path_prefix(), 'leap', 'zmq_certificates') + +def _get_keys_dir(): + """ + Return the path where the ZMQ certificates should be stored. + + :rtype: str + """ + return os.path.join(get_path_prefix(), 'leap', 'zmq_certificates') def _zmq_has_curve(): @@ -79,17 +86,18 @@ def generate_zmq_certificates(): """ leap_assert(flags.ZMQ_HAS_CURVE, "CurveZMQ not supported!") + keys_dir = _get_keys_dir() # Create directory for certificates, remove old content if necessary - if os.path.exists(KEYS_DIR): - shutil.rmtree(KEYS_DIR) - mkdir_p(KEYS_DIR) + if os.path.exists(keys_dir): + shutil.rmtree(keys_dir) + mkdir_p(keys_dir) # set permissions to: 0700 (U:rwx G:--- O:---) - os.chmod(KEYS_DIR, stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR) + os.chmod(keys_dir, stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR) # create new keys in certificates dir # public_file, secret_file = create_certificates(...) - zmq.auth.create_certificates(KEYS_DIR, "frontend") - zmq.auth.create_certificates(KEYS_DIR, "backend") + zmq.auth.create_certificates(keys_dir, "frontend") + zmq.auth.create_certificates(keys_dir, "backend") def get_frontend_certificates(): @@ -98,7 +106,8 @@ def get_frontend_certificates(): """ leap_assert(flags.ZMQ_HAS_CURVE, "CurveZMQ not supported!") - frontend_secret_file = os.path.join(KEYS_DIR, "frontend.key_secret") + keys_dir = _get_keys_dir() + frontend_secret_file = os.path.join(keys_dir, "frontend.key_secret") public, secret = zmq.auth.load_certificate(frontend_secret_file) return public, secret @@ -109,7 +118,8 @@ def get_backend_certificates(base_dir='.'): """ leap_assert(flags.ZMQ_HAS_CURVE, "CurveZMQ not supported!") - backend_secret_file = os.path.join(KEYS_DIR, "backend.key_secret") + keys_dir = _get_keys_dir() + backend_secret_file = os.path.join(keys_dir, "backend.key_secret") public, secret = zmq.auth.load_certificate(backend_secret_file) return public, secret @@ -120,8 +130,9 @@ def _certificates_exist(): :rtype: bool """ - frontend_secret_file = os.path.join(KEYS_DIR, "frontend.key_secret") - backend_secret_file = os.path.join(KEYS_DIR, "backend.key_secret") + keys_dir = _get_keys_dir() + frontend_secret_file = os.path.join(keys_dir, "frontend.key_secret") + backend_secret_file = os.path.join(keys_dir, "backend.key_secret") return os.path.isfile(frontend_secret_file) and \ os.path.isfile(backend_secret_file) diff --git a/src/leap/bitmask/backend_app.py b/src/leap/bitmask/backend_app.py index 1300ed05..1900c08f 100644 --- a/src/leap/bitmask/backend_app.py +++ b/src/leap/bitmask/backend_app.py @@ -72,6 +72,9 @@ def run_backend(bypass_checks=False, flags_dict=None, frontend_pid=None): # identification isn't working 100% logger = get_logger() # noqa + if flags_dict is not None: + dict_to_flags(flags_dict) + # The backend is the one who always creates the certificates. Either if it # is run separately or in a process in the same app as the frontend. if flags.ZMQ_HAS_CURVE: @@ -81,9 +84,6 @@ def run_backend(bypass_checks=False, flags_dict=None, frontend_pid=None): signal.signal(signal.SIGINT, signal.SIG_IGN) signal.signal(signal.SIGTERM, signal_handler) - if flags_dict is not None: - dict_to_flags(flags_dict) - reactor.callWhenRunning(start_events_and_updater, logger) backend = LeapBackend(bypass_checks=bypass_checks, -- cgit v1.2.3 From a1d6d06ec05ad3e2fb8f8b43fb693d2e1b4c75be Mon Sep 17 00:00:00 2001 From: Ivan Alejandro Date: Tue, 6 Oct 2015 12:43:13 -0300 Subject: [bug] store logs in the right place Load flags before creating logger so the logs path considers the standalone flag. Move the log file path definition to the function, otherwise it will calculated during import and (most likely) before defining the flags.STANDALONE value. Create logger inside `run_frontend` right after knowing if we are standalone or not. - Resolves: #7512 --- src/leap/bitmask/backend_app.py | 6 +++--- src/leap/bitmask/frontend_app.py | 9 +++++---- src/leap/bitmask/logs/utils.py | 15 +++++++-------- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/leap/bitmask/backend_app.py b/src/leap/bitmask/backend_app.py index 1900c08f..fb1f4400 100644 --- a/src/leap/bitmask/backend_app.py +++ b/src/leap/bitmask/backend_app.py @@ -67,14 +67,14 @@ def run_backend(bypass_checks=False, flags_dict=None, frontend_pid=None): observer = PythonLoggingObserver() observer.start() + if flags_dict is not None: + dict_to_flags(flags_dict) + # NOTE: this needs to be used here, within the call since this function is # executed in a different process and it seems that the process/thread # identification isn't working 100% logger = get_logger() # noqa - if flags_dict is not None: - dict_to_flags(flags_dict) - # The backend is the one who always creates the certificates. Either if it # is run separately or in a process in the same app as the frontend. if flags.ZMQ_HAS_CURVE: diff --git a/src/leap/bitmask/frontend_app.py b/src/leap/bitmask/frontend_app.py index fed24cfa..60391f50 100644 --- a/src/leap/bitmask/frontend_app.py +++ b/src/leap/bitmask/frontend_app.py @@ -31,10 +31,8 @@ from leap.bitmask.gui.mainwindow import MainWindow from leap.bitmask.logs.utils import get_logger from leap.bitmask.util import dict_to_flags -logger = get_logger() - -def signal_handler(window, pid, signum, frame): +def signal_handler(window, pid, logger, signum, frame): """ Signal handler that quits the running app cleanly. @@ -42,6 +40,8 @@ def signal_handler(window, pid, signum, frame): :type window: MainWindow :param pid: process id of the main process. :type pid: int + :param logger: the logger object to use for logging + :type logger: logbook.Logger :param signum: number of the signal received (e.g. SIGINT -> 2) :type signum: int :param frame: current stack frame @@ -70,6 +70,7 @@ def run_frontend(options, flags_dict, backend_pid=None): :type flags_dict: dict """ dict_to_flags(flags_dict) + logger = get_logger() start_hidden = options["start_hidden"] @@ -120,7 +121,7 @@ def run_frontend(options, flags_dict, backend_pid=None): window = MainWindow(start_hidden=start_hidden, backend_pid=backend_pid) my_pid = os.getpid() - sig_handler = partial(signal_handler, window, my_pid) + sig_handler = partial(signal_handler, window, my_pid, logger) signal.signal(signal.SIGINT, sig_handler) signal.signal(signal.SIGTERM, sig_handler) diff --git a/src/leap/bitmask/logs/utils.py b/src/leap/bitmask/logs/utils.py index e38839c7..f54e86ff 100644 --- a/src/leap/bitmask/logs/utils.py +++ b/src/leap/bitmask/logs/utils.py @@ -37,19 +37,18 @@ from logbook.more import ColorizedStderrHandler from logbook.queues import ZeroMQSubscriber -# NOTE: make sure that the folder exists, the logger is created before saving -# settings on the first run. -_base = os.path.join(get_path_prefix(), "leap") -mkdir_p(_base) -BITMASK_LOG_FILE = os.path.join(_base, 'bitmask.log') - - def get_logger(perform_rollover=False): """ Push to the app stack the needed handlers and return a Logger object. :rtype: logbook.Logger """ + # NOTE: make sure that the folder exists, the logger is created before + # saving settings on the first run. + _base = os.path.join(get_path_prefix(), "leap") + mkdir_p(_base) + bitmask_log_file = os.path.join(_base, 'bitmask.log') + level = logbook.WARNING if flags.DEBUG: level = logbook.NOTSET @@ -65,7 +64,7 @@ def get_logger(perform_rollover=False): zmq_handler.push_application() file_handler = logbook.RotatingFileHandler( - BITMASK_LOG_FILE, format_string=LOG_FORMAT, bubble=True, + bitmask_log_file, format_string=LOG_FORMAT, bubble=True, filter=silencer.filter, max_size=sys.maxint) if perform_rollover: -- cgit v1.2.3 From b8fdfc87c4a5cd0e05f35f660b61e77b1a9559a0 Mon Sep 17 00:00:00 2001 From: Ivan Alejandro Date: Tue, 6 Oct 2015 14:44:39 -0300 Subject: [bug] pass on standalone flag to common - Related: #7512 --- src/leap/bitmask/app.py | 4 ++++ src/leap/bitmask/backend_app.py | 3 +++ 2 files changed, 7 insertions(+) diff --git a/src/leap/bitmask/app.py b/src/leap/bitmask/app.py index c9c02b59..a1b7481a 100644 --- a/src/leap/bitmask/app.py +++ b/src/leap/bitmask/app.py @@ -63,6 +63,8 @@ from leap.bitmask.services.mail import plumber from leap.bitmask.util import leap_argparse, flags_to_dict, here from leap.bitmask.util.requirement_checker import check_requirements +from leap.common.config import flags as common_flags + from leap.mail import __version__ as MAIL_VERSION import codecs @@ -172,6 +174,8 @@ def start_app(): flags.DEBUG = opts.debug + common_flags.STANDALONE = flags.STANDALONE + logger = get_logger(perform_rollover=True) # NOTE: since we are not using this right now, the code that replaces the diff --git a/src/leap/bitmask/backend_app.py b/src/leap/bitmask/backend_app.py index fb1f4400..76276e92 100644 --- a/src/leap/bitmask/backend_app.py +++ b/src/leap/bitmask/backend_app.py @@ -22,6 +22,7 @@ import signal from twisted.internet import reactor +from leap.common.config import flags as common_flags from leap.common.events import server as event_server from leap.bitmask.backend.leapbackend import LeapBackend @@ -70,6 +71,8 @@ def run_backend(bypass_checks=False, flags_dict=None, frontend_pid=None): if flags_dict is not None: dict_to_flags(flags_dict) + common_flags.STANDALONE = flags.STANDALONE + # NOTE: this needs to be used here, within the call since this function is # executed in a different process and it seems that the process/thread # identification isn't working 100% -- cgit v1.2.3 From f3f0909b3a083db7e689f2d78f64911d183cfcb6 Mon Sep 17 00:00:00 2001 From: Ivan Alejandro Date: Wed, 7 Oct 2015 12:08:53 -0300 Subject: [pkg] add changes file for #7512 --- changes/bug-7512_use-right-config-path | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 changes/bug-7512_use-right-config-path diff --git a/changes/bug-7512_use-right-config-path b/changes/bug-7512_use-right-config-path new file mode 100644 index 00000000..ac9d6ea0 --- /dev/null +++ b/changes/bug-7512_use-right-config-path @@ -0,0 +1,3 @@ +- Store zmq certs in the right path. Related #7512. +- Store logs in the right place. Related #7512. +- Pass on standalone flag to common. Related #7512. -- cgit v1.2.3 From c947a34a712d221b31560a637bbfdf5b16eccd0b Mon Sep 17 00:00:00 2001 From: Kali Kaneko Date: Fri, 9 Oct 2015 10:45:35 -0400 Subject: [pkg] add pems to data (for sumo tarball) --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index b10189a2..16e39fb4 100755 --- a/setup.py +++ b/setup.py @@ -500,7 +500,7 @@ setup( 'src', exclude=['ez_setup', 'setup', 'examples', 'tests']), namespace_packages=["leap"], - package_data={'': ['util/*.txt']}, + package_data={'': ['util/*.txt', '*.pem']}, include_package_data=True, # not being used? -- setuptools does not like it. # looks like debhelper is honoring it... -- cgit v1.2.3 From 88650850f95dba88cb4026a37d10285021ffbc4f Mon Sep 17 00:00:00 2001 From: Kali Kaneko Date: Fri, 9 Oct 2015 10:45:55 -0400 Subject: [pkg] make sumo tar non-namespace package --- Makefile | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index cd421d16..1cfeecb4 100644 --- a/Makefile +++ b/Makefile @@ -141,11 +141,15 @@ checkout_leapdeps_develop: checkout_leapdeps_release: pkg/scripts/checkout_leap_versions.sh -sumo_tarball_release: checkout_leapdeps_release +setup_without_namespace: + awk '!/namespace_packages*/' setup.py > file && mv file setup.py + +sumo_tarball_release: checkout_leapdeps_release setup_without_namespace python setup.py sdist --sumo git checkout -- src/leap/__init__.py git checkout -- src/leap/bitmask/_version.py rm -rf src/leap/soledad + git checkout -- setup.py # XXX We need two sets of sumo-tarballs: the one published for a release # (that will pick the pinned leap deps), and the other which will be used @@ -153,11 +157,12 @@ sumo_tarball_release: checkout_leapdeps_release # TODO change naming scheme for sumo-latest: should include date (in case # bitmask is not updated bu the dependencies are) -sumo_tarball_latest: checkout_leapdeps_develop pull_leapdeps +sumo_tarball_latest: checkout_leapdeps_develop pull_leapdeps setup_without_namespace python setup.py sdist --sumo # --latest git checkout -- src/leap/__init__.py git checkout -- src/leap/bitmask/_version.py rm -rf src/leap/soledad + git checkout -- setup.py pyinst: pyinstaller -y pkg/pyinst/bitmask.spec -- cgit v1.2.3 From 16c5957f8c33f1be56082991d27860248a1a66d9 Mon Sep 17 00:00:00 2001 From: Kali Kaneko Date: Fri, 9 Oct 2015 12:01:37 -0400 Subject: [pkg] skip leap-deps in sumo too --- setup.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 16e39fb4..e2f975a2 100755 --- a/setup.py +++ b/setup.py @@ -24,6 +24,7 @@ import hashlib import sys import os import re +import sys if not sys.version_info[0] == 2: print("[ERROR] Sorry, Python 3 is not supported (yet). " @@ -150,7 +151,7 @@ def freeze_pkg_ver(path, version_short, version_full): cmdclass["freeze_debianver"] = freeze_debianver parsed_reqs = utils.parse_requirements() -if utils.is_develop_mode(): +if utils.is_develop_mode() or IS_SUMO: print("") print ("[WARNING] Skipping leap-specific dependencies " "because development mode is detected.") @@ -270,6 +271,12 @@ class cmd_build(versioneer_build): copy_reqs(self.build_lib) +if sys.argv[:1] == '--sumo': + IS_SUMO = True +else: + IS_SUMO = False + + class cmd_sdist(versioneer_sdist): user_options = versioneer_sdist.user_options + \ -- cgit v1.2.3 From 946f737515e0276b03491004c6653bb96966430d Mon Sep 17 00:00:00 2001 From: Kali Kaneko Date: Fri, 16 Oct 2015 12:38:01 -0400 Subject: fix IS_SUMO assignment --- setup.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/setup.py b/setup.py index e2f975a2..c4d3e8e6 100755 --- a/setup.py +++ b/setup.py @@ -148,6 +148,11 @@ def freeze_pkg_ver(path, version_short, version_full): f.write(subst_template) +if sys.argv[:1] == '--sumo': + IS_SUMO = True +else: + IS_SUMO = False + cmdclass["freeze_debianver"] = freeze_debianver parsed_reqs = utils.parse_requirements() @@ -271,11 +276,6 @@ class cmd_build(versioneer_build): copy_reqs(self.build_lib) -if sys.argv[:1] == '--sumo': - IS_SUMO = True -else: - IS_SUMO = False - class cmd_sdist(versioneer_sdist): -- cgit v1.2.3 From 72d7daf0b687f08b82683b069c45609971e088e3 Mon Sep 17 00:00:00 2001 From: Ivan Alejandro Date: Tue, 20 Oct 2015 10:43:00 -0300 Subject: [i18n] update source i18n file --- data/ts/en_US.ts | 374 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 207 insertions(+), 167 deletions(-) diff --git a/data/ts/en_US.ts b/data/ts/en_US.ts index fcbe3554..b6fcc5da 100644 --- a/data/ts/en_US.ts +++ b/data/ts/en_US.ts @@ -68,103 +68,103 @@ - + Open keys file - + Input/Output error - + There was an error accessing the file. Import canceled. - + Data mismatch - + The public and private key should have the same address and fingerprint. Import canceled. - + Missing key - + You need to provide the public AND private key in the same file. Import canceled. - + Address mismatch - + The identity for the key needs to be the same as your user address. Import canceled. - + Import Successful - + The key pair was imported successfully. - + Save keys file - + Export Successful - + The key pair was exported successfully. Please, store your private key in a safe place. - + There was an error accessing the file. Export canceled. - + The provider that you are using does not support {0}. - + To use this, you need to enable/start {0}. - + <span style='color:#0000FF;'>NOTE</span>: - + Are you sure that you want to replace the current key pair with the imported? @@ -193,27 +193,27 @@ Export canceled. EIPPreferencesWindow - + Automatic - + Gateway settings for provider '{0}' saved. - + There was a problem with configuration files. - + (uninitialized) - + This is an uninitialized provider, please log in first. @@ -470,7 +470,7 @@ Export canceled. - + Save As @@ -485,37 +485,37 @@ Export canceled. - + Send to Pastebin.com - + Sending to pastebin... - + Your pastebin link <a href='{0}'>{0}</a> - + Pastebin OK - + Sending logs to Pastebin failed! - + Pastebin Error - + Maximum amount of submissions reached for today. @@ -543,12 +543,12 @@ Export canceled. - + Log In - + Cancel @@ -558,77 +558,77 @@ Export canceled. - + Logout - + Please select a valid provider - + Please provide a valid username - + Please provide a valid password - + Logging in... - + Logging out... - + Waiting... - + Log in cancelled by the user. - + Unable to login: Problem with provider - + Succeeded - + Something went wrong with the logout. - + Unknown error. - + There was a server problem with authentication. - + Could not establish a connection. - + Invalid username or password. @@ -651,125 +651,155 @@ Export canceled. - + There was an unexpected problem with Soledad. - + OFF - + Mail is OFF - + Mail is starting - + ON - + Mail is ON - + Mail is disabled - + Starting... - + Soledad has started... - + Soledad is starting, please wait... - + Found key! Starting mail... - + Finished generating key! - + Starting mail... - + SMTP failed to start, check the logs. - + About to start, please wait... - + Disabled - + {0}: OFF - + You must be logged in to use {0}. - + Generating new key, this may take a few minutes. - + {0} Unread Emails in your Inbox - + 1 Unread Email in your Inbox - + Disconnecting... - + Invalid auth token, try logging in again. - + Initial sync in progress, please wait... + + + Sync: downloading ({0:02}%) + + + + + Sync: download completed. + + + + + Sync: uploading ({0:02}%) + + + + + Sync: upload complete. + + + + + Sync: completed. + + + + + Key not found... + + MainWindow @@ -784,7 +814,7 @@ Export canceled. - + Help @@ -804,33 +834,33 @@ Export canceled. - + The following components will be updated: %s - + Updates available - + Show Main Window - + Starting... - + Not supported - + Disabled @@ -845,27 +875,27 @@ Export canceled. - + Mail is OFF - + The Bitmask app is ready to update, please restart the application. - + About Bitmask - %s - + There was a problem with the provider - + Unable to connect: Problem with provider @@ -885,7 +915,7 @@ Export canceled. - + File @@ -895,137 +925,132 @@ Export canceled. - + OFF - + Bitmask Help - + The current client version is not supported by this provider.<br>Please update to latest version.<br><br>You can get the latest version from <a href='{0}'>{1}</a> - + Update Needed - + This provider is not compatible with the client.<br><br>Error: API version incompatible. - + Incompatible Provider - + Application error - + You are trying to do an operation that requires logging in first. - + Hello! - + Bitmask has started in the tray. - + The server at {0} can't be found, because the DNS lookup failed. DNS is the network service that translates a website's name to its Internet address. Either your computer is having trouble connecting to the network, or you are missing some helper files that are needed to securely use DNS while {1} is active. To install these helper files, quit this application and start it again. - + Connection Error - + Quitting... - + Bitmask is quitting, please wait. - + bitmask.net/help - + Email quick reference - + For Thunderbird, you can use the Bitmask extension. Search for "Bitmask" in the add-on manager or download it from <a href='{0}'>addons.mozilla.org</a>. - - Alternately, you can manually configure your mail client to use Bitmask Email with these options: - - - - + IMAP: localhost, port {0} - + SMTP: localhost, port {0} - + Username: your full email address - + Password: any non-empty text - + <p><strong>{0}</strong></p><p>{1}</p><p>{2}<ul><li>&nbsp;{3}</li><li>&nbsp;{4}</li><li>&nbsp;{5}</li><li>&nbsp;{6}</li></ul></p> - + Stop services - + Do you want to stop all services? - + In order to change the provider, the running services needs to be stopped. - + Disabled: missing helper files @@ -1035,10 +1060,15 @@ Export canceled. - + Version: <b>{ver}</b> ({ver_hash})<br><br>{greet}Bitmask is the Desktop client application for the LEAP platform, supporting encrypted internet proxy.<br><br>LEAP is a non-profit dedicated to giving all internet users access to secure communication. Our focus is on adapting encryption technology to make it easy to use and widely available.<br><br><a href='https://leap.se'>More about LEAP</a> + + + Alternatively, you can manually configure your mail client to use Bitmask Email with these options: + + PasswordChange @@ -1091,17 +1121,17 @@ Export canceled. - + Please wait for data storage to be ready. - + Changing password... - + Password changed successfully. @@ -1111,12 +1141,12 @@ Export canceled. - + There was a problem changing the password. - + You did not enter a correct current password. @@ -1172,7 +1202,7 @@ Export canceled. - + You must be logged in to change your password. @@ -1275,7 +1305,7 @@ Export canceled. - + Check @@ -1295,132 +1325,132 @@ Export canceled. - + Name - + Desc - + <b>Services offered:</b> - + services - + <b>Enrollment policy:</b> - + policy - + <b>URL:</b> - + URL - + <b>Description:</b> - + Provider setup - + Setting up provider - + Register new user - + <b>Password:</b> - + <b>Re-enter password:</b> - + Register - + Remember my username and password - + Service selection - + &Next > - + Connect - + Starting registration... - + User %s successfully registered. - + <font color='red'><b>Non-existent provider</b></font> - + <font color='red'><b>%s</b></font> - + Unable to load provider configuration - + <font color='red'><b>Not a valid provider</b></font> - + Something went wrong while trying to load service %s @@ -1430,7 +1460,7 @@ Export canceled. - + <b>Username:</b> @@ -1450,22 +1480,22 @@ Export canceled. - + Something has gone wrong. Please try again. - + The requested username is taken, choose another. - + Services by {0} - + Register a new user with {0} @@ -1490,30 +1520,40 @@ Export canceled. - + About this provider - + Bitmask is attempting to establish a secure connection with this provider for the first time. - + Fetching provider credentials. - + Do we trust these credentials? - + Connecting to provider. + + + The registration is disabled for this provider. + + + + + The provider has disabled registration + + msg @@ -1538,12 +1578,12 @@ Export canceled. - + Problem installing files - + Some of the files could not be copied. @@ -1553,7 +1593,7 @@ Export canceled. - + Missing helper files @@ -1589,17 +1629,17 @@ Export canceled. self._eip_status - + {0} is restarting - + {0} could not be launched because you did not authenticate properly. - + {0} finished in an unexpected manner! -- cgit v1.2.3 From 55ec02c81f4f0f094081c1f5185f0d68fbbb8cdf Mon Sep 17 00:00:00 2001 From: Ivan Alejandro Date: Tue, 20 Oct 2015 10:47:01 -0300 Subject: [i18n] update spanish strings --- data/translations/es.ts | 1117 +++++++++++++++++++++++++---------------------- 1 file changed, 590 insertions(+), 527 deletions(-) diff --git a/data/translations/es.ts b/data/translations/es.ts index 02f9083a..e68554c1 100644 --- a/data/translations/es.ts +++ b/data/translations/es.ts @@ -4,168 +4,174 @@ Advanced Key Management - + Administración avanzada de claves My key pair - + Mi par de claves User: - + Usuario: user_name@provider - + nombre_de_usuario@proveedor Key ID: - + Identidad de la clave: key ID - + Identidad de la clave Key fingerprint: - + Huella de validación de la clave: fingerprint - + huella de validación Export current key pair - + Exportar par de claves actual Import custom key pair - + Importar par de claves personalizado Stored public keys - + Claves públicas almacenadas Email - + Correo electrónico Key ID - + Identidad de la clave - + Open keys file - + Abrir archivo de claves - + Input/Output error - + Error de Entrada/Salida - + There was an error accessing the file. Import canceled. - + Hubo un error al acceder al archivo. +Se ha cancelado la importación. - + Data mismatch - + Los datos no coinciden - + The public and private key should have the same address and fingerprint. Import canceled. - + Las claves pública y privada deben tener la misma dirección y huella de validación (fingerprint). +Se canceló la importación. - + Missing key - + Clave ausente - + You need to provide the public AND private key in the same file. Import canceled. - + Tiene que aportar la clave pública Y la clave privada en el mismo archivo. +Se canceló la importación. - + Address mismatch - + Las direcciones no coinciden - + The identity for the key needs to be the same as your user address. Import canceled. - + La identidad para la clave tiene que ser la misma que la de su dirección de usuario. +Se ha cancelado la importación. - + Import Successful - + Importación finalizada con éxito - + The key pair was imported successfully. - + El par de claves se ha importado correctamente. - + Save keys file - + Guardar el archivo de claves - + Export Successful - + Exportación finalizada con éxito - + The key pair was exported successfully. Please, store your private key in a safe place. - + El par de claves fue exportado correctamente. +Por favor, guarde su clave privada en un lugar seguro. - + There was an error accessing the file. Export canceled. - + Hubo un error al acceder al archivo. +Se ha cancelado la exportación. - + The provider that you are using does not support {0}. - + El proveedor que está usando no soporta {0}. - + To use this, you need to enable/start {0}. - + Para usar este, necesita habilitar/iniciar {0}. - + <span style='color:#0000FF;'>NOTE</span>: - + <span style='color:#0000FF;'>NOTA</span>: - + Are you sure that you want to replace the current key pair with the imported? - + ¿Está seguro de que quiere reemplazar el par de claves actual con el importado? @@ -173,48 +179,48 @@ Export canceled. Application error - + Error de la aplicación There is a problem contacting the backend, please restart Bitmask. - + Hay un problema al contactar con el motor de la aplicación (backend), por favor reinicie Bitmask. ComplainDialog - + Ok, thanks - + Está bien, gracias EIPPreferencesWindow - + Automatic - + Automático - + Gateway settings for provider '{0}' saved. - + Se guardaron las opciones de pasarela (gateway) para el proveedor '{0}'. - + There was a problem with configuration files. - + Hubo un problema con los ficheros de configuración. - + (uninitialized) - + (no inicializado) - + This is an uninitialized provider, please log in first. - + Este es un proveedor no inicializado, por favor primero inicie sesión. @@ -222,195 +228,195 @@ Export canceled. Form - + Formulario Turn On - + Activar ... - + ... Traffic is being routed in the clear - + El tráfico está siendo enrutado sin cifrar 0.0 KB/s - + 0,0 KB/s Turn Off - + Desactivar Cancel - + Cancelar EIPStatusWidget - + Turn ON - + ACTIVAR - + Authenticating... - + Autentificando... - + Retrieving configuration... - + Obteniendo configuración... - + Waiting to start... - + Esperando para iniciar... - + Assigning IP - + Asignando IP - + Reconnecting... - + Reconectando... - + Unable to start VPN, it's already running. - + No se pudo iniciar la VPN, ya está ejecutándose. - + disabled - + deshabilitado - + {0}: OFF - + {0}: DESACTIVADO - + You must login to use {0} - + Tiene que iniciar sesión para usar {0} - + {0}: Starting... - + {0}: Iniciando... - + {0}: ON - + {0}: ACTIVADO - + Encrypted Internet is starting - + Internet Cifrado está iniciándose - + Retry - + Reintentar - + Traffic is being routed in the clear. - + El tráfico se está enrutando sin cifrar. - + Network is unreachable. - + No se pudo alcanzar la red. - + Error connecting - + Error al conectar - + Error connecting. - + Error al conectar - + Bitmask is blocking unencrypted traffic. - + Bitmask está bloqueando el tráfico no cifrado. - + Routing traffic through: <b>{0}</b> - + Enrutando tráfico a través de: <b>{0}</b> - + Could not load {0} configuration. - + No pudo cargarse la configuración de {0}. - + Another openvpn instance is already running, and could not be stopped. - + Ya está ejecutándose otra instancia openvpn, y no se pudo detener. - + Another openvpn instance is already running, and could not be stopped because it was not launched by Bitmask. Please stop it and try again. - + Ya está ejecutándose otra instancia openvpn, y no pudo ser detenida porque no fue iniciada por Bitmask. Por favor deténgala e inténtelo de nuevo. - + We could not find openvpn binary. - + No pudimos encontrar el binario de openvpn. - + We could not find <b>pkexec</b> in your system. - + No pudimos encontrar <b>pkexec</b> en su sistema. - + {0} cannot be started because the tuntap extension is not installed properly in your system. - + {0} no puede ser iniciado porque la extensión tuntap no está apropiadamente instalada en su sistema. - + Network is unreachable - + No se pudo alcanzar la red - + <font color=red>Disabled: missing helper files</font> - + <font color=red>Deshabilitado: Ficheros de configuración ausentes</font> - + VPN Launcher error. See the logs for more info. - + Error del lanzador de VPN. Vea los registros (logs) para más información. - + Encrypted Internet failed to start - + Fallo al iniciar Internet Cifrado - + We could not find any authentication agent in your system.<br/>Make sure you have <b>polkit-gnome-authentication-agent-1</b> running and try again. - + No pudimos encontrar ningún agente de autentificación en su sistema.<br/>Asegúrese de que <b>polkit-gnome-authentication-agent-1</b> está ejecutándose e inténtelo de nuevo. @@ -418,17 +424,17 @@ Export canceled. Form - + Formulario ... - + ... Logout - + Cerrar sesión @@ -436,22 +442,22 @@ Export canceled. Logs - Logs + Registros (logs) Debug - + Depurar Info - Info + Información Warning - Warning + Advertencia @@ -461,61 +467,61 @@ Export canceled. Critical - Critical + Crítico Save to file - Guardar como + Guardar a archivo - + Save As Guardar como Filter by: - + Filtrar por: Case Insensitive - + Distingue mayúsculas/minúsculas - + Send to Pastebin.com - + Enviar a pastebin.com - + Sending to pastebin... - + Enviando a pastebin... - + Your pastebin link <a href='{0}'>{0}</a> - + Su enlace de pastebin <a href='{0}'>{0}</a> - + Pastebin OK - + Pastebin correcto - + Sending logs to Pastebin failed! - + ¡No se pudieron enviar los registros (logs) a Pastebin! - + Pastebin Error - + Error de Pastebin - - Maximum posts per day reached + + Maximum amount of submissions reached for today. @@ -524,66 +530,111 @@ Export canceled. Form - + Formulario - + Remember username and password - + Recordar nombre de usuario y contraseña - + <b>Username:</b> - + <b>Nombre de usuario:</b> - + <b>Password:</b> - + <b>Contraseña:</b> - + Log In - + Iniciar sesión - + Cancel - + Cancelar - + ... - + ... - + Logout - + Cerrar sesión - + Please select a valid provider - + Por favor seleccione un proveedor válido - + Please provide a valid username - + Por favor introduzca un nombre de usuario válido - + Please provide a valid password - + Por favor introduzca una contraseña válida - + Logging in... - + Iniciando sesión... - + Logging out... + Cerrando sesión... + + + + Waiting... + + + + + Log in cancelled by the user. + + + + + Unable to login: Problem with provider + + + + + Succeeded + + + + + Something went wrong with the logout. + + + + + Unknown error. + + + + + There was a server problem with authentication. + + + + + Could not establish a connection. + + + + + Invalid username or password. @@ -592,136 +643,166 @@ Export canceled. Form - + Formulario You must login to use encrypted email. - + Tiene que iniciar sesión para usar correo electrónico cifrado Email - + Correo electrónico - + There was an unexpected problem with Soledad. - + Hubo un problema inesperado con Soledad. - + OFF - + DESACTIVADO - + Mail is OFF - + El correo está DESACTIVADO - + Mail is starting - + El correo cifrado está iniciándose... - + ON - + ACTIVADO - + Mail is ON - + El correo está ACTIVADO - + Mail is disabled - + El correo cifrado está deshabilitado - + Starting... - + Iniciando... - + Soledad has started... - + Se ha iniciado Soledad... - + Soledad is starting, please wait... - + Iniciando Soledad, por favor espere... - + Found key! Starting mail... - + ¡Se encontró clave! Iniciando correo cifrado... - + Finished generating key! - + ¡Se terminó de generar la clave! - + Starting mail... - + Iniciando correo cifrado... - + SMTP failed to start, check the logs. - + No se pudo iniciar SMTP, compruebe los registros (logs). - + About to start, please wait... - + A punto de comenzar, por favor espere... - + Disabled - + Deshabilitado - + {0}: OFF - + {0}: DESACTIVADO - + You must be logged in to use {0}. - + Tiene que iniciar sesión para usar {0}. - + Generating new key, this may take a few minutes. - + Generando una nueva clave, esto puede llevar algunos minutos. - + {0} Unread Emails in your Inbox - + {0} correos no leídos en su Buzón de Entrada - + 1 Unread Email in your Inbox - + 1 correo no leído en su Buzón de Entrada - + Disconnecting... - + Desconectando... - + Invalid auth token, try logging in again. - + Credencial de autentificación no válida, intentando iniciar sesión de nuevo. - + Initial sync in progress, please wait... + Sincronización inicial en curso, por favor espere... + + + + Sync: downloading ({0:02}%) + + + + + Sync: download completed. + + + + + Sync: uploading ({0:02}%) + + + + + Sync: upload complete. + + + + + Sync: completed. + + + + + Key not found... @@ -730,15 +811,15 @@ Export canceled. There are new updates available, please restart. - + Hay nuevas actualizaciones disponibles, por favor reinicie Bitmask. More... - + Más... - + Help Ayuda @@ -750,7 +831,7 @@ Export canceled. &Help - &Ayuda + A&yuda @@ -758,279 +839,240 @@ Export canceled. &Asistente - + The following components will be updated: %s - + Se actualizarán los siguientes componentes: +%s - + Updates available - + Actualizaciones disponibles - + Show Main Window - + Mostrar ventana principal - + Starting... - + Iniciando... - + Not supported - + No soportado - + Disabled - + Deshabilitado Bitmask - + Bitmask About &Bitmask - + Acerca de &Bitmask - + Mail is OFF - + El correo está DESACTIVADO - + The Bitmask app is ready to update, please restart the application. - + La aplicación Bitmask está lista para actualizarse, por favor reinicie la aplicación. - + About Bitmask - %s - - - - - Unable to login: Problem with provider - - - - - Log in cancelled by the user. - + Acerca de Bitmask - %s - + There was a problem with the provider - + Hubo un problema con el proveedor - - Something went wrong with the logout. - - - - + Unable to connect: Problem with provider - + No se pudo realizar la conexión: Problema con el proveedor &Bitmask - + &Bitmask Show &Log - + Mostrar &registro (log) Create a new account... - + Crear una cuenta nueva... - + File - + Archivo Advanced Key Management - + Administración avanzada de claves - + OFF - - - - - Version: <b>%s</b> (%s)<br><br>%sBitmask is the Desktop client application for the LEAP platform, supporting encrypted internet proxy, secure email, and secure chat (coming soon).<br><br>LEAP is a non-profit dedicated to giving all internet users access to secure communication. Our focus is on adapting encryption technology to make it easy to use and widely available. <br><br><a href='https://leap.se'>More about LEAP</a> - + DESACTIVADO - + Bitmask Help - + Ayuda de Bitmask - + The current client version is not supported by this provider.<br>Please update to latest version.<br><br>You can get the latest version from <a href='{0}'>{1}</a> - + La versión actual del cliente no está soportada por este proveedor. <br> Por favor, actualice a la última versión.<br><br>Puede obtener la última versión de <a href='{0}'>{1}</a> - + Update Needed - + Necesita actualizar - + This provider is not compatible with the client.<br><br>Error: API version incompatible. - + Este proveedor no es compatible con el cliente.<br><br>Error: Versión de la API no compatible. - + Incompatible Provider - + Proveedor no compatible - + Application error - + Error de la aplicación - + You are trying to do an operation that requires logging in first. - - - - - Unknown error. - - - - - There was a server problem with authentication. - - - - - Could not establish a connection. - - - - - Invalid username or password. - + Está intentando hacer una operación que requiere iniciar sesión primero. - + Hello! - + ¡Hola! - + Bitmask has started in the tray. - - - - - Succeeded - + Bitmask se ha iniciado en la bandeja del sistema. - + The server at {0} can't be found, because the DNS lookup failed. DNS is the network service that translates a website's name to its Internet address. Either your computer is having trouble connecting to the network, or you are missing some helper files that are needed to securely use DNS while {1} is active. To install these helper files, quit this application and start it again. - + El servidor en {0} no pudo encontrarse porque falló la resolución de DNS. DNS es el servicio de red que traduce un nombre de sitio web (dominio) a su dirección real de Internet (IP). O bien su computadora está teniendo problemas al conectar a la red, o bien le faltan algunos ficheros del asistente necesarios para utilizar DNS de forma segura mientras {1} está activo. Para instalar estos ficheros de ayuda, cierre esta aplicación e iníciela de nuevo. - + Connection Error - + Error de conexión - + Quitting... - + Cerrando... - + Bitmask is quitting, please wait. - + Bitmask está cerrándose, por favor espere. - + bitmask.net/help - + bitmask.net/help - + Email quick reference - + Referencia rápida de correo electrónico - + For Thunderbird, you can use the Bitmask extension. Search for "Bitmask" in the add-on manager or download it from <a href='{0}'>addons.mozilla.org</a>. - + Para Thunderbird, puede usar la extensión Bitmask. Busque "Bitmask" en el administrador de complementos o descárguelo desde <a href='{0}'>addons.mozilla.org</a>. - - Alternately, you can manually configure your mail client to use Bitmask Email with these options: - - - - + IMAP: localhost, port {0} - + IMAP: localhost, puerto {0} - + SMTP: localhost, port {0} - + SMTP: localhost, puerto {0} - + Username: your full email address - + Nombre de usuario: Su dirección completa de correo electrónico - + Password: any non-empty text - + Contraseña: Cualquier texto no-vacío - + <p><strong>{0}</strong></p><p>{1}</p><p>{2}<ul><li>&nbsp;{3}</li><li>&nbsp;{4}</li><li>&nbsp;{5}</li><li>&nbsp;{6}</li></ul></p> - + <p><strong>{0}</strong></p><p>{1}</p><p>{2}<ul><li>&nbsp;{3}</li><li>&nbsp;{4}</li><li>&nbsp;{5}</li><li>&nbsp;{6}</li></ul></p> - + Stop services - + Detener servicios - + Do you want to stop all services? - + ¿Quiere detener todos los servicios? - + In order to change the provider, the running services needs to be stopped. - + Para cambiar el proveedor, los servicios en marcha tienen que ser detenidos. - + Disabled: missing helper files - + Deshabilitado: Ficheros de asistente ausentes Pr&eferences... + Pr&eferencias... + + + + Version: <b>{ver}</b> ({ver_hash})<br><br>{greet}Bitmask is the Desktop client application for the LEAP platform, supporting encrypted internet proxy.<br><br>LEAP is a non-profit dedicated to giving all internet users access to secure communication. Our focus is on adapting encryption technology to make it easy to use and widely available.<br><br><a href='https://leap.se'>More about LEAP</a> + + + + + Alternatively, you can manually configure your mail client to use Bitmask Email with these options: @@ -1039,42 +1081,42 @@ Export canceled. Change Password - + Cambiar contraseña Username: - + Nombre de usuario: New password: - + Nueva contraseña: Re-enter new password: - + Re-introduzca la nueva contraseña: Current password: - + Contraseña actual: <flash_label> - + <flash_label> Close - + Cerrar OK - + Aceptar @@ -1082,37 +1124,37 @@ Export canceled. Please log in to change your password. - + Por favor inicie sesión para cambiar su contraseña. - + Please wait for data storage to be ready. - + Por favor espere para que el almacenamiento de datos esté preparado. - + Changing password... - + Cambiando contraseña... - + Password changed successfully. - + Contraseña cambiada con éxito. - + Password is empty. - + La contraseña está vacía. - + There was a problem changing the password. - + Hubo un problema al cambiar la contraseña. - + You did not enter a correct current password. - + No introdujo la contraseña correcta. @@ -1120,17 +1162,17 @@ Export canceled. Preferences - + Preferencias user@example.org - + usuario@ejemplo.org Close - + Cerrar @@ -1138,37 +1180,37 @@ Export canceled. Form - + Formulario Services - + Servicios <provider_services_label> - + <provider_services_label> Password - + Contraseña Change Password - + Cambiar contraseña <change_password_label> - + <change_password_label> - + You must be logged in to change your password. - + Tiene que haber iniciado sesión para cambiar su contraseña. @@ -1176,7 +1218,7 @@ Export canceled. Form - + Formulario @@ -1184,37 +1226,37 @@ Export canceled. Form - + Formulario <flash_label> - + <flash_label> Default VPN Gateway: - + Pasarela (gateway) VPN predeterminada: You must reconnect for changes to take effect. - + Tiene que reconectar para que los cambios surtan efecto. Automatic - + Automático - + Error loading configuration file. - + Error al cargar fichero de configuración. - + This is an uninitialized provider, please log in first. - + Este es un proveedor no inicializado, por favor inicie sesión primero. @@ -1222,30 +1264,31 @@ Export canceled. Account - + Cuenta VPN - + VPN Email - + Correo electrónico ProviderBootstrapper - + Provider certificate could not be verified - + +No se pudo verificar el certificado del proveedor - + Provider does not support HTTPS - + El proveedor no soporta HTTPS @@ -1253,7 +1296,7 @@ Export canceled. Other... - + Otro... @@ -1261,17 +1304,17 @@ Export canceled. Log In with my credentials - Acceder con mis credenciales + Iniciar sesión con mis credenciales Sign up for a new account - Crear una nueva cuenta + Registrarse en una nueva cuenta - + Check - Corroborar + Comprobar @@ -1281,311 +1324,331 @@ Export canceled. Checking for a valid provider - + Comprobando que es un proveedor válido Can we reach this provider? - + ¿Podemos contactar con este proveedor? - + Name Nombre - + Desc - Desc + Descripción - + <b>Services offered:</b> - + <b>Servicios ofrecidos:</b> - + services - + servicios - + <b>Enrollment policy:</b> - <b>Política de ingreso:</b> + <b>Política de nuevos registros:</b> - + policy política - + <b>URL:</b> - + <b>URL:</b> - + URL URL - + <b>Description:</b> - + <b>Descripción:</b> - + Provider setup - Configuración de proveedor + Configuración del proveedor - + Setting up provider - + Configurando proveedor - + Register new user - Registrar un nuevo usuario + Registrar nuevo usuario - + <b>Password:</b> <b>Contraseña:</b> - + <b>Re-enter password:</b> - <b>Re-introduzca contraseña:</b> + <b>Vuelva a introducir la contraseña:</b> - + Register - Registrar + Regístrese - + Remember my username and password - + Recordar mi nombre de usuario y contraseña - + Service selection - + Selección de servicio - + &Next > - + &Siguiente > - + Connect - + Conectar - + Starting registration... - Comenzando el registro... + Iniciando procedimiento de registro... - + User %s successfully registered. - + El usuario %s se registró con éxito. - + <font color='red'><b>Non-existent provider</b></font> - + <font color='red'><b>No existe este proveedor</b></font> - + <font color='red'><b>%s</b></font> - + <font color='red'><b>%s</b></font> - + Unable to load provider configuration - No fue posible carga la configuración del proveedor + No se pudo cargar la configuración del proveedor - + <font color='red'><b>Not a valid provider</b></font> - + <font color='red'><b>No es un proveedor válido</b></font> - + Something went wrong while trying to load service %s - + Hubo algún fallo mientras se intentaba cargar el servicio %s Can we establish a secure connection? - + ¿Podemos establecer una conexión segura? - + <b>Username:</b> - + <b>Nombre de usuario:</b> Configure or select a provider - + Configurar o seleccionar un proveedor Configure new provider: - + Configurar nuevo proveedor: Use existing one: - + Usar un proveedor existente: - + Something has gone wrong. Please try again. - + Hubo algún fallo. Por favor, inténtelo de nuevo. - + The requested username is taken, choose another. - + El nombre de usuario solicitado no está disponible, elija otro. Services by {0} - + Servicios por {0} - + Register a new user with {0} - + Registrar un nuevo usuario con {0} Bitmask Provider Setup - + Configuración de proveedor de Bitmask Welcome to Bitmask - + Bienvenido a Bitmask Choose a provider - + Elija un proveedor Getting provider information. - + Obteniendo información del proveedor. - + About this provider - + Acerca de este proveedor - + Bitmask is attempting to establish a secure connection with this provider for the first time. - + Bitmask está intentando establecer una conexión segura con este proveedor por primera vez. - + Fetching provider credentials. - + Descargando credenciales del proveedor. - + Do we trust these credentials? - + ¿Confiamos en estas credenciales? - + Connecting to provider. + Conectando con el proveedor. + + + + The registration is disabled for this provider. + + + + + The provider has disabled registration msg - + TAP Driver - + Driver TAP - + Encrypted Internet uses VPN, which needs a TAP device installed and none has been found. This will ask for administrative privileges. - + Internet Cifrado usa VPN, que necesita un dispositivo TAP (tipo de interfaz virtual de red) previamente instalado, y no hemos detectado ninguno. Esto hara que se pidan privilegios de administrador. - + TUN Driver - + Driver TUN - + Encrypted Internet uses VPN, which needs a kernel extension for a TUN device installed, and none has been found. This will ask for administrative privileges. - + Internet Cifrado usa VPN, que necesita tener instalada una extensión del kernel para un dispositivo TUN (tipo de interfaz virtual de red), y no se ha detectado ninguna. Esto hará que se soliciten privilegios de administrador. - + Problem installing files - Hubo un problema instalando los archivos + Hubo un problema al instalar los ficheros - + Some of the files could not be copied. - Algunos de los archivos no pudieron ser copiados + Algunos de los ficheros no se han podido copiar. - + Bitmask needs to install the necessary drivers for Encrypted Internet to work. Would you like to proceed? - + Bitmask necesita instalar los drivers necesarios para el funcionamiento de Internet Cifrado. ¿Quiere continuar? - + Missing helper files - + Ficheros del asistente ausentes - + Missing Bitmask helpers + Asistentes de Bitmask ausentes + + + + No polkit agent running + + + + + There is no polkit agent running and it is needed to run the Bitmask services.<br>Take a look at the <a href="https://leap.se/en/docs/client/known-issues">known issues</a> page msgstr - + Some essential helper files are missing in your system. - + Algunos ficheros esenciales del asistente están ausentes de su sistema - + Reinstall your debian packages, or make sure you place them by hand. - + Reinstale sus paquetes de debian, o asegúrese de colocarlos en su sitio a mano. self._eip_status - + {0} is restarting - + {0} está reiniciándose - + {0} could not be launched because you did not authenticate properly. - + {0} no pudo iniciarse porque usted no está autentificado adecuadamente - + {0} finished in an unexpected manner! - + ¡{0} se cerró de manera inesperada! \ No newline at end of file -- cgit v1.2.3 From 789408dd104b86ac8126758bbc5bdc34cfe7c1ff Mon Sep 17 00:00:00 2001 From: Ivan Alejandro Date: Tue, 20 Oct 2015 18:06:47 -0300 Subject: [i18n] update spanish resource file --- data/translations/es.qm | Bin 2417 -> 40898 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/data/translations/es.qm b/data/translations/es.qm index 596af5b3..666ad07f 100644 Binary files a/data/translations/es.qm and b/data/translations/es.qm differ -- cgit v1.2.3 From a095235840ce112a6e50562fa7fd04515a4882bd Mon Sep 17 00:00:00 2001 From: Ivan Alejandro Date: Fri, 23 Oct 2015 13:13:26 -0300 Subject: [i18n] add an extra env variable to change lang In some cases setting just `LANG` doesn't change the language, in those cases, setting `LC_ALL` does the trick. --- docs/dev/internationalization.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/dev/internationalization.rst b/docs/dev/internationalization.rst index c0f208de..c8434b36 100644 --- a/docs/dev/internationalization.rst +++ b/docs/dev/internationalization.rst @@ -105,6 +105,11 @@ If you want to try it, just set your LANG environment variable:: $ LANG=es_ES bitmask +Or, sometimes you'll need:: + + $ LC_ALL=es LANG=es bitmask + + Translating the Documentation ------------------------------ -- cgit v1.2.3 From 5dc792ace146dcd1f703e97d2de972946e580f54 Mon Sep 17 00:00:00 2001 From: Ivan Alejandro Date: Tue, 27 Oct 2015 11:57:25 -0300 Subject: [pkg] remove old relnotes file We now use the more nice looking release-notes.rst - Annoucement text goes on the website - License is already in a file and on the readme - Instructions to install/test/hack have their own page on docs --- relnotes.txt | 57 --------------------------------------------------------- 1 file changed, 57 deletions(-) delete mode 100644 relnotes.txt diff --git a/relnotes.txt b/relnotes.txt deleted file mode 100644 index 2b698771..00000000 --- a/relnotes.txt +++ /dev/null @@ -1,57 +0,0 @@ -ANNOUNCING Bitmask 0.9.0rc4 release candidate - -The LEAP team is pleased to announce the immediate availability of Bitmask -0.9.0rc4. - -This is the fourth public *release candidate* of the Bitmask client that -supports our user friendly end to end encrypted mail service. Our work has -focused on speed and scale optimization by adapting the underlying components -(leap.keymanager and leap.mail) to use the new async API of Soledad. This -reduces code complexity by making use of the reactor pattern and by having -blocking code (i.e. general i/o) be executed asynchronously. We have revamped -how bitmask frontend and backend communicates (this improves performance and -prevent bugs), improved log handling for better bug reports, and much more (see -the changelog file for a more detailed list). - -This is a release candidate aimed at getting more user feedback to influence -our next round of development. We have a list of known issues that we are -cranking through and will add more to the list as they come in. - -* Changelog: https://github.com/leapcode/bitmask_client/blob/0.9.0rc4/CHANGELOG.rst - -TESTING - -* Setup Instructions: https://bitmask.net/help - -* Fresh install: https://dl.bitmask.net/client/linux/release-candidate/ - -* Upgrading from bundle: if you are running bundle version 0.7 or new then - Bitmask should update automatically. - -* Upgrading from package: if you have added deb.bitmask.net to your - sources.list, then Bitmask should update automatically (make sure it is not - commented out). - -Note: If you have a bundle version older than 0.7, please reinstall Bitmask. - -How to test: https://github.com/leapcode/bitmask_client/blob/develop/docs/testing-rcs.README - -LICENSE - -You may use Bitmask under the GNU General Public License, version 3 or, at your -option, any later version. See the file "LICENSE" for the terms of the GNU -General Public License, version 3. - -HACKING - -See https://leap.se/en/docs/get-involved for tips on contacting the developers, -getting start hacking on Bitmask, and reporting bugs. - -If you are lucky enough, you can also spot us drinking mate, sleepless in night -trains, rooftops, rainforests, lonely islands and, always, beyond any border. - -The LEAP team, - -October 5, 2015 -Somewhere in the middle of the intertubes. -EOF -- cgit v1.2.3 From bd1a4037236c5f8591afdebaf8cef704f3600cc0 Mon Sep 17 00:00:00 2001 From: Ivan Alejandro Date: Wed, 28 Oct 2015 11:54:25 -0300 Subject: [pkg] merge RCs changes and fold in files --- CHANGELOG.rst | 91 ++++++++++++---------------------- changes/bug-7512_use-right-config-path | 3 -- 2 files changed, 32 insertions(+), 62 deletions(-) delete mode 100644 changes/bug-7512_use-right-config-path diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 421389e2..2d56cc6d 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -3,68 +3,13 @@ Changelog --------- -0.9.0rc4 October 05 -+++++++++++++++++++ +0.9.0 October 28 +++++++++++++++++ Features ~~~~~~~~ -- `#7471 `_: Disable email firewall if we are running inside a docker container. - -Bugfixes -~~~~~~~~ -- `#7451 `_: Assign the timeout 'call later' before starting the sync to prevent race conditions. -- `#7503 `_: Handle soledad init fail after several retries. -- Remove bubble argument from the logbook NullHandler - - -0.9.0rc3 September 22 -+++++++++++++++++++++ -Features -~~~~~~~~ - `#4284 `_: Download specific smtp certificate from provider, instead of using the vpn one. -- `#7414 `_: Remove taskthread dependency, replace with custom (and small) code. -- `#7419 `_: Load credentials from environment variables and trigger login. - - -Bugfixes -~~~~~~~~ -- `#7415 `_: Fix wrong argument number on window raise event. -- `#7448 `_: Fix hangs during logout. -- `#7453 `_: After a complete sync show the user the amount of unread emails. -- `#7470 `_: Fix bug with password change. -- `#7474 `_: Track soledad ready state on a shared place for easy access. Enable password change window. -- Authenticate properly logout calls to API. - - -0.9.0rc2 August 27 -++++++++++++++++++ - -Features -~~~~~~~~ -- `#7250 `_: Enable '--danger' for stable versions. -- `#7291 `_: Move the updater code from the launcher to the client. -- `#7342 `_: Added apply_updates.py script for the pyinstaller bundle. -- `#7353 `_: Add notifications of soledad sync progress to UI. -- `#7356 `_: Allow to disable EIP component on build. - -Bugfixes -~~~~~~~~ -- `#6594 `_: Handle disabled registration on provider. -- `#7149 `_: Start the events server when reactor is running. -- `#7273 `_: Logbook subscriber stop fails if not started. -- `#7273 `_: ZMQError: address already in use - logbook subscriber already started. -- `#7281 `_: Support a provider not providing location for the eip gateways. -- `#7319 `_: Raise the maxfiles limit in OSX -- `#7343 `_: Clean up and fix the tests. - - - -0.9.0rc1 July 10 -++++++++++++++++ - -Features -~~~~~~~~ - `#5526 `_: Make "check" button selected by default. - `#6359 `_: Adapt bitmask to the new events api on leap.common. - `#6360 `_: Use txzmq in backend. @@ -81,23 +26,51 @@ Features - `#7162 `_: Log LSB-release info if available. - `#7180 `_: Add log rotation for bitmask.log. - `#7184 `_: Forward twisted logs to logging and handle logging logs with logbook. +- `#7250 `_: Enable '--danger' for stable versions. +- `#7291 `_: Move the updater code from the launcher to the client. +- `#7342 `_: Added apply_updates.py script for the pyinstaller bundle. +- `#7353 `_: Add notifications of soledad sync progress to UI. +- `#7356 `_: Allow to disable EIP component on build. +- `#7414 `_: Remove taskthread dependency, replace with custom (and small) code. +- `#7419 `_: Load credentials from environment variables and trigger login. +- `#7471 `_: Disable email firewall if we are running inside a docker container. - Add support to the new async-api of soledad Bugfixes ~~~~~~~~ + - `#6418 `_: Cannot change preseeded providers if checks for one fail. - `#6424 `_: Do not disable autostart if the quit is triggered by a system logout. +- `#6536 `_, `#6568 `_, `#6691 `_: Refactor soledad sync to do it the twisted way. - `#6541 `_: Client must honor the ports specified in eip-service.json. +- `#6594 `_: Handle disabled registration on provider. - `#6654 `_: Regression fix, login attempt is made against previously selected provider. - `#6682 `_: Handle user cancel keyring open operation, this prevents a bitmask freeze. - `#6894 `_: Change 'ip' command location to support Fedora/RHEL distros. - `#7093 `_: Fix controller attribute error. - `#7126 `_: Don't run the event server on the backend for the standalone bundle since the launcher takes care of that. +- `#7149 `_: Start the events server when reactor is running. - `#7185 `_: Log contains exported PGP Private Key. - `#7222 `_: Run the zmq log subscriber in the background to avoid hitting the zmq's buffer limits. -- `#6536 `_, `#6568 `_, `#6691 `_: Refactor soledad sync to do it the twisted way. -- Fix the bootstrap script for developers so it works on Fedora/RHEL systems where there is /usr/lib64 for python libs. +- `#7273 `_: Logbook subscriber stop fails if not started. +- `#7273 `_: ZMQError: address already in use - logbook subscriber already started. +- `#7281 `_: Support a provider not providing location for the eip gateways. +- `#7319 `_: Raise the maxfiles limit in OSX +- `#7343 `_: Clean up and fix the tests. +- `#7415 `_: Fix wrong argument number on window raise event. +- `#7448 `_: Fix hangs during logout. +- `#7451 `_: Assign the timeout 'call later' before starting the sync to prevent race conditions. +- `#7453 `_: After a complete sync show the user the amount of unread emails. +- `#7470 `_: Fix bug with password change. +- `#7474 `_: Track soledad ready state on a shared place for easy access. Enable password change window. +- `#7503 `_: Handle soledad init fail after several retries. +- `#7512 `_: Pass on standalone flag to common. +- `#7512 `_: Store logs in the right place. +- `#7512 `_: Store zmq certs in the right path. +- Authenticate properly logout calls to API. - Fix soledad bootstrap sync retries. +- Fix the bootstrap script for developers so it works on Fedora/RHEL systems where there is /usr/lib64 for python libs. +- Remove bubble argument from the logbook NullHandler 0.8.1 February 25 diff --git a/changes/bug-7512_use-right-config-path b/changes/bug-7512_use-right-config-path deleted file mode 100644 index ac9d6ea0..00000000 --- a/changes/bug-7512_use-right-config-path +++ /dev/null @@ -1,3 +0,0 @@ -- Store zmq certs in the right path. Related #7512. -- Store logs in the right place. Related #7512. -- Pass on standalone flag to common. Related #7512. -- cgit v1.2.3 From 8d40bf143ae270e901d335308829113fcb01a30e Mon Sep 17 00:00:00 2001 From: Ivan Alejandro Date: Thu, 8 Oct 2015 16:21:18 -0300 Subject: [pkg] add joint changelog and announcement text --- release-notes.rst | 323 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 323 insertions(+) create mode 100644 release-notes.rst diff --git a/release-notes.rst b/release-notes.rst new file mode 100644 index 00000000..af0e9109 --- /dev/null +++ b/release-notes.rst @@ -0,0 +1,323 @@ +0.9.0 October 28 +++++++++++++++++ + +We are very pleased to announce Bitmask stable 0.9.0 :tada:. + +It's been 9 months since we released our latest stable version, we have been +working a lot and trying out several release candidates in the way. + +Using the latest Bitmask you'll be able to use our encrypted email service, now +in beta state! + +NOTE: beta means that we expect not to break but we don't promise you won't get +any headache or lose some email, so please be careful. + +Currently we have a test provider for mail usage hosted on +https://mail.bitmask.net this provider is already bundled with Bitmask for easy +access on the wizard. + +---- + +Some numbers on what we have been doing all this time: + +- we have closed **472** issues, +- we have closed **379** pull requests, +- adding up all the components changes we got **830** new commits + +---- + +Here you have a list of the most notable changes since our latest stable +release. + +Index of changes: + +* `Bitmask Client`_ (0.8.1 → 0.9.0) +* `Soledad`_ (0.6.3 → 0.7.4) +* `Keymanager`_ (0.3.8 → 0.4.3) +* `Common`_ (0.3.10 → 0.4.4) +* `Mail`_ (0.3.11 → 0.4.0) + +Bitmask Client +============== + +Features +~~~~~~~~ +- `#4284 `_: Download specific smtp certificate from provider, instead of using the vpn one. +- `#5526 `_: Make "check" button selected by default. +- `#6359 `_: Adapt bitmask to the new events api on leap.common. +- `#6360 `_: Use txzmq in backend. +- `#6368 `_: Add support to the new async-api of keymanager. +- `#6683 `_: Add ability to generate sumo tarball. +- `#6713 `_: Add support for xfce-polkit agent. +- `#6876 `_: Update api port for pinned riseup. +- `#7139 `_: Use logbook zmq handler to centralize logging. +- `#7140 `_: Implement a thread-safe zmq handler for logbook. +- `#7141 `_: Add log handler to display colored logs on the terminal. +- `#7142 `_: Add log handler to store logs on bitmask.log. +- `#7143 `_: Adapt existing log filter/silencer to the new logbook handler. +- `#7144 `_: Replace logging handler with logbook handler bitmask-wide. +- `#7162 `_: Log LSB-release info if available. +- `#7180 `_: Add log rotation for bitmask.log. +- `#7184 `_: Forward twisted logs to logging and handle logging logs with logbook. +- `#7250 `_: Enable ``--danger`` for stable versions. +- `#7291 `_: Move the updater code from the launcher to the client. +- `#7342 `_: Added ``apply_updates.py`` script for the pyinstaller bundle. +- `#7353 `_: Add notifications of soledad sync progress to UI. +- `#7356 `_: Allow to disable EIP component on build. +- `#7414 `_: Remove taskthread dependency, replace with custom (and small) code. +- `#7419 `_: Load credentials from environment variables and trigger login. +- `#7471 `_: Disable email firewall if we are running inside a docker container. +- Add support to the new async-api of soledad + +Bugfixes +~~~~~~~~ +- `#6418 `_: Cannot change preseeded providers if checks for one fail. +- `#6424 `_: Do not disable autostart if the quit is triggered by a system logout. +- `#6536 `_, `#6568 `_, `#6691 `_: Refactor soledad sync to do it the twisted way. +- `#6541 `_: Client must honor the ports specified in ``eip-service.json``. +- `#6594 `_: Handle disabled registration on provider. +- `#6654 `_: Regression fix, login attempt is made against previously selected provider. +- `#6682 `_: Handle user cancel keyring open operation, this prevents a bitmask freeze. +- `#6894 `_: Change ``ip`` command location to support Fedora/RHEL distros. +- `#7093 `_: Fix controller attribute error. +- `#7126 `_: Don't run the event server on the backend for the standalone bundle since the launcher takes care of that. +- `#7149 `_: Start the events server when reactor is running. +- `#7185 `_: Log contains exported PGP Private Key. +- `#7222 `_: Run the zmq log subscriber in the background to avoid hitting the zmq's buffer limits. +- `#7273 `_: Logbook subscriber stop fails if not started. +- `#7273 `_: ZMQError: address already in use - logbook subscriber already started. +- `#7281 `_: Support a provider not providing location for the eip gateways. +- `#7319 `_: Raise the maxfiles limit in OSX +- `#7343 `_: Clean up and fix the tests. +- `#7415 `_: Fix wrong argument number on window raise event. +- `#7448 `_: Fix hangs during logout. +- `#7451 `_: Assign the timeout 'call later' before starting the sync to prevent race conditions. +- `#7453 `_: After a complete sync show the user the amount of unread emails. +- `#7470 `_: Fix bug with password change. +- `#7474 `_: Track soledad ready state on a shared place for easy access. Enable password change window. +- `#7503 `_: Handle soledad init fail after several retries. +- `#7512 `_: Pass on standalone flag to common. +- `#7512 `_: Store logs in the right place. +- `#7512 `_: Store zmq certs in the right path. +- Authenticate properly logout calls to API. +- Fix soledad bootstrap sync retries. +- Fix the bootstrap script for developers so it works on Fedora/RHEL systems where there is ``/usr/lib64`` for python libs. +- Remove bubble argument from the logbook NullHandler + +---- + +Soledad +======= + +soledad.client +~~~~~~~~~~~~~~ + +Features +-------- +- `#7353 `_: Improve how we send information on ``SOLEDAD_SYNC_SEND_STATUS`` and in ``SOLEDAD_SYNC_RECEIVE_STATUS``. +- `#5895 `_: Store all incoming documents in the sync db. +- `#6359 `_: Adapt soledad to the new events api on leap.common. +- `#6400 `_: Include the IV in the encrypted document MAC. +- `#6996 `_: Expose post-sync hooks via plugin system. +- Add a pool of HTTP/HTTPS connections that is able to verify the server certificate against a given CA certificate. +- Use twisted.enterprise.adbapi for access to the sync database. +- Use twisted.web.client for client sync. + +Bugfixes +-------- + +- `#5855 `_: Reset syncer connection when getting HTTP error during sync. +- `#5975 `_: Wait for last post request to finish before starting a new one. +- `#6437 `_: Use TLS v1 in soledad client. +- `#6625 `_: Retry on sqlcipher thread timeouts. +- `#6757 `_: Fix the order of insertion of documents when using workers for decrypting incoming documents during a sync. +- `#6892 `_: Fix the log message when a local secret is not found so it's less confusing. +- `#6980 `_: Remove MAC from secrets file. +- `#7088 `_: Fix sync encrypter pool close queue error. +- `#7302 `_: Increase http request timeout time to 90s. +- `#7386 `_: Fix hanging sync by properly waiting db initialization on sync decrypter pool. +- `#7503 `_: Do not signal sync completion if sync failed. +- `#7503 `_: Handle soledad init fail after several retries. +- Always initialize the sync db to allow for both asynchronous encryption and asynchronous decryption when syncing. +- Avoid double decryption of documents. +- Bugfix: move sync db and encpool creation to api. +- Bugfix: refactor code loss. +- Bugfix: set active secret before saving local file. +- Bugfix: wrong sqlcipher passphrase now raises correctly. +- Fallback to utf-8 if confidence on chardet guessing is too low. +- Fix logging and graceful failing when exceptions are raised during sync. +- Fix the order of the events emited for incoming documents. +- Handle ``DatabaseDoesNotExist`` during sync. +- Handle ``MissingDesignDocError`` after get_sync_info. +- Handle missing design doc at GET (``get_sync_info``). Soledad server can handle this during sync. + +Misc (CI, tests, refactor, packaging) +------------------------------------- + +- `#2945 `_: Do not depend on pysqlite2. +- `#6797 `_: Add dependency on Twisted. +- `#7338 `_: refactor ``SoledadCrypto`` to remove circular dependency with ``SoledadSecrets``. +- Add tests for enc/dec pool. +- Improve helper scripts and dependencies listing. +- Improve log messages when concurrently fetching documents from the server. +- Lots of code restyling to pass CI tests. +- Refactor asynchronous encryption/decryption code to its own file. +- Refactor decription pool and http target to use a deferred instead of a waiting loop. +- Refactor details of making an HTTP request body and headers out of the send/fetch logic. This also makes it easier to enable batching. +- Refactor enc/dec pool to standardize start/stop of the pools. +- Remove dependency on simplejson. +- Split ``http_target`` into 4 modules, separating those responsibilities. + + +soledad.server +~~~~~~~~~~~~~~ + +Features +-------- + +- `#6785 `_: Use monthly token databases. +- Lots of code restyling to pass CI tests. +- Lots of work done to get tests passing. +- Remove dependency on simplejson. + +Bugfixes +-------- + +- `#6436 `_: Run daemon as user soledad. +- `#6437 `_: Avoid use of SSLv3. +- `#6557 `_: Fix server initscript location. +- `#6797 `_: Add dependency on Twisted. +- `#6833 `_: Remove unneeded parameters from ``CouchServerState`` initialization. +- Fix a bug where `BadRequest` could be raised after everything was persisted. +- Fix server daemon uid and gid by passing them to twistd on the initscript. + + +soledad.common +~~~~~~~~~~~~~~ + +Features +-------- + +- `#6359 `_: Adapt soledad to the new events api on leap.common. +- Lots of code restyling to pass CI tests. +- Lots of work done to get tests passing. +- Refactor `couch.py` to separate persistence from logic while saving uploaded documents. Also simplify logic while checking for conflicts. +- Remove dependency on simplejson. + +Bugfixes +-------- +- `#5896 `_: Include couch design docs source files in source distribution and only compile ``ddocs.py`` when building the package. +- `#6671 `_: Bail out if ``cdocs/`` dir does not exist. +- `#6833 `_: Remove unneeded parameters from ``CouchServerState`` initialization. + +---- + +Keymanager +========== + +Features +~~~~~~~~ + +- `#5359 `_: Adapt to new events api on leap.common. +- `#5932 `_: Add ``fetch_key`` method to fetch keys from a URI. +- `#6211 `_: Upgrade keys if not successfully used and strict high validation level. +- `#6212 `_: Multi uid support. +- `#6240 `_: Upgrade key when signed by old key. +- `#6262 `_: Keep old key after upgrade. +- `#6299 `_: New soledad doc struct for encryption-keys. +- `#6346 `_: Use addresses instead of keys for encrypt, decrypt, sign & verify. +- `#6366 `_: Expose info about the signing key. +- `#6368 `_: Port keymanager to the new soledad async API. +- `#6815 `_: Fetched keys from other domain than its provider are set as 'Weak Chain' validation level. +- `KeyManager.put_key` now accepts also ascii keys. + +Bugfixes +~~~~~~~~ + +- `#6022 `_: Fix call to python-gnupg's ``verify_file()`` method. +- `#7188 `_: Remove the dependency on ``enum34``. +- `#7274 `_: use async events api. +- `#7410 `_: add logging to fetch_key. +- `#7410 `_: catch request exceptions on key fetching. +- `#7420 `_: don't repush a public key with different address. +- `#7498 `_: self-repair the keyring if keys get duplicated. +- Don't repush a public key with different addres +- More verbosity in ``get_key`` wrong address log. +- Return always ``KeyNotFound`` failure if fetch keys fails on an unknown error. +- Use ``ca_bundle`` when fetching keys by url. + +Misc (CI, tests, refactor, packaging) +------------------------------------- + +- Cleanup API. +- Packaging improvements. +- Style changes. +- Tests updates. + + +---- + +Common +====== + +Features +~~~~~~~~ + +- `#7188 `_: Modify ``leap.common.events`` to use ZMQ. Closes #6359. +- Add a ``HTTPClient`` the twisted way. +- Add close method for http agent. +- Allow passing callback to HTTP client. +- Bugfix: HTTP timeout was not being cleared on abort. +- Bugfix: do not add a port string to non-tcp addresses. +- Fix code style and tests. +- Make https client use Twisted SSL validation and adds a reuse by default behavior on connection pool + + +Bugfixes +~~~~~~~~ + +- `#6994 `_: Fix time comparison between local and UTC times that caused the VPN certificates not being correctly downloaded on time. +- `#7089 `_: Fix regexp to allow ipc protocol in zmq sockets. +- `#7130 `_: Remove extraneous data from events logs. +- `#7234 `_: Add http request timeout. +- `#7259 `_: Add a flag to disable events framework. +- `#7274 `_: Expose async methods for events. +- `#7512 `_: Consider standalone flag when saving events certificates. +- Fix wrong ca_cert path inside bundle. +- Workaround for deadlock problem in zmq auth. + +---- + +Mail +==== + +Features +~~~~~~~~ + +- `#3879 `_: Parse OpenPGP header and import keys from it. +- `#4692 `_: Don't add any footer to the emails. +- `#5359 `_: Adapt to new events api on leap.common. +- `#5937 `_: Discover public keys via attachment. +- `#6357 `_: Create a ``OutgoingMail`` class that has the logic for encrypting, signing and sending messages. Factors that logic out of ``EncryptedMessage`` so it can be used by other clients. +- `#6361 `_: Refactor email fetching outside IMAP to its own independient ``IncomingMail`` class. +- `#6617 `_: Add public key as attachment. +- `#6742 `_: Add listener for each email added to inbox in IncomingMail. +- `#6996 `_: Ability to reindex local UIDs after a soledad sync. +- Add very basic support for message sequence numbers. +- Expose generic and protocol-agnostic public mail API. +- Lots of style fixes and tests updates. +- Make use of the twisted-based, async soledad API. +- Send a BYE command to all open connections, so that the MUA is notified when the server is shutted down. + +Bugfixes +~~~~~~~~ + +- `#6601 `_: Port ``enum`` to ``enum34``. +- `#7169 `_: Update SMTP gateway docs. +- `#7244 `_: Fix nested multipart rendering. +- `#7430 `_: If the auth token has expired signal the GUI to request her to log in again. +- `#7471 `_: Disable local only tcp bind on docker containers to allow access to IMAP and SMTP. +- `#7480 `_: Don't extract openpgp header if valid attached key. +- Bugfix: Return the first cdoc if no body found +- Bugfix: fix keyerror when inserting msg on ``pending_inserts`` dict. +- Bugfix: fixed syntax error in ``models.py``. -- cgit v1.2.3 From 639df4f63b16465003463ae9587ac982135ba3ac Mon Sep 17 00:00:00 2001 From: Ivan Alejandro Date: Wed, 28 Oct 2015 11:58:41 -0300 Subject: [pkg] bump dependencies --- changes/VERSION_COMPAT | 1 - pkg/requirements-leap.pip | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/changes/VERSION_COMPAT b/changes/VERSION_COMPAT index f35d01c6..660f9640 100644 --- a/changes/VERSION_COMPAT +++ b/changes/VERSION_COMPAT @@ -11,4 +11,3 @@ # # BEGIN DEPENDENCY LIST ------------------------- # leap.foo.bar>=x.y.z -leap.mail>=0.4.0 # this is not tagged/released yet diff --git a/pkg/requirements-leap.pip b/pkg/requirements-leap.pip index df2d1974..8e353c33 100644 --- a/pkg/requirements-leap.pip +++ b/pkg/requirements-leap.pip @@ -1,4 +1,4 @@ leap.soledad.client>=0.6.0 leap.keymanager>=0.4.0 -leap.mail>=0.4.0rc1 +leap.mail>=0.4.0 leap.common>=0.4.0 -- cgit v1.2.3