| 1 | ;;; GNU Guix --- Functional package management for GNU |
| 2 | ;;; Copyright © 2012 Andreas Enge <andreas@enge.fr> |
| 3 | ;;; |
| 4 | ;;; This file is part of GNU Guix. |
| 5 | ;;; |
| 6 | ;;; GNU Guix is free software; you can redistribute it and/or modify it |
| 7 | ;;; under the terms of the GNU General Public License as published by |
| 8 | ;;; the Free Software Foundation; either version 3 of the License, or (at |
| 9 | ;;; your option) any later version. |
| 10 | ;;; |
| 11 | ;;; GNU Guix is distributed in the hope that it will be useful, but |
| 12 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of |
| 13 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 14 | ;;; GNU General Public License for more details. |
| 15 | ;;; |
| 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | |
| 19 | (define-module (distro packages gsasl) |
| 20 | #:use-module (distro) |
| 21 | #:use-module ((distro packages compression) |
| 22 | #:renamer (symbol-prefix-proc 'guix:)) |
| 23 | #:use-module (distro packages gnutls) |
| 24 | #:use-module (distro packages libidn) |
| 25 | #:use-module (distro packages nettle) |
| 26 | #:use-module (distro packages shishi) |
| 27 | #:use-module (guix licenses) |
| 28 | #:use-module (guix packages) |
| 29 | #:use-module (guix download) |
| 30 | #:use-module (guix build-system gnu)) |
| 31 | |
| 32 | (define-public libntlm |
| 33 | (package |
| 34 | (name "libntlm") |
| 35 | (version "1.3") |
| 36 | (source (origin |
| 37 | (method url-fetch) |
| 38 | (uri (string-append "http://www.nongnu.org/libntlm/releases/libntlm-" version |
| 39 | ".tar.gz")) |
| 40 | (sha256 (base32 |
| 41 | "101pr110ardcj2di940g6vaqifsaxc44h6hjn81l63dvmkj5a6ga")))) |
| 42 | (build-system gnu-build-system) |
| 43 | (synopsis "Libntlm, a library that implements NTLM authentication") |
| 44 | (description |
| 45 | "Libntlm is a library that implements NTLM authentication") |
| 46 | (license lgpl2.1+) |
| 47 | (home-page "http://www.nongnu.org/libntlm/"))) |
| 48 | |
| 49 | (define-public gss |
| 50 | (package |
| 51 | (name "gss") |
| 52 | (version "1.0.2") |
| 53 | (source (origin |
| 54 | (method url-fetch) |
| 55 | (uri (string-append "mirror://gnu/gss/gss-" version |
| 56 | ".tar.gz")) |
| 57 | (sha256 (base32 |
| 58 | "1qa8lbkzi6ilfggx7mchfzjnchvhwi68rck3jf9j4425ncz7zsd9")))) |
| 59 | (build-system gnu-build-system) |
| 60 | (inputs `(("nettle" ,nettle) |
| 61 | ("shishi" ,shishi) |
| 62 | ("zlib" ,guix:zlib) |
| 63 | )) |
| 64 | (synopsis "GNU GSS (Generic Security Service), a free implementatio of RFC 2743/2744") |
| 65 | (description |
| 66 | "GNU GSS is an implementation of the Generic Security Service Application |
| 67 | Program Interface (GSS-API). GSS-API is used by network servers to provide |
| 68 | security services, e.g., to authenticate SMTP/IMAP clients against |
| 69 | SMTP/IMAP servers. GSS consists of a library and a manual.") |
| 70 | (license gpl3+) |
| 71 | (home-page "http://www.gnu.org/software/gss/"))) |
| 72 | |
| 73 | (define-public gsasl |
| 74 | (package |
| 75 | (name "gsasl") |
| 76 | (version "1.8.0") |
| 77 | (source (origin |
| 78 | (method url-fetch) |
| 79 | (uri (string-append "mirror://gnu/gsasl/gsasl-" version |
| 80 | ".tar.gz")) |
| 81 | (sha256 (base32 |
| 82 | "1rci64cxvcfr8xcjpqc4inpfq7aw4snnsbf5xz7d30nhvv8n40ii")))) |
| 83 | (build-system gnu-build-system) |
| 84 | (inputs `(("libidn" ,libidn) |
| 85 | ("libntlm" ,libntlm) |
| 86 | ("gnutls" ,gnutls) |
| 87 | ("gss" ,gss) |
| 88 | ("zlib" ,guix:zlib) |
| 89 | )) |
| 90 | (synopsis "GNU SASL, an implementation of the Simple Authentication and Security Layer framework") |
| 91 | (description |
| 92 | "GNU SASL is an implementation of the Simple Authentication and Security |
| 93 | Layer framework and a few common SASL mechanisms. SASL is used by network |
| 94 | servers (e.g., IMAP, SMTP) to request authentication from clients, and in |
| 95 | clients to authenticate against servers. |
| 96 | |
| 97 | GNU SASL consists of a library (libgsasl), a command line utility (gsasl) |
| 98 | to access the library from the shell, and a manual. The library includes |
| 99 | support for the framework (with authentication functions and application |
| 100 | data privacy and integrity functions) and at least partial support for the |
| 101 | CRAM-MD5, EXTERNAL, GSSAPI, ANONYMOUS, PLAIN, SECURID, DIGEST-MD5, |
| 102 | SCRAM-SHA-1, SCRAM-SHA-1-PLUS, LOGIN, and NTLM mechanisms. |
| 103 | |
| 104 | The library is portable because it does not do network communication by |
| 105 | itself, but rather leaves it up to the calling application. The library is |
| 106 | flexible with regards to the authorization infrastructure used, as it |
| 107 | utilises callbacks into the application to decide whether an user is |
| 108 | authorised or not. |
| 109 | |
| 110 | The gsasl package distribution includes the library part as well, |
| 111 | so there is no need to install two packages.") |
| 112 | (license gpl3+) |
| 113 | (home-page "http://www.gnu.org/software/gsasl/"))) |