Postfix snapshot 20051220

[email protected] (Wietse Venema) Wed, 21 Dec 2005 10:03:45 -0500 (EST)
Newsgroups gmane.mail.postfix.announce
Message-ID <20051221150345.67876BC186__16770.2524959624$1135177735$gmane$org@spike.porcupine.org>
Postfix snapshot 20051220 provides a plug-in architecture for SASL
authentication. With this, Postfix can support multiple SASL
implementations without source code patches. Implementors of
alternative implementations (Dovecot, Bieringer) are encouraged to
look at the plug-in interface and see if it is workable.

For backwards compatibility the default plug-in type is Cyrus SASL,
so everything should behave like it did before. Some error messages
are slightly different, but these changes are generally improvements.

	Wietse

RELEASE_NOTES:

    Incompatibility with snapshot 20051220
    ======================================

    The Postfix-with-Cyrus-SASL build procedure has changed. You now
    need to specify -DUSE_CYRUS_SASL in addition to -DUSE_SASL_AUTH or
    else you end up without any Cyrus SASL support. The error messages
    are:

	unsupported SASL server implementation: cyrus
	unsupported SASL client implementation: cyrus

    Major changes with snapshot 20051220
    ====================================

    Plug-in support for SASL authentication in the SMTP server and in
    the SMTP+LMTP client. With this, Postfix can support multiple SASL
    implementations without source code patches.  Some distributors may
    even make SASL support a run-time linking option, just like they
    do with Postfix lookup tables.

    Hints and tips for plug-in developers are in the xsasl/README file.

    For backwards compatibility the default plug-in type is Cyrus SASL,
    so everything should behave like it did before. Some error messages
    are slightly different, but these are generally improvements.

    The "postconf -a" command shows what plug-in implementations are
    available for the SMTP server, and "postconf -A" does the same for
    the SMTP+LMTP client.  Plug-in implementations are selected with
    the smtpd_sasl_type, smtp_sasl_type and lmtp_sasl_type configuration
    parameters.

    Other new configuration parameters are smtpd_sasl_path, smtp_sasl_path
    and lmtp_sasl_path. These are better left alone; they are introduced
    for the convenience of other SASL implementations.

HISTORY file:
=============

20051213

	Bugfix: *SQL, proxy and LDAP map types were not defined in
	user-land commands such as postqueue. Leandro Santi. File:
	postqueue/postqueue.c.

20051212-14

	Server-side plug-in interface for SASL authentication. This
	uses Cyrus SASL by default, so nothing has changed except
	error messages may be more informative.  Files:
	smtpd/smtpd_sasl_proto.c smtpd/smtpd_sasl_glue.c,
	xsasl/xsasl_server.[hc], xsasl/cyrus_server.[hc]
	xsasl/cyrus_strerror.c, xsasl/cyrus_log.c, xsasl/cyrus_security.c.

20051215

	Portability: IRIX 6.5.28 defines sa_len as a macro, so it
	can't be used as a variable identifier. Zach McDanel. Files:
	dns/dns_rr_to_sa.c, smtpd/smtpd_peer.c, qmqpd/qmqpd_peer.c.

20051216

	Cleanup: removed some scar tissue that was introduced with
	server-side SASL plug-in support. Files: smtpd_sasl_proto.c,
	smtpd_sasl_glue.c.

	Client-side plug-in interface for SASL authentication. This
	uses Cyrus SASL by default, so nothing has changed except
	error messages may be more informative.  Files: smtp_sasl_glue.c,
	xsasl/xsasl_client.[hc], xsasl/cyrus_client.[hc].

20051217

	Bugfix: when a SASL client password is required by a specific
	server, defer delivery when no server-announced mechanism
	survives the smtp_sasl_mechanism_filter, instead of ignoring
	the SASL announcement and trying to deliver the mail over
	an unauthenticated connection and risking that mail will
	be rejected.  File: smtp/smtp_sasl_proto.c, smtp/smtp_proto.c.

	Portability: zero the "struct msg" just in case. Both purify
	(Linux) and valgrind (FreeBSD) complain about uninitialized
	bits.  Files: util/unix_{send,recv}_fd.c.

20051219

	Cleanup: generic smtpd_sasl_path, smtp_sasl_path and
	lmtp_sasl_path configuration parameters; simplified the
	SASL plug-in API, and made initial provisions for SASL
	session encryption. Files: xsasl/*.[hc].

	Feature: "postconf -a" lists the available SASL server
	plug-in types, and "postconf -A" does the same for the
	client.  Files: postconf.c, xsasl_{client,server}.c.

	Feature: new SMTPD policy attributes "encryption_protocol",
	"encryption_cypher" and "encryption_keysize", to distinguish
	plaintext from encrypted connections.