Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Oct 2000 18:43:45 -0400 (EDT)
From:      Mikhail Teterin <mi@aldan.algebra.com>
To:        FreeBSD-gnats-submit@freebsd.org
Cc:        kris@freebsd.org, dirk@freebsd.org
Subject:   ports/21920: port of openssl-0.9.6
Message-ID:  <200010112243.e9BMhjI00630@aldan.algebra.com>

next in thread | raw e-mail | index | archive | help

>Number:         21920
>Category:       ports
>Synopsis:       port of openssl-0.9.6
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Oct 11 15:50:00 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:     Mikhail Teterin
>Release:        FreeBSD 4.1.1-STABLE i386
>Organization:
Virtual Estates, Inc.
>Environment:

>Description:

	From my point of view, the major flaw of the existing port is,
	that it does not build on FreeBSD-2.2.x, but that's probably
	because I still maintain one server that runs that :)

	The attached patches offer the following improvements (besides
	using the freshly released new version 0.9.6):

		. use assembler-implementation of ciphers when possible. 
		  This mostly improves x86, but there is one such thing
		  for Alpha, and, according the author, it speeds up the
		  cipher by a factor of 2...
		. build the binaries and libraries the bsd way -- through
		  bsd.*.mk. This enables parallelized build (-j 2) and
		  ensures a smooth build on older systems (2.2.8)
		. do not use rsaref/RSAglue. It is my understanding, that
		  those are no longer needed.

	Because this port may be of interest even on 4.x and 5.x -- since
	our version of OpenSSL is older, I commented out the FORBIDDEN part.

>How-To-Repeat:

>Fix:

--- Makefile	Sun Oct  8 06:22:52 2000
+++ Makefile	Wed Oct 11 17:57:56 2000
@@ -8,4 +8,3 @@
 PORTNAME=	openssl
-PORTVERSION=	0.9.5a
-PORTREVISION=	1
+PORTVERSION=	0.9.6
 CATEGORIES=	security devel
@@ -18,19 +17,15 @@ MAINTAINER=	dirk@FreeBSD.org
 
+PORTREVISION=	1
+
 .include <bsd.port.pre.mk>
-.if ${OSVERSION} >= 400014
-FORBIDDEN=	"OpenSSL is already in the base system"
-.endif
-.if ${PORTOBJFORMAT} == "aout"
-NOSHARED=	yes
-.endif
+#.if ${OSVERSION} >= 400014
+#FORBIDDEN=	"OpenSSL is already in the base system"
+#.endif
 
 USE_PERL5=	yes
-.if defined(NOSHARED)
-PLIST=		${PKGDIR}/pkg-plist.noshared
-.else
-ALL_TARGET=	freebsd-shared all
-SHLIBVER=	1
-MAKE_ENV+=	SHLIBVER=${SHLIBVER}
 INSTALLS_SHLIB=	yes
-.endif
+MAKE_ENV+=	SHLIBVER=${SHLIBVER} FILESDIR=${FILESDIR} \
+		"MAN1=${MAN1}" "MAN3=${MAN3}" "MAN5=${MAN5}" \
+		"MAN7=${MAN7}" "MKDIR=${MKDIR}" "MANPREFIX=${MANPREFIX}" \
+		"INSTALL_MAN=${INSTALL_MAN}" PERL=${PERL}
 
@@ -41,3 +36,3 @@ MAN1=		CA.pl.1 asn1parse.1 ca.1 ciphers.
 		rsa.1 s_client.1 s_server.1 sess_id.1 smime.1 speed.1 \
-		spkac.1 verify.1 version.1 x509.1
+		spkac.1 verify.1 version.1 x509.1 rsautl.1
 MAN3=		BN_CTX_new.3 BN_CTX_start.3 BN_add.3 BN_add_word.3 \
@@ -67,3 +62,20 @@ MAN3=		BN_CTX_new.3 BN_CTX_start.3 BN_ad
 		err.3 hmac.3 lh_stats.3 lhash.3 md5.3 mdc2.3 rand.3 rc4.3 \
-		ripemd.3 rsa.3 sha.3 ssl.3 threads.3
+		ripemd.3 rsa.3 sha.3 ssl.3 threads.3 \
+		BIO_ctrl.3 BIO_f_base64.3 BIO_f_buffer.3 \
+		BIO_f_cipher.3 BIO_f_md.3 BIO_f_null.3 BIO_f_ssl.3 \
+		BIO_find_type.3 BIO_new.3 BIO_new_bio_pair.3 \
+		BIO_push.3 BIO_read.3 BIO_s_accept.3 BIO_s_bio.3 \
+		BIO_s_connect.3 BIO_s_fd.3 BIO_s_file.3 BIO_s_mem.3 \
+		BIO_s_null.3 BIO_s_socket.3 BIO_set_callback.3 \
+		BIO_should_retry.3 bio.3 evp.3 SSL_CIPHER_get_name.3 \
+		SSL_CTX_free.3 SSL_CTX_new.3 SSL_CTX_set_cipher_list.3 \
+		SSL_CTX_set_ssl_version.3 SSL_SESSION_free.3 \
+		SSL_accept.3 SSL_clear.3 SSL_connect.3 SSL_free.3 \
+		SSL_get_ciphers.3 SSL_get_current_cipher.3 \
+		SSL_get_fd.3 SSL_get_peer_cert_chain.3 \
+		SSL_get_peer_certificate.3 SSL_get_rbio.3 \
+		SSL_get_session.3 SSL_get_verify_result.3 \
+		SSL_library_init.3 SSL_new.3 SSL_pending.3 SSL_read.3 \
+		SSL_set_bio.3 SSL_set_fd.3 SSL_set_session.3 \
+		SSL_set_verify_result.3 SSL_shutdown.3 SSL_write.3
 MAN5=		config.5
@@ -72,14 +84,16 @@ MAN7=		des_modes.7
 do-configure:
-	@cd ${WRKSRC} \
-	&& ${SETENV} CC="${CC}" CFLAGS="${CFLAGS}" PERL="${PERL}" \
-	   ./config --prefix=${PREFIX} --openssldir=${PREFIX}/openssl \
-	   -L${PREFIX}/lib
+	for d in crypto ssl apps doc; do \
+		${RM} -f ${WRKSRC}/$$d/Makefile; \
+		${CP} -p ${FILESDIR}/$$d.Makefile ${WRKSRC}/$$d/Makefile; \
+	done
+	${RM} -f ${WRKSRC}/Makefile
+	${CP} -p ${FILESDIR}/top.Makefile ${WRKSRC}/Makefile
 
 post-install:
-.if !defined(NOSHARED)
-.for i in libcrypto libssl
-	@${INSTALL_DATA} ${WRKSRC}/$i.so.${SHLIBVER} ${PREFIX}/lib
-	@${LN} -sf $i.so.${SHLIBVER} ${PREFIX}/lib/$i.so
-.endfor
-.endif
+	${MKDIR} ${PREFIX}/include/openssl
+	${INSTALL_DATA} ${WRKSRC}/include/openssl/*.h ${PREFIX}/include/openssl
+	${INSTALL_SCRIPT} ${WRKSRC}/apps/CA.sh ${WRKSRC}/apps/CA.pl \
+		${WRKSRC}/apps/der_chop ${PREFIX}/openssl/misc/
+	${INSTALL_DATA} ${WRKSRC}/apps/openssl.cnf \
+		${PREFIX}/openssl/openssl.cnf.sample
 .if !defined(NOPORTDOCS)
--- distinfo	Sun Apr 16 08:24:42 2000
+++ distinfo	Tue Oct 10 16:30:39 2000
@@ -1 +1 @@
-MD5 (openssl-0.9.5a.tar.gz) = 8fcb6a8ba511ec8b54b95f267ef52cf0
+MD5 (openssl-0.9.6.tar.gz) = 4b407ab005b3846ec542eb8305823bca
--- files/LIBSRC.mk	Wed Dec 31 19:00:00 1969
+++ files/LIBSRC.mk	Tue Oct 10 17:36:25 2000
@@ -0,0 +1,4 @@
+.include "${TARGET}"
+
+echo:
+	@echo ${LIBSRC}
--- files/apps.Makefile	Wed Dec 31 19:00:00 1969
+++ files/apps.Makefile	Wed Oct 11 12:51:41 2000
@@ -0,0 +1,20 @@
+BINDIR=${PREFIX}/bin
+CFLAGS+=-I${.CURDIR}/../include -DMONOLITH
+LDADD=	-L${.CURDIR}/../ssl -lssl -L${.CURDIR}/../crypto -lcrypto
+
+PROG= openssl
+NOMAN=man pages are separated
+
+A_SRC=apps.c
+S_SRC=	s_cb.c s_socket.c
+RAND_SRC=app_rand.c
+
+SRCS=	verify.c asn1pars.c req.c dgst.c dh.c enc.c passwd.c gendh.c \
+	errstr.c ca.c pkcs7.c crl2p7.c crl.c \
+	rsa.c rsautl.c dsa.c dsaparam.c dhparam.c \
+	x509.c genrsa.c gendsa.c s_server.c s_client.c speed.c \
+	s_time.c $(A_SRC) $(S_SRC) $(RAND_SRC) version.c sess_id.c \
+	ciphers.c nseq.c pkcs12.c pkcs8.c spkac.c smime.c rand.c \
+	${PROG}.c
+
+.include <bsd.prog.mk>
--- files/crypto.Makefile	Wed Dec 31 19:00:00 1969
+++ files/crypto.Makefile	Wed Oct 11 17:15:57 2000
@@ -0,0 +1,100 @@
+LIBDIR=${PREFIX}/lib	# where to install
+
+CFLAGS+=	-I${.CURDIR} -I${.CURDIR}/../include
+
+NOMAN=	man pages are separated
+
+SDIRS=	md2 md4 md5 sha mdc2 hmac ripemd \
+	des rc2 rc4 rc5 idea bf cast \
+	bn rsa dsa dh dso \
+	buffer bio stack lhash rand err objects \
+	evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp
+
+LIB=	crypto
+SRCS=	cryptlib.c mem.c mem_dbg.c cversion.c ex_data.c tmdiff.c \
+	cpt_err.c ebcdic.c
+
+cversion.o cversion.So cversion.so: buildinf.h
+
+buildinf.h:
+	( echo "#ifndef MK1MF_BUILD"; \
+	echo "  /* auto-generated by crypto/Makefile.ssl for crypto/cversion.c */"; \
+	echo "  #define CFLAGS \"$(CC) $(CFLAGS)\""; \
+	echo "  #define PLATFORM \"$(PLATFORM)\""; \
+	echo "  #define DATE \"`date`\""; \
+	echo "#endif" ) >buildinf.h
+
+# It appears, there are binary level incompatibilites compared to 0.9.5a
+SHLIB_MAJOR=2
+SHLIB_MINOR=0
+#INTERNALLIB=don't care for a static version
+NOPROFILE=don't care for the profile version
+
+# read all of the sub-Makefiles to get their LIBSRC lists:
+.for d in ${SDIRS}
+LIBSRC!=	${MAKE} -j 1 -f ${FILESDIR}/LIBSRC.mk TARGET=$d/Makefile.ssl echo
+.PATH:	$d
+
+SRCS:=	${SRCS} ${LIBSRC}
+.endfor
+
+# Most of the rest of this file tries to replace the C-versions of some
+# ciphers with their assemly replacements. Most of the replacements are
+# available for 586 and 686 CPUs only, but there is one for Alpha too.
+# The [56]86 ones will only be triggered if i[56]86 is somewhere in the
+# CFLAGS. I compile things with ``-mcpu=i686 -march=i686''...
+# See the various asm subdirectories under crypto for authors comments
+# and the expected performance improvements.	-mi
+i686:="${CFLAGS:M*i686} ${CFLAGS:M*pentiumpro}"
+i586:="${CFLAGS:M*i586} ${CFLAGS:M*pentium}"
+
+.if ${i686} == " "
+BF_ASM=686
+.elif ${i586} == " "
+BF_ASM=586
+.endif
+
+.if ${MACHINE_ARCH} == "alpha"
+BN_ASM=alpha
+.endif
+
+.ifdef(BF_ASM)
+CFLAGS+=	-DMD5_ASM -DRMD160_ASM -DSHA1_ASM
+ASMS=	bf-${BF_ASM} rmd-586 sha1-586 md5-586 cast-586 crypt586 \
+	rc4-586 rc5-586
+BN_ASM=586
+.if ${BF_ASM} == "i686"
+ASMS+=	des686
+.else
+ASMS+=	des-586
+.endif
+
+.for f in bf_cbc bf_enc des_enc fcrypt_b c_enc rc5_enc rc4_enc
+# do not compile this files -- we will use the asm-replacements:
+SRCS:=	${SRCS:N$f.c}
+.endfor
+
+SRCS+=	${ASMS:S/$/.s/}
+.PATH:	${.CURDIR}/bf/asm ${.CURDIR}/sha/asm ${.CURDIR}/ripemd/asm \
+	${.CURDIR}/md5/asm ${.CURDIR}/cast/asm ${.CURDIR}/des/asm \
+	${.CURDIR}/rc4/asm ${.CURDIR}/rc5/asm
+.endif
+
+.ifdef(BN_ASM)
+.PATH: ${.CURDIR}/bn/asm
+ASMS+=	bn-${BN_ASM} co-${BN_ASM}
+SRCS:=	 ${SRCS:Nbn_asm.c}	# do not compile this file...
+.endif
+
+.if ${PORTOBJFORMAT} == "aout"
+bin=a.out
+.else
+bin=elf
+.endif
+
+.for a in ${ASMS}
+$a.s: $a.pl
+	(cd `dirname ${.ALLSRC}` && ${PERL} $a.pl ${bin}) > $a.s
+.endfor
+
+.include <bsd.lib.mk>
--- files/doc.Makefile	Wed Dec 31 19:00:00 1969
+++ files/doc.Makefile	Wed Oct 11 17:53:15 2000
@@ -0,0 +1,14 @@
+.PATH: ${.CURDIR}/apps  ${.CURDIR}/crypto  ${.CURDIR}/ssl 
+
+all: ${MAN1} ${MAN3} ${MAN5} ${MAN7}
+
+.SUFFIXES: .pod .1 .3 .5 .7
+
+.pod.1 .pod.3 .pod.5 .pod.7:
+	pod2man $> > $@
+
+install: ${MAN1} ${MAN3} ${MAN5} ${MAN7}
+.for i in 1 3 5 7
+	${MKDIR} -p ${MANPREFIX}/man/man$i
+	${INSTALL_MAN} ${MAN$i} ${MANPREFIX}/man/man$i
+.endfor
--- files/patch-ab	Sun Nov  7 17:19:48 1999
+++ files/patch-ab	Wed Dec 31 19:00:00 1969
@@ -1,33 +0,0 @@
---- Makefile.org.orig	Sun Aug  8 12:29:52 1999
-+++ Makefile.org	Sun Nov  7 18:33:37 1999
-@@ -164,7 +164,7 @@
- ONEDIRS=out tmp
- EDIRS=  times doc bugs util include certs ms shlib mt demos perl sf dep VMS
- WDIRS=  windows
--LIBS=   libcrypto.a libssl.a 
-+LIBS=   libcrypto.a libssl.a libRSAglue.a
- 
- GENERAL=        Makefile
- BASENAME=       openssl
-@@ -187,6 +187,21 @@
- 	do \
- 	(cd $$i && echo "making all in $$i..." && \
- 	$(MAKE) CC='${CC}' PLATFORM='${PLATFORM}' CFLAG='${CFLAG}' SDIRS='$(SDIRS)' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' AR='${AR}' PROCESSOR='${PROCESSOR}' PERL='${PERL}' RANLIB='${RANLIB}' all ) || exit 1; \
-+	done;
-+
-+freebsd-shared:
-+	for i in ${SHLIBDIRS}; do \
-+	rm -f lib$$i.a lib$$i.so \
-+		lib$$i.so.${SHLIBVER}; \
-+	${MAKE} CC='${CC}' PLATFORM='${PLATFORM}' CFLAG='-fPIC ${CFLAG}' SDIRS='${SDIRS}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' AR='${AR}' DIRS=$$i clean all || exit 1; \
-+	( set -x; ${CC}  -shared -o lib$$i.so.${SHLIBVER} \
-+		-Wl,-S,-soname=lib$$i.so.${SHLIBVER} \
-+		-Wl,--whole-archive lib$$i.a ) || exit 1; \
-+	rm -f lib$$i.a; (cd $$i ; ${MAKE} clean) || exit 1 ;\
-+	done;
-+	@set -x; \
-+	for i in ${SHLIBDIRS}; do \
-+	ln -s lib$$i.so.${SHLIBVER} lib$$i.so; \
- 	done;
- 
- linux-shared:
--- files/patch-ac	Sun Apr 16 08:24:43 2000
+++ files/patch-ac	Wed Dec 31 19:00:00 1969
@@ -1,22 +0,0 @@
---- Configure.orig	Mon Mar 27 23:28:10 2000
-+++ Configure	Sat Apr 15 13:30:38 2000
-@@ -243,7 +243,7 @@
- "alpha-gcc","gcc:-O3::(unknown)::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_RISC1:asm/alpha.o::",
- "alpha-cc", "cc:-std1 -tune host -O4 -readonly_strings::(unknown)::SIXTY_FOUR_BIT_LONG RC4_CHUNK:asm/alpha.o::",
- "alpha164-cc", "cc:-std1 -tune host -fast -readonly_strings::(unknown)::SIXTY_FOUR_BIT_LONG RC4_CHUNK:asm/alpha.o::",
--"FreeBSD-alpha","gcc:-DTERMIOS -O3 -fomit-frame-pointer::(unknown)::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR DES_RISC2:::",
-+"FreeBSD-alpha","$ENV{CC}:-DTERMIOS $ENV{CFLAGS}::(unknown)::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR DES_RISC2:::",
- 
- #### Alpha Linux with GNU C and Compaq C setups
- # Special notes:
-@@ -277,8 +277,8 @@
- "NetBSD-sparc",	"gcc:-DTERMIOS -O3 -fomit-frame-pointer -mv8 -Wall -DB_ENDIAN::(unknown)::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL:::",
- "NetBSD-m68",	"gcc:-DTERMIOS -O3 -fomit-frame-pointer -Wall -DB_ENDIAN::(unknown)::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL:::",
- "NetBSD-x86",	"gcc:-DTERMIOS -O3 -fomit-frame-pointer -m486 -Wall::(unknown)::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:",
--"FreeBSD-elf",  "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall::(unknown)::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}",
--"FreeBSD",      "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall::(unknown)::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_out_asm}",
-+"FreeBSD-elf",  "$ENV{CC}:-DTERMIOS -DL_ENDIAN $ENV{CFLAGS}::(unknown)::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}",
-+"FreeBSD",      "$ENV{CC}:-DTERMIOS -DL_ENDIAN $ENV{CFLAGS}::(unknown)::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_out_asm}",
- "bsdi-gcc",     "gcc:-O3 -ffast-math -DL_ENDIAN -DPERL5 -m486::(unknown)::RSA_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_bsdi_asm}",
- "bsdi-elf-gcc",     "gcc:-DPERL5 -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall::(unknown)::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}",
- "nextstep",	"cc:-O -Wall:<libc.h>:(unknown)::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:::",
--- files/patch-ad	Sat Jan  2 15:38:55 1999
+++ files/patch-ad	Tue Oct 10 18:15:35 2000
@@ -1,2 +1,2 @@
---- crypto/md5/md5.c.orig	Thu Apr  9 07:59:29 1998
+--- crypto/md5/md5.c	Thu Apr  9 07:59:29 1998
 +++ crypto/md5/md5.c	Sun Dec 27 18:44:33 1998
--- files/patch-ag	Wed Jan 20 07:44:04 1999
+++ files/patch-ag	Tue Oct 10 20:49:58 2000
@@ -1,11 +1,7 @@
---- apps/dgst.c.orig	Mon Dec 21 20:00:13 1998
-+++ apps/dgst.c	Tue Jan 19 16:16:38 1999
-@@ -187,7 +187,7 @@
- 				err++;
- 				continue;
+--- apps/dgst.c	Thu Sep 21 05:23:15 2000
++++ apps/dgst.c	Tue Oct 10 20:48:57 2000
+@@ -320,3 +320,3 @@
  				}
--			printf("%s(%s)= ",name,argv[i]);
-+			printf("%s (%s) = ",name,argv[i]);
- 			do_fp(buf,inp,separator);
- 			BIO_reset(bmd);
- 			}
+-			if(!out_bin) BIO_printf(out, "%s(%s)= ",name,argv[i]);
++			if(!out_bin) BIO_printf(out, "%s (%s)= ",name,argv[i]);
+ 			do_fp(out, buf,inp,separator, out_bin, sigkey, 
--- files/patch-ah	Sun Apr 16 08:24:43 2000
+++ files/patch-ah	Wed Dec 31 19:00:00 1969
@@ -1,53 +0,0 @@
---- config.orig	Tue Mar 14 00:52:44 2000
-+++ config	Sat Apr 15 14:18:03 2000
-@@ -311,50 +311,6 @@
- esac
- done
- 
--# figure out if gcc is available and if so we use it otherwise
--# we fallback to whatever cc does on the system
--GCCVER=`(gcc --version) 2>/dev/null`
--if [ "$GCCVER" != "" ]; then
--  CC=gcc
--  # then strip off whatever prefix Cygnus prepends the number with...
--  GCCVER=`echo $GCCVER | sed 's/^[a-z]*\-//'`
--  # peak single digit before and after first dot, e.g. 2.95.1 gives 29
--  GCCVER=`echo $GCCVER | sed 's/\([0-9]\)\.\([0-9]\).*/\1\2/'`
--else
--  CC=cc
--fi
--
--if [ "$SYSTEM" = "SunOS" ]; then
--  # check for WorkShop C, expected output is "cc: blah-blah C x.x"
--  CCVER=`(cc -V 2>&1) 2>/dev/null | \
--  	egrep -e '^cc: .* C [0-9]\.[0-9]' | \
--	sed 's/.* C \([0-9]\)\.\([0-9]\).*/\1\2/'`
--  CCVER=${CCVER:-0}
--  if [ $CCVER -gt 40 ]; then
--    CC=cc	# overrides gcc!!!
--    if [ $CCVER -eq 50 ]; then
--      echo "WARNING! Detected WorkShop C 5.0. Do make sure you have"
--      echo "         patch #107357-01 or later applied."
--      sleep 5
--    fi
--  elif [ "$CC" = "cc" -a $CCVER -gt 0 ]; then
--    CC=sc3
--  fi
--fi
--
--if [ "${SYSTEM}-${MACHINE}" = "Linux-alpha" ]; then
--  # check for Compaq C, expected output is "blah-blah C Vx.x"
--  CCCVER=`(ccc -V 2>&1) 2>/dev/null | \
--	egrep -e '.* C V[0-9]\.[0-9]' | \
--	sed 's/.* C V\([0-9]\)\.\([0-9]\).*/\1\2/'`
--  CCCVER=${CCCVER:-0}
--  if [ $CCCVER -gt 60 ]; then
--    CC=ccc	# overrides gcc!!! well, ccc outperforms inoticeably
--		# only on hash routines and des, otherwise gcc (2.95)
--		# keeps along rather tight...
--  fi
--fi
--
- GCCVER=${GCCVER:-0}
- CCVER=${CCVER:-0}
- 
--- files/patch-ak	Wed Jun  2 03:30:47 1999
+++ files/patch-ak	Wed Dec 31 19:00:00 1969
@@ -1,13 +0,0 @@
---- apps/Makefile.ssl.orig	Sun May 23 14:36:09 1999
-+++ apps/Makefile.ssl	Fri May 28 22:29:19 1999
-@@ -101,8 +101,8 @@
- 	 cp $$i $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i; \
- 	 chmod 755 $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i ); \
- 	 done
--	@cp openssl.cnf $(INSTALL_PREFIX)$(OPENSSLDIR); \
--	chmod 644 $(INSTALL_PREFIX)$(OPENSSLDIR)/openssl.cnf
-+	@cp openssl.cnf $(INSTALL_PREFIX)$(OPENSSLDIR)/openssl.cnf.sample; \
-+	chmod 644 $(INSTALL_PREFIX)$(OPENSSLDIR)/openssl.cnf.sample
- 
- tags:
- 	ctags $(SRC)
--- files/patch-ba	Wed Dec 31 19:00:00 1969
+++ files/patch-ba	Wed Oct 11 11:53:34 2000
@@ -0,0 +1,14 @@
+--- tools/Makefile	Mon Sep 11 08:49:18 2000
++++ tools/Makefile	Wed Oct 11 11:34:54 2000
+@@ -10,4 +10,4 @@
+ INSTALL_PREFIX=
+-OPENSSLDIR=     /usr/local/ssl
+-INSTALLTOP=/usr/local/ssl
++OPENSSLDIR=	${PREFIX}/openssl
++INSTALLTOP=	${PREFIX}
+ MAKE=		make -f Makefile.ssl
+@@ -26,2 +26,4 @@
+ install:
++	${MKDIR} $(INSTALL_PREFIX)$(INSTALLTOP)/bin \
++		$(INSTALL_PREFIX)$(OPENSSLDIR)/misc
+ 	@for i in $(APPS) ; \
--- files/patch-bb	Wed Dec 31 19:00:00 1969
+++ files/patch-bb	Wed Oct 11 15:50:23 2000
@@ -0,0 +1,12 @@
+Without this patching, the generated assembly code chokes our cpp
+with "unterminated string" :-)	-mi
+--- crypto/perlasm/x86asm.pl	Mon Mar 13 18:54:34 2000
++++ crypto/perlasm/x86asm.pl	Wed Oct 11 13:49:10 2000
+@@ -52 +52 @@
+-&comment("Don't even think of reading this code");
++&comment("Do not even think of reading this code");
+--- crypto/des/asm/des686.pl	Mon Dec 21 05:55:05 1998
++++ crypto/des/asm/des686.pl	Wed Oct 11 15:49:15 2000
+@@ -36 +36 @@
+-&comment("Don't even think of reading this code");
++&comment("Do not even think of reading this code");
--- files/ssl.Makefile	Wed Dec 31 19:00:00 1969
+++ files/ssl.Makefile	Wed Oct 11 17:15:47 2000
@@ -0,0 +1,23 @@
+NOMAN=	man pages are separated
+LIBDIR=${PREFIX}/lib
+LIB=	ssl
+SRCS=	\
+	s2_meth.c   s2_srvr.c s2_clnt.c  s2_lib.c  s2_enc.c s2_pkt.c \
+	s3_meth.c   s3_srvr.c s3_clnt.c  s3_lib.c  s3_enc.c s3_pkt.c s3_both.c \
+	s23_meth.c s23_srvr.c s23_clnt.c s23_lib.c          s23_pkt.c \
+	t1_meth.c   t1_srvr.c t1_clnt.c  t1_lib.c  t1_enc.c \
+	ssl_lib.c ssl_err2.c ssl_cert.c ssl_sess.c \
+	ssl_ciph.c ssl_stat.c ssl_rsa.c \
+	ssl_asn1.c ssl_txt.c ssl_algs.c \
+	bio_ssl.c ssl_err.c
+
+LDADD=	-L${.CURDIR}/../crypto -lcrypto
+CFLAGS+=	-I${.CURDIR} -I${.CURDIR}/../include
+
+# It appears, there are binary level incompatibilites compared to 0.9.5a
+SHLIB_MAJOR=2
+SHLIB_MINOR=0
+#INTERNALLIB=don't need a static version
+NOPROFILE=don't care for a profile version
+
+.include <bsd.lib.mk>
--- files/top.Makefile	Wed Dec 31 19:00:00 1969
+++ files/top.Makefile	Wed Oct 11 12:49:18 2000
@@ -0,0 +1,6 @@
+SUBDIR=	crypto ssl apps doc tools
+PREFIX?=/usr/local
+
+.MAKEFLAGS: -j 2 PREFIX=${PREFIX}
+
+.include <bsd.subdir.mk>
--- pkg-plist	Fri Jun 16 04:48:20 2000
+++ pkg-plist	Wed Oct 11 17:14:41 2000
@@ -52,9 +52,8 @@ include/openssl/x509_vfy.h
 include/openssl/x509v3.h
-lib/libRSAglue.a
 lib/libcrypto.a
 lib/libcrypto.so
-lib/libcrypto.so.1
+lib/libcrypto.so.2
 lib/libssl.a
 lib/libssl.so
-lib/libssl.so.1
+lib/libssl.so.2
 openssl/misc/CA.pl
--- pkg-plist.noshared	Tue Apr 25 18:16:24 2000
+++ pkg-plist.noshared	Wed Dec 31 19:00:00 1969
@@ -1,76 +0,0 @@
-bin/c_rehash
-bin/openssl
-include/openssl/asn1.h
-include/openssl/asn1_mac.h
-include/openssl/bio.h
-include/openssl/blowfish.h
-include/openssl/bn.h
-include/openssl/buffer.h
-include/openssl/cast.h
-include/openssl/comp.h
-include/openssl/conf.h
-include/openssl/crypto.h
-include/openssl/des.h
-include/openssl/dh.h
-include/openssl/dsa.h
-include/openssl/e_os.h
-include/openssl/e_os2.h
-include/openssl/ebcdic.h
-include/openssl/err.h
-include/openssl/evp.h
-include/openssl/hmac.h
-include/openssl/idea.h
-include/openssl/lhash.h
-include/openssl/md2.h
-include/openssl/md5.h
-include/openssl/mdc2.h
-include/openssl/objects.h
-include/openssl/opensslconf.h
-include/openssl/opensslv.h
-include/openssl/pem.h
-include/openssl/pem2.h
-include/openssl/pkcs12.h
-include/openssl/pkcs7.h
-include/openssl/rand.h
-include/openssl/rc2.h
-include/openssl/rc4.h
-include/openssl/rc5.h
-include/openssl/ripemd.h
-include/openssl/rsa.h
-include/openssl/safestack.h
-include/openssl/sha.h
-include/openssl/ssl.h
-include/openssl/ssl2.h
-include/openssl/ssl23.h
-include/openssl/ssl3.h
-include/openssl/stack.h
-include/openssl/tls1.h
-include/openssl/tmdiff.h
-include/openssl/txt_db.h
-include/openssl/x509.h
-include/openssl/x509_vfy.h
-include/openssl/x509v3.h
-lib/libRSAglue.a
-lib/libcrypto.a
-lib/libssl.a
-openssl/misc/CA.pl
-openssl/misc/CA.sh
-openssl/misc/c_hash
-openssl/misc/c_info
-openssl/misc/c_issuer
-openssl/misc/c_name
-openssl/misc/der_chop
-openssl/openssl.cnf.sample
-share/doc/openssl/openssl.txt
-@dirrm include/openssl
-@dirrm openssl/certs
-@dirrm openssl/lib
-@dirrm openssl/man/man1
-@dirrm openssl/man/man3
-@dirrm openssl/man/man5
-@dirrm openssl/man/man7
-@dirrm openssl/man
-@dirrm openssl/misc
-@dirrm openssl/private
-@dirrm openssl
-@dirrm share/doc/openssl

>Release-Note:
>Audit-Trail:
>Unformatted:


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200010112243.e9BMhjI00630>