[Midnightbsd-cvs] mports [23516] trunk/mail/cclient: modernize and update ssl config

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Sat May 12 10:50:03 EDT 2018


Revision: 23516
          http://svnweb.midnightbsd.org/mports/?rev=23516
Author:   laffer1
Date:     2018-05-12 10:50:02 -0400 (Sat, 12 May 2018)
Log Message:
-----------
modernize and update ssl config

Modified Paths:
--------------
    trunk/mail/cclient/Makefile

Added Paths:
-----------
    trunk/mail/cclient/files/patch-src_osdep_unix_ssl__unix.c

Modified: trunk/mail/cclient/Makefile
===================================================================
--- trunk/mail/cclient/Makefile	2018-05-12 14:44:51 UTC (rev 23515)
+++ trunk/mail/cclient/Makefile	2018-05-12 14:50:02 UTC (rev 23516)
@@ -2,6 +2,7 @@
 
 PORTNAME=	cclient
 PORTVERSION=	2007f
+PORTREVISION=	1
 PORTEPOCH=	1
 CATEGORIES=	mail devel ipv6
 MASTER_SITES=	ftp://ftp.cac.washington.edu/imap/%SUBDIR%/ \
@@ -14,36 +15,46 @@
 
 MAINTAINER=	ports at MidnightBSD.org
 COMMENT=	Mark Crispin's C-client mail access routines
+
 LICENSE=	apache2
+LICENSE_FILE=	${WRKSRC}/LICENSE.txt
 
-OPTIONS=	SSL "Compile with SSL support" on \
-		SSL_AND_PLAINTEXT "Allow plain text passwords and SSL" off \
-		IPV6 "Support IPv6" on \
-		MBX_DEFAULT "Use MBX as default mailbox format" off
+CONFLICTS_INSTALL=	panda-cclient-20*
 
-.include <bsd.port.pre.mk>
+OPTIONS_DEFINE=	SSL SSL_AND_PLAINTEXT IPV6 MBX_DEFAULT
+OPTIONS_DEFAULT=	SSL
+SSL_AND_PLAINTEXT_DESC=	Allow plain text passwords and SSL
+MBX_DEFAULT_DESC=	Use MBX as default mailbox format
 
+ALL_TARGET=	bsf
+MAKE_JOBS_UNSAFE=	yes
 USE_LDCONFIG=	yes
-ALL_TARGET=	bsf
-.if defined(WITHOUT_SSL)
+
+SSL_USES=		ssl
+
+.include <bsd.mport.options.mk>
+
+.if ${PORT_OPTIONS:MSSL}
+PKGMESSAGE=	pkg-message-ssl
+.endif
+
+.if ! ${PORT_OPTIONS:MSSL}
 MAKE_ARGS+=	SSLTYPE=none SSLDIR=${OPENSSLBASE}
 .else
-USE_OPENSSL=	yes
-.if defined(WITH_SSL_AND_PLAINTEXT)
-MAKE_ARGS+=	SSLTYPE=unix
+.if ${PORT_OPTIONS:MSSL_AND_PLAINTEXT}
+MAKE_ARGS+=	SSLTYPE=unix SSLDIR=${OPENSSLDIR}
 .else
-MAKE_ARGS+=	SSLTYPE=unix.nopwd
+MAKE_ARGS+=	SSLTYPE=unix.nopwd SSLDIR=${OPENSSLDIR}
 .endif
 .endif
 
-MAKE_JOBS_UNSAFE=	yes
-
 WRKSRC=		${WRKDIR}/${DISTNAME}
+MAKE_ARGS+=	EXTRACFLAGS="${CFLAGS}"
 
 SHLIBBASE=	c-client4
 SHLIBMAJ=	9
 SHLIBNAME=	lib${SHLIBBASE}.so.${SHLIBMAJ}
-MAKE_ENV=	SHLIBNAME=${SHLIBNAME} SHLIBBASE=${SHLIBBASE}
+MAKE_ENV+=	SHLIBNAME=${SHLIBNAME} SHLIBBASE=${SHLIBBASE}
 PLIST_SUB=	SHLIBNAME=${SHLIBNAME} SHLIBBASE=${SHLIBBASE}
 
 post-patch:
@@ -52,11 +63,18 @@
 .endfor
 	@${REINPLACE_CMD} -e "s:/etc/ssl/certs:${PREFIX}/certs:g; \
 		s:/etc/ssl/private:${PREFIX}/certs:g" ${WRKSRC}/Makefile
-.if !defined(WITHOUT_IPV6)
+	@${REINPLACE_CMD} -e "s:/etc/c-client.cf:${PREFIX}/etc/c-client.cf:" \
+		${WRKSRC}/src/osdep/unix/env_unix.h
+.if ${PORT_OPTIONS:MSSL}
+	@${REINPLACE_CMD} -e " \
+		s:SSLINCLUDE=/usr/include/openssl SSLLIB=/usr/lib:SSLINCLUDE=${OPENSSLINC} SSLLIB=${OPENSSLLIB}: \
+		" ${WRKSRC}/Makefile
+.endif
+.if ${PORT_OPTIONS:MIPV6}
 	@${REINPLACE_CMD} -e "s|^IP=4|IP=6|" ${WRKSRC}/Makefile \
 		${WRKSRC}/src/osdep/unix/Makefile
 .endif
-.if defined(WITH_MBX_DEFAULT)
+.if ${PORT_OPTIONS:MMBX_DEFAULT}
 	@${REINPLACE_CMD} -e "s|^CREATEPROTO=unixproto|CREATEPROTO=mbxproto|" \
 		${WRKSRC}/src/osdep/unix/Makefile
 .endif
@@ -73,7 +91,7 @@
 
 post-build:
 	@${ECHO_CMD} "#define CCLIENT_PORTVERSION \"${PORTVERSION}\"" >${PORTREV_H}
-.if !defined(WITHOUT_SSL)
+.if ${PORT_OPTIONS:MSSL}
 	@${ECHO_CMD} "#define CCLIENT_SSLENABLED \"yes\"" >>${PORTREV_H}
 .else
 	@${ECHO_CMD} "#define CCLIENT_SSLENABLED \"no\"" >>${PORTREV_H}
@@ -84,23 +102,13 @@
 .for f in ${HEADERS}
 	${INSTALL_DATA} ${WRKSRC}/c-client/${f} ${PREFIX}/include/c-client
 .endfor
-	${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
-		${WRKSRC}/c-client/${SHLIBNAME} ${PREFIX}/lib
-	${LN} -sf ${SHLIBNAME} ${PREFIX}/lib/lib${SHLIBBASE}.so
+	${INSTALL_LIB} ${WRKSRC}/c-client/${SHLIBNAME} ${STAGEDIR}${PREFIX}/lib
+	${LN} -sf ${SHLIBNAME} ${STAGEDIR}${PREFIX}/lib/lib${SHLIBBASE}.so
 	${INSTALL_DATA} ${WRKSRC}/c-client/c-client.a \
-		${PREFIX}/lib/lib${SHLIBBASE}.a
-	${INSTALL_DATA} ${WRKSRC}/c-client/CFLAGS ${PREFIX}/include/c-client
-	${INSTALL_DATA} ${WRKSRC}/c-client/LDFLAGS ${PREFIX}/include/c-client
-	${INSTALL_DATA} ${WRKSRC}/c-client/OSCFLAGS ${PREFIX}/include/c-client
+		${STAGEDIR}${PREFIX}/lib/lib${SHLIBBASE}.a
+	${INSTALL_DATA} ${WRKSRC}/c-client/CFLAGS ${STAGEDIR}${PREFIX}/include/c-client
+	${INSTALL_DATA} ${WRKSRC}/c-client/LDFLAGS ${STAGEDIR}${PREFIX}/include/c-client
+	${INSTALL_DATA} ${WRKSRC}/c-client/OSCFLAGS ${STAGEDIR}${PREFIX}/include/c-client
+	${INSTALL_DATA} ${PORTREV_H} ${STAGEDIR}${PREFIX}/include/c-client
 
-post-install:
-	${INSTALL_DATA} ${PORTREV_H} ${PREFIX}/include/c-client
-.if !defined(WITHOUT_SSL)
-	@${ECHO} "================================================================================"
-	@${ECHO} "Warning: You have chosen to include SSL support. Applications/ports that use"
-	@${ECHO} "the cclient library but do not support SSL may stop working or have problems"
-	@${ECHO} "linking. Linking them explicitly with ssl (-lssl -lcrypto) may or may not help."
-	@${ECHO} "================================================================================"
-.endif
-
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>

Added: trunk/mail/cclient/files/patch-src_osdep_unix_ssl__unix.c
===================================================================
--- trunk/mail/cclient/files/patch-src_osdep_unix_ssl__unix.c	                        (rev 0)
+++ trunk/mail/cclient/files/patch-src_osdep_unix_ssl__unix.c	2018-05-12 14:50:02 UTC (rev 23516)
@@ -0,0 +1,26 @@
+--- src/osdep/unix/ssl_unix.c.orig	2011-07-23 00:20:10 UTC
++++ src/osdep/unix/ssl_unix.c
+@@ -270,9 +270,9 @@ static char *ssl_start_work (SSLSTREAM *
+       (err = ssl_validate_cert (cert = SSL_get_peer_certificate (stream->con),
+ 				host))) {
+ 				/* application callback */
+-    if (scq) return (*scq) (err,host,cert ? cert->name : "???") ? NIL : "";
++    if (scq) return (*scq) (err,host,cert ? X509_get_subject_name(cert) : "???") ? NIL : "";
+ 				/* error message to return via mm_log() */
+-    sprintf (tmp,"*%.128s: %.255s",err,cert ? cert->name : "???");
++    sprintf (tmp,"*%.128s: %.255s",err,cert ? X509_get_subject_name(cert) : "???");
+     return ssl_last_error = cpystr (tmp);
+   }
+   return NIL;
+@@ -322,9 +322,9 @@ static char *ssl_validate_cert (X509 *ce
+ 				/* make sure have a certificate */
+   if (!cert) ret = "No certificate from server";
+ 				/* and that it has a name */
+-  else if (!cert->name) ret = "No name in certificate";
++  else if (!X509_get_subject_name(cert)) ret = "No name in certificate";
+ 				/* locate CN */
+-  else if (s = strstr (cert->name,"/CN=")) {
++  else if (s = strstr (X509_get_subject_name(cert),"/CN=")) {
+     if (t = strchr (s += 4,'/')) *t = '\0';
+ 				/* host name matches pattern? */
+     ret = ssl_compare_hostnames (host,s) ? NIL :


Property changes on: trunk/mail/cclient/files/patch-src_osdep_unix_ssl__unix.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property


More information about the Midnightbsd-cvs mailing list