Index: /trunk/kNIXPortage/dev-libs/openssl/files/gentoo.config-0.9.8
===================================================================
--- /trunk/kNIXPortage/dev-libs/openssl/files/gentoo.config-0.9.8	(revision 3487)
+++ /trunk/kNIXPortage/dev-libs/openssl/files/gentoo.config-0.9.8	(revision 3487)
@@ -0,0 +1,107 @@
+#!/bin/bash
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/files/gentoo.config-0.9.8,v 1.16 2007/04/01 11:03:52 vapier Exp $
+#
+# Openssl doesn't play along nicely with cross-compiling 
+# like autotools based projects, so let's teach it new tricks.
+#
+# Review the bundled 'config' script to see why kind of targets 
+# we can pass to the 'Configure' script.
+
+
+# Testing routines
+if [[ $1 == "test" ]] ; then
+	for c in \
+		"arm-gentoo-linux-uclibc      |linux-generic32 -DL_ENDIAN" \
+		"armv5b-linux-gnu             |linux-generic32 -DB_ENDIAN" \
+		"x86_64-pc-linux-gnu          |linux-x86_64" \
+		"alphaev56-unknown-linux-gnu  |linux-alpha+bwx-gcc" \
+		"i686-pc-linux-gnu            |linux-elf" \
+		"whatever-gentoo-freebsdX.Y   |BSD-generic32" \
+		"i686-gentoo-freebsdX.Y       |BSD-x86-elf" \
+		"sparc64-alpha-freebsdX.Y     |BSD-sparc64" \
+		"ia64-gentoo-freebsd5.99234   |BSD-ia64" \
+		"x86_64-gentoo-freebsdX.Y     |BSD-x86_64" \
+		"hppa64-aldsF-linux-gnu5.3    |linux-generic32 -DB_ENDIAN" \
+		"powerpc-gentOO-linux-uclibc  |linux-ppc" \
+		"powerpc64-unk-linux-gnu      |linux-ppc64" \
+	;do
+		CHOST=${c/|*}
+		ret_want=${c/*|}
+		ret_got=$(CHOST=${CHOST} "$0")
+
+		if [[ ${ret_want} == "${ret_got}" ]] ; then
+			echo "PASS: ${CHOST}"
+		else
+			echo "FAIL: ${CHOST}"
+			echo -e "\twanted: ${ret_want}"
+			echo -e "\twe got: ${ret_got}"
+		fi
+	done
+	exit 0
+fi
+[[ -z ${CHOST} && -n $1 ]] && CHOST=$1
+
+
+# Detect the operating system
+case ${CHOST} in
+	*-linux*)    system="linux";;
+	*-freebsd*)  system="BSD";;
+	*)           exit 0;;
+esac
+
+
+# Compiler munging
+compiler="gcc"
+if [[ ${CC} == "ccc" ]] ; then
+	compiler=${CC}
+fi
+
+
+# Detect target arch
+machine=""
+chost_machine=${CHOST%%-*}
+case ${system} in
+linux)
+	case ${chost_machine} in
+		alphaev56*)   machine=alpha+bwx-${compiler};;
+		alphaev[678]*)machine=alpha+bwx-${compiler};;
+		alpha*)       machine=alpha-${compiler};;
+		arm*b*)       machine="generic32 -DB_ENDIAN";;
+		arm*)         machine="generic32 -DL_ENDIAN";;
+	#	hppa64*)      machine=parisc64;;
+		hppa*)        machine="generic32 -DB_ENDIAN";;
+		i[0-9]86*)    machine=elf;;
+		ia64*)        machine=ia64;;
+		m68*)         machine="generic32 -DB_ENDIAN";;
+		mips*el*)     machine="generic32 -DL_ENDIAN";;
+		mips*)        machine="generic32 -DB_ENDIAN";;
+		powerpc64*)   machine=ppc64;;
+		powerpc*)     machine=ppc;;
+	#	sh64*)        machine=elf;;
+		sh*b*)        machine="generic32 -DB_ENDIAN";;
+		sh*)          machine="generic32 -DL_ENDIAN";;
+		sparc*v7*)    machine="generic32 -DB_ENDIAN";;
+		sparc64*)     machine=sparcv9;;
+		sparc*)       machine=sparcv8;;
+		s390x*)       machine="generic64 -DB_ENDIAN";;
+		s390*)        machine="generic32 -DB_ENDIAN";;
+		x86_64*)      machine=x86_64;;
+	esac
+	;;
+BSD)
+	case ${chost_machine} in
+		alpha*)       machine=generic64;;
+		i[6-9]86*)    machine=x86-elf;;
+		ia64*)        machine=ia64;;
+		sparc64*)     machine=sparc64;;
+		x86_64*)      machine=x86_64;;
+		*)            machine=generic32;;
+	esac
+	;;
+esac
+
+
+# If we have something, show it
+[[ -n ${machine} ]] && echo ${system}-${machine}
Index: /trunk/kNIXPortage/dev-libs/openssl/files/openssl-0.9.7-alpha-default-gcc.patch
===================================================================
--- /trunk/kNIXPortage/dev-libs/openssl/files/openssl-0.9.7-alpha-default-gcc.patch	(revision 3487)
+++ /trunk/kNIXPortage/dev-libs/openssl/files/openssl-0.9.7-alpha-default-gcc.patch	(revision 3487)
@@ -0,0 +1,12 @@
+diff -ur openssl-0.9.7d.orig/config openssl-0.9.7d/config
+--- openssl-0.9.7d.orig/config	2004-12-11 19:01:11.077248504 -0500
++++ openssl-0.9.7d/config	2004-12-11 19:08:52.099162520 -0500
+@@ -452,7 +452,7 @@
+ 	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
++    CC=gcc	# overrides gcc!!! well, ccc outperforms inoticeably
+ 		# only on hash routines and des, otherwise gcc (2.95)
+ 		# keeps along rather tight...
+   fi
Index: /trunk/kNIXPortage/dev-libs/openssl/files/openssl-0.9.7e-gentoo.patch
===================================================================
--- /trunk/kNIXPortage/dev-libs/openssl/files/openssl-0.9.7e-gentoo.patch	(revision 3487)
+++ /trunk/kNIXPortage/dev-libs/openssl/files/openssl-0.9.7e-gentoo.patch	(revision 3487)
@@ -0,0 +1,16 @@
+diff -r -c -C 2 openssl-0.9.6g-orig/test/Makefile openssl-0.9.6g/test/Makefile
+*** openssl-0.9.6g-orig/test/Makefile	Thu Sep 26 15:20:47 2002
+--- openssl-0.9.6g/test/Makefile	Thu Sep 26 15:23:26 2002
+***************
+*** 28,32 ****
+  DLIBCRYPTO= ../libcrypto.a
+  DLIBSSL= ../libssl.a
+! LIBCRYPTO= -L.. -lcrypto
+  LIBSSL= -L.. -lssl
+  
+--- 28,32 ----
+  DLIBCRYPTO= ../libcrypto.a
+  DLIBSSL= ../libssl.a
+! LIBCRYPTO= -L.. -lcrypto -lcrypt
+  LIBSSL= -L.. -lssl
+  
Index: /trunk/kNIXPortage/dev-libs/openssl/files/openssl-0.9.8-hppa-fix-detection.patch
===================================================================
--- /trunk/kNIXPortage/dev-libs/openssl/files/openssl-0.9.8-hppa-fix-detection.patch	(revision 3487)
+++ /trunk/kNIXPortage/dev-libs/openssl/files/openssl-0.9.8-hppa-fix-detection.patch	(revision 3487)
@@ -0,0 +1,13 @@
+--- config.orig	2005-10-12 01:05:03.000000000 -0400
++++ config	2005-10-12 01:05:16.000000000 -0400
+@@ -564,8 +564,8 @@
+   parisc*-*-linux2)
+ 	# 64-bit builds under parisc64 linux are not supported and
+ 	# compiler is expected to generate 32-bit objects...
+-	CPUARCH=`awk '/cpu family/{print substr($5,1,3); exit(0);}' /proc/cpuinfo`
+-	CPUSCHEDULE=`awk '/^cpu.[ 	]*: PA/{print substr($3,3); exit(0);}' /proc/cpuinfo`
++	CPUARCH=`awk '/cpu family/{print substr($5,1,3); exit(0);}' /proc/cpuinfo | head -n 1`
++	CPUSCHEDULE=`awk '/^cpu.[ 	]*: PA/{print substr($3,3); exit(0);}' /proc/cpuinfo | head -n 1`
+ 
+ 	# ??TODO ??  Model transformations
+ 	# 0. CPU Architecture for the 1.1 processor has letter suffixes. We strip that off
Index: /trunk/kNIXPortage/dev-libs/openssl/files/openssl-0.9.8-make-engines-dir.patch
===================================================================
--- /trunk/kNIXPortage/dev-libs/openssl/files/openssl-0.9.8-make-engines-dir.patch	(revision 3487)
+++ /trunk/kNIXPortage/dev-libs/openssl/files/openssl-0.9.8-make-engines-dir.patch	(revision 3487)
@@ -0,0 +1,10 @@
+--- openssl-0.9.8/engines/Makefile	2005-07-06 01:19:15.000000000 +0200
++++ openssl-0.9.8.az/engines/Makefile	2005-07-06 01:20:04.000000000 +0200
+@@ -88,6 +88,7 @@
+ 	@[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
+ 	@if [ -n "$(SHARED_LIBS)" ]; then \
+ 		set -e; \
++		$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines; \
+ 		for l in $(LIBNAMES); do \
+ 			( echo installing $$l; \
+ 			  if [ "$(PLATFORM)" != "Cygwin" ]; then \
Index: /trunk/kNIXPortage/dev-libs/openssl/files/openssl-0.9.8-makedepend.patch
===================================================================
--- /trunk/kNIXPortage/dev-libs/openssl/files/openssl-0.9.8-makedepend.patch	(revision 3487)
+++ /trunk/kNIXPortage/dev-libs/openssl/files/openssl-0.9.8-makedepend.patch	(revision 3487)
@@ -0,0 +1,24 @@
+http://bugs.gentoo.org/149583
+
+--- util/domd
++++ util/domd
+@@ -14,7 +14,7 @@
+ cp Makefile Makefile.save
+ # fake the presence of Kerberos
+ touch $TOP/krb5.h
+-if [ "$MAKEDEPEND" = "gcc" ]; then
++if [ "$MAKEDEPEND" != "makedepend" ]; then
+     args=""
+     while [ $# -gt 0 ]; do
+ 	if [ "$1" != "--" ]; then args="$args $1"; fi
+--- Makefile.org
++++ Makefile.org
+@@ -69,7 +69,7 @@
+ PERL= perl
+ TAR= tar
+ TARFLAGS= --no-recursion
+-MAKEDEPPROG=makedepend
++MAKEDEPPROG=$(CC)
+ 
+ # We let the C compiler driver to take care of .s files. This is done in
+ # order to be excused from maintaining a separate set of architecture
Index: /trunk/kNIXPortage/dev-libs/openssl/files/openssl-0.9.8-ppc64.patch
===================================================================
--- /trunk/kNIXPortage/dev-libs/openssl/files/openssl-0.9.8-ppc64.patch	(revision 3487)
+++ /trunk/kNIXPortage/dev-libs/openssl/files/openssl-0.9.8-ppc64.patch	(revision 3487)
@@ -0,0 +1,11 @@
+--- openssl-0.9.8/Configure.orig	2005-07-05 23:11:15.000000000 +0200
++++ openssl-0.9.8/Configure	2005-07-05 23:12:12.000000000 +0200
+@@ -322,7 +322,7 @@
+ ####
+ "linux-generic64","gcc:-DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ # -bpowerpc64-linux is transient option, -m64 should be the one to use...
+-"linux-ppc64",	"gcc:-bpowerpc64-linux -DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL::linux_ppc64.o::::::::::dlfcn:linux-shared:-fPIC:-bpowerpc64-linux:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-ppc64",	"gcc:-DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL::linux_ppc64.o::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ "linux-ia64",	"gcc:-DL_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ "linux-ia64-ecc","ecc:-DL_ENDIAN -DTERMIO -O2 -Wall -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ "linux-ia64-icc","icc:-DL_ENDIAN -DTERMIO -O2 -Wall -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
Index: /trunk/kNIXPortage/dev-libs/openssl/files/openssl-0.9.8-toolchain.patch
===================================================================
--- /trunk/kNIXPortage/dev-libs/openssl/files/openssl-0.9.8-toolchain.patch	(revision 3487)
+++ /trunk/kNIXPortage/dev-libs/openssl/files/openssl-0.9.8-toolchain.patch	(revision 3487)
@@ -0,0 +1,29 @@
+--- Configure
++++ Configure
+@@ -928,7 +928,8 @@
+ print "IsMK1MF=$IsMK1MF\n";
+ 
+ my @fields = split(/\s*:\s*/,$table{$target} . ":" x 30 , -1);
+-my $cc = $fields[$idx_cc];
++my $cc = $ENV{'CC'} || $fields[$idx_cc];
++my $ar = $ENV{'AR'} || "ar";
+ my $cflags = $fields[$idx_cflags];
+ my $unistd = $fields[$idx_unistd];
+ my $thread_cflag = $fields[$idx_thread_cflag];
+@@ -951,7 +951,7 @@
+ my $shared_cflag = $fields[$idx_shared_cflag];
+ my $shared_ldflag = $fields[$idx_shared_ldflag];
+ my $shared_extension = $fields[$idx_shared_extension];
+-my $ranlib = $fields[$idx_ranlib];
++my $ranlib = $ENV{'RANLIB'} || $fields[$idx_ranlib];
+ my $arflags = $fields[$idx_arflags];
+ 
+ my $no_shared_warn=0;
+@@ -1292,6 +1292,7 @@
+ 	s/^RMD160_ASM_OBJ=.*$/RMD160_ASM_OBJ= $rmd160_obj/;
+ 	s/^PROCESSOR=.*/PROCESSOR= $processor/;
+ 	s/^RANLIB=.*/RANLIB= $ranlib/;
++	s/^AR=ar /AR= $ar /;
+ 	s/^ARFLAGS=.*/ARFLAGS= $arflags/;
+ 	s/^PERL=.*/PERL= $perl/;
+ 	s/^KRB5_INCLUDES=.*/KRB5_INCLUDES=$withargs{"krb5-include"}/;
Index: /trunk/kNIXPortage/dev-libs/openssl/files/openssl-0.9.8b-doc-updates.patch
===================================================================
--- /trunk/kNIXPortage/dev-libs/openssl/files/openssl-0.9.8b-doc-updates.patch	(revision 3487)
+++ /trunk/kNIXPortage/dev-libs/openssl/files/openssl-0.9.8b-doc-updates.patch	(revision 3487)
@@ -0,0 +1,268 @@
+--- doc/crypto/ASN1_generate_nconf.pod
++++ doc/crypto/ASN1_generate_nconf.pod
+@@ -6,6 +6,8 @@ ASN1_generate_nconf, ASN1_generate_v3 - 
+ 
+ =head1 SYNOPSIS
+ 
++ #include <openssl/asn1.h>
++
+  ASN1_TYPE *ASN1_generate_nconf(char *str, CONF *nconf);
+  ASN1_TYPE *ASN1_generate_v3(char *str, X509V3_CTX *cnf);
+ 
+--- doc/crypto/ASN1_OBJECT_new.pod
++++ doc/crypto/ASN1_OBJECT_new.pod
+@@ -6,6 +6,8 @@ ASN1_OBJECT_new, ASN1_OBJECT_free, - obj
+ 
+ =head1 SYNOPSIS
+ 
++ #include <openssl/asn1.h>
++
+  ASN1_OBJECT *ASN1_OBJECT_new(void);
+  void ASN1_OBJECT_free(ASN1_OBJECT *a);
+ 
+--- doc/crypto/ASN1_STRING_length.pod
++++ doc/crypto/ASN1_STRING_length.pod
+@@ -8,6 +8,8 @@ ASN1_STRING utility functions
+ 
+ =head1 SYNOPSIS
+ 
++ #include <openssl/asn1.h>
++
+  int ASN1_STRING_length(ASN1_STRING *x);
+  unsigned char * ASN1_STRING_data(ASN1_STRING *x);
+ 
+--- doc/crypto/ASN1_STRING_new.pod
++++ doc/crypto/ASN1_STRING_new.pod
+@@ -7,6 +7,8 @@ ASN1_STRING allocation functions
+ 
+ =head1 SYNOPSIS
+ 
++ #include <openssl/asn1.h>
++
+  ASN1_STRING * ASN1_STRING_new(void);
+  ASN1_STRING * ASN1_STRING_type_new(int type);
+  void ASN1_STRING_free(ASN1_STRING *a);
+--- doc/crypto/bn_internal.pod
++++ doc/crypto/bn_internal.pod
+@@ -13,6 +13,8 @@ library internal functions
+ 
+ =head1 SYNOPSIS
+ 
++ #include <openssl/bn.h>
++
+  BN_ULONG bn_mul_words(BN_ULONG *rp, BN_ULONG *ap, int num, BN_ULONG w);
+  BN_ULONG bn_mul_add_words(BN_ULONG *rp, BN_ULONG *ap, int num,
+    BN_ULONG w);
+--- doc/crypto/CRYPTO_set_ex_data.pod
++++ doc/crypto/CRYPTO_set_ex_data.pod
+@@ -6,6 +6,8 @@ CRYPTO_set_ex_data, CRYPTO_get_ex_data -
+ 
+ =head1 SYNOPSIS
+ 
++ #include <openssl/crypto.h>
++
+  int CRYPTO_set_ex_data(CRYPTO_EX_DATA *r, int idx, void *arg);
+ 
+  void *CRYPTO_get_ex_data(CRYPTO_EX_DATA *r, int idx);
+--- doc/crypto/OBJ_nid2obj.pod
++++ doc/crypto/OBJ_nid2obj.pod
+@@ -8,6 +8,8 @@ functions
+ 
+ =head1 SYNOPSIS
+ 
++ #include <openssl/objects.h>
++
+  ASN1_OBJECT * OBJ_nid2obj(int n);
+  const char *  OBJ_nid2ln(int n);
+  const char *  OBJ_nid2sn(int n);
+--- doc/crypto/PKCS7_decrypt.pod
++++ doc/crypto/PKCS7_decrypt.pod
+@@ -6,7 +6,9 @@ PKCS7_decrypt - decrypt content from a P
+ 
+ =head1 SYNOPSIS
+ 
+-int PKCS7_decrypt(PKCS7 *p7, EVP_PKEY *pkey, X509 *cert, BIO *data, int flags);
++ #include <openssl/pkcs7.h>
++
++ int PKCS7_decrypt(PKCS7 *p7, EVP_PKEY *pkey, X509 *cert, BIO *data, int flags);
+ 
+ =head1 DESCRIPTION
+ 
+--- doc/crypto/PKCS7_encrypt.pod
++++ doc/crypto/PKCS7_encrypt.pod
+@@ -6,7 +6,9 @@ PKCS7_encrypt - create a PKCS#7 envelope
+ 
+ =head1 SYNOPSIS
+ 
+-PKCS7 *PKCS7_encrypt(STACK_OF(X509) *certs, BIO *in, const EVP_CIPHER *cipher, int flags);
++ #include <openssl/pkcs7.h>
++
++ PKCS7 *PKCS7_encrypt(STACK_OF(X509) *certs, BIO *in, const EVP_CIPHER *cipher, int flags);
+ 
+ =head1 DESCRIPTION
+ 
+--- doc/crypto/PKCS7_sign.pod
++++ doc/crypto/PKCS7_sign.pod
+@@ -6,7 +6,9 @@ PKCS7_sign - create a PKCS#7 signedData 
+ 
+ =head1 SYNOPSIS
+ 
+-PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs, BIO *data, int flags);
++ #include <openssl/pkcs7.h>
++
++ PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs, BIO *data, int flags);
+ 
+ =head1 DESCRIPTION
+ 
+--- doc/crypto/PKCS7_verify.pod
++++ doc/crypto/PKCS7_verify.pod
+@@ -6,9 +6,11 @@ PKCS7_verify - verify a PKCS#7 signedDat
+ 
+ =head1 SYNOPSIS
+ 
+-int PKCS7_verify(PKCS7 *p7, STACK_OF(X509) *certs, X509_STORE *store, BIO *indata, BIO *out, int flags);
++ #include <openssl/pkcs7.h>
+ 
+-STACK_OF(X509) *PKCS7_get0_signers(PKCS7 *p7, STACK_OF(X509) *certs, int flags);
++ int PKCS7_verify(PKCS7 *p7, STACK_OF(X509) *certs, X509_STORE *store, BIO *indata, BIO *out, int flags);
++
++ STACK_OF(X509) *PKCS7_get0_signers(PKCS7 *p7, STACK_OF(X509) *certs, int flags);
+ 
+ =head1 DESCRIPTION
+ 
+--- doc/crypto/SMIME_read_PKCS7.pod
++++ doc/crypto/SMIME_read_PKCS7.pod
+@@ -6,7 +6,9 @@ SMIME_read_PKCS7 - parse S/MIME message.
+ 
+ =head1 SYNOPSIS
+ 
+-PKCS7 *SMIME_read_PKCS7(BIO *in, BIO **bcont);
++ #include <openssl/pkcs7.h>
++
++ PKCS7 *SMIME_read_PKCS7(BIO *in, BIO **bcont);
+ 
+ =head1 DESCRIPTION
+ 
+--- doc/crypto/SMIME_write_PKCS7.pod
++++ doc/crypto/SMIME_write_PKCS7.pod
+@@ -6,7 +6,9 @@ SMIME_write_PKCS7 - convert PKCS#7 struc
+ 
+ =head1 SYNOPSIS
+ 
+-int SMIME_write_PKCS7(BIO *out, PKCS7 *p7, BIO *data, int flags);
++ #include <openssl/pkcs7.h>
++
++ int SMIME_write_PKCS7(BIO *out, PKCS7 *p7, BIO *data, int flags);
+ 
+ =head1 DESCRIPTION
+ 
+--- doc/crypto/ui_compat.pod
++++ doc/crypto/ui_compat.pod
+@@ -7,6 +7,8 @@ Compatibility user interface functions
+ 
+ =head1 SYNOPSIS
+ 
++ #include <openssl/des_old.h>
++
+  int des_read_password(DES_cblock *key,const char *prompt,int verify);
+  int des_read_2passwords(DES_cblock *key1,DES_cblock *key2,
+  	const char *prompt,int verify);
+--- doc/crypto/X509_NAME_add_entry_by_txt.pod
++++ doc/crypto/X509_NAME_add_entry_by_txt.pod
+@@ -7,15 +7,17 @@ X509_NAME_add_entry, X509_NAME_delete_en
+ 
+ =head1 SYNOPSIS
+ 
+-int X509_NAME_add_entry_by_txt(X509_NAME *name, const char *field, int type, const unsigned char *bytes, int len, int loc, int set);
++ #include <openssl/x509.h>
+ 
+-int X509_NAME_add_entry_by_OBJ(X509_NAME *name, ASN1_OBJECT *obj, int type, unsigned char *bytes, int len, int loc, int set);
++ int X509_NAME_add_entry_by_txt(X509_NAME *name, const char *field, int type, const unsigned char *bytes, int len, int loc, int set);
+ 
+-int X509_NAME_add_entry_by_NID(X509_NAME *name, int nid, int type, unsigned char *bytes, int len, int loc, int set);
++ int X509_NAME_add_entry_by_OBJ(X509_NAME *name, ASN1_OBJECT *obj, int type, unsigned char *bytes, int len, int loc, int set);
+ 
+-int X509_NAME_add_entry(X509_NAME *name,X509_NAME_ENTRY *ne, int loc, int set);
++ int X509_NAME_add_entry_by_NID(X509_NAME *name, int nid, int type, unsigned char *bytes, int len, int loc, int set);
+ 
+-X509_NAME_ENTRY *X509_NAME_delete_entry(X509_NAME *name, int loc);
++ int X509_NAME_add_entry(X509_NAME *name,X509_NAME_ENTRY *ne, int loc, int set);
++
++ X509_NAME_ENTRY *X509_NAME_delete_entry(X509_NAME *name, int loc);
+ 
+ =head1 DESCRIPTION
+ 
+--- doc/crypto/X509_NAME_ENTRY_get_object.pod
++++ doc/crypto/X509_NAME_ENTRY_get_object.pod
+@@ -9,15 +9,17 @@ X509_NAME_ENTRY_create_by_OBJ - X509_NAM
+ 
+ =head1 SYNOPSIS
+ 
+-ASN1_OBJECT * X509_NAME_ENTRY_get_object(X509_NAME_ENTRY *ne);
+-ASN1_STRING * X509_NAME_ENTRY_get_data(X509_NAME_ENTRY *ne);
++ #include <openssl/x509.h>
+ 
+-int X509_NAME_ENTRY_set_object(X509_NAME_ENTRY *ne, ASN1_OBJECT *obj);
+-int X509_NAME_ENTRY_set_data(X509_NAME_ENTRY *ne, int type, const unsigned char *bytes, int len);
++ ASN1_OBJECT * X509_NAME_ENTRY_get_object(X509_NAME_ENTRY *ne);
++ ASN1_STRING * X509_NAME_ENTRY_get_data(X509_NAME_ENTRY *ne);
+ 
+-X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_txt(X509_NAME_ENTRY **ne, const char *field, int type, const unsigned char *bytes, int len);
+-X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_NID(X509_NAME_ENTRY **ne, int nid, int type,unsigned char *bytes, int len);
+-X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_OBJ(X509_NAME_ENTRY **ne, ASN1_OBJECT *obj, int type, const unsigned char *bytes, int len);
++ int X509_NAME_ENTRY_set_object(X509_NAME_ENTRY *ne, ASN1_OBJECT *obj);
++ int X509_NAME_ENTRY_set_data(X509_NAME_ENTRY *ne, int type, const unsigned char *bytes, int len);
++
++ X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_txt(X509_NAME_ENTRY **ne, const char *field, int type, const unsigned char *bytes, int len);
++ X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_NID(X509_NAME_ENTRY **ne, int nid, int type,unsigned char *bytes, int len);
++ X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_OBJ(X509_NAME_ENTRY **ne, ASN1_OBJECT *obj, int type, const unsigned char *bytes, int len);
+ 
+ =head1 DESCRIPTION
+ 
+--- doc/crypto/X509_NAME_get_index_by_NID.pod
++++ doc/crypto/X509_NAME_get_index_by_NID.pod
+@@ -8,14 +8,16 @@ X509_NAME lookup and enumeration functio
+ 
+ =head1 SYNOPSIS
+ 
+-int X509_NAME_get_index_by_NID(X509_NAME *name,int nid,int lastpos);
+-int X509_NAME_get_index_by_OBJ(X509_NAME *name,ASN1_OBJECT *obj, int lastpos);
++ #include <openssl/x509.h>
+ 
+-int X509_NAME_entry_count(X509_NAME *name);
+-X509_NAME_ENTRY *X509_NAME_get_entry(X509_NAME *name, int loc);
++ int X509_NAME_get_index_by_NID(X509_NAME *name,int nid,int lastpos);
++ int X509_NAME_get_index_by_OBJ(X509_NAME *name,ASN1_OBJECT *obj, int lastpos);
+ 
+-int X509_NAME_get_text_by_NID(X509_NAME *name, int nid, char *buf,int len);
+-int X509_NAME_get_text_by_OBJ(X509_NAME *name, ASN1_OBJECT *obj, char *buf,int len);
++ int X509_NAME_entry_count(X509_NAME *name);
++ X509_NAME_ENTRY *X509_NAME_get_entry(X509_NAME *name, int loc);
++
++ int X509_NAME_get_text_by_NID(X509_NAME *name, int nid, char *buf,int len);
++ int X509_NAME_get_text_by_OBJ(X509_NAME *name, ASN1_OBJECT *obj, char *buf,int len);
+ 
+ =head1 DESCRIPTION
+ 
+--- doc/crypto/X509_new.pod
++++ doc/crypto/X509_new.pod
+@@ -6,6 +6,8 @@ X509_new, X509_free - X509 certificate A
+ 
+ =head1 SYNOPSIS
+ 
++ #include <openssl/x509.h>
++
+  X509 *X509_new(void);
+  void X509_free(X509 *a);
+ 
+--- Makefile.org
++++ Makefile.org
+@@ -218,7 +218,7 @@
+ MANDIR=$(OPENSSLDIR)/man
+ MAN1=1
+ MAN3=3
+-MANSUFFIX=
++MANSUFFIX=ssl
+ SHELL=/bin/sh
+ 
+ TOP=    .
Index: /trunk/kNIXPortage/dev-libs/openssl/files/openssl-0.9.8b-parallel-build.patch
===================================================================
--- /trunk/kNIXPortage/dev-libs/openssl/files/openssl-0.9.8b-parallel-build.patch	(revision 3487)
+++ /trunk/kNIXPortage/dev-libs/openssl/files/openssl-0.9.8b-parallel-build.patch	(revision 3487)
@@ -0,0 +1,23 @@
+--- openssl-0.9.8b/Makefile.org
++++ openssl-0.9.8b/Makefile.org
+@@ -229,15 +229,15 @@
+ 
+ build_crypto:
+ 	@dir=crypto; target=all; $(BUILD_ONE_CMD)
+-build_ssl:
++build_ssl: build_crypto
+ 	@dir=ssl; target=all; $(BUILD_ONE_CMD)
+-build_engines:
++build_engines: build_crypto
+ 	@dir=engines; target=all; $(BUILD_ONE_CMD)
+-build_apps:
++build_apps: build_libs
+ 	@dir=apps; target=all; $(BUILD_ONE_CMD)
+-build_tests:
++build_tests: build_libs
+ 	@dir=test; target=all; $(BUILD_ONE_CMD)
+-build_tools:
++build_tools: build_libs
+ 	@dir=tools; target=all; $(BUILD_ONE_CMD)
+ 
+ all_testapps: build_libs build_testapps
Index: /trunk/kNIXPortage/dev-libs/openssl/openssl-0.9.8e.ebuild
===================================================================
--- /trunk/kNIXPortage/dev-libs/openssl/openssl-0.9.8e.ebuild	(revision 3487)
+++ /trunk/kNIXPortage/dev-libs/openssl/openssl-0.9.8e.ebuild	(revision 3487)
@@ -0,0 +1,176 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/openssl-0.9.8e.ebuild,v 1.3 2007/04/13 01:56:06 vapier Exp $
+
+inherit eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="Toolkit for SSL v2/v3 and TLS v1"
+HOMEPAGE="http://www.openssl.org/"
+SRC_URI="mirror://openssl/source/${P}.tar.gz"
+
+LICENSE="openssl"
+SLOT="0"
+KEYWORDS="-* ~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="bindist emacs sse2 test zlib"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+	sys-apps/diffutils
+	>=dev-lang/perl-5
+	test? ( sys-devel/bc )"
+PDEPEND="app-misc/ca-certificates"
+
+src_unpack() {
+	unpack ${A}
+
+	cd "${S}"
+
+	epatch "${FILESDIR}"/${PN}-0.9.8-ppc64.patch
+	epatch "${FILESDIR}"/${PN}-0.9.7e-gentoo.patch
+	epatch "${FILESDIR}"/${PN}-0.9.8-hppa-fix-detection.patch
+	epatch "${FILESDIR}"/${PN}-0.9.7-alpha-default-gcc.patch
+	epatch "${FILESDIR}"/${PN}-0.9.8b-parallel-build.patch
+	epatch "${FILESDIR}"/${PN}-0.9.8-make-engines-dir.patch
+	epatch "${FILESDIR}"/${PN}-0.9.8-toolchain.patch
+	epatch "${FILESDIR}"/${PN}-0.9.8b-doc-updates.patch
+	epatch "${FILESDIR}"/${PN}-0.9.8-makedepend.patch #149583
+
+	# allow openssl to be cross-compiled
+	cp "${FILESDIR}"/gentoo.config-0.9.8 gentoo.config || die "cp cross-compile failed"
+	chmod a+rx gentoo.config
+
+	# Don't build manpages if we don't want them
+	has noman FEATURES \
+		&& sed -i '/^install:/s:install_docs::' Makefile.org \
+		|| sed -i '/^MANDIR=/s:=.*:=/usr/share/man:' Makefile.org
+
+	# Try to derice users and work around broken ass toolchains
+	if [[ $(gcc-major-version) == "3" ]] ; then
+		filter-flags -fprefetch-loop-arrays -freduce-all-givs -funroll-loops
+		[[ $(tc-arch) == "ppc64" ]] && replace-flags -O? -O
+	fi
+	[[ $(tc-arch) == ppc* ]] && append-flags -fno-strict-aliasing
+	append-flags -Wa,--noexecstack
+
+	# using a library directory other than lib requires some magic
+	sed -i \
+		-e "s+\(\$(INSTALL_PREFIX)\$(INSTALLTOP)\)/lib+\1/$(get_libdir)+g" \
+		-e "s+libdir=\$\${exec_prefix}/lib+libdir=\$\${exec_prefix}/$(get_libdir)+g" \
+		Makefile.org engines/Makefile \
+		|| die "sed failed"
+	./config --test-sanity || die "I AM NOT SANE"
+}
+
+src_compile() {
+	tc-export CC AR RANLIB
+
+	# Clean out patent-or-otherwise-encumbered code
+	# IDEA:  5,214,703 25/05/2010
+	# RC5:   5,724,428 03/03/2015
+	# EC:    ????????? ??/??/2015
+	local confopts=""
+	if use bindist ; then
+		confopts="no-idea no-rc5 no-ec"
+	else
+		confopts="enable-idea enable-rc5 enable-mdc2 enable-ec"
+	fi
+	use zlib && confopts="${confopts} zlib-dynamic"
+	use sse2 || confopts="${confopts} no-sse2"
+
+	local sslout=$(./gentoo.config)
+	einfo "Use configuration ${sslout:-(openssl knows best)}"
+	local config="Configure"
+	[[ -z ${sslout} ]] && config="config"
+	./${config} \
+		${sslout} \
+		${confopts} \
+		--prefix=/usr \
+		--openssldir=/etc/ssl \
+		shared threads \
+		|| die "Configure failed"
+
+	# Clean out hardcoded flags that openssl uses
+	local CFLAG=$(grep ^CFLAG= Makefile | LC_ALL=C sed \
+		-e 's:^CFLAG=::' \
+		-e 's:-fomit-frame-pointer ::g' \
+		-e 's:-O[0-9] ::g' \
+		-e 's:-march=[-a-z0-9]* ::g' \
+		-e 's:-mcpu=[-a-z0-9]* ::g' \
+		-e 's:-m[a-z0-9]* ::g' \
+	)
+	sed -i \
+		-e "/^CFLAG/s:=.*:=${CFLAG} ${CFLAGS}:" \
+		-e "/^SHARED_LDFLAGS=/s:$: ${LDFLAGS}:" \
+		Makefile || die
+
+	# depend is needed to use $confopts
+	# rehash is needed to prep the certs/ dir
+	emake -j1 depend || die "depend failed"
+	emake all rehash || die "make all failed"
+
+	# force until we get all the gentoo.config kinks worked out
+	if has test ${FEATURES} && ! tc-is-cross-compiler ; then
+		src_test
+	fi
+}
+
+src_test() {
+	# make sure sandbox doesnt die on *BSD
+	addpredict /dev/crypto
+
+	make test || die "make test failed"
+}
+
+src_install() {
+	emake -j1 INSTALL_PREFIX="${D}" install || die
+	dodoc CHANGES* FAQ NEWS README doc/*.txt
+	dohtml doc/*
+
+	if use emacs ; then
+		insinto /usr/share/emacs/site-lisp
+		doins doc/c-indentation.el
+	fi
+
+	# create the certs directory
+	dodir /etc/ssl/certs
+	cp -RP certs/* "${D}"/etc/ssl/certs/ || die "failed to install certs"
+	rm -r "${D}"/etc/ssl/certs/{demo,expired}
+
+	# Namespace openssl programs to prevent conflicts with other man pages
+	cd "${D}"/usr/share/man
+	local m d s
+	for m in $(find . -type f | xargs grep -L '#include') ; do
+		d=${m%/*} ; d=${d#./} ; m=${m##*/}
+		[[ ${m} == openssl.1* ]] && continue
+		mv ${d}/{,ssl-}${m}
+		ln -s ssl-${m} ${d}/openssl-${m}
+		# locate any symlinks that point to this man page
+		for s in $(find ${d} -lname ${m}) ; do
+			s=${s##*/}
+			rm -f ${d}/${s}
+			ln -s ssl-${m} ${d}/ssl-${s}
+			ln -s ssl-${s} ${d}/openssl-${s}
+		done
+	done
+
+	diropts -m0700
+	keepdir /etc/ssl/private
+}
+
+pkg_preinst() {
+	preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.{6,7}
+}
+
+pkg_postinst() {
+	preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.{6,7}
+
+	if [[ ${CHOST} == i686* ]] ; then
+		ewarn "Due to the way openssl is architected, you cannot"
+		ewarn "switch between optimized versions without breaking"
+		ewarn "ABI.  The default i686 0.9.8 ABI was an unoptimized"
+		ewarn "version with horrible performance.  This version uses"
+		ewarn "the optimized ABI.  If you experience segfaults when"
+		ewarn "using ssl apps (like openssh), just re-emerge the"
+		ewarn "offending package."
+	fi
+}
