Git Product home page Git Product logo

eeh's Introduction

Easy Email Host

Say Thanks!

MDA with focus on:

  • easy configurability:
    • theoretically works without any configuration for single user setup
    • configuration is easy to learn
  • easy LDAP setup:
    • easy setup for mailinglists and users
  • easy deployment
    • Python ZIP Application with all dependencies
    • crossplatform (Windows, Posix)
    • delivery to all LMTP supporting local delivery agents and common mailboxes (Maildir, mbox)
  • easy privacy
    • supports STARTTLS
    • GPG support before saving is planned

EEH builds on Python's standart library's smtpd module adding STARTTLS, mailbox and LMTP delivery, fixing Python issue 21783 (https://bugs.python.org/issue21783).

Installation

So it's easy - how to install it?

Basic

  1. Get Python >= 3.4
  2. Download EEH.pyz
    • [to add]
  3. Make it executable (not required on Windows):
    • chmod +x /path/to/EEH.pyz
  4. Add it to autostart or services (differs from system to system)
  5. Config path is (relative to EEH.pyz) ../EEH/ (on POSIX) or ./EEH/(Windows)
  6. Choose way to store mails:
    • Dummy, Filesystem or LMTP (for example to Dovecot)
  7. Choose a user database:
    • File based or LDAP (for the latter see advanced topic)

Changelog

1.1.0: First official release

  • Adds:
    • Message delivery is encapsulated in Python futures for overlapping IO.
  • Fixes:
    • Security //1 (see below)
    • Security //2 (see below)
    • Mail delivery impossible under following conditions, connection breaks after 30s (chain of bugs including Security #1 and Security #2):
      • Python 3.4
      • DNSBL not configured
  • Kown bugs:
    • SMTP QUIT command runs unexpectedly long.

1.0.1.4: First testing release

  • Known Bugs:

    • Security //1 (see below)
    • Security //2 (see below)
  • Adds:

    • Itself.

Security

Beside DoS usable bugs in previous versions of EEH no other security related bugs are known.

Vulnerabilities

  • Security //1:
    • Affected versions: <=1.0.1.4; Fixed in version: 1.1.0
    • Type: (d)DoS
    • Description: Blocking message delivery in main thread.
    • Requirements:
      • Depends on configuration, especially affected are setups with LMTP delivery and LDAP user database setups are affected.
    • Severity: Medium, 5.9 (CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L)
  • Security //2:
    • Affected versions: <=1.0.1.4; Fixed in version: 1.1.0
    • Type: DoS
    • Description:
      • Blocks everything for 30s if blocklist is not reachable.
      • After 30s a Timeout-exception is raised, closing the connection.
    • Requirements:
      • DNSBL is configured but a single (or more) lists are not reachable.
      • No exploit required!
    • Severity: Medium, 5.9 (CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H)
    • Other: Result from Security //1

eeh's People

Contributors

varbin avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

lwycool

eeh's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.