2.2. Features

`Libgsasl' might have a couple of advantages over other libraries doing a similar job.

It's Free Software

Anybody can use, modify, and redistribute it under the terms of the GNU General Public License (Appendix B).

It's thread-safe

No global variables are used and multiple library handles and session handles may be used in parallell.

It's internationalized

It handles non-ASCII username and passwords and user visible strings used in the library (error messages) can be translated into the users' language.

It's portable

It should work on all Unix like operating systems, including Windows. The library itself should be portable to any C89 system, not even POSIX is required.

Note that the library do not implement any policy to decide whether a certain user is “authenticated” or “authorized” or not. Rather, it uses callbacks back into the application to answer these questions.