This is a new major stable release. Brief changes compared to 1.6.x:
* SAML20 support following RFC 6595.
* OPENID20 support following RFC 6616.
* Added SMTP server examples (for e.g., SCRAM, SAML20, OPENID20).
* Various cleanups, portability and other bug fixes.
See the NEWS entries during the 1.7.x branch for details.
* build: Demand gettext >= 0.18.1 in order to get newer M4 files.
The old M4 files associated with 0.17 caused problems on Solaris,
which will hopefully be fixed with this.
* doc: Typo fix in autoconf snippet.
* i18n: Updated translations.
* gsasl: Don't use poll with POLLOUT to avoid busy-waiting.
* doc: Error codes are now extracted using official library APIs.
* doc: Included cyclomatic code complexity charts of the library code.
* tests: Add self test of obsolete base64 functions.
* Update gnulib files. Improves Windows compatibility.
* Rewrite to use poll instead of select.
* Improve Windows installation instructions in the manual.
* tests: New self test of gsasl_mechanism_name function.
Based on patch provided by Eric Schnoebelen in PR 38692.
While here, marked as DESTDIR support.
Also fix CONFIGURE option for GSSAPI implement (I don't know from when).
* Version 0.2.26 (released 2008-05-05)
** Translations files not stored directly in git to avoid merge conflicts.
This allows us to avoid use of --no-location which makes the
translation teams happier.
** Build fixes for the documentation.
** Update gnulib files.
* Version 0.2.25 (released 2008-03-10)
** gsasl: Fix buffering issue to avoid mixing stdout/stderr outputs.
This would manifest itself when redirecting output to a pipe, such as
when used with Gnus. Reported by Enrico Scholz
<enrico.scholz@informatik.tu-chemnitz.de>, see
<http://thread.gmane.org/gmane.comp.gnu.gsasl.general/123>.
** Fix non-portable use of brace expansion in makefiles.
* Version 0.2.24 (released 2008-01-15)
** Link self-tests with gnulib, to fix link failures under MinGW.
* Version 0.2.23 (released 2008-01-15)
** Improve CRAM-MD5 self-test to detect if challenges are the same.
** Improve gsasl --help and --version to conform with GNU standards.
** Use gettext 0.17.
** Update gnulib files.
* Version 0.2.22 (released 2007-10-08)
** Development git tree moved to savannah.
See <https://savannah.gnu.org/projects/gsasl/>.
** Fix warnings when building the tool 'gsasl'.
** Update gnulib files.
* Version 0.2.15 (released 2006-08-22)
** Changed libgsasl shared library version.
The shared library version was not incremented correctly in the last
release, even though new APIs were added.
* Version 0.2.14 (released 2006-08-19)
** New section "Requirements" in the manual, lists the external components.
Suggested by James Mansion.
** Update of gnulib files.
* Version 0.2.13 (released 2006-06-14)
** Update of gnulib files.
Further improves portability to MinGW.
** Various improvements in the manuals.
** The tests are run under valgrind, if it is installed.
Use --disable-valgrind-tests to unconditionally disable this. It is
disabled by default for cross compiles.
** Various minor fixes.
* Version 0.2.12 (released 2006-03-08)
** Update of gnulib files.
Improves portability to Mingw32.
* Version 0.2.11 (released 2006-02-07)
** Ported to Windows by cross-compiling using Mingw32.
Using Debian's mingw32 compiler, you can build it for Windows by invoking
`./configure --host=i586-mingw32msvc --disable-gssapi'.
** Update of gnulib files.
* Version 0.2.10 (released 2005-10-23)
** Work around bug in GnuTLS that made the command line tool exit after
** failing to write a zero length message to the peer.
** Don't use GnuTLS if gnutls_certificate_verify_peers2 isn't present.
** Update of gnulib files.
* Version 0.2.9 (released 2005-10-07)
** Update of gnulib files.
* Version 0.2.8 (released 2005-09-08)
** The gsasl tool now support STARTTLS for IMAP and SMTP using GnuTLS.
** The --client and --server parameters for the gsasl tool now work properly.
** The --client and --server stdin/stdout modes now use the readline library.
** Fixed build problems in getpass on uClibc and Mingw32 platforms.
** Kinyarwanda translation added.
* Version 0.2.7 (released 2005-08-25)
** Fix build problems when cross-compiling to uClibc and Mingw32 platforms.
** Detecting and using the readline library has been improved.
* Version 0.2.6 (released 2005-08-08)
** The gsasl tool now try to connect to all addresses for a server name.
** The help-gsasl@gnu.org mailing list is now mentioned in documentation.
** The license template in files were updated with the new FSF address.
** Update of gnulib files.
PKGLOCALEDIR and which install their locale files directly under
${PREFIX}/${PKGLOCALEDIR} and sort the PLIST file entries. From now
on, pkgsrc/mk/plist/plist-locale.awk will automatically handle
transforming the PLIST to refer to the correct locale directory.
* Version 0.2.5 (released 2005-02-08)
** Added self test of EXTERNAL mechanism.
** Vietnamese translation added, thanks to Clytie Siddall.
* Version 0.2.4 (released 2005-01-01)
** The CRAM-MD5 mechanism is now preferred over DIGEST-MD5.
This decision was based on recent public research that suggest MD5 is
broken, while HMAC-MD5 not immediately compromised, and the lack of
public analysis on what consequences the MD5 break have for
DIGEST-MD5. Support for CRAM-SHA1 is under investigation, to enable
users to avoid MD5 completely
** Fixed a bug that prevented SMTP client from working.
** New configure option --disable-obsolete to remove backwards compatibility.
This is mostly intended to be used when compiling for platforms with
constrained memory/space resources.
** DIGEST-MD5 rewritten and enabled by default (see lib/NEWS for details).
** Command line tool now query for realm, hostname and service name properly.
** Documentation updates and improvements.
** Self test improvements.
** Update of gnulib files.
* Version 0.2.3 (released 2004-12-15)
** Fix example code to handle base64 encoded data properly.
** DIGEST-MD5 is disabled by default, pending a rewrite for the new API.
** Command line tool uses new callback interface to the library.
** Command line tool uses "iconvme" from gnulib for UTF-8 string conversion.
** Server mode in the command line tool does not work currently.
It is unclear if this feature was ever that useful. If there are no
objections, it will be removed completely in future versions.
** Documentation fixes.
** Fix self test bugs.
* Version 0.2.2 (released 2004-11-29)
** Update of gnulib files.
* Version 0.2.1 (released 2004-11-19)
** Documentation fixes; the old callback API functions are marked as obsolete.
* Version 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.
All library names listed by *.la files no longer need to be listed
in the PLIST, e.g., instead of:
lib/libfoo.a
lib/libfoo.la
lib/libfoo.so
lib/libfoo.so.0
lib/libfoo.so.0.1
one simply needs:
lib/libfoo.la
and bsd.pkg.mk will automatically ensure that the additional library
names are listed in the installed package +CONTENTS file.
Also make LIBTOOLIZE_PLIST default to "yes".
Changes since 0.0.8:
* 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 mail.example.com' to connect, via IMAP, to
mail.example.com.
* 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.
* Changes in 0.1.0 (released 2004-04-16)
** The library re-licensed to LGPL and distributed as a separate package.
This means a fork of this NEWS file, all the entries below relate to
the combined work of earlier versions. New entries above does not
document user visible changes for the library ("libgsasl"), for that
see NEWS in the lib/ sub-directory, which is also distributed as a
stand-alone package.
* Changes in 0.0.14 (released 2004-01-22)
** Moved all mechanism specific code into sub-directories of lib/.
Each backend is built into its own library (e.g., libgsasl-plain.so),
to facilitate future possible use of dlopen to dynamically load
backends.
** Moved compatibility files (getopt*) to gl/, and added more (strdup*).
* Changes in 0.0.13 (released 2004-01-17)
** Nettle (the crypto functionality, crypto/) has been updated.
This fixes two portability issues, the new code should work on
platforms that doesn't have inttypes.h and alloca.
* Changes in 0.0.12 (released 2004-01-15)
** Protocol line parser in 'gsasl' tool more reliable.
Earlier it assumed two lines were sent in one packet in one place, and
sent as two packets in another place.
** Various bugfixes.
* Changes in 0.0.11 (released 2004-01-06)
** The client part of CRAM-MD5 now uses SASLprep instead of NFKC.
This aligns with draft-ietf-sasl-crammd5-01.
** The CRAM-MD5 challenge string now conform to the proper syntax.
** The string preparation (SASLprep and trace) functions now work correctly.
** DocBook manuals no longer included.
The reason is that recent DocBook tools from the distribution I use
(Debian) fails with an error. DocBook manuals may be included in the
future, if I can get the tools to work.
** API and ABI modifications.
GSASL_SASLPREP_ERROR: ADD.
* Changes in 0.0.10 (released 2003-11-22)
** The CRAM-MD5 server now reject invalid passwords.
The logic flaw was introduced in 0.0.9, after blindly making code
changes to shut up valgrind just before the release.
** Various build improvements.
Pkg-config is no longer needed. GTK-DOC is only used if present.
* Changes in 0.0.9 (released 2003-11-21)
** Command line client can talk to SMTP servers with --smtp.
** DocBook manuals in XML, PDF, PostScript, ASCII and HTML formats included.
** Token parser in DIGEST-MD5 fixed, improve interoperability of DIGEST-MD5.
** Libgcrypt >= 1.1.42 is used if available (for CRAM-MD5 and DIGEST-MD5).
The previous libgcrypt API is no longer supported.
** CRAM-MD5 and DIGEST-MD5 no longer require libgcrypt (but can still use it).
If libgcrypt 1.1.42 or later is not found, it uses a minimalistic
cryptographic library based on Nettle, from crypto/. Currently only
MD5 and HMAC-MD5 is needed, making a dependence on libgcrypt overkill.
** Listing supported server mechanisms with gsasl_server_mechlist work.
** Autoconf 2.59, Automake 1.8 beta, Libtool CVS used.
** Source code for each SASL mechanism moved to its own sub-directory in lib/.
** The command line interface now uses getopt instead of argp.
The reason is portability, this also means we no longer use gnulib.
** API and ABI modifications.
gsasl_randomize: ADD.
gsasl_md5: ADD.
gsasl_hmac_md5: ADD.
gsasl_hexdump: REMOVED. Never intended to be exported.
gsasl_step: ADD.
gsasl_step64: ADD.
gsasl_client_step: DEPRECATED: use gsasl_step instead.
gsasl_server_step: DEPRECATED: use gsasl_step instead.
gsasl_client_step_base64: DEPRECATED: use gsasl_step64 instead.
gsasl_server_step_base64: DEPRECATED: use gsasl_step64 instead.
gsasl_finish: ADD.
gsasl_client_finish: DEPRECATED: use gsasl_finish instead.
gsasl_server_finish: DEPRECATED: use gsasl_finish instead.
gsasl_ctx_get: ADD.
gsasl_client_ctx_get: DEPRECATED: use gsasl_ctx_get instead.
gsasl_server_ctx_get: DEPRECATED: use gsasl_ctx_get instead.
gsasl_appinfo_get: ADD.
gsasl_appinfo_set: ADD.
gsasl_client_application_data_get: DEPRECATED: use gsasl_appinfo_get instead.
gsasl_client_application_data_set: DEPRECATED: use gsasl_appinfo_set instead.
gsasl_server_application_data_get: DEPRECATED: use gsasl_appinfo_get instead.
gsasl_server_application_data_set: DEPRECATED: use gsasl_appinfo_set instead.
Gsasl: ADD.
Gsasl_ctx: DEPRECATED: use Gsasl instead.
Gsasl_session: ADD.
Gsasl_session_ctx: DEPRECATED: use Gsasl_session instead.
GSASL_CRYPTO_ERROR: ADD, replaces deprecated GSASL_LIBGCRYPT_ERROR.
GSASL_LIBGCRYPT_ERROR: DEPRECATED: use GSASL_CRYPTO_ERROR instead.
GSASL_KERBEROS_V5_INTERNAL_ERROR: ADD, replaces deprecated GSASL_SHISHI_ERROR.
GSASL_SHISHI_ERROR: DEPRECATED: use GSASL_KERBEROS_V5_INTERNAL_ERROR instead.
GSASL_INVALID_HANDLE: ADD.
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.
GNU SASL contains a library (`libgsasl'), a command line utility (`gsasl')
to access the library from the shell, and a manual. The library includes
support for the SASL framework (with authentication functions and application
data privacy and integrity functions) and at least partial support for the
CRAM-MD5, EXTERNAL, GSSAPI, ANONYMOUS, PLAIN, SECURID, DIGEST-MD5, LOGIN,
NTLM and KERBEROS_V5 mechanisms.