*** empty log message ***
[gsasl.git] / README
blob0a54a9458d7698215a4e2385a418af2929af6b1e
1 GNU SASL README -- Important introductory notes.
2 Copyright (C) 2002, 2003 Simon Josefsson
3 See the end for copying conditions.
5 This directory holds GNU SASL which is an implementation of the Simple
6 Authentication and Security Layer (SASL).  See ANNOUNCE for an
7 overview, and doc/gsasl.{info,ps,pdf} for the manual.
9 Currently there is some support for the following mechanisms:
11   - CRAM-MD5 (RFC 2195, requires libgcrypt)
12   - EXTERNAL (RFC 2222)
13   - GSSAPI (RFC 2222, requires MIT Kerberos 5 GSSAPI library)
14   - ANONYMOUS (RFC 2245)
15   - PLAIN (RFC 2595)
16   - SECURID (RFC 2808)
17   - DIGEST-MD5 (RFC 2831, requires libgcrypt)
18   - LOGIN (non-standard)
19   - NTLM (non-standard, client only, requires libntlm)
20   - KERBEROS_V5 (experimental, requires shishi)
22 Things left to do below.  If you like to start working on anything,
23 please let me know so work duplication can be avoided.
25   * Bug: If gsasl_decode is handed a string longer than one SASL token,
26     the remaining data will be discarded.  This means if the sender
27     packed two SASL tokens in one network packet, only the first will be
28     seen.  To fix this the best way, and the same time also improve
29     string handling (security), the entire SASL step API probably
30     should change.  Later: It occured to me that the en/de-code functions
31     can simply buffer the left over data until the next invocation.
32     Still, it would be nice to change the API to one that encapsulates
33     string operations inte a separate package (my safestring.*).
34   + Authentication infrastructure implementing the callbacks for
35     PAM, Kerberos, SQL, etc.  Separate project?  GNU Mailutils has
36     some starting points for this, but the API is inflexible.
37   + Provide standard callbacks for tty, GTK, gpg-agent etc.  Probably
38     should be a separate library.
39   + Hide explicit data array handling in a string API
40   + Port applications to use libgsasl
41   + More SASL mechanisms
42   + Security layer improvements, including support for privacy
43     separation (authenticate in one process, pass state to another).
44   + Securid server fails self tests on alpha-unknown-openbsd3.1,
45     I don't understand why.  Memory corruption?
46   - Improve documentation
47   - Port to Cyclone?
49 The GNU SASL library, command-line application and test suite (lib/,
50 src/, and tests/) are licensed under the GNU Public License license
51 (see COPYING), and the documentation (doc/) is licensed under the GNU
52 Free Documentation License (see COPYING.DOC).  The other
53 sub-directories (argp/, and libstringprep/) are distributed here for
54 convenience and have their own respective licenses, they are not part
55 of GNU SASL proper.
57 For updates to the project, see <http://www.gnu.org/software/gsasl/>.
59 ----------------------------------------------------------------------
60 Copying and distribution of this file, with or without modification,
61 are permitted in any medium without royalty provided the copyright
62 notice and this notice are preserved.