Fix mail/qpopper:

- remove MASTER_SITE ftp.qualcomm.com that is no more
  and add a couple of living distfile sources;

- describe custom BSD-style Quallcom license for the distfile;

- fix building with openssl-1.1.1 that no longer has SSLv2 support
  plus made struct ssl_st (SSL) completely opaque, so better use
  public interface SSL_session_reused() instead of direct access
  to now hidden "hit" part of struct; this works for previous
  openssl versions too.

No PORTREVISION bump as this fixed package building for FreeBSD 12+
and has no visible package changes for other supported branches.

PR:		232383
Reported by:	sbruno
Approved by:	bc979@lafn.org (maintainer timeout, 4 weeks)
This commit is contained in:
Eugene Grosbein 2018-11-14 18:14:53 +00:00
parent 5471da0e72
commit 8f0080b950
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=484938
2 changed files with 27 additions and 3 deletions

View file

@ -5,14 +5,22 @@ PORTNAME= qpopper
PORTVERSION= 4.1.0
PORTREVISION= 6
CATEGORIES= mail ipv6
MASTER_SITES= ftp://ftp.qualcomm.com/eudora/servers/unix/popper/ \
http://core.ring.gr.jp/archives/net/mail/qpopper/
MASTER_SITES= http://core.ring.gr.jp/archives/net/mail/qpopper/ \
http://ftp.osuosl.org/.1/blfs/7.7/q/ \
LOCAL/eugen
DISTNAME= ${PORTNAME}${PORTVERSION}
MAINTAINER= bc979@lafn.org
COMMENT= Berkeley POP 3 server (now maintained by Qualcomm)
# BSD-style license
LICENSE= QUALCOMM
LICENSE_NAME= Qualcomm BSD-style lisense
LICENSE_FILE= ${WRKSRC}/License.txt
LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
USES= compiler:features
GNU_CONFIGURE= yes
CONFIGURE_ENV= OS_DEFS="-DSETPROCTITLE ${OS_DEFS}"
CONFIGURE_ARGS= --enable-nonauth-file=${POPUSERS_FILE} \
@ -114,7 +122,7 @@ CONFIGURE_ARGS+= --enable-shy
# without inetd.
.if ${PORT_OPTIONS:MSTANDALONE_MODE}
CONFIGURE_ARGS+= --enable-standalone
USE_RC_SUBR= ${PORTNAME}
USE_RC_SUBR= ${PORTNAME}
.endif
# The default is to build without SSL/TLS support.
@ -122,6 +130,12 @@ USE_RC_SUBR= ${PORTNAME}
CONFIGURE_ARGS+= --with-openssl=${OPENSSLBASE}
.endif
# openssl-1.1.1 no longer has SSLv2 support
.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1200085
CFLAGS+= -DOPENSSL_NO_SSL2
CONFIGURE_ARGS+= CFLAGS="${CFLAGS}"
.endif
post-patch:
.if ${COMPILER_TYPE} == clang
@${REINPLACE_CMD} -e 's|-freg-struct-return||' ${WRKSRC}/configure

View file

@ -32,3 +32,13 @@
case QPOP_TLSv1: /* TLS version 1 only */
DEBUG_LOG0 ( pPOP, "...setting method to TLSv1_server_method" );
@@ -547,7 +547,8 @@ openssl_handshake ( pop_tls *pTLS )
"%s session-id; cipher: %s (%s), %d bits",
VERSION, SSL_CIPHER_get_version(ciph),
pTLS->m_pPOP->client, pTLS->m_pPOP->ipaddr,
- ( pTLS->m_OpenSSLconn->hit ? "reused" : "new" ),
+ ( SSL_session_reused(pTLS->m_OpenSSLconn) ?
+ "reused" : "new" ),
( ciph_name != NULL ? ciph_name : "(none)" ),
get_cipher_description ( ciph, buf, sizeof(buf) ),
SSL_CIPHER_get_bits ( ciph, &al_bits ) );