1/*! \mainpage GNU SASL Library
2 *
3 * \section intro Introduction
4 *
5 * GNU SASL is an implementation of the Simple Authentication and Security
6 * Layer framework and a few common SASL mechanisms. SASL is used by
7 * network servers (e.g., IMAP, SMTP) to request authentication from
8 * clients, and in clients to authenticate against servers.
9 *
10 * GNU SASL consists of a library (`libgsasl'), a command line utility
11 * (`gsasl') to access the library from the shell, and a manual. The
12 * library includes support for the framework (with authentication
13 * functions and application data privacy and integrity functions) and at
14 * least partial support for the CRAM-MD5, EXTERNAL, GSSAPI, ANONYMOUS,
15 * PLAIN, SECURID, DIGEST-MD5, LOGIN, and NTLM mechanisms.
16 *
17 * The library is easily ported because it does not do network
18 * communication by itself, but rather leaves it up to the calling
19 * application. The library is flexible with regards to the authorization
20 * infrastructure used, as it utilize a callback into the application to
21 * decide whether a user is authorized or not.
22 *
23 * GNU SASL is developed for the GNU/Linux system, but runs on over 20
24 * platforms including most major Unix platforms and Windows, and many
25 * kind of devices including iPAQ handhelds and S/390 mainframes.
26 *
27 * GNU SASL is written in pure ANSI C89 to be portable to embedded and
28 * otherwise limited platforms. The entire library, with full support for
29 * ANONYMOUS, EXTERNAL, PLAIN, LOGIN and CRAM-MD5, and the front-end that
30 * support client and server mode, and the IMAP and SMTP protocols, fits
31 * in under 60kb on an Intel x86 platform, without any modifications to
32 * the code. (This figure was accurate as of version 0.0.13.)
33 *
34 * The library is licensed under the GNU Lesser General Public License,
35 * and the command-line interface, self-tests and examples are licensed
36 * under the GNU General Public License.
37 *
38 *
39 * The project web page:\n
40 * http://www.gnu.org/software/gsasl/
41 *
42 * The software archive:\n
43 * ftp://alpha.gnu.org/pub/gnu/gsasl/
44 *
45 * Further information and paid contract development:\n
46 * Simon Josefsson <simon@josefsson.org>
47 *
48 * \section abstraction Logical overview
49 *
50 * \image html abstraction.png
51 * \image latex abstraction.eps "Logical overview" width=10cm
52 *
53 * \section controlflow Control flow in application using the library
54 *
55 * \image html controlflow.png
56 * \image latex controlflow.eps "Control flow" width=15cm
57
58 * \image html controlflow2.png
59 * \image latex controlflow2.eps "Control flow" width=16cm
60 *
61 * \section examples Examples
62 *
63 * \include client.c
64 * \include client-serverfirst.c
65 * \include client-mech.c
66 * \include client-callback.c
67 */
68