[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/03: gnu: Add dovecot-trees.

From: Ludovic Courtès
Subject: 02/03: gnu: Add dovecot-trees.
Date: Tue, 14 Mar 2017 05:29:02 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit 944a5cdd0d8a659b675ec73e7cfa983048c96ed5
Author: ng0 <address@hidden>
Date:   Tue Feb 28 11:11:46 2017 +0000

    gnu: Add dovecot-trees.
    * gnu/packages/mail.scm (dovecot-trees): New variable.
    Co-authored-by: Ludovic Courtès <address@hidden>
 gnu/packages/mail.scm | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 58 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 070d9ba..02147b3 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -44,6 +44,7 @@
   #:use-module (gnu packages backup)
   #:use-module (gnu packages bash)
   #:use-module (gnu packages bison)
+  #:use-module (gnu packages crypto)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages cyrus-sasl)
   #:use-module (gnu packages databases)
@@ -93,7 +94,7 @@
                 #:select (gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+
                            non-copyleft (expat . license:expat) bsd-3
                            public-domain bsd-4 isc (openssl . license:openssl)
-                           bsd-2 x11-style))
+                           bsd-2 x11-style agpl3))
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
@@ -1130,6 +1131,62 @@ It supports mbox/Maildir and its own dbox/mdbox 
     ;; Unicode, Inc. License Agreement for Data Files and Software.
     (license (list lgpl2.1 license:expat (non-copyleft "file://COPYING")))))
+(define-public dovecot-trees
+  (let ((commit "006059c8a47d68f14f73c09743e45b9a73014dbf")
+        (revision "1"))
+    (package
+      (name "dovecot-trees")
+      (version (string-append "2.0.0-" revision "." (string-take commit 7)))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "";)
+               (commit commit)))
+         (file-name (string-append name "-" version "-checkout"))
+         (sha256
+          (base32
+           "0ax90bzc66x179wi1m7ywqwa8nssyhjngs7ij109hqqxg5ymfp73"))))
+      (build-system gnu-build-system)
+      (native-inputs
+       `(("automake" ,automake)
+         ("autoconf" ,autoconf)
+         ("libtool" ,libtool)
+         ("dovecot" ,dovecot)
+         ("pkg-config" ,pkg-config)))
+      (inputs
+       `(("libsodium" ,libsodium)))
+      (arguments
+       `(#:tests? #f ;No tests exist.
+         #:configure-flags (list (string-append "--with-dovecot="
+                                                (assoc-ref %build-inputs 
+                                                "/lib/dovecot"))
+         #:phases
+         (modify-phases %standard-phases
+           (add-before 'configure 'autogen
+             (lambda _
+               (zero? (system* "./")))))))
+      (home-page "";)
+      (synopsis "NaCL-based Dovecot email storage encryption plugin")
+      (description
+       "Technology for Resting Email Encrypted Storage (TREES) is a NaCL-based
+Dovecot encryption plugin.  This plugin adds individually encrypted mail
+storage to the Dovecot IMAP server.  It is inspired by Posteo's scrambler
+which uses OpenSSL and RSA keypairs.  TREES works in a similar way, but uses
+the Sodium crypto library (based on NaCL).
+How it works:
address@hidden On IMAP log in, the user's cleartext password is passed to the 
address@hidden The plugin creates an argon2 digest from the password.
address@hidden This password digest is used as a symmetric secret to decrypt a 
libsodium secretbox.
address@hidden Inside the secretbox is stored a Curve25519 private key.
address@hidden The Curve25519 private key is used to decrypt each individual 
+using lidsodium sealed boxes.
address@hidden New mail is encrypted as it arrives using the Curve25519 public 
address@hidden enumerate\n")
+      (license agpl3))))
 (define-public isync
     (name "isync")

reply via email to

[Prev in Thread] Current Thread [Next in Thread]