Bump versions.
[gsasl.git] / lib / src / doxygen.c
blob705d8943dd1f1833bc7be0f00d2dde6c40729f47
1 /*! \mainpage GNU SASL Library
3 * \section intro Introduction
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.
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.
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.
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.
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.)
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.
39 * The project web page:\n
40 * http://www.gnu.org/software/gsasl/
42 * The software archive:\n
43 * ftp://alpha.gnu.org/pub/gnu/gsasl/
45 * Further information and paid contract development:\n
46 * Simon Josefsson <simon@josefsson.org>
48 * \section abstraction Logical overview
50 * \image html abstraction.png
51 * \image latex abstraction.eps "Logical overview" width=10cm
53 * \section controlflow Control flow in application using the library
55 * \image html controlflow.png
56 * \image latex controlflow.eps "Control flow" width=15cm
58 * \image html controlflow2.png
59 * \image latex controlflow2.eps "Control flow" width=16cm
61 * \section examples Examples
63 * \include client.c
64 * \include client-serverfirst.c
65 * \include client-mech.c
66 * \include client-callback.c