mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-18 05:51:26 +02:00
e8ab4e29126305f7d66f302351e76a0d894d119a
Cryptography can be a black art, rather than rolling our own crypto
functions use the ones provided by the Python Cryptography module.
- `encrypt()` and `decrypt()`
- ECB is insecure and the Python Cryptography module recommends[1]
against using it. The Python Cryptography module offers Fernet[2]
for encrypting values using a secret_key.
- Djangos `settings.SECRET_KEY` exists for things like encrypting
passwords, use it instead of Modoboas own `secret_key`.
- `settings.SECRET_KEY` is truncated to 32 characters as Fernet
requires a key 32 characters long.
- `random_key()` uses Dangos get_random_string() method, the same
code used to generate settings.SECRET_KEY
- add tests for cryptutil methods
[1] https://cryptography.io/en/latest/hazmat/primitives/symmetric-encryption/?highlight=ecb#insecure-modes
[2] https://cryptography.io/en/latest/fernet/
################################ `Modoboa <http://modoboa.org/>`_ ################################ |travis| |codecov| |landscape| |latest-version| Modoboa is a mail hosting and management platform including a modern and simplified Web User Interface. It provides useful components such as an administration panel or a webmail. Modoboa integrates with well known software such as `Postfix <http://postfix.org/>`_ or `Dovecot <http://dovecot.org/>`_. A SQL database (`MySQL <http://www.mysql.com>`_, `PostgreSQL <http://www.postgresql.org/>`_ or `SQLite <http://www.sqlite.org>`_) is used as a central point of communication between all components. Modoboa is developed with modularity in mind, expanding it is really easy. Actually, all current features are extensions. It is written in Python and uses the `Django <https://www.djangoproject.com>`_, `jQuery <http://jquery.com>`_ and `Bootstrap <http://getbootstrap.com/>`_ frameworks. ************* Main features ************* * Administration panel * Reputation protection: `DNSBL <https://en.wikipedia.org/wiki/DNSBL>`_ checks, `DMARC <https://dmarc.org/>`_ `reports <https://github.com/modoboa/modoboa-dmarc>`_ and more * `Amavis <http://www.amavis.org>`_ `frontend <https://github.com/modoboa/modoboa-amavis>`_ * `Webmail <https://github.com/modoboa/modoboa-webmail>`_ * `Address book <https://github.com/modoboa/modoboa-contacts>`_ * `Per-user Sieve filters <https://github.com/modoboa/modoboa-sievefilters>`_ * `Autoreply messages for Postfix <https://github.com/modoboa/modoboa-postfix-autoreply>`_ * `Graphical statistics about email traffic <https://github.com/modoboa/modoboa-stats>`_ * `Radicale <http://radicale.org/>`_ `management frontend <https://github.com/modoboa/modoboa-radicale>`_ ************* Documentation ************* A detailed `documentation <https://modoboa.readthedocs.io/>`_ will help you to install, use or extend Modoboa. ***************** Demo Installation ***************** If you want to try out Modoboa, check out our `demo installation <https://demo.modoboa.org/>`_. ************* External code ************* The following external libraries are provided with Modoboa: * `jQuery version 1.9.1 <http://www.jquery.org/>`_ * `jQuery-UI 1.10+ <http://jqueryui.com/>`_ * `Bootstrap version 3.3.5 <http://getbootstrap.com/>`_ * `Bootstrap datetimepicker <http://eonasdan.github.io/bootstrap-datetimepicker/>`_ .. |latest-version| image:: https://img.shields.io/pypi/v/modoboa.svg :target: https://pypi.python.org/pypi/modoboa/ :alt: Latest version on Pypi .. |landscape| image:: https://landscape.io/github/modoboa/modoboa/master/landscape.svg?style=flat :target: https://landscape.io/github/modoboa/modoboa/master :alt: Code Health .. |travis| image:: https://travis-ci.org/modoboa/modoboa.png?branch=master :target: https://travis-ci.org/modoboa/modoboa .. |codecov| image:: http://codecov.io/github/modoboa/modoboa/coverage.svg?branch=master :target: http://codecov.io/github/modoboa/modoboa?branch=master
Languages
Python
75.1%
Vue
20.3%
JavaScript
3.1%
HTML
0.8%
Smarty
0.6%
Other
0.1%