[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

GNU SASL 0.2.0 alpha released

From: Simon Josefsson
Subject: GNU SASL 0.2.0 alpha released
Date: Sun, 07 Nov 2004 19:59:23 +0100
User-agent: Gnus/5.110003 (No Gnus v0.3) Emacs/21.3.50 (gnu/linux)


GNU SASL version 0.2.0 has been released!

This version include many large changes since the last release.  The
re-design were made based on the experience with the 0.0.x and 0.1.x
series.  With one small exception (gsasl_encode and gsasl_decode, see
below), the library is still both source code and binary backwards

Since this release include large modifications, problems are expected.
Consider this release targeted for developers that want to familiarize
themselves with the new and improved API.  Developers are encouraged
to move away from the 0.1.x API to the simpler 0.2.x API as soon as

As you may already be aware of, GNU SASL implement the latest
specifications, and can thereby support international user names and
passwords.  I encourage other implementors to perform interoperability
testing of these features with GNU SASL.

For those in need of commercial support and/or development contracts,
SASL is available as a commercial product.  I work with international
customers over the Internet, or on-site for larger projects.  Also
consider making a donation if you find SASL useful, but do not have
any specific additional needs.

The documentation have been updated and improved for this release.
The new manual include several examples, and a few illustrations.
Documentation is available in many formats, available from:

For experienced programmers, I specifically recommend the GTK-DOC API
manual, since it give you a good overview fast.  A DevHelp format of
the API manual is also available.


GNU SASL is an implementation of the Simple Authentication and
Security Layer framework and a few common SASL mechanisms.  SASL is
used by network servers (e.g., IMAP, SMTP) to request authentication
from clients, and in clients to authenticate against servers.

The project page of the library is available at:

Here are the compressed sources of the entire package:         (2.5MB)   (2.5MB)

Here are GPG detached signatures using key 0xB565716F:

Here are the MD5/SHA1 checksums:

b67534afefdb1327e3f7b16e44e4797b  gsasl-0.2.0.tar.gz
61a9b0d658669cb03375f5881f17be92  gsasl-0.2.0.tar.gz.sig
cec6d8e600a442e3652140cf2639c6c6a34c387b  gsasl-0.2.0.tar.gz
47718250df228031ea47581b27935602eb30f13e  gsasl-0.2.0.tar.gz.sig

Here are the compressed sources of the LGPL library (included above):         (508KB)   (508KB)

Here are GPG detached signatures using key 0xB565716F:

Here are the MD5/SHA1 checksums:

bb1d9450d9ab339a18573ebaa5c610a7  libgsasl-0.2.0.tar.gz
3a400e841b8b5c99f3ed6ec407be2626  libgsasl-0.2.0.tar.gz.sig
35e633256b2d469390caeb4490377eb8f5857902  libgsasl-0.2.0.tar.gz
3cb027eb46688c9e6dddc5aa8f7bf723fb720a7e  libgsasl-0.2.0.tar.gz.sig

Here are the build reports for various platforms:

Noteworthy changes (since 0.1.0, last version announced here) in the
front-end (changes in library below):

* Changes in 0.2.0 (released 2004-11-07)

** Added new directory examples/ with complete examples for new API.

** Documentation improvements.
For example, you can now browse the GNU SASL API manual using DevHelp.

** Update of gnulib files.

** More self tests.

** Translation fixes.

* Changes in 0.1.4 (released 2004-08-08)

** Revamp of gnulib compatibility files.

** More translations.
German (by Roland Illig), Basque (by Mikel Olasagasti), French (by
Michel Robitaille), Irish (by Kevin Patrick Scannell), Dutch (by Elros
Cyriatan), Polish (by Jakub Bogusz), Romanian (by Laurentiu Buzdugan),
and Serbian (by Aleksandar Jelenak).

* Changes in 0.1.3 (released 2004-08-04)

** Command line tool support IPv6 (and other protocol families).
Requires that your system has `getaddrinfo'.

** Command line behaviour for gsasl tool improved.
The --client and --imap parameters are now the default.  The --connect
host and port can now be specified directly.  If --authentication-id
is not specified, the username of the user invoking gsasl is used
(i.e., getpwuid(getuid)->pw_name).  Alltogether, this allows simple
usage, as in `gsasl' to connect, via IMAP, to

* Changes in 0.1.2 (released 2004-07-16)

** The SMTP mode in `gsasl' should now work.

** Cross compile builds should work.
It should work for any sane cross compile target, but the only tested
platform is uClibc/uClinux on Motorola Coldfire.

** The GNU Readline library is used to read data, if available.

** Passwords read from stdin are not echoed to the terminal.

* Changes in 0.1.1 (released 2004-06-26)

** In the command line client, the default quality of protection is now none.

Noteworthy changes (since 0.1.0, last version announced here) in the

* Changes in 0.2.0 (released 2004-11-07)

** Important information for 0.0.x or 0.1.x users.
The only externally visible (i.e., in the API/ABI-sense) effect of the
internal changes made in this version is that GSASL_ENCODE and
GSASL_DECODE have been renamed to, respectively, GSASL_ENCODE_INLINE
and GSASL_DECODE_INLINE, and that the original functions have been
modified to allocate the output buffer.  The GSASL_??CODE_INLINE
functions were added to simplify upgrading existing applications.  We
regret breaking backwards compatibility, but we felt it was necessary
to fix this.

** The EXTERNAL mechanism now support authorization identities.

** Major internal overhaul.
This was done to get rid of all fixed size buffers, and to clean up
the callback interface.  Now, all functions that return data of
non-fixed size will allocate the output, and the caller is responsible
for deallocating the data.  Further, the callback interface has been
simplified, from having one callback function per data item.  There is
now only one callback function, that receive an enumerated integer
type indicating the requested operation.

** Update of generic crypto layer.

** Now possible to add a new SASL mechanism during run-time.
Implement the Gsasl_*_function interfaces, populate a Gsasl_mechanism
struct with name of SASL mechanism and the function pointers, and call
gsasl_register to register your new mechanism.  The library will now
offer and use your mechanism.  The internal mechanisms use the same
interface.  This is the first step toward a dynamic dl_open()

** A few memory leaks fixed.

** Translation fixes.

** Libtool's -export-symbols-regex is now used to only export official APIs.
Before, applications might accidentally access internal functions.
Note that this is not supported on all platforms, so you must still
make sure you are not using undocumented symbols in Libgsasl.

** API and ABI modifications.
The only non-backwards compatible change is for gsasl_encode and
gsasl_decode, see above.  The library is both source and binary
backwards compatible otherwise, although some functions have been
deprecated in favor of new functions.

gsasl_encode, gsasl_decode: MODIFIED.  Now allocate the output parameter.
gsasl_encode_inline, gsasl_decode_inline: ADD, DEPRECATED.
  Same as the old gsasl_encode and gsasl_decode, to simplify conversion.

gsasl_server_suggest_mechanism: DEPRECATED.  This was a thinko, there
  is never a need for something like this function.

Gsasl_callback: ADD.  New function prototype.
gsasl_callback_set: ADD.  New functions.
gsasl_callback: ADD.  New functions.

Gsasl_server_callback_cipher: DEPRECATED.  Old callback function prototypes.
gsasl_server_callback_*: DEPRECATED.  Old callback set/get interface.

Gsasl_property, GSASL_CLIENT_*, GSASL_SERVER_*: ADD.  New enumerated type.
gsasl_property_set, gsasl_property_set_raw,
gsasl_property_get, gsasl_property_fast: ADD.  New functions.

gsasl_application_data_get, gsasl_application_data_set: DEPRECATED.
gsasl_appinfo_get, gsasl_appinfo_set: DEPRECATED.
gsasl_callback_hook_get, gsasl_callback_hook_set: ADD.  Replaces
  previous functions.

Gsasl_init_function, Gsasl_done_function, Gsasl_code_function,
Gsasl_start_function, Gsasl_step_function, Gsasl_finish_function: ADD.
Gsasl_mechanism_functions, Gsasl_mechanism: ADD.
gsasl_register: ADD.

gsasl_ctx_get: DEPRECATED.  Not useful, application callback now get both
  library and session context.

* Changes in 0.1.4 (released 2004-08-08)

** Fix various compile time warnings.

** Revamp of gnulib compatibility files.

** More translations.
French (by Michel Robitaille), Dutch (by Elros Cyriatan), Polish (by
Jakub Bogusz), and Romanian (by Laurentiu Buzdugan).

* Changes in 0.1.3 (released 2004-08-04)

** API and ABI modifications.
No changes since last version.

* Changes in 0.1.2 (released 2004-07-16)

** Cross compile builds should work.
It should work for any sane cross compile target, but the only tested
platform is uClibc/uClinux on Motorola Coldfire.

** API and ABI modifications.
No changes since last version.

* Changes in 0.1.1 (released 2004-06-26)

** gsasl_client_suggest_mechanism and gsasl_server_suggest_mechanism now work.
Earlier they were not implemented at all.

** GSS-API now support data integrity and privacy options (experimental!).

** Internal crypto framework rehashed.
Now the selection between Nettle/Libgcrypt happens inside crypto/, and
gc.h is the generic header that is used by the rest of the package.

** API and ABI modifications.
gsasl_random: ADD.
gsasl_nonce: ADD.
gsasl_randomize: DEPRECATED.  Use either gsasl_random or gsasl_nonce.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]