rpms/dovecot/F-12 dovecot-1.2.6-greetings.patch, NONE, 1.1 dovecot.spec, 1.143, 1.144

Michal Hlavinka mhlavink at fedoraproject.org
Wed Oct 21 10:44:31 UTC 2009


Author: mhlavink

Update of /cvs/extras/rpms/dovecot/F-12
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv28577

Modified Files:
	dovecot.spec 
Added Files:
	dovecot-1.2.6-greetings.patch 
Log Message:
* Wed Oct 21 2009 Michal Hlavinka <mhlavink at redhat.com> - 1:1.2.6-4
- imap-login: If imap_capability is set, show it in the banner 
  instead of the default (#524485)


dovecot-1.2.6-greetings.patch:
 imap-login/client.c              |    7 ++++---
 login-common/common.h            |    2 +-
 login-common/main.c              |    7 +++++--
 login-common/ssl-proxy-openssl.c |    4 ++++
 master/login-process.c           |    2 ++
 5 files changed, 16 insertions(+), 6 deletions(-)

--- NEW FILE dovecot-1.2.6-greetings.patch ---
diff -up dovecot-1.2.6/src/imap-login/client.c.greetings dovecot-1.2.6/src/imap-login/client.c
--- dovecot-1.2.6/src/imap-login/client.c.greetings	2009-10-05 20:10:44.000000000 +0200
+++ dovecot-1.2.6/src/imap-login/client.c	2009-10-21 12:20:03.995249615 +0200
@@ -93,11 +93,12 @@ bool client_skip_line(struct imap_client
 
 static const char *get_capability(struct imap_client *client, bool full)
 {
-	const char *auths;
+	const char *auths, *cap_str;
 
+	cap_str = full || capability_string_overridden ? capability_string :
+		CAPABILITY_BANNER_STRING;
 	auths = client_authenticate_get_capabilities(client->common.secured);
-	return t_strconcat(full ? capability_string : CAPABILITY_BANNER_STRING,
-			   (ssl_initialized && !client->common.tls) ?
+	return t_strconcat(cap_str, (ssl_initialized && !client->common.tls) ?
 			   " STARTTLS" : "",
 			   disable_plaintext_auth && !client->common.secured ?
 			   " LOGINDISABLED" : "", auths, NULL);
diff -up dovecot-1.2.6/src/login-common/common.h.greetings dovecot-1.2.6/src/login-common/common.h
--- dovecot-1.2.6/src/login-common/common.h.greetings	2009-01-15 21:27:26.000000000 +0100
+++ dovecot-1.2.6/src/login-common/common.h	2009-10-21 12:20:03.996248613 +0200
@@ -23,7 +23,7 @@ extern const char *trusted_networks;
 extern unsigned int max_connections;
 extern unsigned int login_process_uid;
 extern struct auth_client *auth_client;
-extern bool closing_down;
+extern bool closing_down, capability_string_overridden;
 
 void main_ref(void);
 void main_unref(void);
diff -up dovecot-1.2.6/src/login-common/main.c.greetings dovecot-1.2.6/src/login-common/main.c
--- dovecot-1.2.6/src/login-common/main.c.greetings	2009-08-12 20:03:16.000000000 +0200
+++ dovecot-1.2.6/src/login-common/main.c	2009-10-21 12:20:03.996248613 +0200
@@ -28,7 +28,7 @@ const char *trusted_networks;
 unsigned int max_connections;
 unsigned int login_process_uid;
 struct auth_client *auth_client;
-bool closing_down;
+bool closing_down, capability_string_overridden;
 
 static const char *process_name;
 static struct ioloop *ioloop;
@@ -354,8 +354,11 @@ static void main_init(void)
 
 	/* capability default is set in imap/pop3-login */
 	value = getenv("CAPABILITY_STRING");
-	if (value != NULL && *value != '\0')
+	if (value != NULL && *value != '\0') {
 		capability_string = value;
+		if (getenv("CAPABILITY_STRING_OVERRIDDEN") != NULL)
+			capability_string_overridden = TRUE;
+	}
 
         closing_down = FALSE;
 	main_refcount = 0;
diff -up dovecot-1.2.6/src/login-common/ssl-proxy-openssl.c.greetings dovecot-1.2.6/src/login-common/ssl-proxy-openssl.c
--- dovecot-1.2.6/src/login-common/ssl-proxy-openssl.c.greetings	2009-09-29 16:14:15.000000000 +0200
+++ dovecot-1.2.6/src/login-common/ssl-proxy-openssl.c	2009-10-21 12:20:04.000248772 +0200
@@ -715,6 +715,7 @@ static DH *ssl_tmp_dh_callback(SSL *ssl 
 	return ssl_params.dh_1024;
 }
 
+#ifdef HAVE_SSL_CTX_SET_INFO_CALLBACK
 static void ssl_info_callback(const SSL *ssl, int where, int ret)
 {
 	struct ssl_proxy *proxy;
@@ -732,6 +733,7 @@ static void ssl_info_callback(const SSL 
 			  net_ip2addr(&proxy->ip));
 	}
 }
+#endif
 
 static int ssl_verify_client_cert(int preverify_ok, X509_STORE_CTX *ctx)
 {
@@ -814,8 +816,10 @@ static void ssl_proxy_ctx_init(SSL_CTX *
 				cafile, ssl_last_error());
 		}
 	}
+#ifdef HAVE_SSL_CTX_SET_INFO_CALLBACK
 	if (verbose_ssl)
 		SSL_CTX_set_info_callback(ssl_ctx, ssl_info_callback);
+#endif
 	if (SSL_CTX_need_tmp_RSA(ssl_ctx))
 		SSL_CTX_set_tmp_rsa_callback(ssl_ctx, ssl_gen_rsa_key);
 	SSL_CTX_set_tmp_dh_callback(ssl_ctx, ssl_tmp_dh_callback);
diff -up dovecot-1.2.6/src/master/login-process.c.greetings dovecot-1.2.6/src/master/login-process.c
--- dovecot-1.2.6/src/master/login-process.c.greetings	2009-10-21 12:20:03.965978906 +0200
+++ dovecot-1.2.6/src/master/login-process.c	2009-10-21 12:23:04.696873716 +0200
@@ -635,6 +635,8 @@ static void login_process_init_env(struc
 				    *set->imap_capability != '\0' ?
 				    set->imap_capability :
 				    set->imap_generated_capability, NULL));
+		if (*set->imap_capability != '\0')
+			env_put("CAPABILITY_STRING_OVERRIDDEN=1");
 	} else if (group->mail_process_type == PROCESS_TYPE_MANAGESIEVE) {
 		env_put(t_strconcat("CAPABILITY_STRING=",
 			set->managesieve_generated_capability, NULL));


Index: dovecot.spec
===================================================================
RCS file: /cvs/extras/rpms/dovecot/F-12/dovecot.spec,v
retrieving revision 1.143
retrieving revision 1.144
diff -u -p -r1.143 -r1.144
--- dovecot.spec	19 Oct 2009 11:15:10 -0000	1.143
+++ dovecot.spec	21 Oct 2009 10:44:31 -0000	1.144
@@ -2,7 +2,7 @@ Summary: Secure imap and pop3 server
 Name: dovecot
 Epoch: 1
 Version: 1.2.6
-Release: 3%{?dist}
+Release: 4%{?dist}
 #dovecot itself is MIT, a few sources are PD, (manage)sieve is LGPLv2, perfect_maildir.pl is GPLv2+
 License: MIT and LGPLv2 and GPLv2+
 Group: System Environment/Daemons
@@ -40,6 +40,9 @@ Patch1: dovecot-1.1-default-settings.pat
 Patch2: dovecot-1.0.beta2-mkcert-permissions.patch
 Patch3: dovecot-1.0.rc7-mkcert-paths.patch
 
+# taken from upstream, for dovecot <= 1.2.6 use imap_capability in greeting message, rhbz#524485
+Patch4: dovecot-1.2.6-greetings.patch
+
 Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires: openssl-devel, pam-devel, zlib-devel, libcap-devel
 BuildRequires: libtool autoconf automake
@@ -170,6 +173,7 @@ zcat %{SOURCE11} | patch -p1 --fuzz=0 -s
 %patch1 -p1 -b .default-settings
 %patch2 -p1 -b .mkcert-permissions
 %patch3 -p1 -b .mkcert-paths
+%patch4 -p1 -b .greetings
 
 %if %{build_sieve}
 %setup -q -D -T -a 8
@@ -437,6 +441,10 @@ fi
 
 
 %changelog
+* Wed Oct 21 2009 Michal Hlavinka <mhlavink at redhat.com> - 1:1.2.6-4
+- imap-login: If imap_capability is set, show it in the banner 
+  instead of the default (#524485)
+
 * Mon Oct 19 2009 Michal Hlavinka <mhlavink at redhat.com> - 1:1.2.6-3
 - sieve updated to 0.1.13 which brings these changes:
 - Body extension: implemented proper handling of the :raw transform




More information about the fedora-extras-commits mailing list