Update `HACKING'.
[jackhill/guix/guix.git] / distro / packages / gsasl.scm
CommitLineData
233e7676
LC
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2012 Andreas Enge <andreas@enge.fr>
3aa6fab8 3;;;
233e7676 4;;; This file is part of GNU Guix.
3aa6fab8 5;;;
233e7676 6;;; GNU Guix is free software; you can redistribute it and/or modify it
3aa6fab8
AE
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;;;
233e7676 11;;; GNU Guix is distributed in the hope that it will be useful, but
3aa6fab8
AE
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
233e7676 17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
3aa6fab8
AE
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
67Program Interface (GSS-API). GSS-API is used by network servers to provide
68security services, e.g., to authenticate SMTP/IMAP clients against
69SMTP/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
93Layer framework and a few common SASL mechanisms. SASL is used by network
94servers (e.g., IMAP, SMTP) to request authentication from clients, and in
95clients to authenticate against servers.
96
97GNU SASL consists of a library (libgsasl), a command line utility (gsasl)
98to access the library from the shell, and a manual. The library includes
99support for the framework (with authentication functions and application
100data privacy and integrity functions) and at least partial support for the
101CRAM-MD5, EXTERNAL, GSSAPI, ANONYMOUS, PLAIN, SECURID, DIGEST-MD5,
102SCRAM-SHA-1, SCRAM-SHA-1-PLUS, LOGIN, and NTLM mechanisms.
103
104The library is portable because it does not do network communication by
105itself, but rather leaves it up to the calling application. The library is
106flexible with regards to the authorization infrastructure used, as it
107utilises callbacks into the application to decide whether an user is
108authorised or not.
109
110The gsasl package distribution includes the library part as well,
111so there is no need to install two packages.")
112 (license gpl3+)
113 (home-page "http://www.gnu.org/software/gsasl/")))