changeset 126ab83789e3 in /home/hg/repos/gajim-plugins
author: Bahtiar `kalkin-` Gadimov <[email protected]>
branches:
details:gajim-plugins?cmd=changeset;node=126ab83789e3
description: Squashed 'omemo/lib/python-omemo/' content from commit b396ef9
git-subtree-dir: omemo/lib/python-omemo
git-subtree-split: b396ef99d7665e82d9d5dafe83473f2e9d0cba66
diffstat:
.ackrc | 19 +
.bumpversion.cfg | 11 +
.cookiecutterrc | 47 ++
.coveragerc | 12 +
.editorconfig | 13 +
.gitignore | 63 +++
.travis.yml | 44 ++
AUTHORS.rst | 7 +
CHANGELOG.rst | 8 +
CONTRIBUTING.rst | 280 +++++++++++++
COPYING | 675 +++++++++++++++++++++++++++++++++
MANIFEST.in | 21 +
README.rst | 123 ++++++
appveyor.yml | 110 +++++
ci/appveyor-bootstrap.py | 113 +++++
ci/appveyor-download.py | 107 +++++
ci/appveyor-with-compiler.cmd | 46 ++
ci/bootstrap.py | 53 ++
ci/templates/.travis.yml | 37 +
ci/templates/appveyor.yml | 53 ++
docs/authors.rst | 1 +
docs/changelog.rst | 1 +
docs/conf.py | 54 ++
docs/contributing.rst | 1 +
docs/index.rst | 22 +
docs/installation.rst | 7 +
docs/readme.rst | 1 +
docs/reference/index.rst | 7 +
docs/reference/omemo.rst | 8 +
docs/requirements.txt | 2 +
docs/spelling_wordlist.txt | 11 +
docs/usage.rst | 7 +
setup.cfg | 44 ++
setup.py | 67 +++
src/.gitignore | 2 +
src/.style.yapf | 4 +
src/COPYING | 674 ++++++++++++++++++++++++++++++++
src/omemo.png | Bin
src/omemo/__init__.py | 1 +
src/omemo/aes_gcm.py | 160 +++++++
src/omemo/db_helpers.py | 13 +
src/omemo/encryption.py | 95 ++++
src/omemo/liteaxolotlstore.py | 127 ++++++
src/omemo/liteidentitykeystore.py | 76 +++
src/omemo/liteprekeystore.py | 72 +++
src/omemo/litesessionstore.py | 80 +++
src/omemo/litesignedprekeystore.py | 77 +++
src/omemo/state.py | 298 ++++++++++++++
tests/test_db_helpers.py | 19 +
tests/test_encryption_store.py | 31 +
tests/test_migrate_encryption_state.py | 47 ++
tests/test_omemo.py | 6 +
tests/test_omemo_state.py | 107 +++++
tox.ini | 131 ++++++
54 files changed, 4095 insertions(+), 0 deletions(-)
diffs (truncated from 4309 to 300 lines):
diff -r 000000000000 -r 126ab83789e3 .ackrc
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/.ackrc Tue Jan 26 14:54:59 2016 +0100
@@ -0,0 +1,19 @@
+--ignore-dir
+ .tox
+
+--ignore-dir
+ dist
+
+--ignore-dir
+ .venv
+
+--ignore-dir
+ .ropeproject
+
+--ignore-dir
+ src/omemo.egg-info/
+
+--ignore-file
+ext:pyc
+--ignore-file
+match:.coverage.python
diff -r 000000000000 -r 126ab83789e3 .bumpversion.cfg
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/.bumpversion.cfg Tue Jan 26 14:54:59 2016 +0100
@@ -0,0 +1,11 @@
+[bumpversion]
+current_version = 0.1.0
+commit = True
+tag = True
+
+[bumpversion:file:setup.py]
+
+[bumpversion:file:docs/conf.py]
+
+[bumpversion:file:src/omemo/__init__.py]
+
diff -r 000000000000 -r 126ab83789e3 .cookiecutterrc
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/.cookiecutterrc Tue Jan 26 14:54:59 2016 +0100
@@ -0,0 +1,47 @@
+# This file exists so you can easily regenerate your project.
+#
+# `cookiepatcher` is a convenient shim around `cookiecutter`
+# for regenerating projects (it will generate a .cookiecutterrc
+# automatically for any template). To use it:
+#
+# pip install cookiepatcher
+# cookiepatcher gh:ionelmc/cookiecutter-pylibrary project-path
+#
+# See:
+# https://pypi.python.org/pypi/cookiecutter
+#
+# Alternatively, you can run:
+#
+# cookiecutter --overwrite-if-exists
--config-file=project-path/.cookiecutterrc gh:ionelmc/cookiecutter-pylibrary
+
+default_context:
+
+ appveyor: 'yes'
+ bin_name: 'omemo'
+ c_extension_cython: 'no'
+ c_extension_optional: 'no'
+ c_extension_support: 'no'
+ codacy: 'no'
+ codeclimate: 'no'
+ codecov: 'yes'
+ command_line_interface: 'no'
+ coveralls: 'no'
+ distribution_name: 'python-omemo'
+ email: '[email protected]'
+ full_name: 'Bahtiar `kalkin-` Gadimov'
+ github_username: 'kalkin'
+ landscape: 'no'
+ package_name: 'omemo'
+ project_name: 'Python OMEMO Library'
+ project_short_description: 'This is an implementation o*OMEMO Multi-End
Message and Object Encryption** in Python.'
+ release_date: 'today'
+ repo_name: 'python-omemo'
+ requiresio: 'yes'
+ scrutinizer: 'no'
+ sphinx_theme: 'readthedocs'
+ test_matrix_configurator: 'no'
+ test_runner: 'pytest'
+ travis: 'yes'
+ version: '0.1.0'
+ website: 'https://github.com/omemo'
+ year: 'now'
diff -r 000000000000 -r 126ab83789e3 .coveragerc
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/.coveragerc Tue Jan 26 14:54:59 2016 +0100
@@ -0,0 +1,12 @@
+[paths]
+source = src
+
+[run]
+branch = True
+source = src
+parallel = true
+
+[report]
+show_missing = true
+precision = 2
+omit = *migrations*
diff -r 000000000000 -r 126ab83789e3 .editorconfig
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/.editorconfig Tue Jan 26 14:54:59 2016 +0100
@@ -0,0 +1,13 @@
+# see http://editorconfig.org
+root = true
+
+[*]
+end_of_line = lf
+trim_trailing_whitespace = true
+insert_final_newline = true
+indent_style = space
+indent_size = 4
+charset = utf-8
+
+[*.{bat,cmd,ps1}]
+end_of_line = crlf
diff -r 000000000000 -r 126ab83789e3 .gitignore
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/.gitignore Tue Jan 26 14:54:59 2016 +0100
@@ -0,0 +1,63 @@
+*.py[cod]
+
+# C extensions
+*.so
+
+# Packages
+*.egg
+*.egg-info
+dist
+build
+eggs
+.eggs
+parts
+bin
+var
+sdist
+develop-eggs
+.installed.cfg
+lib
+lib64
+venv*/
+pyvenv*/
+
+# Installer logs
+pip-log.txt
+
+# Unit test / coverage reports
+.coverage
+.tox
+.coverage.*
+nosetests.xml
+coverage.xml
+htmlcov
+
+# Translations
+*.mo
+
+# Mr Developer
+.mr.developer.cfg
+.project
+.pydevproject
+.idea
+*.iml
+*.komodoproject
+
+# Complexity
+output/*.html
+output/*/index.html
+
+# Sphinx
+docs/_build
+
+.DS_Store
+*~
+.*.sw[po]
+.build
+.ve
+.env
+.cache
+.pytest
+.bootstrap
+.appveyor.token
+*.bak
diff -r 000000000000 -r 126ab83789e3 .travis.yml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/.travis.yml Tue Jan 26 14:54:59 2016 +0100
@@ -0,0 +1,44 @@
+language: python
+python: '3.5'
+sudo: false
+env:
+ global:
+ - LD_PRELOAD=/lib/x86_64-linux-gnu/libSegFault.so
+ - SEGFAULT_SIGNALS=all
+ matrix:
+ - TOXENV=check
+
+ - TOXENV=py27-cover,codecov
+ - TOXENV=py27-nocov
+ - TOXENV=py33-cover,codecov
+ - TOXENV=py33-nocov
+ - TOXENV=py34-cover,codecov
+ - TOXENV=py34-nocov
+ - TOXENV=py35-cover,codecov
+ - TOXENV=py35-nocov
+ - TOXENV=pypy-cover,codecov
+ - TOXENV=pypy-nocov
+before_install:
+ - python --version
+ - uname -a
+ - lsb_release -a
+install:
+ - pip install tox
+ - virtualenv --version
+ - easy_install --version
+ - pip --version
+ - tox --version
+script:
+ - tox -v
+after_failure:
+ - more .tox/log/* | cat
+ - more .tox/*/log/* | cat
+before_cache:
+ - rm -rf $HOME/.cache/pip/log
+cache:
+ directories:
+ - $HOME/.cache/pip
+notifications:
+ email:
+ on_success: never
+ on_failure: always
diff -r 000000000000 -r 126ab83789e3 AUTHORS.rst
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/AUTHORS.rst Tue Jan 26 14:54:59 2016 +0100
@@ -0,0 +1,7 @@
+
+Authors
+=======
+
+* Bahtiar `kalkin-` Gadimov - https://github.com/kalkin
+* Daniel Gultsch - https://github.com/inputmice
+* Tarek Galal - https://github.com/tgalal (original axolotl store
implementation)
diff -r 000000000000 -r 126ab83789e3 CHANGELOG.rst
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/CHANGELOG.rst Tue Jan 26 14:54:59 2016 +0100
@@ -0,0 +1,8 @@
+
+Changelog
+=========
+
+0.1.0 (2016-01-11)
+-----------------------------------------
+
+* First release on PyPI.
diff -r 000000000000 -r 126ab83789e3 CONTRIBUTING.rst
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/CONTRIBUTING.rst Tue Jan 26 14:54:59 2016 +0100
@@ -0,0 +1,280 @@
+.. _c4
+=====================================
+Collective Code Construction Contract
+=====================================
+
+
+The **Collective Code Construction Contract (C4)** is an evolution of the
+`github.com Fork + Pull Model
+<https://help.github.com/articles/using-pull-requests/>`_, aimed at providing
an
+optimal collaboration model for free software projects. This is revision 1 of
+the C4 specification.
+
+License
+=======
+Copyright (c) 2009-2015 Pieter Hintjens.
+
+This Specification is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 3 of the License, or (at your option) any
+later version.
+
+This Specification is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, see <http://www.gnu.org/licenses>.
+
+Language
+========
+
+The key words "**MUST**", "**MUST NOT**", "**REQUIRED**", "**SHALL**",
"**SHALL NOT**", "**SHOULD**",
+"**SHOULD NOT**", "**RECOMMENDED**", "**MAY**", and "**OPTIONAL**" in this
document are to be
+interpreted as described in `RFC 2119 <https://tools.ietf.org/html/rfc2119>`_.
+
_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits