spec cleanup

This commit is contained in:
Michal Hlavinka 2009-11-02 17:03:59 +00:00
parent 70a412d96c
commit dc8740b837
2 changed files with 136 additions and 16 deletions

View File

@ -0,0 +1,98 @@
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));

View File

@ -2,7 +2,7 @@ Summary: Secure imap and pop3 server
Name: dovecot Name: dovecot
Epoch: 1 Epoch: 1
Version: 1.2.6 Version: 1.2.6
Release: 3%{?dist} Release: 5%{?dist}
#dovecot itself is MIT, a few sources are PD, (manage)sieve is LGPLv2, perfect_maildir.pl is GPLv2+ #dovecot itself is MIT, a few sources are PD, (manage)sieve is LGPLv2, perfect_maildir.pl is GPLv2+
License: MIT and LGPLv2 and GPLv2+ License: MIT and LGPLv2 and GPLv2+
Group: System Environment/Daemons Group: System Environment/Daemons
@ -40,6 +40,9 @@ Patch1: dovecot-1.1-default-settings.patch
Patch2: dovecot-1.0.beta2-mkcert-permissions.patch Patch2: dovecot-1.0.beta2-mkcert-permissions.patch
Patch3: dovecot-1.0.rc7-mkcert-paths.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) Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: openssl-devel, pam-devel, zlib-devel, libcap-devel BuildRequires: openssl-devel, pam-devel, zlib-devel, libcap-devel
BuildRequires: libtool autoconf automake BuildRequires: libtool autoconf automake
@ -86,18 +89,18 @@ Dovecot is an IMAP server for Linux/UNIX-like systems, written with security
primarily in mind. It also contains a small POP3 server. It supports mail primarily in mind. It also contains a small POP3 server. It supports mail
in either of maildir or mbox formats. in either of maildir or mbox formats.
The SQL drivers and authentication plugins are in their subpackages. The SQL drivers and authentication plug-ins are in their subpackages.
%if %{build_sieve} %if %{build_sieve}
%package sieve %package sieve
Requires: %{name} = %{epoch}:%{version}-%{release} Requires: %{name} = %{epoch}:%{version}-%{release}
Summary: Sieve plugin for dovecot LDA Summary: Sieve plug-in for dovecot LDA
Group: System Environment/Daemons Group: System Environment/Daemons
License: MIT and LGPLv2+ License: MIT and LGPLv2+
%description sieve %description sieve
This package provides sieve plugin version %{sieve_version} for dovecot LDA. This package provides sieve plug-in version %{sieve_version} for dovecot LDA.
%endif %endif
%if %{build_managesieve} %if %{build_managesieve}
@ -105,7 +108,7 @@ This package provides sieve plugin version %{sieve_version} for dovecot LDA.
Requires: %{name} = %{epoch}:%{version}-%{release} Requires: %{name} = %{epoch}:%{version}-%{release}
Summary: Manage Sieve daemon for dovecot Summary: Manage Sieve daemon for dovecot
Group: System Environment/Daemons Group: System Environment/Daemons
License: LGPLv2.1 License: LGPLv2
%description managesieve %description managesieve
This package provides the Manage Sieve daemon version %{managesieve_version} for dovecot. This package provides the Manage Sieve daemon version %{managesieve_version} for dovecot.
@ -114,51 +117,51 @@ This package provides the Manage Sieve daemon version %{managesieve_version} for
%if %{build_postgres} %if %{build_postgres}
%package pgsql %package pgsql
Requires: %{name} = %{epoch}:%{version}-%{release} Requires: %{name} = %{epoch}:%{version}-%{release}
Summary: Postgres SQL backend for dovecot Summary: Postgres SQL back end for dovecot
Group: System Environment/Daemons Group: System Environment/Daemons
%description pgsql %description pgsql
This package provides the Postgres SQL backend for dovecot-auth etc. This package provides the Postgres SQL back end for dovecot-auth etc.
%endif %endif
%if %{build_mysql} %if %{build_mysql}
%package mysql %package mysql
Requires: %{name} = %{epoch}:%{version}-%{release} Requires: %{name} = %{epoch}:%{version}-%{release}
Summary: MySQL backend for dovecot Summary: MySQL back end for dovecot
Group: System Environment/Daemons Group: System Environment/Daemons
%description mysql %description mysql
This package provides the MySQL backend for dovecot-auth etc. This package provides the MySQL back end for dovecot-auth etc.
%endif %endif
%if %{build_sqlite} %if %{build_sqlite}
%package sqlite %package sqlite
Requires: %{name} = %{epoch}:%{version}-%{release} Requires: %{name} = %{epoch}:%{version}-%{release}
Summary: SQLite backend for dovecot Summary: SQLite back end for dovecot
Group: System Environment/Daemons Group: System Environment/Daemons
%description sqlite %description sqlite
This package provides the SQLite backend for dovecot-auth etc. This package provides the SQLite back end for dovecot-auth etc.
%endif %endif
%if %{build_ldap} %if %{build_ldap}
%package ldap %package ldap
Requires: %{name} = %{epoch}:%{version}-%{release} Requires: %{name} = %{epoch}:%{version}-%{release}
Summary: LDAP auth plugin for dovecot Summary: LDAP auth plug-in for dovecot
Group: System Environment/Daemons Group: System Environment/Daemons
%description ldap %description ldap
This package provides the LDAP auth plugin for dovecot-auth etc. This package provides the LDAP auth plug-in for dovecot-auth etc.
%endif %endif
%if %{build_gssapi} %if %{build_gssapi}
%package gssapi %package gssapi
Requires: %{name} = %{epoch}:%{version}-%{release} Requires: %{name} = %{epoch}:%{version}-%{release}
Summary: GSSAPI auth mechanism plugin for dovecot Summary: GSSAPI auth mechanism plug-in for dovecot
Group: System Environment/Daemons Group: System Environment/Daemons
%description gssapi %description gssapi
This package provides the GSSAPI auth mechanism plugin for dovecot-auth etc. This package provides the GSSAPI auth mechanism plug-in for dovecot-auth etc.
%endif %endif
%package devel %package devel
Requires: %{name} = %{epoch}:%{version}-%{release} Requires: %{name} = %{epoch}:%{version}-%{release}
Summary: Development files dor dovecot Summary: Development files for dovecot
Group: Development/Libraries Group: Development/Libraries
%description devel %description devel
This package provides the development files for dovecot. This package provides the development files for dovecot.
@ -170,6 +173,7 @@ zcat %{SOURCE11} | patch -p1 --fuzz=0 -s
%patch1 -p1 -b .default-settings %patch1 -p1 -b .default-settings
%patch2 -p1 -b .mkcert-permissions %patch2 -p1 -b .mkcert-permissions
%patch3 -p1 -b .mkcert-paths %patch3 -p1 -b .mkcert-paths
%patch4 -p1 -b .greetings
%if %{build_sieve} %if %{build_sieve}
%setup -q -D -T -a 8 %setup -q -D -T -a 8
@ -290,9 +294,20 @@ do
install -p -m644 $f $RPM_BUILD_ROOT%{docdir}/UW-to-Dovecot-Migration install -p -m644 $f $RPM_BUILD_ROOT%{docdir}/UW-to-Dovecot-Migration
done done
# fix encoding
pushd $RPM_BUILD_ROOT
for fe in ./%{docdir}/auth-protocol.txt
do
iconv -f iso-8859-1 -t utf-8 <$fe >$fe.new
touch -r $fe $fe.new
mv -f $fe.new $fe
done
popd
mv $RPM_BUILD_ROOT%{docdir} $RPM_BUILD_ROOT%{docdir}-%{version} mv $RPM_BUILD_ROOT%{docdir} $RPM_BUILD_ROOT%{docdir}-%{version}
mkdir -p $RPM_BUILD_ROOT/var/lib/dovecot mkdir -p $RPM_BUILD_ROOT/var/lib/dovecot
%if %{build_sieve} %if %{build_sieve}
# dovecot-sieve # dovecot-sieve
pushd %{sieve_name}-%{sieve_version} pushd %{sieve_name}-%{sieve_version}
@ -437,6 +452,13 @@ fi
%changelog %changelog
* Mon Nov 02 2009 Michal Hlavinka <mhlavink@redhat.com> - 1:1.2.6-5
- spec cleanup
* Wed Oct 21 2009 Michal Hlavinka <mhlavink@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@redhat.com> - 1:1.2.6-3 * Mon Oct 19 2009 Michal Hlavinka <mhlavink@redhat.com> - 1:1.2.6-3
- sieve updated to 0.1.13 which brings these changes: - sieve updated to 0.1.13 which brings these changes:
- Body extension: implemented proper handling of the :raw transform - Body extension: implemented proper handling of the :raw transform