Mercurial > dovecot > original-hg > dovecot-1.2
changeset 7344:57ae4181bb32 HEAD
If sasl_bind=yes or tls=yes is used and ldap_version<3, fail with an error.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Wed, 05 Mar 2008 00:57:17 +0200 |
parents | 034e18a91a6b |
children | 0c7dc0b0bb7b |
files | src/auth/db-ldap.c |
diffstat | 1 files changed, 8 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/auth/db-ldap.c Wed Mar 05 00:34:59 2008 +0200 +++ b/src/auth/db-ldap.c Wed Mar 05 00:57:17 2008 +0200 @@ -716,10 +716,14 @@ db_ldap_set_opt(conn, LDAP_OPT_DEREF, &conn->set.ldap_deref, "deref", conn->set.deref); - /* If SASL binds are used, the protocol version needs to be - at least 3 */ - ldap_version = conn->set.sasl_bind && - conn->set.ldap_version < 3 ? 3 : conn->set.ldap_version; + if (conn->set.ldap_version < 3) { + if (conn->set.sasl_bind) + i_fatal("LDAP: sasl_bind=yes requires ldap_version=3"); + if (conn->set.tls) + i_fatal("LDAP: tls=yes requires ldap_version=3"); + } + + ldap_version = conn->set.ldap_version; db_ldap_set_opt(conn, LDAP_OPT_PROTOCOL_VERSION, &ldap_version, "protocol_version", dec2str(ldap_version)); db_ldap_set_tls_options(conn);