Hello community, here is the log from the commit of package imap for openSUSE:Factory checked in at 2018-07-06 10:48:06 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/imap (Old) and /work/SRC/openSUSE:Factory/.imap.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "imap" Fri Jul 6 10:48:06 2018 rev:22 rq:621113 version:2007f_suse Changes: -------- --- /work/SRC/openSUSE:Factory/imap/imap.changes 2018-03-31 15:35:11.661372024 +0200 +++ /work/SRC/openSUSE:Factory/.imap.new/imap.changes 2018-07-06 10:48:36.610782111 +0200 @@ -1,0 +2,9 @@ +Tue Apr 10 15:05:31 UTC 2018 - wer...@suse.de + +- update to 2007f for bug fixes +- Make shared library -l(ib)c-client in one pass +- Avoid false positiv warnings about missing compiler options +- Enable kerberos support +- Enable mlock + +------------------------------------------------------------------- Old: ---- imap-2007e.tar.bz2 New: ---- imap-2007f.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ imap.spec ++++++ --- /var/tmp/diff_new_pack.2SjjBH/_old 2018-07-06 10:48:40.874777029 +0200 +++ /var/tmp/diff_new_pack.2SjjBH/_new 2018-07-06 10:48:40.874777029 +0200 @@ -1,7 +1,7 @@ # # spec file for package imap # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,13 +17,13 @@ Name: imap -Version: 2007e_suse +Version: 2007f_suse Release: 0 Summary: IMAP4, POP2, and POP3 Mail Server License: Apache-2.0 Group: Productivity/Networking/Email/Servers Url: http://www.washington.edu/imap/ -Source0: %{name}-2007e.tar.bz2 +Source0: %{name}-2007f.tar.bz2 Source1: README.SUSE # pam config Source2: %{name}.pamd @@ -46,23 +46,25 @@ Patch9: imap-2007e-poll.patch Patch10: imap-2007f-format-security.patch Patch11: imap-openssl-1.1.patch +BuildRequires: fdupes +BuildRequires: krb5-devel BuildRequires: openssl-devel BuildRequires: pam-devel Requires: inet-daemon +Requires(post): openssl Requires: pam -BuildRequires: fdupes %description This package contains IMAP4, POP2, and POP3 mail servers. After installation, activate the servers in the file %{_sysconfdir}/inetd.conf. -%package -n libc-client2007e_suse +%package -n libc-client2007f_suse Summary: IMAP4rev1/c-client Development Environment License: BSD-3-Clause Group: Development/Libraries/C and C++ -%description -n libc-client2007e_suse +%description -n libc-client2007f_suse This package contains the libraries for IMAP client programs. %package devel @@ -70,14 +72,14 @@ License: BSD-3-Clause Group: Development/Libraries/C and C++ Provides: libc-client-devel = %{version} -Requires: libc-client2007e_suse = %{version} +Requires: libc-client2007f_suse = %{version} %description devel This package contains the libraries and header files for IMAP client programs. %prep -%setup -q -n %{name}-2007e +%setup -q -n %{name}-2007f %patch0 %patch1 %patch2 @@ -96,15 +98,23 @@ find -type f -name "*.[h,c]" -exec sed -i -e '/extern int errno;/d' {} + %build -export CFLAGS="%{optflags} -DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_SSL_INTERN -DDISABLE_POP_PROXY=1 -fPIC -fno-strict-aliasing -fstack-protector" -make %{?_smp_mflags} lnp MYCFLAGS="$CFLAGS" SSLTYPE=nopwd IP=6 -make %{?_smp_mflags} lnp c-client -gcc $CFLAGS -shared -Wl,-soname,libc-client.so.%{version} -o libc-client.so.%{version} c-client/*.o -lpam +test -f %{_sysconfdir}/profile.d/krb5.sh && . %{_sysconfdir}/profile.d/krb5.sh +GSSDIR="$(krb5-config --prefix 2>/dev/null)" +EXTRACFLAGS="$(pkg-config --cflags openssl 2>/dev/null) -DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_SSL_INTERN" +EXTRACFLAGS="$EXTRACFLAGS -DDISABLE_POP_PROXY=1 %{optflags} -fno-strict-aliasing -fstack-protector" +EXTRALDFLAGS="-L $PWD/c-client" +make %{?_smp_mflags} lnp IP=6 SSLTYPE=nopwd CC=gcc \ + MYCFLAGS="$EXTRACFLAGS" \ + EXTRACFLAGS="$EXTRACFLAGS" EXTRALDFLAGS="$EXTRALDFLAGS" \ + SPECIALS="GSSDIR=${GSSDIR} SSLLIB=%{_libdir} LOCKPGM=%{_sbindir}/mlock" \ + CCLIENTLIB=-lc-client \ + SHLIBBASE=libc-client.so \ + SHLIBNAME=libc-client.so.%{version} %install mkdir -p %{buildroot}%{_prefix}/{sbin,share/man/man8,share/doc/packages/imap} mkdir -p %{buildroot}%{_sysconfdir}/pam.d -install -m 755 imapd/imapd ipopd/ipop2d ipopd/ipop3d mtest/mtest %{buildroot}%{_sbindir}/ +install -m 755 imapd/imapd ipopd/ipop2d ipopd/ipop3d mtest/mtest mlock/mlock %{buildroot}%{_sbindir}/ install -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/pam.d/%{name} install -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/pam.d/pop install -m 644 -D %{SOURCE4} %{buildroot}%{_sysconfdir}/xinetd.d/%{name} @@ -123,7 +133,7 @@ mkdir -p %{buildroot}/%{_libdir} install -m 644 c-client/c-client.a %{buildroot}/%{_libdir}/libc-client.a ln -sf libc-client.a %{buildroot}/%{_libdir}/c-client.a -install -m 755 libc-client.so.%{version} %{buildroot}/%{_libdir}/ +install -m 755 c-client/libc-client.so.%{version} %{buildroot}/%{_libdir}/ ln -sf libc-client.so.%{version} %{buildroot}/%{_libdir}/libc-client.so ln -sf ..%{_sbindir}/imapd %{buildroot}%{_sysconfdir}/rimapd ln -sf ..%{_sbindir}/ipop3d %{buildroot}%{_sysconfdir}/rpop3d @@ -146,8 +156,8 @@ fi fi -%post -n libc-client2007e_suse -p /sbin/ldconfig -%postun -n libc-client2007e_suse -p /sbin/ldconfig +%post -n libc-client2007f_suse -p /sbin/ldconfig +%postun -n libc-client2007f_suse -p /sbin/ldconfig %files %{_sbindir}/* @@ -160,7 +170,7 @@ %{_sysconfdir}/rpop2d %doc %{_docdir}/%{name} -%files -n libc-client2007e_suse +%files -n libc-client2007f_suse %config(noreplace) %{_sysconfdir}/c-client.cf %{_libdir}/*.so %{_libdir}/*.so.* ++++++ imap-2007e-poll.patch ++++++ --- /var/tmp/diff_new_pack.2SjjBH/_old 2018-07-06 10:48:40.934776957 +0200 +++ /var/tmp/diff_new_pack.2SjjBH/_new 2018-07-06 10:48:40.934776957 +0200 @@ -4,11 +4,11 @@ Author: Ben Smithurst <ben.smithu...@gradwell.com> Bug-Debian: https://bugs.debian.org/478193 -Index: imap-2007e/src/osdep/unix/os_lnx.c -=================================================================== ---- imap-2007e.orig/src/osdep/unix/os_lnx.c -+++ imap-2007e/src/osdep/unix/os_lnx.c -@@ -42,6 +42,7 @@ +diff --git a/src/osdep/unix/os_lnx.c b/src/osdep/unix/os_lnx.c +index 03fd17d..671bbd6 100644 +--- a/src/osdep/unix/os_lnx.c ++++ b/src/osdep/unix/os_lnx.c +@@ -41,6 +41,7 @@ extern int errno; /* just in case */ #include <pwd.h> #include "misc.h" @@ -16,10 +16,10 @@ #include "fs_unix.c" -Index: imap-2007e/src/osdep/unix/os_slx.c -=================================================================== ---- imap-2007e.orig/src/osdep/unix/os_slx.c -+++ imap-2007e/src/osdep/unix/os_slx.c +diff --git a/src/osdep/unix/os_slx.c b/src/osdep/unix/os_slx.c +index c94d632..f6bf27d 100644 +--- a/src/osdep/unix/os_slx.c ++++ b/src/osdep/unix/os_slx.c @@ -42,6 +42,7 @@ extern int errno; /* just in case */ #include <pwd.h> #include <shadow.h> @@ -28,11 +28,11 @@ #include "fs_unix.c" -Index: imap-2007e/src/osdep/unix/tcp_unix.c -=================================================================== ---- imap-2007e.orig/src/osdep/unix/tcp_unix.c -+++ imap-2007e/src/osdep/unix/tcp_unix.c -@@ -235,12 +235,11 @@ TCPSTREAM *tcp_open (char *host,char *se +diff --git a/src/osdep/unix/tcp_unix.c b/src/osdep/unix/tcp_unix.c +index 795fb4f..c69eaec 100644 +--- a/src/osdep/unix/tcp_unix.c ++++ b/src/osdep/unix/tcp_unix.c +@@ -235,12 +235,11 @@ TCPSTREAM *tcp_open (char *host,char *service,unsigned long port) int tcp_socket_open (int family,void *adr,size_t adrlen,unsigned short port, char *tmp,int *ctr,char *hst) { @@ -42,12 +42,12 @@ size_t len; time_t now; struct protoent *pt = getprotobyname ("tcp"); -- fd_set fds,efds; +- fd_set rfds,wfds,efds; - struct timeval tmo; struct sockaddr *sadr = ip_sockaddr (family,adr,adrlen,port,&len); blocknotify_t bn = (blocknotify_t) mail_parameters (NIL,GET_BLOCKNOTIFY,NIL); /* fetid Solaris */ -@@ -252,14 +251,6 @@ int tcp_socket_open (int family,void *ad +@@ -252,14 +251,6 @@ int tcp_socket_open (int family,void *adr,size_t adrlen,unsigned short port, sprintf (tmp,"Unable to create TCP socket: %s",strerror (errno)); (*bn) (BLOCK_NONSENSITIVE,data); } @@ -62,26 +62,37 @@ else { /* get current socket flags */ flgs = fcntl (sock,F_GETFL,0); -@@ -284,14 +275,11 @@ int tcp_socket_open (int family,void *ad +@@ -284,16 +275,11 @@ int tcp_socket_open (int family,void *adr,size_t adrlen,unsigned short port, if ((sock >= 0) && ctr) { /* want open timeout? */ now = time (0); /* open timeout */ ti = ttmo_open ? now + ttmo_open : 0; - tmo.tv_usec = 0; -- FD_ZERO (&fds); /* initialize selection vector */ +- FD_ZERO (&rfds); /* initialize selection vector */ +- FD_ZERO (&wfds); /* initialize selection vector */ - FD_ZERO (&efds); /* handle errors too */ -- FD_SET (sock,&fds); /* block for error or readable */ +- FD_SET (sock,&rfds); /* block for error or readable or writable */ +- FD_SET (sock,&wfds); - FD_SET (sock,&efds); + pfd.fd = sock; + pfd.events = POLLIN | POLLOUT; do { /* block under timeout */ - tmo.tv_sec = ti ? ti - now : 0; -- i = select (sock+1,&fds,NIL,&efds,ti ? &tmo : NIL); +- i = select (sock+1,&rfds,&wfds,&efds,ti ? &tmo : NIL); + tmo = ti ? ti - now : 0; + i = poll (&pfd, 1, ti ? tmo * 1000 : -1); now = time (0); /* fake timeout if interrupt & time expired */ if ((i < 0) && (errno == EINTR) && ti && (ti <= now)) i = 0; } while ((i < 0) && (errno == EINTR)); -@@ -543,9 +531,8 @@ long tcp_getbuffer (TCPSTREAM *stream,un +@@ -302,7 +288,7 @@ int tcp_socket_open (int family,void *adr,size_t adrlen,unsigned short port, + fcntl (sock,F_SETFL,flgs); + /* This used to be a zero-byte read(), but that crashes Solaris */ + /* get socket status */ +- if(FD_ISSET(sock, &rfds)) while (((i = *ctr = read (sock,tmp,1)) < 0) && (errno == EINTR)); ++ if(pfd.revents & POLLIN) while (((i = *ctr = read (sock,tmp,1)) < 0) && (errno == EINTR)); + } + if (i <= 0) { /* timeout or error? */ + i = i ? errno : ETIMEDOUT;/* determine error code */ +@@ -545,9 +531,8 @@ long tcp_getbuffer (TCPSTREAM *stream,unsigned long size,char *s) stream->ictr -=n; } if (size) { @@ -93,7 +104,7 @@ time_t t = time (0); blocknotify_t bn=(blocknotify_t) mail_parameters (NIL,GET_BLOCKNOTIFY,NIL); (*bn) (BLOCK_TCPREAD,NIL); -@@ -554,16 +541,13 @@ long tcp_getbuffer (TCPSTREAM *stream,un +@@ -556,16 +541,13 @@ long tcp_getbuffer (TCPSTREAM *stream,unsigned long size,char *s) time_t now = tl; time_t ti = ttmo_read ? now + ttmo_read : 0; if (tcpdebug) mm_log ("Reading TCP buffer",TCPDEBUG); @@ -115,7 +126,7 @@ now = time (0); /* fake timeout if interrupt & time expired */ if ((i < 0) && (errno == EINTR) && ti && (ti <= now)) i = 0; } while ((i < 0) && (errno == EINTR)); -@@ -603,9 +587,8 @@ long tcp_getbuffer (TCPSTREAM *stream,un +@@ -605,9 +587,8 @@ long tcp_getbuffer (TCPSTREAM *stream,unsigned long size,char *s) long tcp_getdata (TCPSTREAM *stream) { @@ -127,7 +138,7 @@ time_t t = time (0); blocknotify_t bn = (blocknotify_t) mail_parameters (NIL,GET_BLOCKNOTIFY,NIL); if (stream->tcpsi < 0) return NIL; -@@ -615,15 +598,12 @@ long tcp_getdata (TCPSTREAM *stream) +@@ -617,15 +598,12 @@ long tcp_getdata (TCPSTREAM *stream) time_t now = tl; time_t ti = ttmo_read ? now + ttmo_read : 0; if (tcpdebug) mm_log ("Reading TCP data",TCPDEBUG); @@ -147,7 +158,7 @@ now = time (0); /* fake timeout if interrupt & time expired */ if ((i < 0) && (errno == EINTR) && ti && (ti <= now)) i = 0; } while ((i < 0) && (errno == EINTR)); -@@ -675,9 +655,8 @@ long tcp_soutr (TCPSTREAM *stream,char * +@@ -677,9 +655,8 @@ long tcp_soutr (TCPSTREAM *stream,char *string) long tcp_sout (TCPSTREAM *stream,char *string,unsigned long size) { @@ -159,7 +170,7 @@ time_t t = time (0); blocknotify_t bn = (blocknotify_t) mail_parameters (NIL,GET_BLOCKNOTIFY,NIL); if (stream->tcpso < 0) return NIL; -@@ -687,15 +666,12 @@ long tcp_sout (TCPSTREAM *stream,char *s +@@ -689,15 +666,12 @@ long tcp_sout (TCPSTREAM *stream,char *string,unsigned long size) time_t now = tl; time_t ti = ttmo_write ? now + ttmo_write : 0; if (tcpdebug) mm_log ("Writing to TCP",TCPDEBUG); ++++++ imap-2007e.patch ++++++ --- /var/tmp/diff_new_pack.2SjjBH/_old 2018-07-06 10:48:40.942776948 +0200 +++ /var/tmp/diff_new_pack.2SjjBH/_new 2018-07-06 10:48:40.942776948 +0200 @@ -1,7 +1,26 @@ -diff -ruN imap-2007e-2001a-include/Makefile imap-2007e/Makefile ---- imap-2007e-2001a-include/Makefile 2008-06-04 18:43:35.000000000 +0000 -+++ imap-2007e/Makefile 2009-12-18 19:19:29.246393113 +0000 -@@ -638,7 +638,8 @@ +--- + imap-2007f/Makefile | 3 ++- + imap-2007f/src/c-client/mail.c | 6 ++++-- + imap-2007f/src/dmail/Makefile | 6 +++--- + imap-2007f/src/imapd/Makefile | 6 +++--- + imap-2007f/src/ipopd/Makefile | 6 +++--- + imap-2007f/src/mailutil/Makefile | 6 +++--- + imap-2007f/src/mlock/Makefile | 4 ++-- + imap-2007f/src/mlock/mlock.c | 1 + + imap-2007f/src/mtest/Makefile | 6 +++--- + imap-2007f/src/osdep/unix/Makefile | 26 ++++++++++++++++++++------ + imap-2007f/src/osdep/unix/mbx.c | 1 + + imap-2007f/src/osdep/unix/mh.c | 1 + + imap-2007f/src/osdep/unix/mmdf.c | 1 + + imap-2007f/src/osdep/unix/mtx.c | 1 + + imap-2007f/src/osdep/unix/mx.c | 1 + + imap-2007f/src/osdep/unix/tenex.c | 1 + + imap-2007f/src/tmail/Makefile | 6 +++--- + 17 files changed, 53 insertions(+), 29 deletions(-) + +--- imap-2007f/Makefile ++++ imap-2007f/Makefile 2018-04-10 14:49:53.635927625 +0000 +@@ -639,7 +639,8 @@ ip6: @echo +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @echo @echo Do you want to build with IPv6 anyway? Type y or n please: @@ -11,10 +30,9 @@ @echo OK, I will remember that you really want to build with IPv6. @echo You will not see this message again. @$(TOUCH) ip6 -diff -ruN imap-2007e-2001a-include/src/c-client/mail.c imap-2007e/src/c-client/mail.c ---- imap-2007e-2001a-include/src/c-client/mail.c 2008-06-04 18:39:54.000000000 +0000 -+++ imap-2007e/src/c-client/mail.c 2009-12-18 19:05:31.284336262 +0000 -@@ -2931,8 +2931,10 @@ +--- imap-2007f/src/c-client/mail.c ++++ imap-2007f/src/c-client/mail.c 2018-04-10 14:49:53.635927625 +0000 +@@ -2931,8 +2931,10 @@ long mail_parse_date (MESSAGECACHE *elt, /* parse time */ d = strtoul (s+1,(char **) &s,10); if (*s != ':') return NIL; @@ -27,9 +45,83 @@ /* validity check time */ if ((d > 23) || (m > 59) || (y > 60)) return NIL; /* set values in elt */ -diff -ruN imap-2007e-2001a-include/src/mlock/mlock.c imap-2007e/src/mlock/mlock.c ---- imap-2007e-2001a-include/src/mlock/mlock.c 2008-06-04 18:18:34.000000000 +0000 -+++ imap-2007e/src/mlock/mlock.c 2009-12-18 19:05:31.284336262 +0000 +--- imap-2007f/src/dmail/Makefile ++++ imap-2007f/src/dmail/Makefile 2018-04-10 14:53:05.064455252 +0000 +@@ -31,9 +31,9 @@ SHELL = /bin/sh + + # Get local definitions from c-client directory + +-CC = `cat $C/CCTYPE` +-CFLAGS = -I$C `cat $C/CFLAGS` +-LDFLAGS = $(CCLIENTLIB) `cat $C/LDFLAGS` ++CC = $(shell cat $C/CCTYPE) ++CFLAGS = -I$C $(shell cat $C/CFLAGS) ++LDFLAGS = $(CCLIENTLIB) $(shell cat $C/LDFLAGS) + + dmail: $(CCLIENTLIB) dmail.o dquota.o + $(CC) $(CFLAGS) -o dmail dmail.o dquota.o $(LDFLAGS) +--- imap-2007f/src/imapd/Makefile ++++ imap-2007f/src/imapd/Makefile 2018-04-10 14:53:49.523648772 +0000 +@@ -44,11 +44,11 @@ SHELL= /bin/sh + + C = ../c-client + CCLIENTLIB = $C/c-client.a +-CC = `cat $C/CCTYPE` +-CFLAGS = -I$C `cat $C/CFLAGS` $(NSBD) $(ENBD) -DANOFILE=\"$(ANO)\" \ ++CC = $(shell cat $C/CCTYPE) ++CFLAGS = -I$C $(shell cat $C/CFLAGS) $(NSBD) $(ENBD) -DANOFILE=\"$(ANO)\" \ + -DALERTFILE=\"$(ALERT)\" -DNNTPFILE=\"$(NNTP)\" \ + -DUSERALERTFILE=\"$(USERALERT)\" -DSHUTDOWNFILE=\"$(SHUTDOWN)\" +-LDFLAGS = $(CCLIENTLIB) `cat $C/LDFLAGS` ++LDFLAGS = $(CCLIENTLIB) $(shell cat $C/LDFLAGS) + + all: imapd + +--- imap-2007f/src/ipopd/Makefile ++++ imap-2007f/src/ipopd/Makefile 2018-04-10 14:58:28.970579484 +0000 +@@ -31,9 +31,9 @@ SHELL = /bin/sh + + # Get local definitions from c-client directory + +-CC = `cat $C/CCTYPE` +-CFLAGS = -I$C `cat $C/CFLAGS` +-LDFLAGS = $(CCLIENTLIB) `cat $C/LDFLAGS` ++CC = $(shell cat $C/CCTYPE) ++CFLAGS = -I$C $(shell cat $C/CFLAGS) ++LDFLAGS = $(CCLIENTLIB) $(shell cat $C/LDFLAGS) + + ipopd: ipop2d ipop3d + +--- imap-2007f/src/mailutil/Makefile ++++ imap-2007f/src/mailutil/Makefile 2018-04-10 14:51:59.369646925 +0000 +@@ -31,9 +31,9 @@ SHELL = /bin/sh + + # Get local definitions from c-client directory + +-CC = `cat $C/CCTYPE` +-CFLAGS = -I$C `cat $C/CFLAGS` +-LDFLAGS = $(CCLIENTLIB) `cat $C/LDFLAGS` ++CC = $(shell cat $C/CCTYPE) ++CFLAGS = -I$C $(shell cat $C/CFLAGS) ++LDFLAGS = $(CCLIENTLIB) $(shell cat $C/LDFLAGS) + + mailutil: $(CCLIENTLIB) mailutil.o + $(CC) $(CFLAGS) -o mailutil mailutil.o $(LDFLAGS) +--- imap-2007f/src/mlock/Makefile ++++ imap-2007f/src/mlock/Makefile 2018-04-10 15:01:32.711246182 +0000 +@@ -30,8 +30,8 @@ SHELL = /bin/sh + + # Get local definitions from c-client directory + +-CC = `cat $C/CCTYPE` +-CFLAGS = `cat $C/CFLAGS` ++CC = $(shell cat $C/CCTYPE) ++CFLAGS = $(shell cat $C/CFLAGS) + + all: mlock + +--- imap-2007f/src/mlock/mlock.c ++++ imap-2007f/src/mlock/mlock.c 2018-04-10 14:49:53.635927625 +0000 @@ -38,6 +38,7 @@ #include <sys/param.h> #include <stdlib.h> @@ -38,9 +130,96 @@ #include <ctype.h> #include <string.h> -diff -ruN imap-2007e-2001a-include/src/osdep/unix/mbx.c imap-2007e/src/osdep/unix/mbx.c ---- imap-2007e-2001a-include/src/osdep/unix/mbx.c 2008-06-04 18:18:34.000000000 +0000 -+++ imap-2007e/src/osdep/unix/mbx.c 2009-12-18 19:05:31.284336262 +0000 +--- imap-2007f/src/mtest/Makefile ++++ imap-2007f/src/mtest/Makefile 2018-04-10 14:58:58.482044115 +0000 +@@ -31,9 +31,9 @@ SHELL = /bin/sh + + # Get local definitions from c-client directory + +-CC = `cat $C/CCTYPE` +-CFLAGS = -I$C `cat $C/CFLAGS` +-LDFLAGS = $(CCLIENTLIB) `cat $C/LDFLAGS` ++CC = $(shell cat $C/CCTYPE) ++CFLAGS = -I$C $(shell cat $C/CFLAGS) ++LDFLAGS = $(CCLIENTLIB) $(shell cat $C/LDFLAGS) + + all: mtest + +--- imap-2007f/src/osdep/unix/Makefile ++++ imap-2007f/src/osdep/unix/Makefile 2018-04-10 14:57:51.339262151 +0000 +@@ -170,11 +170,13 @@ BUILD=$(MAKE) build EXTRACFLAGS='$(EXTRA + EXTRADRIVERS='$(EXTRADRIVERS)' EXTRAAUTHENTICATORS='$(EXTRAAUTHENTICATORS)'\ + PASSWDTYPE=$(PASSWDTYPE) SSLTYPE=$(SSLTYPE) IP=$(IP) + ++.SUFFIXES: .o .so ++SOFILES=${BINARIES:.o=.so} + + # Here if no make argument established + + missing: osdep.h +- $(MAKE) all `$(CAT) SPECIALS` ++ $(MAKE) all $(shell $(CAT) SPECIALS) + + osdep.h: + @echo You must specify what type of system +@@ -853,17 +855,24 @@ vu2: # VAX Ultrix 2.3, etc. + + # Build it! + +-build: clean once $(ARCHIVE) ++build: clean once $(ARCHIVE) $(SHLIBNAME) + +-all: $(ARCHIVE) ++all: $(ARCHIVE) $(SHLIBNAME) + + $(ARCHIVE): $(BINARIES) + sh -c '$(RM) $(ARCHIVE) || true' + @$(CAT) ARCHIVE + @$(SH) ARCHIVE + ++$(SHLIBNAME): $(SOFILES) ++ `$(CAT) CCTYPE` -shared -Wl,-soname,$(SHLIBNAME) -o $(SHLIBNAME) $(SOFILES) `$(CAT) LDFLAGS` ++ ln -s $(SHLIBNAME) $(SHLIBBASE) ++ ++.c.so: osdep.h ++ `$(CAT) CCTYPE` -fPIC -DPIC -D_REENTRANT -c `$(CAT) CFLAGS` ${@:.so=.c} -o $@ ++ + .c.o: +- `$(CAT) CCTYPE` -c `$(CAT) CFLAGS` $*.c ++ `$(CAT) CCTYPE` -fPIC -DPIC -D_REENTRANT -c `$(CAT) CFLAGS` $*.c + + + # Cleanup +@@ -904,7 +913,7 @@ utf8aux.o: mail.h misc.h osdep.h utf8.h + + # OS-dependent + +-osdep.o:mail.h misc.h env.h fs.h ftl.h nl.h tcp.h \ ++OSDEPS= mail.h misc.h env.h fs.h ftl.h nl.h tcp.h \ + osdep.h env_unix.h tcp_unix.h \ + osdep.c env_unix.c fs_unix.c ftl_unix.c nl_unix.c tcp_unix.c ip_unix.c\ + auths.c crexcl.c flockcyg.c flocklnx.c flocksim.c fsync.c \ +@@ -918,12 +927,17 @@ osdep.o:mail.h misc.h env.h fs.h ftl.h n + write.c sslstdio.c \ + strerror.c strpbrk.c strstr.c strtok.c strtoul.c \ + OSCFLAGS ++ ++osdep.o: $(OSDEPS) ++ `$(CAT) CCTYPE` -fPIC -DPIC -D_REENTRANT `$(CAT) CFLAGS` `$(CAT) OSCFLAGS` -c osdep.c + @echo Building OS-dependent module + @echo If you get No such file error messages for files x509.h, ssl.h, + @echo pem.h, buffer.h, bio.h, and crypto.h, that means that OpenSSL + @echo is not installed on your system. Either install OpenSSL first + @echo or build with command: make `$(CAT) OSTYPE` SSLTYPE=none +- `$(CAT) CCTYPE` -c `$(CAT) CFLAGS` `$(CAT) OSCFLAGS` -c osdep.c ++ ++osdep.so: $(OSDEPS) ++ `$(CAT) CCTYPE` -fPIC -DPIC -D_REENTRANT `$(CAT) CFLAGS` `$(CAT) OSCFLAGS` -c osdep.c -o $@ + + osdep.c: osdepbas.c osdepckp.c osdeplog.c osdepssl.c + $(CAT) osdepbas.c osdepckp.c osdeplog.c osdepssl.c > osdep.c +--- imap-2007f/src/osdep/unix/mbx.c ++++ imap-2007f/src/osdep/unix/mbx.c 2018-04-10 14:49:53.635927625 +0000 @@ -37,6 +37,7 @@ #include <stdio.h> #include <ctype.h> @@ -49,10 +228,9 @@ extern int errno; /* just in case */ #include "mail.h" #include "osdep.h" -diff -ruN imap-2007e-2001a-include/src/osdep/unix/mh.c imap-2007e/src/osdep/unix/mh.c ---- imap-2007e-2001a-include/src/osdep/unix/mh.c 2009-12-18 19:04:25.449346000 +0000 -+++ imap-2007e/src/osdep/unix/mh.c 2009-12-18 19:06:12.366202134 +0000 -@@ -35,6 +35,7 @@ +--- imap-2007f/src/osdep/unix/mh.c ++++ imap-2007f/src/osdep/unix/mh.c 2018-04-10 14:49:53.639927553 +0000 +@@ -35,6 +35,7 @@ extern int errno; /* just in case */ #include "osdep.h" #include <pwd.h> #include <time.h> @@ -60,9 +238,8 @@ #include <sys/stat.h> #include <sys/time.h> #include "misc.h" -diff -ruN imap-2007e-2001a-include/src/osdep/unix/mmdf.c imap-2007e/src/osdep/unix/mmdf.c ---- imap-2007e-2001a-include/src/osdep/unix/mmdf.c 2008-06-04 18:39:54.000000000 +0000 -+++ imap-2007e/src/osdep/unix/mmdf.c 2009-12-18 19:05:31.292336625 +0000 +--- imap-2007f/src/osdep/unix/mmdf.c ++++ imap-2007f/src/osdep/unix/mmdf.c 2018-04-10 14:49:53.639927553 +0000 @@ -28,6 +28,7 @@ #include <stdio.h> #include <ctype.h> @@ -71,9 +248,8 @@ extern int errno; /* just in case */ #include <signal.h> #include "mail.h" -diff -ruN imap-2007e-2001a-include/src/osdep/unix/mtx.c imap-2007e/src/osdep/unix/mtx.c ---- imap-2007e-2001a-include/src/osdep/unix/mtx.c 2008-06-04 18:18:34.000000000 +0000 -+++ imap-2007e/src/osdep/unix/mtx.c 2009-12-18 19:05:31.292336625 +0000 +--- imap-2007f/src/osdep/unix/mtx.c ++++ imap-2007f/src/osdep/unix/mtx.c 2018-04-10 14:49:53.639927553 +0000 @@ -35,6 +35,7 @@ */ @@ -82,10 +258,9 @@ #include <ctype.h> #include <errno.h> extern int errno; /* just in case */ -diff -ruN imap-2007e-2001a-include/src/osdep/unix/mx.c imap-2007e/src/osdep/unix/mx.c ---- imap-2007e-2001a-include/src/osdep/unix/mx.c 2009-12-18 19:04:25.449346000 +0000 -+++ imap-2007e/src/osdep/unix/mx.c 2009-12-18 19:06:23.634713928 +0000 -@@ -35,6 +35,7 @@ +--- imap-2007f/src/osdep/unix/mx.c ++++ imap-2007f/src/osdep/unix/mx.c 2018-04-10 14:49:53.639927553 +0000 +@@ -35,6 +35,7 @@ extern int errno; /* just in case */ #include "osdep.h" #include <pwd.h> #include <time.h> @@ -93,9 +268,8 @@ #include <sys/stat.h> #include <sys/time.h> #include "misc.h" -diff -ruN imap-2007e-2001a-include/src/osdep/unix/tenex.c imap-2007e/src/osdep/unix/tenex.c ---- imap-2007e-2001a-include/src/osdep/unix/tenex.c 2008-06-04 18:18:34.000000000 +0000 -+++ imap-2007e/src/osdep/unix/tenex.c 2009-12-18 19:05:31.292336625 +0000 +--- imap-2007f/src/osdep/unix/tenex.c ++++ imap-2007f/src/osdep/unix/tenex.c 2018-04-10 14:49:53.639927553 +0000 @@ -41,6 +41,7 @@ #include <stdio.h> @@ -104,3 +278,18 @@ #include <errno.h> extern int errno; /* just in case */ #include "mail.h" +--- imap-2007f/src/tmail/Makefile ++++ imap-2007f/src/tmail/Makefile 2018-04-10 14:53:25.732080347 +0000 +@@ -31,9 +31,9 @@ SHELL = /bin/sh + + # Get local definitions from c-client directory + +-CC = `cat $C/CCTYPE` +-CFLAGS = -I$C `cat $C/CFLAGS` +-LDFLAGS = $(CCLIENTLIB) `cat $C/LDFLAGS` ++CC = $(shell cat $C/CCTYPE) ++CFLAGS = -I$C $(shell cat $C/CFLAGS) ++LDFLAGS = $(CCLIENTLIB) $(shell cat $C/LDFLAGS) + + tmail: $(CCLIENTLIB) tmail.o tquota.o + $(CC) $(CFLAGS) -o tmail tmail.o tquota.o $(LDFLAGS) ++++++ imap-2007e.tar.bz2 -> imap-2007f.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imap-2007e/Makefile new/imap-2007f/Makefile --- old/imap-2007e/Makefile 2008-06-04 20:43:35.000000000 +0200 +++ new/imap-2007f/Makefile 2011-07-23 02:20:21.000000000 +0200 @@ -37,6 +37,7 @@ # The following ports are bundled: # a32 AIX 3.2 for RS/6000 # a41 AIX 4.1 for RS/6000 +# a52 Attempt at AIX 5.2 # aix AIX/370 (not RS/6000!!) # ami AmigaDOS # am2 AmigaDOS with a 68020+ @@ -306,7 +307,7 @@ # Note on SCO you may have to set LN to "ln". -a32 a41 aix bs3 bsi d-g d54 do4 drs epx ga4 gas gh9 ghp ghs go5 gsc gsg gso gul h11 hpp hpx lnp lyn mct mnt nec nto nxt nx3 osf os4 ptx qnx sc5 sco sgi sg6 shp sl4 sl5 slx snx soc sol sos uw2: an +a32 a41 a52 aix bs3 bsi d-g d54 do4 drs epx ga4 gas gh9 ghp ghs go5 gsc gsg gso gul h11 hpp hpx lnp lyn mct mnt nec nto nxt nx3 osf os4 ptx qnx sc5 sco sgi sg6 shp sl4 sl5 slx snx soc sol sos uw2: an $(BUILD) BUILDTYPE=$@ # If you use sv4, you may find that it works to move it to use the an process. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imap-2007e/docs/RELNOTES new/imap-2007f/docs/RELNOTES --- old/imap-2007e/docs/RELNOTES 2008-12-17 00:21:34.000000000 +0100 +++ new/imap-2007f/docs/RELNOTES 2011-07-23 02:20:21.000000000 +0200 @@ -11,6 +11,17 @@ * ======================================================================== */ +Updated: 22 July 2011 + +imap-2007f fixes a couple bugs. +Fix for RFC 4959 Initial Client Response auth failures noted first by + MacOSX Lion Mail users. +Adjust tcp_open.c:tcp_socket_open to make it a little more useful by adding + a write file descriptor test to the select in the case that the open + timeout is set. +In osdep/unix/env_unix.c:create_path there was a printf that should have + been an sprintf. Doesn't matter on modern systems. + Updated: 16 December 2008 imap-2007e is a maintenance release, consisting primarily of bugfixes to diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imap-2007e/src/c-client/mail.h new/imap-2007f/src/c-client/mail.h --- old/imap-2007e/src/c-client/mail.h 2008-12-17 00:21:34.000000000 +0100 +++ new/imap-2007f/src/c-client/mail.h 2011-07-23 02:20:18.000000000 +0200 @@ -21,12 +21,12 @@ * Internet: m...@washington.edu * * Date: 22 November 1989 - * Last Edited: 16 December 2008 + * Last Edited: 22 July 2011 */ /* The Version */ -#define CCLIENTVERSION "2007e" +#define CCLIENTVERSION "2007f" /* Build parameters */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imap-2007e/src/imapd/imapd.c new/imap-2007f/src/imapd/imapd.c --- old/imap-2007e/src/imapd/imapd.c 2008-11-18 19:46:59.000000000 +0100 +++ new/imap-2007f/src/imapd/imapd.c 2011-07-23 02:20:00.000000000 +0200 @@ -21,7 +21,7 @@ * Internet: m...@washington.edu * * Date: 5 November 1990 - * Last Edited: 3 March 2008 + * Last Edited: 22 July 2011 */ /* Parameter files */ @@ -2141,7 +2141,7 @@ /* must be at least one BASE64 char */ else if (!base64mask[*ret]) return NIL; else { /* quick and dirty */ - while (base64mask[*s++]); /* scan until end of BASE64 */ + while (base64mask[*s]) s++; /* scan until end of BASE64 */ if (*s == '=') ++s; /* allow up to two padding chars */ if (*s == '=') ++s; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imap-2007e/src/osdep/unix/Makefile new/imap-2007f/src/osdep/unix/Makefile --- old/imap-2007e/src/osdep/unix/Makefile 2008-06-04 20:18:34.000000000 +0200 +++ new/imap-2007f/src/osdep/unix/Makefile 2011-07-23 02:20:10.000000000 +0200 @@ -199,6 +199,14 @@ BASECFLAGS="-g -Dunix=1 -D_BSD -qro -qroconst" \ BASELDFLAGS="-ls" +a52: # Attempt at AIX 5.2 + $(BUILD) `$(CAT) SPECIALS` OS=$@ \ + SIGTYPE=psx CHECKPW=a41 CRXTYPE=nfs \ + SPOOLDIR=/var/spool \ + RSHPATH=/usr/bin/rsh \ + BASECFLAGS="-g -Dunix=1 -D_BSD -qro -qroconst" \ + BASELDFLAGS="-ls" + aix: # AIX/370 @echo You are building for AIX on an S/370 class machine @echo If you want AIX on an RS/6000 you need to use a32 or a41 instead! diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imap-2007e/src/osdep/unix/env_unix.c new/imap-2007f/src/osdep/unix/env_unix.c --- old/imap-2007e/src/osdep/unix/env_unix.c 2008-06-04 20:46:10.000000000 +0200 +++ new/imap-2007f/src/osdep/unix/env_unix.c 2011-07-23 02:20:10.000000000 +0200 @@ -21,7 +21,7 @@ * Internet: m...@washington.edu * * Date: 1 August 1988 - * Last Edited: 15 May 2008 + * Last Edited: 23 February 2009 */ #include <grp.h> @@ -1813,7 +1813,7 @@ restrictBox = NIL; /* can't restrict */ if (blackBox) { /* if black box */ /* toss out driver dependent names */ - printf (path,"%s/INBOX",mymailboxdir ()); + sprintf (path,"%s/INBOX",mymailboxdir ()); blackBox = NIL; /* well that's evil - evil is going on */ ret = mail_create (stream,path); blackBox = T; /* restore the box */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imap-2007e/src/osdep/unix/os_a52.c new/imap-2007f/src/osdep/unix/os_a52.c --- old/imap-2007e/src/osdep/unix/os_a52.c 1970-01-01 01:00:00.000000000 +0100 +++ new/imap-2007f/src/osdep/unix/os_a52.c 2011-07-23 02:20:11.000000000 +0200 @@ -0,0 +1,63 @@ +/* ======================================================================== + * Copyright 1988-2006 University of Washington + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * + * ======================================================================== + */ + +/* + * Program: Operating-system dependent routines -- AIX 4.1 on RS 6000 + * + * Author: Mark Crispin + * Networks and Distributed Computing + * Computing & Communications + * University of Washington + * Administration Building, AG-44 + * Seattle, WA 98195 + * Internet: m...@cac.washington.edu + * + * Date: 1 August 1988 + * Last Edited: 30 August 2006 + */ + +#include "tcp_unix.h" /* must be before osdep includes tcp.h */ +#include "mail.h" +#include "osdep.h" +#include <stdio.h> +#include <sys/time.h> +#include <sys/socket.h> +#include <sys/stat.h> +#include <netinet/in.h> +#include <arpa/inet.h> +#include <netdb.h> +#include <ctype.h> +#include <errno.h> +extern int errno; /* just in case */ +#include <pwd.h> +#include "misc.h" +#include <sys/select.h> +#include <stddef.h> /* needed for authenticate() */ + +int authenticate (char *UserName,char *Response,int *Reenter,char **Message); + +extern int sys_nerr; +extern char *sys_errlist[]; + + +#include "fs_unix.c" +#include "ftl_unix.c" +#include "nl_unix.c" +#include "env_unix.c" +#include "tcp_unix.c" +#include "gr_waitp.c" +#include "tz_sv4.c" +#include "flocksim.c" +#undef setpgrp +#include "setpgrp.c" +#include "utime.c" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imap-2007e/src/osdep/unix/os_a52.h new/imap-2007f/src/osdep/unix/os_a52.h --- old/imap-2007e/src/osdep/unix/os_a52.h 1970-01-01 01:00:00.000000000 +0100 +++ new/imap-2007f/src/osdep/unix/os_a52.h 2011-07-23 02:20:11.000000000 +0200 @@ -0,0 +1,53 @@ +/* ======================================================================== + * Copyright 1988-2006 University of Washington + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * + * ======================================================================== + */ + +/* + * Program: Operating-system dependent routines -- AIX on RS6000 + * + * Author: Mark Crispin + * Networks and Distributed Computing + * Computing & Communications + * University of Washington + * Administration Building, AG-44 + * Seattle, WA 98195 + * Internet: m...@cac.washington.edu + * + * Date: 1 August 1988 + * Last Edited: 30 August 2006 + */ + +#include <stdlib.h> +#include <unistd.h> +#include <string.h> +#include <sys/types.h> +#include <time.h> /* for struct tm */ +#include <dirent.h> +#include <fcntl.h> +#include <utime.h> +#include <syslog.h> +#include <sys/file.h> +#include <ustat.h> + + +#define setpgrp(a,b) Setpgrp(a,b) +int Setpgrp (int pid,int gid); + +#define utime portable_utime +int portable_utime (char *file,time_t timep[2]); + +#include "env_unix.h" +#include "fs.h" +#include "ftl.h" +#include "nl.h" +#include "tcp.h" +#include "flocksim.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/imap-2007e/src/osdep/unix/tcp_unix.c new/imap-2007f/src/osdep/unix/tcp_unix.c --- old/imap-2007e/src/osdep/unix/tcp_unix.c 2008-06-04 20:18:34.000000000 +0200 +++ new/imap-2007f/src/osdep/unix/tcp_unix.c 2011-07-23 02:20:11.000000000 +0200 @@ -239,7 +239,7 @@ size_t len; time_t now; struct protoent *pt = getprotobyname ("tcp"); - fd_set fds,efds; + fd_set rfds,wfds,efds; struct timeval tmo; struct sockaddr *sadr = ip_sockaddr (family,adr,adrlen,port,&len); blocknotify_t bn = (blocknotify_t) mail_parameters (NIL,GET_BLOCKNOTIFY,NIL); @@ -285,13 +285,15 @@ now = time (0); /* open timeout */ ti = ttmo_open ? now + ttmo_open : 0; tmo.tv_usec = 0; - FD_ZERO (&fds); /* initialize selection vector */ + FD_ZERO (&rfds); /* initialize selection vector */ + FD_ZERO (&wfds); /* initialize selection vector */ FD_ZERO (&efds); /* handle errors too */ - FD_SET (sock,&fds); /* block for error or readable */ + FD_SET (sock,&rfds); /* block for error or readable or writable */ + FD_SET (sock,&wfds); FD_SET (sock,&efds); do { /* block under timeout */ tmo.tv_sec = ti ? ti - now : 0; - i = select (sock+1,&fds,NIL,&efds,ti ? &tmo : NIL); + i = select (sock+1,&rfds,&wfds,&efds,ti ? &tmo : NIL); now = time (0); /* fake timeout if interrupt & time expired */ if ((i < 0) && (errno == EINTR) && ti && (ti <= now)) i = 0; } while ((i < 0) && (errno == EINTR)); @@ -300,7 +302,7 @@ fcntl (sock,F_SETFL,flgs); /* This used to be a zero-byte read(), but that crashes Solaris */ /* get socket status */ - while (((i = *ctr = read (sock,tmp,1)) < 0) && (errno == EINTR)); + if(FD_ISSET(sock, &rfds)) while (((i = *ctr = read (sock,tmp,1)) < 0) && (errno == EINTR)); } if (i <= 0) { /* timeout or error? */ i = i ? errno : ETIMEDOUT;/* determine error code */ ++++++ imap.rpmlintrc ++++++ --- /var/tmp/diff_new_pack.2SjjBH/_old 2018-07-06 10:48:41.670776080 +0200 +++ /var/tmp/diff_new_pack.2SjjBH/_new 2018-07-06 10:48:41.674776075 +0200 @@ -1 +1,3 @@ -addFilter("files-duplicate */etc/pam.d/pop") +addFilter(".*W:.*files-duplicate */etc/pam.d/pop.*") +addFilter(".*W:.*standard-dir-owned-by-package.*/etc/xinetd\.d.*") +addFilter(".*E:.*devel-file-in-non-devel-package.*libc-client\.so.*") ++++++ imap.xinetd ++++++ --- /var/tmp/diff_new_pack.2SjjBH/_old 2018-07-06 10:48:41.686776061 +0200 +++ /var/tmp/diff_new_pack.2SjjBH/_new 2018-07-06 10:48:41.686776061 +0200 @@ -10,6 +10,8 @@ user = root server = /usr/sbin/ipop2d flags = IPv4 + log_on_success += HOST DURATION + log_on_failure += HOST } # @@ -24,6 +26,8 @@ user = root server = /usr/sbin/ipop3d flags = IPv4 + log_on_success += HOST DURATION + log_on_failure += HOST } # @@ -38,6 +42,8 @@ user = root server = /usr/sbin/ipop3d flags = IPv4 + log_on_success += HOST DURATION + log_on_failure += HOST } # @@ -52,6 +58,8 @@ user = root server = /usr/sbin/imapd flags = IPv4 + log_on_success += HOST DURATION + log_on_failure += HOST } # @@ -66,4 +74,6 @@ user = root server = /usr/sbin/imapd flags = IPv4 + log_on_success += HOST DURATION + log_on_failure += HOST }