Hello community,

here is the log from the commit of package courier-imap for openSUSE:Factory 
checked in at 2020-06-23 21:04:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/courier-imap (Old)
 and      /work/SRC/openSUSE:Factory/.courier-imap.new.2956 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "courier-imap"

Tue Jun 23 21:04:57 2020 rev:56 rq:816098 version:5.0.11

Changes:
--------
--- /work/SRC/openSUSE:Factory/courier-imap/courier-imap.changes        
2020-06-05 20:29:09.365338539 +0200
+++ /work/SRC/openSUSE:Factory/.courier-imap.new.2956/courier-imap.changes      
2020-06-23 21:05:21.981991850 +0200
@@ -1,0 +2,8 @@
+Fri Jun 19 08:25:12 UTC 2020 - Arjen de Korte <suse+bu...@de-korte.org>
+
+- update to 5.0.11
+  * courier-authlib API update.
+  * Add AC_PROG_CC_C99 to configure
+- remove courier-imap-stdc.patch (no longer needed)
+
+-------------------------------------------------------------------

Old:
----
  courier-imap-5.0.10.tar.bz2
  courier-imap-5.0.10.tar.bz2.sig
  courier-imap-stdc.patch

New:
----
  courier-imap-5.0.11.tar.bz2
  courier-imap-5.0.11.tar.bz2.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ courier-imap.spec ++++++
--- /var/tmp/diff_new_pack.CiZ52K/_old  2020-06-23 21:05:24.097998686 +0200
+++ /var/tmp/diff_new_pack.CiZ52K/_new  2020-06-23 21:05:24.101998699 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           courier-imap
-Version:        5.0.10
+Version:        5.0.11
 Release:        0
 Summary:        An IMAP and POP3 Server for Maildir MTAs
 License:        GPL-3.0-or-later
@@ -44,11 +44,9 @@
 ### Patch for upstream:
 ## fixes typo in Makefile.am
 Patch3:         %{name}-Makefile.patch
-# PATCH-FIX-SLE courier-imap-stdc.patch - rewrite C99 construction to C89 as 
GCC 4.8 doesn't enable C99 by default
-Patch4:         %{name}-stdc.patch
 BuildRequires:  audit-libs
-BuildRequires:  courier-authlib-devel >= 0.68
-BuildRequires:  courier-unicode-devel >= 2.0
+BuildRequires:  courier-authlib-devel >= 0.71
+BuildRequires:  courier-unicode-devel >= 2.1
 BuildRequires:  db-devel
 BuildRequires:  gamin-devel
 BuildRequires:  gcc-c++
@@ -62,7 +60,7 @@
 BuildRequires:  zlib-devel
 BuildRequires:  pkgconfig(openssl)
 BuildRequires:  pkgconfig(systemd)
-Requires:       courier-authlib >= 0.68
+Requires:       courier-authlib >= 0.71
 Requires:       fam-server
 Requires:       gdbm
 Requires:       openssl
@@ -103,7 +101,6 @@
 %patch0
 %patch2
 %patch3
-%patch4
 
 %build
 %configure \

++++++ courier-imap-5.0.10.tar.bz2 -> courier-imap-5.0.11.tar.bz2 ++++++
++++ 4740 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/courier-imap-5.0.10/configure.ac new/courier-imap-5.0.11/configure.ac
--- old/courier-imap-5.0.10/configure.ac        2020-04-20 14:09:34.000000000 
+0200
+++ new/courier-imap-5.0.11/configure.ac        2020-06-18 03:22:56.000000000 
+0200
@@ -1,16 +1,17 @@
 dnl Process this file with autoconf to produce a configure script.
 dnl
-dnl Copyright 1998 - 2019 Double Precision, Inc.  See COPYING for
+dnl Copyright 1998 - 2020 Double Precision, Inc.  See COPYING for
 dnl distribution information.
 
 AC_PREREQ(2.59)
-AC_INIT(courier-imap, 5.0.10, [courier-i...@lists.sourceforge.net])
+AC_INIT(courier-imap, 5.0.11, [courier-i...@lists.sourceforge.net])
 AC_CONFIG_SRCDIR(libs/imap/imapd.c)
 AC_CONFIG_HEADERS(config.h)
 AM_INIT_AUTOMAKE
 >confdefs.h # Kill PACKAGE_ macros
 
 AC_PROG_CC
+AC_PROG_CC_C99
 AC_PROG_AWK
 AC_PROG_INSTALL
 AC_PROG_LN_S
@@ -145,9 +146,9 @@
        AC_MSG_WARN([])
        AC_MSG_ERROR(courierauthconfig not found)
 fi
-if test `$COURIERAUTHCONFIG --version=0.61.0` = "no"
+if test `$COURIERAUTHCONFIG --version=0.70.0.20200518` = "no"
 then
-       AC_MSG_ERROR(Courier authentication library version 0.61 required.)
+       AC_MSG_ERROR(Courier authentication library version 0.71 is required.)
 fi
 
 $COURIERAUTHCONFIG --configfiles >conftest || exit 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/courier-imap-5.0.10/courier-imap.spec 
new/courier-imap-5.0.11/courier-imap.spec
--- old/courier-imap-5.0.10/courier-imap.spec   2020-04-20 14:25:04.000000000 
+0200
+++ new/courier-imap-5.0.11/courier-imap.spec   2020-06-18 03:37:57.000000000 
+0200
@@ -26,13 +26,13 @@
 %define _missing_doc_files_terminate_build 1
 %define _unpackaged_files_terminate_build 1
 
-Summary: Courier-IMAP 5.0.10 IMAP server
+Summary: Courier-IMAP 5.0.11 IMAP server
 Name: courier-imap
-Version: 5.0.10
+Version: 5.0.11
 Release: 1%{courier_release}
 License: GPL
 Group: Applications/Mail
-Source: %{name}-5.0.10.tar.bz2
+Source: %{name}-5.0.11.tar.bz2
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
 Requires: coreutils sed
 %if %suse_version
@@ -97,7 +97,7 @@
 # SuSE specific settings
 %if %suse_version
 # some templates for SuSE distribs.
-%define templdir       ${RPM_BUILD_DIR}/%{name}-5.0.10/packaging/suse
+%define templdir       ${RPM_BUILD_DIR}/%{name}-5.0.11/packaging/suse
 %define _sysconfdir    /etc/courier-imap
 %define        _mandir         /usr/share/man
 %define initlndir      /usr/sbin
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/courier-imap-5.0.10/libs/bdbobj/configure.ac 
new/courier-imap-5.0.11/libs/bdbobj/configure.ac
--- old/courier-imap-5.0.10/libs/bdbobj/configure.ac    2014-02-16 
10:00:09.000000000 +0100
+++ new/courier-imap-5.0.11/libs/bdbobj/configure.ac    2020-04-21 
13:51:59.000000000 +0200
@@ -15,6 +15,7 @@
 dnl Checks for programs.
 AC_USE_SYSTEM_EXTENSIONS
 AC_PROG_CC
+AC_PROG_CC_C99
 AC_PROG_AWK
 AC_PROG_CXX
 AC_ISC_POSIX
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/courier-imap-5.0.10/libs/gdbmobj/configure.ac 
new/courier-imap-5.0.11/libs/gdbmobj/configure.ac
--- old/courier-imap-5.0.10/libs/gdbmobj/configure.ac   2014-02-16 
10:00:09.000000000 +0100
+++ new/courier-imap-5.0.11/libs/gdbmobj/configure.ac   2020-04-21 
13:51:59.000000000 +0200
@@ -15,6 +15,7 @@
 dnl Checks for programs.
 AC_USE_SYSTEM_EXTENSIONS
 AC_PROG_CC
+AC_PROG_CC_C99
 AC_ISC_POSIX
 AC_PROG_AWK
 AC_PROG_CXX
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/courier-imap-5.0.10/libs/imap/ChangeLog 
new/courier-imap-5.0.11/libs/imap/ChangeLog
--- old/courier-imap-5.0.10/libs/imap/ChangeLog 2020-04-20 14:12:25.000000000 
+0200
+++ new/courier-imap-5.0.11/libs/imap/ChangeLog 2020-06-18 03:24:23.000000000 
+0200
@@ -1,3 +1,12 @@
+5.0.11
+
+2020-05-18  Sam Varshavchik  <mr...@courier-mta.com>
+
+       * courier-authlib API update.
+
+2020-04-21  Sam Varshavchik  <mr...@courier-mta.com>
+
+       * Add AC_PROG_CC_C99 to configure
 5.0.10
 
 2020-02-25  FlorianMickler <flor...@mickler.org>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/courier-imap-5.0.10/libs/imap/authenticate_auth.c 
new/courier-imap-5.0.11/libs/imap/authenticate_auth.c
--- old/courier-imap-5.0.10/libs/imap/authenticate_auth.c       2013-08-25 
20:52:10.000000000 +0200
+++ new/courier-imap-5.0.11/libs/imap/authenticate_auth.c       2020-05-19 
03:40:15.000000000 +0200
@@ -136,7 +136,8 @@
        if (!p || !*p)
                p="imap";
 
-       rc=auth_generic(p, authtype, authdata, login_callback, (void *)tag);
+       rc=auth_generic_meta(NULL, p, authtype, authdata,
+                            login_callback, (void *)tag);
        free(authtype);
        free(authdata);
        return (rc);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/courier-imap-5.0.10/libs/imap/configure.ac 
new/courier-imap-5.0.11/libs/imap/configure.ac
--- old/courier-imap-5.0.10/libs/imap/configure.ac      2020-04-20 
14:12:25.000000000 +0200
+++ new/courier-imap-5.0.11/libs/imap/configure.ac      2020-06-18 
03:24:23.000000000 +0200
@@ -4,7 +4,7 @@
 dnl Copyright 1998 - 2019 Double Precision, Inc.  See COPYING for
 dnl distribution information.
 
-AC_INIT(courier-imap, 5.0.10, [courier-us...@lists.sourceforge.net])
+AC_INIT(courier-imap, 5.0.11, [courier-us...@lists.sourceforge.net])
 
 >confdefs.h  # Kill PACKAGE_ macros
 
@@ -18,6 +18,7 @@
 dnl Checks for programs.
 AC_USE_SYSTEM_EXTENSIONS
 AC_PROG_CC
+AC_PROG_CC_C99
 AC_PROG_AWK
 AC_PROG_INSTALL
 AC_PROG_LN_S
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/courier-imap-5.0.10/libs/imap/imaplogin.c 
new/courier-imap-5.0.11/libs/imap/imaplogin.c
--- old/courier-imap-5.0.10/libs/imap/imaplogin.c       2019-09-06 
03:43:44.000000000 +0200
+++ new/courier-imap-5.0.11/libs/imap/imaplogin.c       2020-05-19 
03:40:15.000000000 +0200
@@ -374,7 +374,8 @@
                if (!p || !*p)
                        p="imap";
 
-               rc=auth_login(p, userid, passwd, login_callback, (void *)tag);
+               rc=auth_login_meta(NULL, p, userid, passwd,
+                                  login_callback, (void *)tag);
                courier_safe_printf("INFO: LOGIN FAILED, user=%s, ip=[%s], 
port=[%s]",
                                    userid, getenv("TCPREMOTEIP"),
                                    getenv("TCPREMOTEPORT"));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/courier-imap-5.0.10/libs/imap/pop3login.c 
new/courier-imap-5.0.11/libs/imap/pop3login.c
--- old/courier-imap-5.0.10/libs/imap/pop3login.c       2019-09-06 
03:43:44.000000000 +0200
+++ new/courier-imap-5.0.11/libs/imap/pop3login.c       2020-05-19 
03:40:15.000000000 +0200
@@ -1,5 +1,5 @@
 /*
-** Copyright 1998 - 2014 Double Precision, Inc.
+** Copyright 1998 - 2020 Double Precision, Inc.
 ** See COPYING for distribution information.
 */
 
@@ -403,11 +403,12 @@
                                                if (!q || !*q)
                                                        q="pop3";
 
-                                               rc=auth_generic(q,
-                                                            authtype,
-                                                            authdata,
-                                                            login_callback,
-                                                            NULL);
+                                               rc=auth_generic_meta
+                                                       (NULL, q,
+                                                        authtype,
+                                                        authdata,
+                                                        login_callback,
+                                                        NULL);
                                                free(authtype);
                                                free(authdata);
                                        }
@@ -452,7 +453,8 @@
                                if (!q || !*q)
                                        q="pop3";
 
-                               rc=auth_login(q, user, p, login_callback, NULL);
+                               rc=auth_login_meta(NULL, q, user, p,
+                                                  login_callback, NULL);
                                courier_safe_printf
                                        ("INFO: LOGIN "
                                         "FAILED, user=%s, ip=[%s], port=[%s]",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/courier-imap-5.0.10/libs/libhmac/configure.ac 
new/courier-imap-5.0.11/libs/libhmac/configure.ac
--- old/courier-imap-5.0.10/libs/libhmac/configure.ac   2014-02-16 
10:00:09.000000000 +0100
+++ new/courier-imap-5.0.11/libs/libhmac/configure.ac   2020-04-21 
13:51:59.000000000 +0200
@@ -20,6 +20,7 @@
 AC_PROG_INSTALL
 AC_PROG_LN_S
 AC_PROG_CC
+AC_PROG_CC_C99
 AC_PROG_LIBTOOL
 
 if test "$GCC" = yes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/courier-imap-5.0.10/libs/liblock/configure.ac 
new/courier-imap-5.0.11/libs/liblock/configure.ac
--- old/courier-imap-5.0.10/libs/liblock/configure.ac   2014-02-16 
10:00:09.000000000 +0100
+++ new/courier-imap-5.0.11/libs/liblock/configure.ac   2020-04-21 
13:51:59.000000000 +0200
@@ -17,6 +17,7 @@
 dnl Checks for programs.
 AC_PROG_AWK
 AC_PROG_CC
+AC_PROG_CC_C99
 AC_PROG_INSTALL
 AC_PROG_LN_S
 AC_PROG_LIBTOOL
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/courier-imap-5.0.10/libs/maildir/configure.ac 
new/courier-imap-5.0.11/libs/maildir/configure.ac
--- old/courier-imap-5.0.10/libs/maildir/configure.ac   2018-07-29 
06:04:23.000000000 +0200
+++ new/courier-imap-5.0.11/libs/maildir/configure.ac   2020-04-21 
13:51:59.000000000 +0200
@@ -18,6 +18,7 @@
 AC_PROG_AWK
 AC_USE_SYSTEM_EXTENSIONS
 AC_PROG_CC
+AC_PROG_CC_C99
 AC_PROG_INSTALL
 AC_PROG_LN_S
 AC_LIBTOOL_DLOPEN
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/courier-imap-5.0.10/libs/makedat/configure.ac 
new/courier-imap-5.0.11/libs/makedat/configure.ac
--- old/courier-imap-5.0.10/libs/makedat/configure.ac   2014-02-16 
10:00:09.000000000 +0100
+++ new/courier-imap-5.0.11/libs/makedat/configure.ac   2020-04-21 
13:51:59.000000000 +0200
@@ -15,6 +15,7 @@
 
 dnl Checks for programs.
 AC_PROG_CC
+AC_PROG_CC_C99
 AC_PROG_INSTALL
 AC_PROG_LN_S
 AC_PATH_PROGS(PERL, perl5 perl, perl, $LPATH)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/courier-imap-5.0.10/libs/md5/configure.ac 
new/courier-imap-5.0.11/libs/md5/configure.ac
--- old/courier-imap-5.0.10/libs/md5/configure.ac       2014-02-16 
10:00:09.000000000 +0100
+++ new/courier-imap-5.0.11/libs/md5/configure.ac       2020-04-21 
13:51:59.000000000 +0200
@@ -20,6 +20,7 @@
 AC_PROG_INSTALL
 AC_PROG_LN_S
 AC_PROG_CC
+AC_PROG_CC_C99
 AC_PROG_LIBTOOL
 
 if test "$GCC" = yes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/courier-imap-5.0.10/libs/numlib/configure.ac 
new/courier-imap-5.0.11/libs/numlib/configure.ac
--- old/courier-imap-5.0.10/libs/numlib/configure.ac    2014-02-16 
10:00:09.000000000 +0100
+++ new/courier-imap-5.0.11/libs/numlib/configure.ac    2020-04-21 
13:51:59.000000000 +0200
@@ -16,6 +16,7 @@
 dnl Checks for programs.
 AC_PROG_AWK
 AC_PROG_CC
+AC_PROG_CC_C99
 AC_PROG_INSTALL
 AC_PROG_LN_S
 AC_PROG_LIBTOOL
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/courier-imap-5.0.10/libs/random128/configure.ac 
new/courier-imap-5.0.11/libs/random128/configure.ac
--- old/courier-imap-5.0.10/libs/random128/configure.ac 2014-02-16 
10:00:09.000000000 +0100
+++ new/courier-imap-5.0.11/libs/random128/configure.ac 2020-04-21 
13:51:59.000000000 +0200
@@ -19,6 +19,7 @@
 AC_PROG_INSTALL
 AC_PROG_LN_S
 AC_PROG_CC
+AC_PROG_CC_C99
 AC_PATH_PROGS(PS, ps, ps, $LPATH)
 AC_PATH_PROGS(W, w, w, $LPATH)
 AC_PROG_LIBTOOL
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/courier-imap-5.0.10/libs/rfc1035/configure.ac 
new/courier-imap-5.0.11/libs/rfc1035/configure.ac
--- old/courier-imap-5.0.10/libs/rfc1035/configure.ac   2018-07-28 
21:32:31.000000000 +0200
+++ new/courier-imap-5.0.11/libs/rfc1035/configure.ac   2020-04-21 
13:51:59.000000000 +0200
@@ -16,6 +16,7 @@
 dnl Checks for programs.
 AC_PROG_AWK
 AC_PROG_CC
+AC_PROG_CC_C99
 AC_PROG_INSTALL
 AC_PROG_LN_S
 AC_LIBTOOL_DLOPEN
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/courier-imap-5.0.10/libs/rfc1035/rfc1035.h 
new/courier-imap-5.0.11/libs/rfc1035/rfc1035.h
--- old/courier-imap-5.0.10/libs/rfc1035/rfc1035.h      2020-04-08 
11:00:04.000000000 +0200
+++ new/courier-imap-5.0.11/libs/rfc1035/rfc1035.h      2020-05-08 
11:00:06.000000000 +0200
@@ -228,6 +228,22 @@
 
 #define RFC1035_X_RANDOMIZE 1    /* Randomize query results */
 
+/*
+** rfc1035_resolve_cname_multiple is a version of rfc1035_resolve_cname
+** that accepts an array of qtypes, and issues a query for each qtype.
+**
+** qtypes points to a 0-terminated list of RRs.
+*/
+int rfc1035_resolve_cname_multiple(struct rfc1035_res *res,
+                                  char *namebuf,
+                                  /* RFC1035_MAXNAMESIZE buffer with
+                                  ** the name to query */
+                                  unsigned char *qtypes,
+                                  unsigned qclass,
+                                  struct rfc1035_reply **ptr,
+                                  int x_flags);
+
+
        /*
        ** Always call replyfree when done.
        */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/courier-imap-5.0.10/libs/rfc1035/rfc1035reply.c 
new/courier-imap-5.0.11/libs/rfc1035/rfc1035reply.c
--- old/courier-imap-5.0.10/libs/rfc1035/rfc1035reply.c 2018-07-28 
21:32:31.000000000 +0200
+++ new/courier-imap-5.0.11/libs/rfc1035/rfc1035reply.c 2020-05-08 
11:00:06.000000000 +0200
@@ -489,7 +489,10 @@
 
 void rfc1035_rr_rand(struct rfc1035_reply *rr)
 {
-       rfc1035_rr_rand_an(rr);
-       rfc1035_rr_rand_ns(rr);
-       rfc1035_rr_rand_ar(rr);
+       if (rr->ancount > 1)
+               rfc1035_rr_rand_an(rr);
+       if (rr->nscount > 1)
+               rfc1035_rr_rand_ns(rr);
+       if (rr->arcount > 1)
+               rfc1035_rr_rand_ar(rr);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/courier-imap-5.0.10/libs/rfc1035/rfc1035resolve.c 
new/courier-imap-5.0.11/libs/rfc1035/rfc1035resolve.c
--- old/courier-imap-5.0.10/libs/rfc1035/rfc1035resolve.c       2020-04-10 
11:00:04.000000000 +0200
+++ new/courier-imap-5.0.11/libs/rfc1035/rfc1035resolve.c       2020-04-22 
11:00:04.000000000 +0200
@@ -84,8 +84,7 @@
 
 static struct rfc1035_reply
 *rfc1035_resolve_multiple_attempt(struct rfc1035_res *res,
-                                 int opcode,
-                                 struct querybuf *qbuf,
+                                 struct rfc1035_udp_query_responses *resps,
                                  int udpfd,
                                  int af,
                                  const RFC1035_ADDR *sin,
@@ -93,8 +92,8 @@
 
 static struct rfc1035_reply
 *rfc1035_resolve_multiple_attempt_tcp(struct rfc1035_res *res,
-                                     int opcode,
-                                     struct querybuf *qbuf,
+                                     char const*query,
+                                     unsigned querylen,
                                      int af,
                                      const RFC1035_ADDR *sin,
                                      int isaxfr,
@@ -106,9 +105,9 @@
                               const struct rfc1035_query *queries,
                               unsigned nqueries)
 {
-       struct  querybuf qbuf;
+       struct  querybuf qbuf[nqueries];
        int     udpfd;
-       int     attempt;
+       unsigned attempt;
        const RFC1035_ADDR *ns;
        unsigned nscount;
        unsigned current_timeout, timeout_backoff;
@@ -116,6 +115,7 @@
        int     af;
        unsigned i;
        int     isaxfr=0;
+       struct rfc1035_udp_query_responses *resps=0;
 
        struct  rfc1035_reply *rfcreply=0;
        static const char fakereply[]={0, 0, 0, RFC1035_RCODE_SERVFAIL,
@@ -130,20 +130,21 @@
        if (res->rfc1035_good_ns >= nscount)
                res->rfc1035_good_ns=0;
 
-       qbuf.qbuflen=0;
-       if ( rfc1035_mkquery(res,
-               opcode, queries, nqueries, &putqbuf, &qbuf))
-       {
-               errno=EINVAL;
-               return (0);
-       }
-
        for (i=0; i<nqueries; i++)
+       {
+               qbuf[i].qbuflen=0;
+               if ( rfc1035_mkquery(res,
+                       opcode, &queries[i], 1, &putqbuf, &qbuf[i]))
+               {
+                       errno=EINVAL;
+                       return (0);
+               }
                if (queries[i].qtype == RFC1035_TYPE_AXFR)
                {
                        isaxfr=1;
                        break;
                }
+       }
 
        if (isaxfr && nqueries > 1)
                return rfc1035_replyparse(fakereply, sizeof(fakereply));
@@ -152,6 +153,11 @@
 
        if ((udpfd=rfc1035_open_udp(&af)) < 0)  return (0);
 
+       /* Prepare responses array for multple queries */
+
+       if (!isaxfr)
+               resps=rfc1035_udp_query_response_alloc_bis(qbuf, nqueries);
+
        /* Keep trying until we get an answer from a nameserver */
 
        current_timeout=res->rfc1035_timeout_initial;
@@ -172,16 +178,15 @@
                        rfcreply=isaxfr ?
                                rfc1035_resolve_multiple_attempt_tcp
                                (res,
-                                opcode,
-                                &qbuf,
+                                qbuf[0].qbuf,
+                                qbuf[0].qbuflen,
                                 af,
                                 sin,
                                 1,
                                 current_timeout)
                                : rfc1035_resolve_multiple_attempt
                                (res,
-                                opcode,
-                                &qbuf,
+                                resps,
                                 udpfd,
                                 af,
                                 sin,
@@ -202,6 +207,9 @@
 
        sox_close(udpfd);
 
+       if (resps)
+               rfc1035_udp_query_response_free(resps);
+
        if (!rfcreply)
                rfcreply=rfc1035_replyparse(fakereply, sizeof(fakereply));
 
@@ -210,78 +218,113 @@
 
 static struct rfc1035_reply
 *rfc1035_resolve_multiple_attempt(struct rfc1035_res *res,
-                                 int opcode,
-                                 struct querybuf *qbuf,
+                                 struct rfc1035_udp_query_responses *resps,
                                  int udpfd,
                                  int af,
                                  const RFC1035_ADDR *sin,
                                  unsigned current_timeout)
 {
-       int     nbytes;
-       char    *reply;
-       struct  rfc1035_reply *rfcreply=0;
-
+       struct  rfc1035_reply *rfcreply=0, **rfcpp=&rfcreply;
        int     sin_len=sizeof(*sin);
-
        int     dotcp=0;
+       unsigned n, nqueries=resps->n_queries;
 
+       if (!resps)
+               return NULL;
 
-               if (!dotcp)
-               {
+       if (!dotcp)
+       {
                /* Send the query via UDP */
                RFC1035_NETADDR addrbuf;
                const struct sockaddr *addrptr;
                int     addrptrlen;
 
-                       if (rfc1035_mkaddress(af, &addrbuf,
-                               sin, htons(53),
-                               &addrptr, &addrptrlen))
-                               return NULL;
-
-                       if ((reply=rfc1035_query_udp(res, udpfd, addrptr,
-                               addrptrlen, qbuf->qbuf, qbuf->qbuflen, &nbytes,
-                                       current_timeout)) == 0)
-                               return NULL;
+               if (rfc1035_mkaddress(af, &addrbuf,
+                                     sin, htons(53),
+                                     &addrptr, &addrptrlen))
+                       return NULL;
+
+               if (rfc1035_udp_query_multi(res, udpfd, addrptr,
+                                           addrptrlen, resps, current_timeout) 
== 0)
+                       return NULL;
 
-               /* Parse the reply */
+               /* Parse the replies */
 
-                       rfcreply=rfc1035_replyparse(reply, nbytes);
-                       if (!rfcreply)
+               for (n = 0; n < nqueries; ++n)
+               {
+                       struct rfc1035_udp_query_response 
*reply=&resps->queries[n];
+                       if (!reply->response)
+                               break; // How come? rfc1035_udp_query_multi 
succeeded...
+
+                       *rfcpp=rfc1035_replyparse(reply->response, 
reply->resplen);
+                       if (!*rfcpp)
                        {
-                               free(reply);
-                               return NULL;
-                       /* Bad response from the server, try the next one. */
+                               free(reply->response); // possibly unparseable
+                               reply->response=0;
+                               break;
                        }
-                       rfcreply->mallocedbuf=reply;
-               /*
-               ** If the reply came back with the truncated bit set,
-               ** retry the query via TCP.
-               */
 
-                       if (rfcreply->tc)
-                       {
+                       if ((*rfcpp)->tc)
                                dotcp=1;
+                       (*rfcpp)->mallocedbuf=reply->response;
+                       reply->response=0;
+                       rfcpp=&(*rfcpp)->next;
+               }
+
+               if (n < nqueries)
+               {
+                       if (rfcreply)
                                rfc1035_replyfree(rfcreply);
+                       return NULL;
+               }
+       }
+
+       if (dotcp)
+       {
+               n = 0;
+               for (rfcpp=&rfcreply; *rfcpp; rfcpp=&(*rfcpp)->next, ++n)
+               {
+                       /*
+                        * UDP replies are all in, some were truncated.
+                        */
+                       if ((*rfcpp)->tc)
+                       {
+                               struct rfc1035_reply *next=(*rfcpp)->next, 
*newrfc;
+                               struct rfc1035_udp_query_response 
*reply=&resps->queries[n];
+
+                               newrfc=rfc1035_resolve_multiple_attempt_tcp(res,
+                                                                           
reply->query, reply->querylen,
+                                                                           af, 
sin, 0, current_timeout);
+                               if (!newrfc)
+                                       break;
+
+                               /*
+                                * Replace the truncated reply in the linked 
list
+                                */
+                               (*rfcpp)->next=0; // only free this
+                               rfc1035_replyfree(*rfcpp);
+                               *rfcpp=newrfc;
+                               (*rfcpp)->next=next;
                        }
                }
 
-               if (dotcp)
+               if (n < nqueries && rfcreply)
                {
-                       rfcreply=rfc1035_resolve_multiple_attempt_tcp
-                               (res, opcode, qbuf, af, sin, 0,
-                                current_timeout);
-                       if (!rfcreply)
-                               return NULL;
+                       rfc1035_replyfree(rfcreply);
+                       rfcreply=0;
                }
+       }
 
+       if (rfcreply)
                memcpy(&rfcreply->server_addr, sin, sin_len);
-               return (rfcreply);
+
+       return (rfcreply);
 }
 
 static struct rfc1035_reply
 *rfc1035_resolve_multiple_attempt_tcp(struct rfc1035_res *res,
-                                     int opcode,
-                                     struct querybuf *qbuf,
+                                     char const*query,
+                                     unsigned querylen,
                                      int af,
                                      const RFC1035_ADDR *sin,
                                      int isaxfr,
@@ -299,66 +342,67 @@
        */
        unsigned check_soa=1;
 
-               int     tcpfd;
-               struct  rfc1035_reply *firstreply=0, *lastreply=0;
+       int     tcpfd;
+       struct  rfc1035_reply *firstreply=0, *lastreply=0;
 
-                       if ((tcpfd=rfc1035_open_tcp(res, sin)) < 0)
-                               return NULL;    /*
-                                               ** Can't connect via TCP,
-                                               ** try the next server.
-                                               */
+       if ((tcpfd=rfc1035_open_tcp(res, sin)) < 0)
+               return NULL;    /*
+                               ** Can't connect via TCP,
+                               ** try the next server.
+                               */
 
-                       reply=rfc1035_query_tcp(res, tcpfd, qbuf->qbuf,
-                               qbuf->qbuflen, &nbytes, current_timeout);
+       reply=rfc1035_query_tcp(res, tcpfd, query,
+                               querylen, &nbytes, current_timeout);
 
-                       if (!reply)
-                       {
-                               sox_close(tcpfd);
-                               return NULL;
-                       }
+       if (!reply)
+       {
+               sox_close(tcpfd);
+               return NULL;
+       }
 
-                       rfcreply=rfc1035_replyparse(reply, nbytes);
-                       if (!rfcreply)
-                       {
-                               free(reply);
-                               sox_close(tcpfd);
-                               return NULL;
-                       }
-                       rfcreply->mallocedbuf=reply;
-                       firstreply=lastreply=rfcreply;
-                       while (isaxfr && rfcreply->rcode == 0)
-                       {
-                               for (i=check_soa; i<rfcreply->ancount; ++i)
-                               {
-                                       if (rfcreply->anptr[i].rrtype ==
-                                           RFC1035_TYPE_SOA)
-                                               break;
-                               }
+       rfcreply=rfc1035_replyparse(reply, nbytes);
+       if (!rfcreply)
+       {
+               free(reply);
+               sox_close(tcpfd);
+               return NULL;
+       }
+       rfcreply->mallocedbuf=reply;
+       firstreply=lastreply=rfcreply;
+       while (isaxfr && rfcreply->rcode == 0)
+       {
+               for (i=check_soa; i<rfcreply->ancount; ++i)
+               {
+                       if (rfcreply->anptr[i].rrtype ==
+                           RFC1035_TYPE_SOA)
+                               break;
+               }
 
-                               if (i < rfcreply->ancount)
-                                       break; /* Found trailing SOA */
+               if (i < rfcreply->ancount)
+                       break; /* Found trailing SOA */
 
-                               check_soa=0;
+               check_soa=0;
 
-                               if ((reply=rfc1035_recv_tcp(res,
-                                       tcpfd, &nbytes, current_timeout))==0)
-                                       break;
+               if ((reply=rfc1035_recv_tcp(res,
+                                           tcpfd, &nbytes,
+                                           current_timeout))==0)
+                       break;
 
-                               rfcreply=rfc1035_replyparse(reply, nbytes);
-                               if (!rfcreply)
-                               {
-                                       free(reply);
-                                       rfc1035_replyfree(firstreply);
-                                       firstreply=0;
-                                       break;
-                               }
-                               rfcreply->mallocedbuf=reply;
-                               lastreply->next=rfcreply;
-                               lastreply=rfcreply;
-                       }
-                       sox_close(tcpfd);
+               rfcreply=rfc1035_replyparse(reply, nbytes);
+               if (!rfcreply)
+               {
+                       free(reply);
+                       rfc1035_replyfree(firstreply);
+                       firstreply=0;
+                       break;
+               }
+               rfcreply->mallocedbuf=reply;
+               lastreply->next=rfcreply;
+               lastreply=rfcreply;
+       }
+       sox_close(tcpfd);
 
-                       return firstreply;
+       return firstreply;
 }
 
 struct rfc1035_reply *rfc1035_resolve(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/courier-imap-5.0.10/libs/rfc1035/rfc1035search.c 
new/courier-imap-5.0.11/libs/rfc1035/rfc1035search.c
--- old/courier-imap-5.0.10/libs/rfc1035/rfc1035search.c        2015-06-27 
19:52:32.000000000 +0200
+++ new/courier-imap-5.0.11/libs/rfc1035/rfc1035search.c        2020-05-09 
11:00:03.000000000 +0200
@@ -141,7 +141,8 @@
        return (-1);
 }
 
-int rfc1035_resolve_cname(struct rfc1035_res *res, char *namebuf,
+int rfc1035_resolve_cname(struct rfc1035_res *res,
+                         char *namebuf,
                          unsigned qtype,
                          unsigned qclass,
                          struct rfc1035_reply **ptr,
@@ -212,3 +213,141 @@
                return (-1);
        }
 }
+
+int rfc1035_resolve_cname_multiple(struct rfc1035_res *res,
+                                  char *namebuf,
+                                  unsigned char *qtypes,
+                                  unsigned qclass,
+                                  struct rfc1035_reply **ptr,
+                                  int x_flags)
+{
+       int     n, query_again;
+       int     retry_count=10;
+       unsigned nqueries=strlen((char*)qtypes), u, good, cname;
+       struct rfc1035_query qu[nqueries];
+       struct rfc1035_reply *p;
+
+       char    savename[RFC1035_MAXNAMESIZE+1],
+               cmpname1[RFC1035_MAXNAMESIZE+1],
+               cmpname2[RFC1035_MAXNAMESIZE+1];
+
+       static const char forbidden[] =
+               {
+                RFC1035_TYPE_CNAME,
+                RFC1035_TYPE_AXFR,
+                RFC1035_TYPE_ANY,
+                0
+               };
+
+       *ptr=NULL;
+
+       if (nqueries == 0)
+               return -1;
+
+       strcpy(savename, namebuf);
+       for (u=0; u<nqueries; ++u)
+       {
+               qu[u].name=namebuf;
+               qu[u].qclass=qclass;
+               qu[u].qtype=qtypes[u];
+
+               if (strchr(forbidden, qtypes[u]))
+               {
+                       if (nqueries == 1)
+                       {
+                               return rfc1035_resolve_cname(res, namebuf,
+                                                            qtypes[0],
+                                                            qclass,
+                                                            ptr,
+                                                            x_flags);
+                       }
+                       return -1;
+               }
+       }
+
+       do // query loop
+       {
+               if (*ptr)
+                       rfc1035_replyfree( *ptr );
+
+               if ( (*ptr=rfc1035_resolve_multiple(res, RFC1035_OPCODE_QUERY,
+                               qu, nqueries)) == 0)
+                       return (-1);
+
+               query_again=0;
+
+               for (;;) // change name loop
+               {
+                       int fatal = 0;
+
+                       good = cname = 0;
+                       for (u=0, p=*ptr; p; ++u, p=p->next)
+                       {
+                               if (p->rcode != RFC1035_RCODE_NOERROR ||
+                                       (n=rfc1035_replysearch_all(res,
+                                                                  p, namebuf,
+                                                                  qu[u].qtype,
+                                                                  qclass, 0))
+                                   < 0)
+                                       continue;
+                               else if (p->allrrs[n]->rrtype == qu[u].qtype)
+                               {
+                                       ++good;
+                               }
+                               else // CNAME (not the queried type).
+                               {
+                                       if (rfc1035_replyhostname(p, 
p->anptr[n].rr.domainname,
+                                               cname? cmpname1: cmpname2) == 0)
+                                                       fatal=-1;
+
+                                       else if (cname && strcmp(cmpname1, 
cmpname2))
+                                               query_again=1;  // different 
aliases: try again
+
+                                       ++cname;
+                               }
+                       }
+
+                       if (good == 0 && cname == 0)
+                       {
+                               return (-1);
+                       }
+
+                       if (good > 0 && cname > 0)
+                               query_again=1; // have both cnames and 
non-cnames
+
+                       if (query_again)
+                       {
+                               if (--retry_count > 0)
+                               {
+                                 /* Query back from the original alias. */
+                                       strcpy(namebuf, savename);
+                                       break;
+                               }
+
+                               fatal=RFC1035_ERR_CNAME_RECURSIVE;
+                       }
+
+                       if (fatal)
+                       {
+                               rfc1035_replyfree( *ptr );
+                               *ptr=0;
+                               return fatal;
+                       }
+
+                       if (good)
+                               break;
+
+               /* CNAME found.  Return alias to caller, and restart from there 
*/
+
+                       strcpy(namebuf, cmpname1);
+               }
+
+       } while (query_again);
+
+       if (x_flags & RFC1035_X_RANDOMIZE)
+               for (p=*ptr; p; p=p->next)
+                       if (p->rcode == RFC1035_RCODE_NOERROR)
+                               rfc1035_rr_rand(p);
+
+       return (0);
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/courier-imap-5.0.10/libs/rfc1035/testlookup.c 
new/courier-imap-5.0.11/libs/rfc1035/testlookup.c
--- old/courier-imap-5.0.10/libs/rfc1035/testlookup.c   2020-04-07 
11:00:06.000000000 +0200
+++ new/courier-imap-5.0.11/libs/rfc1035/testlookup.c   2020-05-08 
11:00:06.000000000 +0200
@@ -74,13 +74,65 @@
        }
 }
 
+static int get_q_type_pass(const char *p,
+                           void (*cb)(unsigned char, void *),
+                           void *ptr)
+{
+       char qbuf[strlen(p)+1];
+       char *q;
+
+       strcpy(qbuf, p);
+
+       for (q=qbuf; (q=strtok(q, ", \t\r\n")); q=0)
+       {
+               int n=rfc1035_type_strtoi(q);
+
+               if (n < 0)
+                       return -1;
+
+               (*cb)(n, ptr);
+       }
+
+       return 0;
+}
+
+static void get_q_type_count(unsigned char c, void *ptr)
+{
+       ++*(size_t *)ptr;
+}
+
+static void get_q_type_save(unsigned char c, void *ptr)
+{
+       *(*(unsigned char **)ptr)++=c;
+}
+
+static unsigned char *get_q_type(const char *p)
+{
+       size_t n=0;
+       unsigned char *buf, *q;
+
+       errno=EINVAL;
+       if (get_q_type_pass(p, &get_q_type_count, &n) < 0)
+               return 0;
+
+       if ((buf=(unsigned char *)malloc(n+1)) == 0)
+               return 0;
+
+       q=buf;
+       get_q_type_pass(p, &get_q_type_save, &q);
+
+       *q=0;
+
+       return buf;
+}
+
 int main(int argc, char **argv)
 {
 struct  rfc1035_res res;
 struct rfc1035_reply *replyp;
 int    argn;
 const char *q_name;
-int    q_type;
+unsigned char *q_type;
 int    q_class;
 int    q_xflag=0;
 int    q_rflag=0;
@@ -229,18 +281,26 @@
                exit(1);
        }
 
-       q_type= -1;
+       q_type=0;
 
        if (argn < argc)
        {
                if (strcmp(argv[argn], "spf") == 0)
-                       q_type= -2;
-               else
-                       q_type=rfc1035_type_strtoi(argv[argn++]);
+               {
+                       spflookup(q_name);
+                       exit(0);
+               }
+               q_type=get_q_type(argv[argn]);
+               if (!q_type)
+               {
+                       perror(argv[argn]);
+                       exit(1);
+               }
+               argn++;
        }
 
-       if (q_type == -1)
-               q_type=q_xflag ? RFC1035_TYPE_PTR:RFC1035_TYPE_ANY;
+       if (q_type == 0)
+               q_type=get_q_type(q_xflag ? "PTR":"ANY");
 
        q_class= -1;
        if (argn < argc)
@@ -248,22 +308,49 @@
        if (q_class < 0)
                q_class=RFC1035_CLASS_IN;
 
-       if (q_type == -2)
+       if (q_type[0] && q_type[1])
        {
-               spflookup(q_name);
-               exit(0);
-       }
+               char namebuf[RFC1035_MAXNAMESIZE+1];
 
-       replyp=rfc1035_resolve(&res, RFC1035_OPCODE_QUERY,
-                              q_name, q_type, q_class);
+               namebuf[0]=0;
+               strncat(namebuf, q_name, RFC1035_MAXNAMESIZE);
 
+               if (rfc1035_resolve_cname_multiple(&res, namebuf,
+                                                  q_type, q_class,
+                                                  &replyp,
+                                                  RFC1035_X_RANDOMIZE)
+                   < 0)
+                       replyp=0;
+       }
+       else
+       {
+               replyp=rfc1035_resolve(&res, RFC1035_OPCODE_QUERY,
+                                      q_name, q_type[0], q_class);
+       }
+       free(q_type);
        if (!replyp)
        {
                perror(argv[0]);
                exit(1);
        }
 
-       rfc1035_dump(replyp, stdout);
+       if (q_type[0] && q_type[1])
+       {
+               struct rfc1035_reply *q;
+
+               for (q=replyp; q; q=q->next)
+               {
+                       struct rfc1035_reply *s=q->next;
+
+                       q->next=0;
+                       rfc1035_dump(q, stdout);
+                       q->next=s;
+               }
+       }
+       else
+       {
+               rfc1035_dump(replyp, stdout);
+       }
        rfc1035_replyfree(replyp);
        rfc1035_destroy_resolv(&res);
        return (0);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/courier-imap-5.0.10/libs/rfc2045/configure.ac 
new/courier-imap-5.0.11/libs/rfc2045/configure.ac
--- old/courier-imap-5.0.10/libs/rfc2045/configure.ac   2018-07-29 
06:04:23.000000000 +0200
+++ new/courier-imap-5.0.11/libs/rfc2045/configure.ac   2020-04-21 
13:51:59.000000000 +0200
@@ -13,6 +13,7 @@
 dnl Checks for programs.
 AC_USE_SYSTEM_EXTENSIONS
 AC_PROG_CC
+AC_PROG_CC_C99
 AC_PROG_CXX
 AC_LIBTOOL_DLOPEN
 AM_PROG_LIBTOOL
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/courier-imap-5.0.10/libs/rfc822/configure.ac 
new/courier-imap-5.0.11/libs/rfc822/configure.ac
--- old/courier-imap-5.0.10/libs/rfc822/configure.ac    2017-10-04 
01:26:26.000000000 +0200
+++ new/courier-imap-5.0.11/libs/rfc822/configure.ac    2020-04-21 
13:51:59.000000000 +0200
@@ -15,6 +15,7 @@
 dnl Checks for programs.
 AC_USE_SYSTEM_EXTENSIONS
 AC_PROG_CC
+AC_PROG_CC_C99
 AC_PROG_LIBTOOL
 
 if test "$GCC" = yes ; then
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/courier-imap-5.0.10/libs/sha1/configure.ac 
new/courier-imap-5.0.11/libs/sha1/configure.ac
--- old/courier-imap-5.0.10/libs/sha1/configure.ac      2014-02-16 
10:00:09.000000000 +0100
+++ new/courier-imap-5.0.11/libs/sha1/configure.ac      2020-04-21 
13:51:59.000000000 +0200
@@ -17,6 +17,7 @@
 
 dnl Checks for programs.
 AC_PROG_CC
+AC_PROG_CC_C99
 AC_PROG_INSTALL
 AC_PROG_LN_S
 AC_PROG_LIBTOOL
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/courier-imap-5.0.10/libs/soxwrap/configure.ac 
new/courier-imap-5.0.11/libs/soxwrap/configure.ac
--- old/courier-imap-5.0.10/libs/soxwrap/configure.ac   2014-02-16 
10:00:09.000000000 +0100
+++ new/courier-imap-5.0.11/libs/soxwrap/configure.ac   2020-04-21 
13:51:59.000000000 +0200
@@ -21,6 +21,7 @@
 AC_PROG_RANLIB
 AC_PROG_LN_S
 AC_PROG_CC
+AC_PROG_CC_C99
 
 dnl Check for options
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/courier-imap-5.0.10/libs/tcpd/configure.ac 
new/courier-imap-5.0.11/libs/tcpd/configure.ac
--- old/courier-imap-5.0.10/libs/tcpd/configure.ac      2019-12-11 
02:42:02.000000000 +0100
+++ new/courier-imap-5.0.11/libs/tcpd/configure.ac      2020-04-21 
13:51:59.000000000 +0200
@@ -15,6 +15,7 @@
 
 dnl Checks for programs.
 AC_PROG_CC
+AC_PROG_CC_C99
 AC_PROG_INSTALL
 AC_PROG_LN_S
 AC_LIBTOOL_DLOPEN
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/courier-imap-5.0.10/libs/tcpd/libcouriergnutls.c 
new/courier-imap-5.0.11/libs/tcpd/libcouriergnutls.c
--- old/courier-imap-5.0.10/libs/tcpd/libcouriergnutls.c        2019-12-06 
05:23:52.000000000 +0100
+++ new/courier-imap-5.0.11/libs/tcpd/libcouriergnutls.c        2020-04-25 
11:00:06.000000000 +0200
@@ -567,7 +567,6 @@
 
        p=idn_domain ? idn_domain:ssl->info_cpy.peer_verify_domain;
 
-       printf("Check %s\n", p);
        rc=gnutls_x509_crt_check_hostname(cert, p);
 
        if (idn_domain)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/courier-imap-5.0.10/libs/tcpd/libcouriertls.c 
new/courier-imap-5.0.11/libs/tcpd/libcouriertls.c
--- old/courier-imap-5.0.10/libs/tcpd/libcouriertls.c   2020-04-20 
14:12:25.000000000 +0200
+++ new/courier-imap-5.0.11/libs/tcpd/libcouriertls.c   2020-05-19 
03:40:15.000000000 +0200
@@ -194,7 +194,7 @@
                }
        }
 
-       if (idna_to_unicode_8z8z(info->peer_verify_domain, &idn_domain1, 0)
+       if (idna_to_unicode_8z8z(verify_domain, &idn_domain1, 0)
            != IDNA_SUCCESS)
                idn_domain1=0;
 
@@ -348,6 +348,9 @@
 {
        char errmsg[256];
 
+       if (errno == 0)
+               return;
+
        strcpy(errmsg, "couriertls: ");
        strncat(errmsg, pfix, 200);
        strcat(errmsg, ": ");
@@ -1362,6 +1365,8 @@
        struct tls_info *info=SSL_get_app_data(ssl);
        int n;
 
+       errno=0;
+
        if (info->connect_interrupted)
        {
                n=SSL_connect(ssl);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/courier-imap-5.0.10/libs/tcpd/tcpd.c 
new/courier-imap-5.0.11/libs/tcpd/tcpd.c
--- old/courier-imap-5.0.10/libs/tcpd/tcpd.c    2017-03-11 18:35:17.000000000 
+0100
+++ new/courier-imap-5.0.11/libs/tcpd/tcpd.c    2020-05-10 11:00:12.000000000 
+0200
@@ -1,5 +1,5 @@
 /*
-** Copyright 1998 - 2013 Double Precision, Inc.
+** Copyright 1998 - 2020 Double Precision, Inc.
 ** See COPYING for distribution information.
 */
 
@@ -1143,7 +1143,7 @@
                if (select(maxfd+1, &fdr, NULL, NULL, NULL) <= 0)
                {
                        if (errno != EINTR)
-                               perror("accept");
+                               perror("select");
                        continue;
                }
 
@@ -1603,6 +1603,8 @@
        struct rfc1035_res res;
        unsigned int i;
        int found;
+       unsigned char query_A[] = {RFC1035_TYPE_A, 0},
+               query_A_and_TXT[] = {RFC1035_TYPE_A, RFC1035_TYPE_TXT, 0};
 
        hostname[0]=0;
        strncat(hostname, nameptr, RFC1035_MAXNAMESIZE);
@@ -1626,9 +1628,9 @@
        else
                wanttxt = p->msg && strcmp(p->msg, "*") == 0;
 
-       (void)rfc1035_resolve_cname(&res,
+       (void)rfc1035_resolve_cname_multiple(&res,
                        hostname,
-                       wanttxt ? RFC1035_TYPE_TXT:RFC1035_TYPE_A,
+                       wanttxt ? query_A_and_TXT:query_A,
                        RFC1035_CLASS_IN, &replyp, 0);
 
        if (!replyp)
@@ -1670,7 +1672,8 @@
                if (p->allow)
                        set_allow_variable(varname, p->msg);
 
-               if (!search_txt_records(&res, p->allow, varname, replyp,
+               if (replyp->next &&
+                       !search_txt_records(&res, p->allow, varname, 
replyp->next,
                                        hostname) && !p->allow)
                {
                        size_t l=strlen(p->zone)+40;
@@ -1702,9 +1705,9 @@
        ** for a specific IP address, then take what we've got.
        */
 
-       if (p->ia.s_addr == INADDR_ANY && !found)
+       if (p->ia.s_addr == INADDR_ANY && !found && replyp->next)
        {
-               if (search_txt_records(&res, p->allow, varname, replyp,
+               if (search_txt_records(&res, p->allow, varname, replyp->next,
                                       hostname))
                {
                        /*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/courier-imap-5.0.10/libs/waitlib/configure.ac 
new/courier-imap-5.0.11/libs/waitlib/configure.ac
--- old/courier-imap-5.0.10/libs/waitlib/configure.ac   2018-07-09 
10:00:11.000000000 +0200
+++ new/courier-imap-5.0.11/libs/waitlib/configure.ac   2020-04-21 
13:51:59.000000000 +0200
@@ -18,6 +18,7 @@
 AC_PROG_INSTALL
 AC_PROG_LN_S
 AC_PROG_CC
+AC_PROG_CC_C99
 AC_PROG_LIBTOOL
 
 dnl Checks for libraries.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/courier-imap-5.0.10/rpm.release new/courier-imap-5.0.11/rpm.release
--- old/courier-imap-5.0.10/rpm.release 2020-04-20 14:25:04.000000000 +0200
+++ new/courier-imap-5.0.11/rpm.release 2020-06-18 03:37:57.000000000 +0200
@@ -1,2 +1,2 @@
-VERSION=5.0.10
+VERSION=5.0.11
 RELEASE=1



Reply via email to