All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module: use fsl maintained source
@ 2014-07-09  8:16 ting.liu
  2014-07-09  8:16 ` [meta-fsl-ppc][PATCH 2/4] openssl: downgrade to 1.0.1g ting.liu
                   ` (4 more replies)
  0 siblings, 5 replies; 21+ messages in thread
From: ting.liu @ 2014-07-09  8:16 UTC (permalink / raw)
  To: meta-freescale

From: Zhenhua Luo <zhenhua.luo@freescale.com>

FSL SDK released its own cryptodev based on 1.6, but not all the codes
was upstreamed, add bbappend to use fsl maintained source. This change
only be applied for fsl machines

Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
Signed-off-by: Ting Liu <b28495@freescale.com>
---
 recipes-kernel/cryptodev/cryptodev-fsl.inc         |    5 ++
 .../cryptodev/cryptodev-linux_1.6.bbappend         |    2 +
 .../cryptodev/cryptodev-module_1.6.bbappend        |   25 +++++++
 recipes-kernel/cryptodev/cryptodev_1.5.bb          |   51 ---------------
 ...pile-and-install-rules-for-cryptodev-test.patch |   69 --------------------
 .../cryptodev/files/makefile_fixup.patch           |   26 --------
 6 files changed, 32 insertions(+), 146 deletions(-)
 create mode 100644 recipes-kernel/cryptodev/cryptodev-fsl.inc
 create mode 100644 recipes-kernel/cryptodev/cryptodev-linux_1.6.bbappend
 create mode 100644 recipes-kernel/cryptodev/cryptodev-module_1.6.bbappend
 delete mode 100644 recipes-kernel/cryptodev/cryptodev_1.5.bb
 delete mode 100644 recipes-kernel/cryptodev/files/Add-the-compile-and-install-rules-for-cryptodev-test.patch
 delete mode 100644 recipes-kernel/cryptodev/files/makefile_fixup.patch

diff --git a/recipes-kernel/cryptodev/cryptodev-fsl.inc b/recipes-kernel/cryptodev/cryptodev-fsl.inc
new file mode 100644
index 0000000..7520152
--- /dev/null
+++ b/recipes-kernel/cryptodev/cryptodev-fsl.inc
@@ -0,0 +1,5 @@
+SRC_URI_fslmachine = "git://git.freescale.com/ppc/sdk/cryptodev-linux.git;nobranch=1"
+SRCREV_fslmachine = "c9baf0623bdc55e8adfc91bf675e8148826d57d1"
+
+S_fslmachine = "${WORKDIR}/git"
+
diff --git a/recipes-kernel/cryptodev/cryptodev-linux_1.6.bbappend b/recipes-kernel/cryptodev/cryptodev-linux_1.6.bbappend
new file mode 100644
index 0000000..3cbbb3d
--- /dev/null
+++ b/recipes-kernel/cryptodev/cryptodev-linux_1.6.bbappend
@@ -0,0 +1,2 @@
+require recipes-kernel/cryptodev/cryptodev-fsl.inc
+
diff --git a/recipes-kernel/cryptodev/cryptodev-module_1.6.bbappend b/recipes-kernel/cryptodev/cryptodev-module_1.6.bbappend
new file mode 100644
index 0000000..80cef70
--- /dev/null
+++ b/recipes-kernel/cryptodev/cryptodev-module_1.6.bbappend
@@ -0,0 +1,25 @@
+require recipes-kernel/cryptodev/cryptodev-fsl.inc
+
+python () {
+	ma = d.getVar("DISTRO_FEATURES", True)
+	arch = d.getVar("OVERRIDES", True)
+
+	# the : after the arch is to skip the message on 64b
+	if not "multiarch" in ma and "e6500:" in arch:
+		raise bb.parse.SkipPackage("Building the kernel for this arch requires multiarch to be in DISTRO_FEATURES")
+
+	promote_kernel = d.getVar('BUILD_64BIT_KERNEL')
+
+	if promote_kernel == "1":
+		d.setVar('KERNEL_CC_append', ' -m64')
+		d.setVar('KERNEL_LD_append', ' -melf64ppc')
+
+	error_qa = d.getVar('ERROR_QA', True)
+	if 'arch' in error_qa:
+		d.setVar('ERROR_QA', error_qa.replace(' arch', ''))
+}
+
+do_install_append_fslmachine () {
+    rm -fr ${D}/usr
+}
+
diff --git a/recipes-kernel/cryptodev/cryptodev_1.5.bb b/recipes-kernel/cryptodev/cryptodev_1.5.bb
deleted file mode 100644
index 4c1dade..0000000
--- a/recipes-kernel/cryptodev/cryptodev_1.5.bb
+++ /dev/null
@@ -1,51 +0,0 @@
-SECTION = "devel"
-SUMMARY = "Linux Cryptodev KERNEL MODULE"
-DESCRIPTION = "The Cryptodev package contains the kernel /dev/crypto module"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-RCONFLICTS_${PN} = "ocf-linux"
-
-inherit module
-
-PR = "r1"
-DEPENDS += "openssl"
-
-SRCREV = "1c24a0aa996630518d47826a2e3fea129ea094c7"
-
-SRC_URI = "git://repo.or.cz/cryptodev-linux.git;protocol=git \
-           file://makefile_fixup.patch \
-           file://Add-the-compile-and-install-rules-for-cryptodev-test.patch"
-
-EXTRA_OEMAKE='KERNEL_DIR="${STAGING_KERNEL_DIR}" PREFIX="${D}"'
-
-S = "${WORKDIR}/git"
-python () {
-	ma = d.getVar("DISTRO_FEATURES", True)
-	arch = d.getVar("OVERRIDES", True)
-
-	# the : after the arch is to skip the message on 64b
-	if not "multiarch" in ma and ("e5500:" in arch or "e6500:" in arch):
-		raise bb.parse.SkipPackage("Building the kernel for this arch requires multiarch to be in DISTRO_FEATURES")
-
-	promote_kernel = d.getVar('BUILD_64BIT_KERNEL')
-
-	if promote_kernel == "1":
-		d.setVar('KERNEL_CC_append', ' -m64')
-		d.setVar('KERNEL_LD_append', ' -melf64ppc')
-
-	error_qa = d.getVar('ERROR_QA', True)
-	if 'arch' in error_qa:
-		d.setVar('ERROR_QA', error_qa.replace(' arch', ''))
-}
-
-do_compile_append() {
-        oe_runmake testprogs
-}
-
-do_install_append() {
-        oe_runmake install_tests
-}
-
-PACKAGES += "${PN}-tests"
-FILES_${PN}-dbg += "${bindir}/tests_cryptodev/.debug"
-FILES_${PN}-tests = "${bindir}/tests_cryptodev/*"
diff --git a/recipes-kernel/cryptodev/files/Add-the-compile-and-install-rules-for-cryptodev-test.patch b/recipes-kernel/cryptodev/files/Add-the-compile-and-install-rules-for-cryptodev-test.patch
deleted file mode 100644
index cb871f6..0000000
--- a/recipes-kernel/cryptodev/files/Add-the-compile-and-install-rules-for-cryptodev-test.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 1980a8f4779a955e73285e7a0d86549b69bea5c8 Mon Sep 17 00:00:00 2001
-From: Yu Zongchun <b40527@freescale.com>
-Date: Sun, 28 Apr 2013 14:39:22 +0800
-Subject: [PATCH] Add the compile and install rules for cryptodev tests folder
-
-This is required to install the cryptodev tests folder to rootfs
-
-Signed-off-by: Yu Zongchun <b40527@freescale.com>
-
-Upstream-Status: Pending
-
----
- Makefile       |    6 ++++++
- tests/Makefile |    8 ++++++++
- 2 files changed, 14 insertions(+), 0 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 2be8825..4cbb865 100644
---- a/Makefile
-+++ b/Makefile
-@@ -17,6 +17,9 @@ install:
- 	@echo "Installing cryptodev.h in /usr/include/crypto ..."
- 	@install -D crypto/cryptodev.h /usr/include/crypto/cryptodev.h
- 
-+install_tests:
-+	make -C tests install DESTDIR=$(PREFIX)
-+
- clean:
- 	make -C $(KERNEL_DIR) SUBDIRS=`pwd` clean
- 	rm -f $(hostprogs) *~
-@@ -25,6 +28,9 @@ clean:
- check:
- 	KERNEL_DIR=$(KERNEL_DIR) make -C tests check
- 
-+testprogs:
-+	KERNEL_DIR=$(KERNEL_DIR) make -C tests testprogs
-+
- FILEBASE = cryptodev-linux-$(VERSION)
- TMPDIR ?= /tmp
- OUTPUT = $(FILEBASE).tar.gz
-diff --git a/tests/Makefile b/tests/Makefile
-index 87ca3c7..0488cf6 100644
---- a/tests/Makefile
-+++ b/tests/Makefile
-@@ -19,6 +19,12 @@ example-async-hmac-objs := async_hmac.o
- example-async-speed-objs := async_speed.o
- example-hashcrypt-speed-objs := hashcrypt_speed.c
- 
-+install:
-+	install -d  $(DESTDIR)/usr/bin/tests_cryptodev
-+	for bin in $(hostprogs); do \
-+		install -m 755 $${bin} $(DESTDIR)/usr/bin/tests_cryptodev/; \
-+	done
-+
- check: $(hostprogs)
- 	./cipher
- 	./hmac
-@@ -28,6 +34,8 @@ check: $(hostprogs)
- 	./cipher-gcm
- 	./cipher-aead
- 
-+testprogs: $(hostprogs)
-+
- clean:
- 	rm -f *.o *~ $(hostprogs)
- 
--- 
-1.7.5.4
-
diff --git a/recipes-kernel/cryptodev/files/makefile_fixup.patch b/recipes-kernel/cryptodev/files/makefile_fixup.patch
deleted file mode 100644
index 323aacd..0000000
--- a/recipes-kernel/cryptodev/files/makefile_fixup.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 2be8825..b36d68c 100644
---- a/Makefile
-+++ b/Makefile
-@@ -1,6 +1,7 @@
- KBUILD_CFLAGS += -I$(src)
- KERNEL_DIR = /lib/modules/$(shell uname -r)/build
- VERSION = 1.5
-+PREFIX =
- 
- cryptodev-objs = ioctl.o main.o cryptlib.o authenc.o zc.o util.o
- 
-@@ -12,10 +13,10 @@ build: version.h
- version.h: Makefile
- 	@echo "#define VERSION \"$(VERSION)\"" > version.h
- 
--install:
-+modules_install:
- 	make -C $(KERNEL_DIR) SUBDIRS=`pwd` modules_install
--	@echo "Installing cryptodev.h in /usr/include/crypto ..."
--	@install -D crypto/cryptodev.h /usr/include/crypto/cryptodev.h
-+	@echo "Installing cryptodev.h in $(PREFIX)/usr/include/crypto ..."
-+	@install -D crypto/cryptodev.h $(PREFIX)/usr/include/crypto/cryptodev.h
- 
- clean:
- 	make -C $(KERNEL_DIR) SUBDIRS=`pwd` clean
-- 
1.7.9.7



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [meta-fsl-ppc][PATCH 2/4] openssl: downgrade to 1.0.1g
  2014-07-09  8:16 [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module: use fsl maintained source ting.liu
@ 2014-07-09  8:16 ` ting.liu
  2014-07-09  8:16 ` [meta-fsl-ppc][PATCH 3/4] openssl: set preferred version " ting.liu
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 21+ messages in thread
From: ting.liu @ 2014-07-09  8:16 UTC (permalink / raw)
  To: meta-freescale

From: Ting Liu <b28495@freescale.com>

openssl released in fsl sdk v1.6 was based on 1.0.1g, so downgrade for fsl boards.
the imported recipes were based on daisy-11.0.0 which FSL SDK based on.

Signed-off-by: Ting Liu <b28495@freescale.com>
---
 recipes-connectivity/openssl/openssl.inc           |  173 +
 .../openssl/openssl/configure-targets.patch        |   34 +
 .../openssl/openssl/debian/c_rehash-compat.patch   |   45 +
 .../openssl/openssl/debian/ca.patch                |   22 +
 .../openssl/openssl/debian/debian-targets.patch    |   66 +
 .../openssl/openssl/debian/make-targets.patch      |   15 +
 .../openssl/openssl/debian/man-dir.patch           |   15 +
 .../openssl/openssl/debian/man-section.patch       |   34 +
 .../openssl/openssl/debian/no-rpath.patch          |   15 +
 .../openssl/openssl/debian/no-symbolic.patch       |   15 +
 .../openssl/openssl/debian/pic.patch               |  177 +
 .../openssl/openssl/debian/version-script.patch    | 4670 ++++++++++++++++++++
 .../openssl/engines-install-in-libdir-ssl.patch    |   56 +
 recipes-connectivity/openssl/openssl/find.pl       |   54 +
 .../openssl/openssl/fix-cipher-des-ede3-cfb1.patch |   22 +
 .../openssl/openssl/initial-aarch64-bits.patch     |  119 +
 .../openssl/openssl/oe-ldflags.patch               |   24 +
 ...-pointer-dereference-in-EVP_DigestInit_ex.patch |   21 +
 ...NULL-pointer-dereference-in-dh_pub_encode.patch |   39 +
 .../openssl/openssl-fix-des.pod-error.patch        |   19 +
 .../openssl/openssl/openssl-fix-doc.patch          |  401 ++
 .../openssl/openssl/openssl-fix-link.patch         |   35 +
 .../openssl/openssl/openssl_fix_for_x32.patch      |   90 +
 .../openssl/openssl/shared-libs.patch              |   41 +
 recipes-connectivity/openssl/openssl_1.0.1g.bb     |   55 +
 25 files changed, 6257 insertions(+)
 create mode 100644 recipes-connectivity/openssl/openssl.inc
 create mode 100644 recipes-connectivity/openssl/openssl/configure-targets.patch
 create mode 100644 recipes-connectivity/openssl/openssl/debian/c_rehash-compat.patch
 create mode 100644 recipes-connectivity/openssl/openssl/debian/ca.patch
 create mode 100644 recipes-connectivity/openssl/openssl/debian/debian-targets.patch
 create mode 100644 recipes-connectivity/openssl/openssl/debian/make-targets.patch
 create mode 100644 recipes-connectivity/openssl/openssl/debian/man-dir.patch
 create mode 100644 recipes-connectivity/openssl/openssl/debian/man-section.patch
 create mode 100644 recipes-connectivity/openssl/openssl/debian/no-rpath.patch
 create mode 100644 recipes-connectivity/openssl/openssl/debian/no-symbolic.patch
 create mode 100644 recipes-connectivity/openssl/openssl/debian/pic.patch
 create mode 100644 recipes-connectivity/openssl/openssl/debian/version-script.patch
 create mode 100644 recipes-connectivity/openssl/openssl/engines-install-in-libdir-ssl.patch
 create mode 100644 recipes-connectivity/openssl/openssl/find.pl
 create mode 100644 recipes-connectivity/openssl/openssl/fix-cipher-des-ede3-cfb1.patch
 create mode 100644 recipes-connectivity/openssl/openssl/initial-aarch64-bits.patch
 create mode 100644 recipes-connectivity/openssl/openssl/oe-ldflags.patch
 create mode 100644 recipes-connectivity/openssl/openssl/openssl-avoid-NULL-pointer-dereference-in-EVP_DigestInit_ex.patch
 create mode 100644 recipes-connectivity/openssl/openssl/openssl-avoid-NULL-pointer-dereference-in-dh_pub_encode.patch
 create mode 100644 recipes-connectivity/openssl/openssl/openssl-fix-des.pod-error.patch
 create mode 100644 recipes-connectivity/openssl/openssl/openssl-fix-doc.patch
 create mode 100644 recipes-connectivity/openssl/openssl/openssl-fix-link.patch
 create mode 100644 recipes-connectivity/openssl/openssl/openssl_fix_for_x32.patch
 create mode 100644 recipes-connectivity/openssl/openssl/shared-libs.patch
 create mode 100644 recipes-connectivity/openssl/openssl_1.0.1g.bb

diff --git a/recipes-connectivity/openssl/openssl.inc b/recipes-connectivity/openssl/openssl.inc
new file mode 100644
index 0000000..ee02fb7
--- /dev/null
+++ b/recipes-connectivity/openssl/openssl.inc
@@ -0,0 +1,173 @@
+SUMMARY = "Secure Socket Layer"
+DESCRIPTION = "Secure Socket Layer (SSL) binary and related cryptographic tools."
+HOMEPAGE = "http://www.openssl.org/"
+BUGTRACKER = "http://www.openssl.org/news/vulnerabilities.html"
+SECTION = "libs/network"
+
+# "openssl | SSLeay" dual license
+LICENSE = "openssl"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f9a8f968107345e0b75aa8c2ecaa7ec8"
+
+DEPENDS = "perl-native-runtime"
+
+SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \
+          "
+S = "${WORKDIR}/openssl-${PV}"
+
+PACKAGECONFIG[perl] = ",,,"
+
+AR_append = " r"
+# Avoid binaries being marked as requiring an executable stack since it 
+# doesn't(which causes and this causes issues with SELinux
+CFLAG = "${@base_conditional('SITEINFO_ENDIANNESS', 'le', '-DL_ENDIAN', '-DB_ENDIAN', d)} \
+	-DTERMIO ${CFLAGS} -Wall -Wa,--noexecstack"
+
+# -02 does not work on mipsel: ssh hangs when it tries to read /dev/urandom
+CFLAG_mtx-1 := "${@'${CFLAG}'.replace('-O2', '')}"
+CFLAG_mtx-2 := "${@'${CFLAG}'.replace('-O2', '')}"
+
+export DIRS = "crypto ssl apps"
+export EX_LIBS = "-lgcc -ldl"
+export AS = "${CC} -c"
+
+inherit pkgconfig siteinfo multilib_header
+
+PACKAGES =+ "libcrypto libssl ${PN}-misc openssl-conf"
+FILES_libcrypto = "${base_libdir}/libcrypto${SOLIBS}"
+FILES_libssl = "${libdir}/libssl.so.*"
+FILES_${PN} =+ " ${libdir}/ssl/*"
+FILES_${PN}-misc = "${libdir}/ssl/misc ${bindir}/c_rehash"
+RDEPENDS_${PN}-misc = "${@base_contains('PACKAGECONFIG', 'perl', 'perl', '', d)}"
+FILES_${PN}-dev += "${base_libdir}/libcrypto${SOLIBSDEV}"
+
+# Add the openssl.cnf file to the openssl-conf package.  Make the libcrypto
+# package RRECOMMENDS on this package.  This will enable the configuration
+# file to be installed for both the base openssl package and the libcrypto
+# package since the base openssl package depends on the libcrypto package.
+FILES_openssl-conf = "${libdir}/ssl/openssl.cnf"
+CONFFILES_openssl-conf = "${libdir}/ssl/openssl.cnf"
+RRECOMMENDS_libcrypto += "openssl-conf"
+
+do_configure_prepend_darwin () {
+	sed -i -e '/version-script=openssl\.ld/d' Configure
+}
+
+do_configure () {
+	cd util
+	perl perlpath.pl ${STAGING_BINDIR_NATIVE}
+	cd ..
+	ln -sf apps/openssl.pod crypto/crypto.pod ssl/ssl.pod doc/
+
+	os=${HOST_OS}
+	if [ "x$os" = "xlinux-uclibc" ]; then
+		os=linux
+	elif [ "x$os" = "xlinux-uclibceabi" ]; then
+		os=linux
+	elif [ "x$os" = "xlinux-uclibcspe" ]; then
+		os=linux
+	elif [ "x$os" = "xlinux-gnuspe" ]; then
+		os=linux
+	elif [ "x$os" = "xlinux-gnueabi" ]; then
+		os=linux
+	fi
+	target="$os-${HOST_ARCH}"
+	case $target in
+	linux-arm)
+		target=linux-armv4
+		;;
+	linux-armeb)
+		target=linux-elf-armeb
+		;;
+	linux-aarch64*)
+		target=linux-generic64
+		;;
+	linux-sh3)
+		target=debian-sh3
+		;;
+	linux-sh4)
+		target=debian-sh4
+		;;
+	linux-i486)
+		target=debian-i386-i486
+		;;
+	linux-i586 | linux-viac3)
+		target=debian-i386-i586
+		;;
+	linux-i686)
+		target=debian-i386-i686/cmov
+		;;
+	linux-gnux32-x86_64)
+		target=linux-x32
+		;;
+	linux-gnu64-x86_64)
+		target=linux-x86_64
+		;;
+	linux-mips)
+		target=debian-mips
+		;;
+	linux-mipsel)
+		target=debian-mipsel
+		;;
+        linux-*-mips64)
+               target=linux-mips
+                ;;
+	linux-powerpc)
+		target=linux-ppc
+		;;
+	linux-powerpc64)
+		target=linux-ppc64
+		;;
+	linux-supersparc)
+		target=linux-sparcv8
+		;;
+	linux-sparc)
+		target=linux-sparcv8
+		;;
+	darwin-i386)
+		target=darwin-i386-cc
+		;;
+	esac
+	# inject machine-specific flags
+	sed -i -e "s|^\(\"$target\",\s*\"[^:]\+\):\([^:]\+\)|\1:${CFLAG}|g" Configure
+        useprefix=${prefix}
+        if [ "x$useprefix" = "x" ]; then
+                useprefix=/
+        fi        
+	perl ./Configure ${EXTRA_OECONF} shared --prefix=$useprefix --openssldir=${libdir}/ssl --libdir=`basename ${libdir}` $target
+}
+
+do_compile () {
+	oe_runmake
+}
+
+do_install () {
+	oe_runmake INSTALL_PREFIX="${D}" MANDIR="${mandir}" install
+
+	oe_libinstall -so libcrypto ${D}${libdir}
+	oe_libinstall -so libssl ${D}${libdir}
+
+	# Moving libcrypto to /lib
+	if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then
+		mkdir -p ${D}/${base_libdir}/
+		mv ${D}${libdir}/libcrypto* ${D}${base_libdir}/
+		sed -i s#libdir=\$\{exec_prefix\}\/lib#libdir=${base_libdir}# ${D}/${libdir}/pkgconfig/libcrypto.pc
+	fi
+
+	install -d ${D}${includedir}
+	cp --dereference -R include/openssl ${D}${includedir}
+
+	oe_multilib_header openssl/opensslconf.h
+	if [ "${@base_contains('PACKAGECONFIG', 'perl', 'perl', '', d)}" = "perl" ]; then
+		install -m 0755 ${S}/tools/c_rehash ${D}${bindir}
+		sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${bindir}/c_rehash
+		sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${libdir}/ssl/misc/CA.pl
+		sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${libdir}/ssl/misc/tsget
+		# The c_rehash utility isn't installed by the normal installation process.
+	else
+		rm -f ${D}${bindir}/c_rehash
+		rm -f ${D}${libdir}/ssl/misc/CA.pl ${D}${libdir}/ssl/misc/tsget
+	fi
+}
+
+BBCLASSEXTEND = "native nativesdk"
+
diff --git a/recipes-connectivity/openssl/openssl/configure-targets.patch b/recipes-connectivity/openssl/openssl/configure-targets.patch
new file mode 100644
index 0000000..c1f3d08
--- /dev/null
+++ b/recipes-connectivity/openssl/openssl/configure-targets.patch
@@ -0,0 +1,34 @@
+Upstream-Status: Inappropriate [embedded specific]
+
+The number of colons are important :)
+
+
+---
+ Configure |   16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+--- a/Configure
++++ b/Configure
+@@ -403,6 +403,22 @@ my %table=(
+ "linux-alpha-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${alpha_asm}",
+ "linux-alpha+bwx-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${alpha_asm}",
+ 
++ # Linux on ARM
++"linux-elf-arm","$ENV{'CC'}:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-elf-armeb","$ENV{'CC'}:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-gnueabi-arm","$ENV{'CC'}:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-gnueabi-armeb","$ENV{'CC'}:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-uclibceabi-arm","$ENV{'CC'}:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-uclibceabi-armeb","$ENV{'CC'}:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++
++"linux-avr32","$ENV{'CC'}:-DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).",
++
++#### Linux on MIPS/MIPS64
++"linux-mips","$ENV{'CC'}:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-mips64","$ENV{'CC'}:-DB_ENDIAN -DTERMIO -mabi=64 -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-mips64el","$ENV{'CC'}:-DL_ENDIAN -DTERMIO -mabi=64 -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-mipsel","$ENV{'CC'}:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++
+ # Android: linux-* but without -DTERMIO and pointers to headers and libs.
+ "android","gcc:-mandroid -I\$(ANDROID_DEV)/include -B\$(ANDROID_DEV)/lib -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ "android-x86","gcc:-mandroid -I\$(ANDROID_DEV)/include -B\$(ANDROID_DEV)/lib -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:".eval{my $asm=${x86_elf_asm};$asm=~s/:elf/:android/;$asm}.":dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
diff --git a/recipes-connectivity/openssl/openssl/debian/c_rehash-compat.patch b/recipes-connectivity/openssl/openssl/debian/c_rehash-compat.patch
new file mode 100644
index 0000000..ac1b19b
--- /dev/null
+++ b/recipes-connectivity/openssl/openssl/debian/c_rehash-compat.patch
@@ -0,0 +1,45 @@
+Upstream-Status: Backport [debian]
+
+From 83f318d68bbdab1ca898c94576a838cc97df4700 Mon Sep 17 00:00:00 2001
+From: Ludwig Nussel <ludwig.nussel@suse.de>
+Date: Wed, 21 Apr 2010 15:52:10 +0200
+Subject: [PATCH] also create old hash for compatibility
+
+---
+ tools/c_rehash.in |    8 +++++++-
+ 1 files changed, 7 insertions(+), 1 deletions(-)
+
+Index: openssl-1.0.0d/tools/c_rehash.in
+===================================================================
+--- openssl-1.0.0d.orig/tools/c_rehash.in	2011-04-13 20:41:28.000000000 +0000
++++ openssl-1.0.0d/tools/c_rehash.in	2011-04-13 20:41:28.000000000 +0000
+@@ -86,6 +86,7 @@
+ 			}
+ 		}
+ 		link_hash_cert($fname) if($cert);
++		link_hash_cert_old($fname) if($cert);
+ 		link_hash_crl($fname) if($crl);
+ 	}
+ }
+@@ -119,8 +120,9 @@
+ 
+ sub link_hash_cert {
+ 		my $fname = $_[0];
++		my $hashopt = $_[1] || '-subject_hash';
+ 		$fname =~ s/'/'\\''/g;
+-		my ($hash, $fprint) = `"$openssl" x509 -hash -fingerprint -noout -in "$fname"`;
++		my ($hash, $fprint) = `"$openssl" x509 $hashopt -fingerprint -noout -in "$fname"`;
+ 		chomp $hash;
+ 		chomp $fprint;
+ 		$fprint =~ s/^.*=//;
+@@ -150,6 +152,10 @@
+ 		$hashlist{$hash} = $fprint;
+ }
+ 
++sub link_hash_cert_old {
++		link_hash_cert($_[0], '-subject_hash_old');
++}
++
+ # Same as above except for a CRL. CRL links are of the form <hash>.r<n>
+ 
+ sub link_hash_crl {
diff --git a/recipes-connectivity/openssl/openssl/debian/ca.patch b/recipes-connectivity/openssl/openssl/debian/ca.patch
new file mode 100644
index 0000000..aba4d42
--- /dev/null
+++ b/recipes-connectivity/openssl/openssl/debian/ca.patch
@@ -0,0 +1,22 @@
+Upstream-Status: Backport [debian]
+
+Index: openssl-0.9.8m/apps/CA.pl.in
+===================================================================
+--- openssl-0.9.8m.orig/apps/CA.pl.in	2006-04-28 00:28:51.000000000 +0000
++++ openssl-0.9.8m/apps/CA.pl.in	2010-02-27 00:36:51.000000000 +0000
+@@ -65,6 +65,7 @@
+ foreach (@ARGV) {
+ 	if ( /^(-\?|-h|-help)$/ ) {
+ 	    print STDERR "usage: CA -newcert|-newreq|-newreq-nodes|-newca|-sign|-verify\n";
++	    print STDERR "usage: CA -signcert certfile keyfile|-newcert|-newreq|-newca|-sign|-verify\n";
+ 	    exit 0;
+ 	} elsif (/^-newcert$/) {
+ 	    # create a certificate
+@@ -165,6 +166,7 @@
+ 	} else {
+ 	    print STDERR "Unknown arg $_\n";
+ 	    print STDERR "usage: CA -newcert|-newreq|-newreq-nodes|-newca|-sign|-verify\n";
++	    print STDERR "usage: CA -signcert certfile keyfile|-newcert|-newreq|-newca|-sign|-verify\n";
+ 	    exit 1;
+ 	}
+ }
diff --git a/recipes-connectivity/openssl/openssl/debian/debian-targets.patch b/recipes-connectivity/openssl/openssl/debian/debian-targets.patch
new file mode 100644
index 0000000..8101edf
--- /dev/null
+++ b/recipes-connectivity/openssl/openssl/debian/debian-targets.patch
@@ -0,0 +1,66 @@
+Upstream-Status: Backport [debian]
+
+Index: openssl-1.0.1/Configure
+===================================================================
+--- openssl-1.0.1.orig/Configure	2012-03-17 15:37:54.000000000 +0000
++++ openssl-1.0.1/Configure	2012-03-17 16:13:49.000000000 +0000
+@@ -105,6 +105,10 @@
+ 
+ my $gcc_devteam_warn = "-Wall -pedantic -DPEDANTIC -Wno-long-long -Wsign-compare -Wmissing-prototypes -Wshadow -Wformat -Werror -DCRYPTO_MDEBUG_ALL -DCRYPTO_MDEBUG_ABORT -DREF_CHECK -DOPENSSL_NO_DEPRECATED";
+ 
++# There are no separate CFLAGS/CPPFLAGS/LDFLAGS, set everything in CFLAGS
++my $debian_cflags = `dpkg-buildflags --get CFLAGS` . `dpkg-buildflags --get CPPFLAGS` . `dpkg-buildflags --get LDFLAGS` . "-Wa,--noexecstack -Wall";
++$debian_cflags =~ s/\n/ /g;
++
+ my $strict_warnings = 0;
+ 
+ my $x86_gcc_des="DES_PTR DES_RISC1 DES_UNROLL";
+@@ -338,6 +342,48 @@
+ "osf1-alpha-cc",  "cc:-std1 -tune host -O4 -readonly_strings::(unknown):::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${alpha_asm}:dlfcn:alpha-osf1-shared:::.so",
+ "tru64-alpha-cc", "cc:-std1 -tune host -fast -readonly_strings::-pthread:::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${alpha_asm}:dlfcn:alpha-osf1-shared::-msym:.so",
+ 
++# Debian GNU/* (various architectures)
++"debian-alpha","gcc:-DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-alpha-ev4","gcc:-DTERMIO ${debian_cflags} -mcpu=ev4::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-alpha-ev5","gcc:-DTERMIO ${debian_cflags} -mcpu=ev5::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-armeb","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-armel","gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-armhf","gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-amd64", "gcc:-m64 -DL_ENDIAN -DTERMIO ${debian_cflags} -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::",
++"debian-avr32", "gcc:-DB_ENDIAN -DTERMIO ${debian_cflags} -fomit-frame-pointer::-D_REENTRANT::-ldl:BN_LLONG_BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-kfreebsd-amd64","gcc:-m64 -DL_ENDIAN -DTERMIOS ${debian_cflags} -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-kfreebsd-i386","gcc:-DL_ENDIAN -DTERMIOS ${debian_cflags} -march=i486::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-hppa","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG MD2_CHAR RC4_INDEX:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-hurd-i386","gcc:-DL_ENDIAN -DTERMIOS -O3 -Wa,--noexecstack -g -mtune=i486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-ia64","gcc:-DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-i386","gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-i386-i486","gcc:-DL_ENDIAN -DTERMIO ${debian_cflags} -march=i486::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-i386-i586","gcc:-DL_ENDIAN -DTERMIO ${debian_cflags} -march=i586::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-i386-i686/cmov","gcc:-DL_ENDIAN -DTERMIO ${debian_cflags} -march=i686::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-m68k","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG MD2_CHAR RC4_INDEX:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-mips",   "gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-mipsel",   "gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-netbsd-i386",	"gcc:-DL_ENDIAN -DTERMIOS ${debian_cflags} -m486::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-netbsd-m68k",	"gcc:-DB_ENDIAN -DTERMIOS ${debian_cflags}::(unknown):::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-netbsd-sparc",	"gcc:-DB_ENDIAN -DTERMIOS ${debian_cflags} -mv8::(unknown):::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-openbsd-alpha","gcc:-DTERMIOS ${debian_cflags}::(unknown):::SIXTY_FOUR_BIT_LONG DES_INT DES_PTR DES_RISC2:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-openbsd-i386",  "gcc:-DL_ENDIAN -DTERMIOS ${debian_cflags} -m486::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_asm}:a.out:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-openbsd-mips","gcc:-DL_ENDIAN ${debian_cflags}::(unknown)::BN_LLONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC2 DES_PTR BF_PTR:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-powerpc","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc32_asm}:linux32:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-powerpcspe","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc32_asm}:linux32:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-ppc64","gcc:-m64 -DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc64_asm}:linux64:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-s390","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 
++"debian-s390x","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-sh3",   "gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-sh4",   "gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-sh3eb",   "gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-sh4eb",   "gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-m32r","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-sparc","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-sparc-v8","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags} -mcpu=v8 -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv8_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-sparc-v9","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags} -mcpu=v9 -Wa,-Av8plus -DULTRASPARC -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-sparc64","gcc:-m64 -DB_ENDIAN -DTERMIO ${debian_cflags} -DULTRASPARC -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++
+ ####
+ #### Variety of LINUX:-)
+ ####
diff --git a/recipes-connectivity/openssl/openssl/debian/make-targets.patch b/recipes-connectivity/openssl/openssl/debian/make-targets.patch
new file mode 100644
index 0000000..ee0a62c
--- /dev/null
+++ b/recipes-connectivity/openssl/openssl/debian/make-targets.patch
@@ -0,0 +1,15 @@
+Upstream-Status: Backport [debian]
+
+Index: openssl-1.0.1/Makefile.org
+===================================================================
+--- openssl-1.0.1.orig/Makefile.org	2012-03-17 09:41:07.000000000 +0000
++++ openssl-1.0.1/Makefile.org	2012-03-17 09:41:21.000000000 +0000
+@@ -135,7 +135,7 @@
+ 
+ BASEADDR=
+ 
+-DIRS=   crypto ssl engines apps test tools
++DIRS=   crypto ssl engines apps tools
+ ENGDIRS= ccgost
+ SHLIBDIRS= crypto ssl
+ 
diff --git a/recipes-connectivity/openssl/openssl/debian/man-dir.patch b/recipes-connectivity/openssl/openssl/debian/man-dir.patch
new file mode 100644
index 0000000..4085e3b
--- /dev/null
+++ b/recipes-connectivity/openssl/openssl/debian/man-dir.patch
@@ -0,0 +1,15 @@
+Upstream-Status: Backport [debian]
+
+Index: openssl-1.0.0c/Makefile.org
+===================================================================
+--- openssl-1.0.0c.orig/Makefile.org	2010-12-12 16:11:27.000000000 +0100
++++ openssl-1.0.0c/Makefile.org	2010-12-12 16:11:37.000000000 +0100
+@@ -131,7 +131,7 @@
+ 
+ MAKEFILE= Makefile
+ 
+-MANDIR=$(OPENSSLDIR)/man
++MANDIR=/usr/share/man
+ MAN1=1
+ MAN3=3
+ MANSUFFIX=
diff --git a/recipes-connectivity/openssl/openssl/debian/man-section.patch b/recipes-connectivity/openssl/openssl/debian/man-section.patch
new file mode 100644
index 0000000..21c1d1a
--- /dev/null
+++ b/recipes-connectivity/openssl/openssl/debian/man-section.patch
@@ -0,0 +1,34 @@
+Upstream-Status: Backport [debian]
+
+Index: openssl-1.0.0c/Makefile.org
+===================================================================
+--- openssl-1.0.0c.orig/Makefile.org	2010-12-12 16:11:37.000000000 +0100
++++ openssl-1.0.0c/Makefile.org	2010-12-12 16:13:28.000000000 +0100
+@@ -160,7 +160,8 @@
+ MANDIR=/usr/share/man
+ MAN1=1
+ MAN3=3
+-MANSUFFIX=
++MANSUFFIX=ssl
++MANSECTION=SSL
+ HTMLSUFFIX=html
+ HTMLDIR=$(OPENSSLDIR)/html
+ SHELL=/bin/sh
+@@ -651,7 +652,7 @@
+ 		echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \
+ 		(cd `$(PERL) util/dirname.pl $$i`; \
+ 		sh -c "$$pod2man \
+-			--section=$$sec --center=OpenSSL \
++			--section=$${sec}$(MANSECTION) --center=OpenSSL \
+ 			--release=$(VERSION) `basename $$i`") \
+ 			>  $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \
+ 		$(PERL) util/extract-names.pl < $$i | \
+@@ -668,7 +669,7 @@
+ 		echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \
+ 		(cd `$(PERL) util/dirname.pl $$i`; \
+ 		sh -c "$$pod2man \
+-			--section=$$sec --center=OpenSSL \
++			--section=$${sec}$(MANSECTION) --center=OpenSSL \
+ 			--release=$(VERSION) `basename $$i`") \
+ 			>  $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \
+ 		$(PERL) util/extract-names.pl < $$i | \
diff --git a/recipes-connectivity/openssl/openssl/debian/no-rpath.patch b/recipes-connectivity/openssl/openssl/debian/no-rpath.patch
new file mode 100644
index 0000000..1ccb3b8
--- /dev/null
+++ b/recipes-connectivity/openssl/openssl/debian/no-rpath.patch
@@ -0,0 +1,15 @@
+Upstream-Status: Backport [debian]
+
+Index: openssl-1.0.0c/Makefile.shared
+===================================================================
+--- openssl-1.0.0c.orig/Makefile.shared	2010-08-21 13:36:49.000000000 +0200
++++ openssl-1.0.0c/Makefile.shared	2010-12-12 16:13:36.000000000 +0100
+@@ -153,7 +153,7 @@
+ 	NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
+ 	SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"
+ 
+-DO_GNU_APP=LDFLAGS="$(CFLAGS) -Wl,-rpath,$(LIBRPATH)"
++DO_GNU_APP=LDFLAGS="$(CFLAGS)"
+ 
+ #This is rather special.  It's a special target with which one can link
+ #applications without bothering with any features that have anything to
diff --git a/recipes-connectivity/openssl/openssl/debian/no-symbolic.patch b/recipes-connectivity/openssl/openssl/debian/no-symbolic.patch
new file mode 100644
index 0000000..cc4408a
--- /dev/null
+++ b/recipes-connectivity/openssl/openssl/debian/no-symbolic.patch
@@ -0,0 +1,15 @@
+Upstream-Status: Backport [debian]
+
+Index: openssl-1.0.0c/Makefile.shared
+===================================================================
+--- openssl-1.0.0c.orig/Makefile.shared	2010-12-12 16:13:36.000000000 +0100
++++ openssl-1.0.0c/Makefile.shared	2010-12-12 16:13:44.000000000 +0100
+@@ -151,7 +151,7 @@
+ 	SHLIB_SUFFIX=; \
+ 	ALLSYMSFLAGS='-Wl,--whole-archive'; \
+ 	NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
+-	SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"
++	SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"
+ 
+ DO_GNU_APP=LDFLAGS="$(CFLAGS)"
+ 
diff --git a/recipes-connectivity/openssl/openssl/debian/pic.patch b/recipes-connectivity/openssl/openssl/debian/pic.patch
new file mode 100644
index 0000000..bfda388
--- /dev/null
+++ b/recipes-connectivity/openssl/openssl/debian/pic.patch
@@ -0,0 +1,177 @@
+Upstream-Status: Backport [debian]
+
+Index: openssl-1.0.1c/crypto/des/asm/desboth.pl
+===================================================================
+--- openssl-1.0.1c.orig/crypto/des/asm/desboth.pl	2001-10-24 23:20:56.000000000 +0200
++++ openssl-1.0.1c/crypto/des/asm/desboth.pl	2012-07-29 14:15:26.000000000 +0200
+@@ -16,6 +16,11 @@
+ 
+ 	&push("edi");
+ 
++	&call   (&label("pic_point0"));
++	&set_label("pic_point0");
++	&blindpop("ebp");
++	&add    ("ebp", "\$_GLOBAL_OFFSET_TABLE_+[.-" . &label("pic_point0") . "]");
++
+ 	&comment("");
+ 	&comment("Load the data words");
+ 	&mov($L,&DWP(0,"ebx","",0));
+@@ -47,15 +52,21 @@
+ 	&mov(&swtmp(2),	(DWC(($enc)?"1":"0")));
+ 	&mov(&swtmp(1),	"eax");
+ 	&mov(&swtmp(0),	"ebx");
+-	&call("DES_encrypt2");
++	&exch("ebx", "ebp");
++	&call("DES_encrypt2\@PLT");
++	&exch("ebx", "ebp");
+ 	&mov(&swtmp(2),	(DWC(($enc)?"0":"1")));
+ 	&mov(&swtmp(1),	"edi");
+ 	&mov(&swtmp(0),	"ebx");
+-	&call("DES_encrypt2");
++	&exch("ebx", "ebp");
++	&call("DES_encrypt2\@PLT");
++	&exch("ebx", "ebp");
+ 	&mov(&swtmp(2),	(DWC(($enc)?"1":"0")));
+ 	&mov(&swtmp(1),	"esi");
+ 	&mov(&swtmp(0),	"ebx");
+-	&call("DES_encrypt2");
++	&exch("ebx", "ebp");
++	&call("DES_encrypt2\@PLT");
++	&exch("ebx", "ebp");
+ 
+ 	&stack_pop(3);
+ 	&mov($L,&DWP(0,"ebx","",0));
+Index: openssl-1.0.1c/crypto/perlasm/cbc.pl
+===================================================================
+--- openssl-1.0.1c.orig/crypto/perlasm/cbc.pl	2011-07-13 08:22:46.000000000 +0200
++++ openssl-1.0.1c/crypto/perlasm/cbc.pl	2012-07-29 14:15:26.000000000 +0200
+@@ -122,7 +122,11 @@
+ 	&mov(&DWP($data_off,"esp","",0),	"eax");	# put in array for call
+ 	&mov(&DWP($data_off+4,"esp","",0),	"ebx");	#
+ 
+-	&call($enc_func);
++	&call	(&label("pic_point0"));
++	&set_label("pic_point0");
++	&blindpop("ebx");
++	&add	("ebx", "\$_GLOBAL_OFFSET_TABLE_+[.-" . &label("pic_point0") . "]");
++	&call("$enc_func\@PLT");
+ 
+ 	&mov("eax",	&DWP($data_off,"esp","",0));
+ 	&mov("ebx",	&DWP($data_off+4,"esp","",0));
+@@ -185,7 +189,11 @@
+ 	&mov(&DWP($data_off,"esp","",0),	"eax");	# put in array for call
+ 	&mov(&DWP($data_off+4,"esp","",0),	"ebx");	#
+ 
+-	&call($enc_func);
++	&call	(&label("pic_point1"));
++	&set_label("pic_point1");
++	&blindpop("ebx");
++	&add	("ebx", "\$_GLOBAL_OFFSET_TABLE_+[.-" . &label("pic_point1") . "]");
++	&call("$enc_func\@PLT");
+ 
+ 	&mov("eax",	&DWP($data_off,"esp","",0));
+ 	&mov("ebx",	&DWP($data_off+4,"esp","",0));
+@@ -218,7 +226,11 @@
+ 	&mov(&DWP($data_off,"esp","",0),	"eax");	# put back
+ 	&mov(&DWP($data_off+4,"esp","",0),	"ebx");	#
+ 
+-	&call($dec_func);
++	&call	(&label("pic_point2"));
++	&set_label("pic_point2");
++	&blindpop("ebx");
++	&add	("ebx", "\$_GLOBAL_OFFSET_TABLE_+[.-" . &label("pic_point2") . "]");
++	&call("$dec_func\@PLT");
+ 
+ 	&mov("eax",	&DWP($data_off,"esp","",0));	# get return
+ 	&mov("ebx",	&DWP($data_off+4,"esp","",0));	#
+@@ -261,7 +273,11 @@
+ 	&mov(&DWP($data_off,"esp","",0),	"eax");	# put back
+ 	&mov(&DWP($data_off+4,"esp","",0),	"ebx");	#
+ 
+-	&call($dec_func);
++	&call	(&label("pic_point3"));
++	&set_label("pic_point3");
++	&blindpop("ebx");
++	&add	("ebx", "\$_GLOBAL_OFFSET_TABLE_+[.-" . &label("pic_point3") . "]");
++	&call("$dec_func\@PLT");
+ 
+ 	&mov("eax",	&DWP($data_off,"esp","",0));	# get return
+ 	&mov("ebx",	&DWP($data_off+4,"esp","",0));	#
+Index: openssl-1.0.1c/crypto/perlasm/x86gas.pl
+===================================================================
+--- openssl-1.0.1c.orig/crypto/perlasm/x86gas.pl	2011-12-09 20:16:35.000000000 +0100
++++ openssl-1.0.1c/crypto/perlasm/x86gas.pl	2012-07-29 14:15:26.000000000 +0200
+@@ -161,6 +161,7 @@
+ 	if ($::macosx)	{ push (@out,"$tmp,2\n"); }
+ 	elsif ($::elf)	{ push (@out,"$tmp,4\n"); }
+ 	else		{ push (@out,"$tmp\n"); }
++	if ($::elf)	{ push (@out,".hidden\tOPENSSL_ia32cap_P\n"); }
+     }
+     push(@out,$initseg) if ($initseg);
+ }
+@@ -218,8 +219,23 @@
+     elsif ($::elf)
+     {	$initseg.=<<___;
+ .section	.init
++___
++        if ($::pic)
++	{   $initseg.=<<___;
++	pushl	%ebx
++	call	.pic_point0
++.pic_point0:
++	popl	%ebx
++	addl	\$_GLOBAL_OFFSET_TABLE_+[.-.pic_point0],%ebx
++	call	$f\@PLT
++	popl	%ebx
++___
++	}
++	else
++	{   $initseg.=<<___;
+ 	call	$f
+ ___
++	}
+     }
+     elsif ($::coff)
+     {   $initseg.=<<___;	# applies to both Cygwin and Mingw
+Index: openssl-1.0.1c/crypto/x86cpuid.pl
+===================================================================
+--- openssl-1.0.1c.orig/crypto/x86cpuid.pl	2012-02-28 15:20:34.000000000 +0100
++++ openssl-1.0.1c/crypto/x86cpuid.pl	2012-07-29 14:15:26.000000000 +0200
+@@ -8,6 +8,8 @@
+ 
+ for (@ARGV) { $sse2=1 if (/-DOPENSSL_IA32_SSE2/); }
+ 
++push(@out, ".hidden OPENSSL_ia32cap_P\n");
++
+ &function_begin("OPENSSL_ia32_cpuid");
+ 	&xor	("edx","edx");
+ 	&pushf	();
+@@ -139,9 +141,7 @@
+ &set_label("nocpuid");
+ &function_end("OPENSSL_ia32_cpuid");
+ 
+-&external_label("OPENSSL_ia32cap_P");
+-
+-&function_begin_B("OPENSSL_rdtsc","EXTRN\t_OPENSSL_ia32cap_P:DWORD");
++&function_begin_B("OPENSSL_rdtsc");
+ 	&xor	("eax","eax");
+ 	&xor	("edx","edx");
+ 	&picmeup("ecx","OPENSSL_ia32cap_P");
+@@ -155,7 +155,7 @@
+ # This works in Ring 0 only [read DJGPP+MS-DOS+privileged DPMI host],
+ # but it's safe to call it on any [supported] 32-bit platform...
+ # Just check for [non-]zero return value...
+-&function_begin_B("OPENSSL_instrument_halt","EXTRN\t_OPENSSL_ia32cap_P:DWORD");
++&function_begin_B("OPENSSL_instrument_halt");
+ 	&picmeup("ecx","OPENSSL_ia32cap_P");
+ 	&bt	(&DWP(0,"ecx"),4);
+ 	&jnc	(&label("nohalt"));	# no TSC
+@@ -222,7 +222,7 @@
+ 	&ret	();
+ &function_end_B("OPENSSL_far_spin");
+ 
+-&function_begin_B("OPENSSL_wipe_cpu","EXTRN\t_OPENSSL_ia32cap_P:DWORD");
++&function_begin_B("OPENSSL_wipe_cpu");
+ 	&xor	("eax","eax");
+ 	&xor	("edx","edx");
+ 	&picmeup("ecx","OPENSSL_ia32cap_P");
diff --git a/recipes-connectivity/openssl/openssl/debian/version-script.patch b/recipes-connectivity/openssl/openssl/debian/version-script.patch
new file mode 100644
index 0000000..ece8b9b
--- /dev/null
+++ b/recipes-connectivity/openssl/openssl/debian/version-script.patch
@@ -0,0 +1,4670 @@
+Upstream-Status: Backport [debian]
+
+Index: openssl-1.0.1d/Configure
+===================================================================
+--- openssl-1.0.1d.orig/Configure	2013-02-06 19:41:43.000000000 +0100
++++ openssl-1.0.1d/Configure	2013-02-06 19:41:43.000000000 +0100
+@@ -1621,6 +1621,8 @@
+ 		}
+ 	}
+ 
++$shared_ldflag .= " -Wl,--version-script=openssl.ld";
++
+ open(IN,'<Makefile.org') || die "unable to read Makefile.org:$!\n";
+ unlink("$Makefile.new") || die "unable to remove old $Makefile.new:$!\n" if -e "$Makefile.new";
+ open(OUT,">$Makefile.new") || die "unable to create $Makefile.new:$!\n";
+Index: openssl-1.0.1d/openssl.ld
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ openssl-1.0.1d/openssl.ld	2013-02-06 19:44:25.000000000 +0100
+@@ -0,0 +1,4620 @@
++OPENSSL_1.0.0 {
++	global:
++		BIO_f_ssl;
++		BIO_new_buffer_ssl_connect;
++		BIO_new_ssl;
++		BIO_new_ssl_connect;
++		BIO_proxy_ssl_copy_session_id;
++		BIO_ssl_copy_session_id;
++		BIO_ssl_shutdown;
++		d2i_SSL_SESSION;
++		DTLSv1_client_method;
++		DTLSv1_method;
++		DTLSv1_server_method;
++		ERR_load_SSL_strings;
++		i2d_SSL_SESSION;
++		kssl_build_principal_2;
++		kssl_cget_tkt;
++		kssl_check_authent;
++		kssl_ctx_free;
++		kssl_ctx_new;
++		kssl_ctx_setkey;
++		kssl_ctx_setprinc;
++		kssl_ctx_setstring;
++		kssl_ctx_show;
++		kssl_err_set;
++		kssl_krb5_free_data_contents;
++		kssl_sget_tkt;
++		kssl_skip_confound;
++		kssl_validate_times;
++		PEM_read_bio_SSL_SESSION;
++		PEM_read_SSL_SESSION;
++		PEM_write_bio_SSL_SESSION;
++		PEM_write_SSL_SESSION;
++		SSL_accept;
++		SSL_add_client_CA;
++		SSL_add_dir_cert_subjects_to_stack;
++		SSL_add_dir_cert_subjs_to_stk;
++		SSL_add_file_cert_subjects_to_stack;
++		SSL_add_file_cert_subjs_to_stk;
++		SSL_alert_desc_string;
++		SSL_alert_desc_string_long;
++		SSL_alert_type_string;
++		SSL_alert_type_string_long;
++		SSL_callback_ctrl;
++		SSL_check_private_key;
++		SSL_CIPHER_description;
++		SSL_CIPHER_get_bits;
++		SSL_CIPHER_get_name;
++		SSL_CIPHER_get_version;
++		SSL_clear;
++		SSL_COMP_add_compression_method;
++		SSL_COMP_get_compression_methods;
++		SSL_COMP_get_compress_methods;
++		SSL_COMP_get_name;
++		SSL_connect;
++		SSL_copy_session_id;
++		SSL_ctrl;
++		SSL_CTX_add_client_CA;
++		SSL_CTX_add_session;
++		SSL_CTX_callback_ctrl;
++		SSL_CTX_check_private_key;
++		SSL_CTX_ctrl;
++		SSL_CTX_flush_sessions;
++		SSL_CTX_free;
++		SSL_CTX_get_cert_store;
++		SSL_CTX_get_client_CA_list;
++		SSL_CTX_get_client_cert_cb;
++		SSL_CTX_get_ex_data;
++		SSL_CTX_get_ex_new_index;
++		SSL_CTX_get_info_callback;
++		SSL_CTX_get_quiet_shutdown;
++		SSL_CTX_get_timeout;
++		SSL_CTX_get_verify_callback;
++		SSL_CTX_get_verify_depth;
++		SSL_CTX_get_verify_mode;
++		SSL_CTX_load_verify_locations;
++		SSL_CTX_new;
++		SSL_CTX_remove_session;
++		SSL_CTX_sess_get_get_cb;
++		SSL_CTX_sess_get_new_cb;
++		SSL_CTX_sess_get_remove_cb;
++		SSL_CTX_sessions;
++		SSL_CTX_sess_set_get_cb;
++		SSL_CTX_sess_set_new_cb;
++		SSL_CTX_sess_set_remove_cb;
++		SSL_CTX_set1_param;
++		SSL_CTX_set_cert_store;
++		SSL_CTX_set_cert_verify_callback;
++		SSL_CTX_set_cert_verify_cb;
++		SSL_CTX_set_cipher_list;
++		SSL_CTX_set_client_CA_list;
++		SSL_CTX_set_client_cert_cb;
++		SSL_CTX_set_client_cert_engine;
++		SSL_CTX_set_cookie_generate_cb;
++		SSL_CTX_set_cookie_verify_cb;
++		SSL_CTX_set_default_passwd_cb;
++		SSL_CTX_set_default_passwd_cb_userdata;
++		SSL_CTX_set_default_verify_paths;
++		SSL_CTX_set_def_passwd_cb_ud;
++		SSL_CTX_set_def_verify_paths;
++		SSL_CTX_set_ex_data;
++		SSL_CTX_set_generate_session_id;
++		SSL_CTX_set_info_callback;
++		SSL_CTX_set_msg_callback;
++		SSL_CTX_set_psk_client_callback;
++		SSL_CTX_set_psk_server_callback;
++		SSL_CTX_set_purpose;
++		SSL_CTX_set_quiet_shutdown;
++		SSL_CTX_set_session_id_context;
++		SSL_CTX_set_ssl_version;
++		SSL_CTX_set_timeout;
++		SSL_CTX_set_tmp_dh_callback;
++		SSL_CTX_set_tmp_ecdh_callback;
++		SSL_CTX_set_tmp_rsa_callback;
++		SSL_CTX_set_trust;
++		SSL_CTX_set_verify;
++		SSL_CTX_set_verify_depth;
++		SSL_CTX_use_cert_chain_file;
++		SSL_CTX_use_certificate;
++		SSL_CTX_use_certificate_ASN1;
++		SSL_CTX_use_certificate_chain_file;
++		SSL_CTX_use_certificate_file;
++		SSL_CTX_use_PrivateKey;
++		SSL_CTX_use_PrivateKey_ASN1;
++		SSL_CTX_use_PrivateKey_file;
++		SSL_CTX_use_psk_identity_hint;
++		SSL_CTX_use_RSAPrivateKey;
++		SSL_CTX_use_RSAPrivateKey_ASN1;
++		SSL_CTX_use_RSAPrivateKey_file;
++		SSL_do_handshake;
++		SSL_dup;
++		SSL_dup_CA_list;
++		SSLeay_add_ssl_algorithms;
++		SSL_free;
++		SSL_get1_session;
++		SSL_get_certificate;
++		SSL_get_cipher_list;
++		SSL_get_ciphers;
++		SSL_get_client_CA_list;
++		SSL_get_current_cipher;
++		SSL_get_current_compression;
++		SSL_get_current_expansion;
++		SSL_get_default_timeout;
++		SSL_get_error;
++		SSL_get_ex_data;
++		SSL_get_ex_data_X509_STORE_CTX_idx;
++		SSL_get_ex_d_X509_STORE_CTX_idx;
++		SSL_get_ex_new_index;
++		SSL_get_fd;
++		SSL_get_finished;
++		SSL_get_info_callback;
++		SSL_get_peer_cert_chain;
++		SSL_get_peer_certificate;
++		SSL_get_peer_finished;
++		SSL_get_privatekey;
++		SSL_get_psk_identity;
++		SSL_get_psk_identity_hint;
++		SSL_get_quiet_shutdown;
++		SSL_get_rbio;
++		SSL_get_read_ahead;
++		SSL_get_rfd;
++		SSL_get_servername;
++		SSL_get_servername_type;
++		SSL_get_session;
++		SSL_get_shared_ciphers;
++		SSL_get_shutdown;
++		SSL_get_SSL_CTX;
++		SSL_get_ssl_method;
++		SSL_get_verify_callback;
++		SSL_get_verify_depth;
++		SSL_get_verify_mode;
++		SSL_get_verify_result;
++		SSL_get_version;
++		SSL_get_wbio;
++		SSL_get_wfd;
++		SSL_has_matching_session_id;
++		SSL_library_init;
++		SSL_load_client_CA_file;
++		SSL_load_error_strings;
++		SSL_new;
++		SSL_peek;
++		SSL_pending;
++		SSL_read;
++		SSL_renegotiate;
++		SSL_renegotiate_pending;
++		SSL_rstate_string;
++		SSL_rstate_string_long;
++		SSL_SESSION_cmp;
++		SSL_SESSION_free;
++		SSL_SESSION_get_ex_data;
++		SSL_SESSION_get_ex_new_index;
++		SSL_SESSION_get_id;
++		SSL_SESSION_get_time;
++		SSL_SESSION_get_timeout;
++		SSL_SESSION_hash;
++		SSL_SESSION_new;
++		SSL_SESSION_print;
++		SSL_SESSION_print_fp;
++		SSL_SESSION_set_ex_data;
++		SSL_SESSION_set_time;
++		SSL_SESSION_set_timeout;
++		SSL_set1_param;
++		SSL_set_accept_state;
++		SSL_set_bio;
++		SSL_set_cipher_list;
++		SSL_set_client_CA_list;
++		SSL_set_connect_state;
++		SSL_set_ex_data;
++		SSL_set_fd;
++		SSL_set_generate_session_id;
++		SSL_set_info_callback;
++		SSL_set_msg_callback;
++		SSL_set_psk_client_callback;
++		SSL_set_psk_server_callback;
++		SSL_set_purpose;
++		SSL_set_quiet_shutdown;
++		SSL_set_read_ahead;
++		SSL_set_rfd;
++		SSL_set_session;
++		SSL_set_session_id_context;
++		SSL_set_session_secret_cb;
++		SSL_set_session_ticket_ext;
++		SSL_set_session_ticket_ext_cb;
++		SSL_set_shutdown;
++		SSL_set_SSL_CTX;
++		SSL_set_ssl_method;
++		SSL_set_tmp_dh_callback;
++		SSL_set_tmp_ecdh_callback;
++		SSL_set_tmp_rsa_callback;
++		SSL_set_trust;
++		SSL_set_verify;
++		SSL_set_verify_depth;
++		SSL_set_verify_result;
++		SSL_set_wfd;
++		SSL_shutdown;
++		SSL_state;
++		SSL_state_string;
++		SSL_state_string_long;
++		SSL_use_certificate;
++		SSL_use_certificate_ASN1;
++		SSL_use_certificate_file;
++		SSL_use_PrivateKey;
++		SSL_use_PrivateKey_ASN1;
++		SSL_use_PrivateKey_file;
++		SSL_use_psk_identity_hint;
++		SSL_use_RSAPrivateKey;
++		SSL_use_RSAPrivateKey_ASN1;
++		SSL_use_RSAPrivateKey_file;
++		SSLv23_client_method;
++		SSLv23_method;
++		SSLv23_server_method;
++		SSLv2_client_method;
++		SSLv2_method;
++		SSLv2_server_method;
++		SSLv3_client_method;
++		SSLv3_method;
++		SSLv3_server_method;
++		SSL_version;
++		SSL_want;
++		SSL_write;
++		TLSv1_client_method;
++		TLSv1_method;
++		TLSv1_server_method;
++
++
++		SSLeay;
++		SSLeay_version;
++		ASN1_BIT_STRING_asn1_meth;
++		ASN1_HEADER_free;
++		ASN1_HEADER_new;
++		ASN1_IA5STRING_asn1_meth;
++		ASN1_INTEGER_get;
++		ASN1_INTEGER_set;
++		ASN1_INTEGER_to_BN;
++		ASN1_OBJECT_create;
++		ASN1_OBJECT_free;
++		ASN1_OBJECT_new;
++		ASN1_PRINTABLE_type;
++		ASN1_STRING_cmp;
++		ASN1_STRING_dup;
++		ASN1_STRING_free;
++		ASN1_STRING_new;
++		ASN1_STRING_print;
++		ASN1_STRING_set;
++		ASN1_STRING_type_new;
++		ASN1_TYPE_free;
++		ASN1_TYPE_new;
++		ASN1_UNIVERSALSTRING_to_string;
++		ASN1_UTCTIME_check;
++		ASN1_UTCTIME_print;
++		ASN1_UTCTIME_set;
++		ASN1_check_infinite_end;
++		ASN1_d2i_bio;
++		ASN1_d2i_fp;
++		ASN1_digest;
++		ASN1_dup;
++		ASN1_get_object;
++		ASN1_i2d_bio;
++		ASN1_i2d_fp;
++		ASN1_object_size;
++		ASN1_parse;
++		ASN1_put_object;
++		ASN1_sign;
++		ASN1_verify;
++		BF_cbc_encrypt;
++		BF_cfb64_encrypt;
++		BF_ecb_encrypt;
++		BF_encrypt;
++		BF_ofb64_encrypt;
++		BF_options;
++		BF_set_key;
++		BIO_CONNECT_free;
++		BIO_CONNECT_new;
++		BIO_accept;
++		BIO_ctrl;
++		BIO_int_ctrl;
++		BIO_debug_callback;
++		BIO_dump;
++		BIO_dup_chain;
++		BIO_f_base64;
++		BIO_f_buffer;
++		BIO_f_cipher;
++		BIO_f_md;
++		BIO_f_null;
++		BIO_f_proxy_server;
++		BIO_fd_non_fatal_error;
++		BIO_fd_should_retry;
++		BIO_find_type;
++		BIO_free;
++		BIO_free_all;
++		BIO_get_accept_socket;
++		BIO_get_filter_bio;
++		BIO_get_host_ip;
++		BIO_get_port;
++		BIO_get_retry_BIO;
++		BIO_get_retry_reason;
++		BIO_gethostbyname;
++		BIO_gets;
++		BIO_new;
++		BIO_new_accept;
++		BIO_new_connect;
++		BIO_new_fd;
++		BIO_new_file;
++		BIO_new_fp;
++		BIO_new_socket;
++		BIO_pop;
++		BIO_printf;
++		BIO_push;
++		BIO_puts;
++		BIO_read;
++		BIO_s_accept;
++		BIO_s_connect;
++		BIO_s_fd;
++		BIO_s_file;
++		BIO_s_mem;
++		BIO_s_null;
++		BIO_s_proxy_client;
++		BIO_s_socket;
++		BIO_set;
++		BIO_set_cipher;
++		BIO_set_tcp_ndelay;
++		BIO_sock_cleanup;
++		BIO_sock_error;
++		BIO_sock_init;
++		BIO_sock_non_fatal_error;
++		BIO_sock_should_retry;
++		BIO_socket_ioctl;
++		BIO_write;
++		BN_CTX_free;
++		BN_CTX_new;
++		BN_MONT_CTX_free;
++		BN_MONT_CTX_new;
++		BN_MONT_CTX_set;
++		BN_add;
++		BN_add_word;
++		BN_hex2bn;
++		BN_bin2bn;
++		BN_bn2hex;
++		BN_bn2bin;
++		BN_clear;
++		BN_clear_bit;
++		BN_clear_free;
++		BN_cmp;
++		BN_copy;
++		BN_div;
++		BN_div_word;
++		BN_dup;
++		BN_free;
++		BN_from_montgomery;
++		BN_gcd;
++		BN_generate_prime;
++		BN_get_word;
++		BN_is_bit_set;
++		BN_is_prime;
++		BN_lshift;
++		BN_lshift1;
++		BN_mask_bits;
++		BN_mod;
++		BN_mod_exp;
++		BN_mod_exp_mont;
++		BN_mod_exp_simple;
++		BN_mod_inverse;
++		BN_mod_mul;
++		BN_mod_mul_montgomery;
++		BN_mod_word;
++		BN_mul;
++		BN_new;
++		BN_num_bits;
++		BN_num_bits_word;
++		BN_options;
++		BN_print;
++		BN_print_fp;
++		BN_rand;
++		BN_reciprocal;
++		BN_rshift;
++		BN_rshift1;
++		BN_set_bit;
++		BN_set_word;
++		BN_sqr;
++		BN_sub;
++		BN_to_ASN1_INTEGER;
++		BN_ucmp;
++		BN_value_one;
++		BUF_MEM_free;
++		BUF_MEM_grow;
++		BUF_MEM_new;
++		BUF_strdup;
++		CONF_free;
++		CONF_get_number;
++		CONF_get_section;
++		CONF_get_string;
++		CONF_load;
++		CRYPTO_add_lock;
++		CRYPTO_dbg_free;
++		CRYPTO_dbg_malloc;
++		CRYPTO_dbg_realloc;
++		CRYPTO_dbg_remalloc;
++		CRYPTO_free;
++		CRYPTO_get_add_lock_callback;
++		CRYPTO_get_id_callback;
++		CRYPTO_get_lock_name;
++		CRYPTO_get_locking_callback;
++		CRYPTO_get_mem_functions;
++		CRYPTO_lock;
++		CRYPTO_malloc;
++		CRYPTO_mem_ctrl;
++		CRYPTO_mem_leaks;
++		CRYPTO_mem_leaks_cb;
++		CRYPTO_mem_leaks_fp;
++		CRYPTO_realloc;
++		CRYPTO_remalloc;
++		CRYPTO_set_add_lock_callback;
++		CRYPTO_set_id_callback;
++		CRYPTO_set_locking_callback;
++		CRYPTO_set_mem_functions;
++		CRYPTO_thread_id;
++		DH_check;
++		DH_compute_key;
++		DH_free;
++		DH_generate_key;
++		DH_generate_parameters;
++		DH_new;
++		DH_size;
++		DHparams_print;
++		DHparams_print_fp;
++		DSA_free;
++		DSA_generate_key;
++		DSA_generate_parameters;
++		DSA_is_prime;
++		DSA_new;
++		DSA_print;
++		DSA_print_fp;
++		DSA_sign;
++		DSA_sign_setup;
++		DSA_size;
++		DSA_verify;
++		DSAparams_print;
++		DSAparams_print_fp;
++		ERR_clear_error;
++		ERR_error_string;
++		ERR_free_strings;
++		ERR_func_error_string;
++		ERR_get_err_state_table;
++		ERR_get_error;
++		ERR_get_error_line;
++		ERR_get_state;
++		ERR_get_string_table;
++		ERR_lib_error_string;
++		ERR_load_ASN1_strings;
++		ERR_load_BIO_strings;
++		ERR_load_BN_strings;
++		ERR_load_BUF_strings;
++		ERR_load_CONF_strings;
++		ERR_load_DH_strings;
++		ERR_load_DSA_strings;
++		ERR_load_ERR_strings;
++		ERR_load_EVP_strings;
++		ERR_load_OBJ_strings;
++		ERR_load_PEM_strings;
++		ERR_load_PROXY_strings;
++		ERR_load_RSA_strings;
++		ERR_load_X509_strings;
++		ERR_load_crypto_strings;
++		ERR_load_strings;
++		ERR_peek_error;
++		ERR_peek_error_line;
++		ERR_print_errors;
++		ERR_print_errors_fp;
++		ERR_put_error;
++		ERR_reason_error_string;
++		ERR_remove_state;
++		EVP_BytesToKey;
++		EVP_CIPHER_CTX_cleanup;
++		EVP_CipherFinal;
++		EVP_CipherInit;
++		EVP_CipherUpdate;
++		EVP_DecodeBlock;
++		EVP_DecodeFinal;
++		EVP_DecodeInit;
++		EVP_DecodeUpdate;
++		EVP_DecryptFinal;
++		EVP_DecryptInit;
++		EVP_DecryptUpdate;
++		EVP_DigestFinal;
++		EVP_DigestInit;
++		EVP_DigestUpdate;
++		EVP_EncodeBlock;
++		EVP_EncodeFinal;
++		EVP_EncodeInit;
++		EVP_EncodeUpdate;
++		EVP_EncryptFinal;
++		EVP_EncryptInit;
++		EVP_EncryptUpdate;
++		EVP_OpenFinal;
++		EVP_OpenInit;
++		EVP_PKEY_assign;
++		EVP_PKEY_copy_parameters;
++		EVP_PKEY_free;
++		EVP_PKEY_missing_parameters;
++		EVP_PKEY_new;
++		EVP_PKEY_save_parameters;
++		EVP_PKEY_size;
++		EVP_PKEY_type;
++		EVP_SealFinal;
++		EVP_SealInit;
++		EVP_SignFinal;
++		EVP_VerifyFinal;
++		EVP_add_alias;
++		EVP_add_cipher;
++		EVP_add_digest;
++		EVP_bf_cbc;
++		EVP_bf_cfb64;
++		EVP_bf_ecb;
++		EVP_bf_ofb;
++		EVP_cleanup;
++		EVP_des_cbc;
++		EVP_des_cfb64;
++		EVP_des_ecb;
++		EVP_des_ede;
++		EVP_des_ede3;
++		EVP_des_ede3_cbc;
++		EVP_des_ede3_cfb64;
++		EVP_des_ede3_ofb;
++		EVP_des_ede_cbc;
++		EVP_des_ede_cfb64;
++		EVP_des_ede_ofb;
++		EVP_des_ofb;
++		EVP_desx_cbc;
++		EVP_dss;
++		EVP_dss1;
++		EVP_enc_null;
++		EVP_get_cipherbyname;
++		EVP_get_digestbyname;
++		EVP_get_pw_prompt;
++		EVP_idea_cbc;
++		EVP_idea_cfb64;
++		EVP_idea_ecb;
++		EVP_idea_ofb;
++		EVP_md2;
++		EVP_md5;
++		EVP_md_null;
++		EVP_rc2_cbc;
++		EVP_rc2_cfb64;
++		EVP_rc2_ecb;
++		EVP_rc2_ofb;
++		EVP_rc4;
++		EVP_read_pw_string;
++		EVP_set_pw_prompt;
++		EVP_sha;
++		EVP_sha1;
++		MD2;
++		MD2_Final;
++		MD2_Init;
++		MD2_Update;
++		MD2_options;
++		MD5;
++		MD5_Final;
++		MD5_Init;
++		MD5_Update;
++		MDC2;
++		MDC2_Final;
++		MDC2_Init;
++		MDC2_Update;
++		NETSCAPE_SPKAC_free;
++		NETSCAPE_SPKAC_new;
++		NETSCAPE_SPKI_free;
++		NETSCAPE_SPKI_new;
++		NETSCAPE_SPKI_sign;
++		NETSCAPE_SPKI_verify;
++		OBJ_add_object;
++		OBJ_bsearch;
++		OBJ_cleanup;
++		OBJ_cmp;
++		OBJ_create;
++		OBJ_dup;
++		OBJ_ln2nid;
++		OBJ_new_nid;
++		OBJ_nid2ln;
++		OBJ_nid2obj;
++		OBJ_nid2sn;
++		OBJ_obj2nid;
++		OBJ_sn2nid;
++		OBJ_txt2nid;
++		PEM_ASN1_read;
++		PEM_ASN1_read_bio;
++		PEM_ASN1_write;
++		PEM_ASN1_write_bio;
++		PEM_SealFinal;
++		PEM_SealInit;
++		PEM_SealUpdate;
++		PEM_SignFinal;
++		PEM_SignInit;
++		PEM_SignUpdate;
++		PEM_X509_INFO_read;
++		PEM_X509_INFO_read_bio;
++		PEM_X509_INFO_write_bio;
++		PEM_dek_info;
++		PEM_do_header;
++		PEM_get_EVP_CIPHER_INFO;
++		PEM_proc_type;
++		PEM_read;
++		PEM_read_DHparams;
++		PEM_read_DSAPrivateKey;
++		PEM_read_DSAparams;
++		PEM_read_PKCS7;
++		PEM_read_PrivateKey;
++		PEM_read_RSAPrivateKey;
++		PEM_read_X509;
++		PEM_read_X509_CRL;
++		PEM_read_X509_REQ;
++		PEM_read_bio;
++		PEM_read_bio_DHparams;
++		PEM_read_bio_DSAPrivateKey;
++		PEM_read_bio_DSAparams;
++		PEM_read_bio_PKCS7;
++		PEM_read_bio_PrivateKey;
++		PEM_read_bio_RSAPrivateKey;
++		PEM_read_bio_X509;
++		PEM_read_bio_X509_CRL;
++		PEM_read_bio_X509_REQ;
++		PEM_write;
++		PEM_write_DHparams;
++		PEM_write_DSAPrivateKey;
++		PEM_write_DSAparams;
++		PEM_write_PKCS7;
++		PEM_write_PrivateKey;
++		PEM_write_RSAPrivateKey;
++		PEM_write_X509;
++		PEM_write_X509_CRL;
++		PEM_write_X509_REQ;
++		PEM_write_bio;
++		PEM_write_bio_DHparams;
++		PEM_write_bio_DSAPrivateKey;
++		PEM_write_bio_DSAparams;
++		PEM_write_bio_PKCS7;
++		PEM_write_bio_PrivateKey;
++		PEM_write_bio_RSAPrivateKey;
++		PEM_write_bio_X509;
++		PEM_write_bio_X509_CRL;
++		PEM_write_bio_X509_REQ;
++		PKCS7_DIGEST_free;
++		PKCS7_DIGEST_new;
++		PKCS7_ENCRYPT_free;
++		PKCS7_ENCRYPT_new;
++		PKCS7_ENC_CONTENT_free;
++		PKCS7_ENC_CONTENT_new;
++		PKCS7_ENVELOPE_free;
++		PKCS7_ENVELOPE_new;
++		PKCS7_ISSUER_AND_SERIAL_digest;
++		PKCS7_ISSUER_AND_SERIAL_free;
++		PKCS7_ISSUER_AND_SERIAL_new;
++		PKCS7_RECIP_INFO_free;
++		PKCS7_RECIP_INFO_new;
++		PKCS7_SIGNED_free;
++		PKCS7_SIGNED_new;
++		PKCS7_SIGNER_INFO_free;
++		PKCS7_SIGNER_INFO_new;
++		PKCS7_SIGN_ENVELOPE_free;
++		PKCS7_SIGN_ENVELOPE_new;
++		PKCS7_dup;
++		PKCS7_free;
++		PKCS7_new;
++		PROXY_ENTRY_add_noproxy;
++		PROXY_ENTRY_clear_noproxy;
++		PROXY_ENTRY_free;
++		PROXY_ENTRY_get_noproxy;
++		PROXY_ENTRY_new;
++		PROXY_ENTRY_set_server;
++		PROXY_add_noproxy;
++		PROXY_add_server;
++		PROXY_check_by_host;
++		PROXY_check_url;
++		PROXY_clear_noproxy;
++		PROXY_free;
++		PROXY_get_noproxy;
++		PROXY_get_proxies;
++		PROXY_get_proxy_entry;
++		PROXY_load_conf;
++		PROXY_new;
++		PROXY_print;
++		RAND_bytes;
++		RAND_cleanup;
++		RAND_file_name;
++		RAND_load_file;
++		RAND_screen;
++		RAND_seed;
++		RAND_write_file;
++		RC2_cbc_encrypt;
++		RC2_cfb64_encrypt;
++		RC2_ecb_encrypt;
++		RC2_encrypt;
++		RC2_ofb64_encrypt;
++		RC2_set_key;
++		RC4;
++		RC4_options;
++		RC4_set_key;
++		RSAPrivateKey_asn1_meth;
++		RSAPrivateKey_dup;
++		RSAPublicKey_dup;
++		RSA_PKCS1_SSLeay;
++		RSA_free;
++		RSA_generate_key;
++		RSA_new;
++		RSA_new_method;
++		RSA_print;
++		RSA_print_fp;
++		RSA_private_decrypt;
++		RSA_private_encrypt;
++		RSA_public_decrypt;
++		RSA_public_encrypt;
++		RSA_set_default_method;
++		RSA_sign;
++		RSA_sign_ASN1_OCTET_STRING;
++		RSA_size;
++		RSA_verify;
++		RSA_verify_ASN1_OCTET_STRING;
++		SHA;
++		SHA1;
++		SHA1_Final;
++		SHA1_Init;
++		SHA1_Update;
++		SHA_Final;
++		SHA_Init;
++		SHA_Update;
++		OpenSSL_add_all_algorithms;
++		OpenSSL_add_all_ciphers;
++		OpenSSL_add_all_digests;
++		TXT_DB_create_index;
++		TXT_DB_free;
++		TXT_DB_get_by_index;
++		TXT_DB_insert;
++		TXT_DB_read;
++		TXT_DB_write;
++		X509_ALGOR_free;
++		X509_ALGOR_new;
++		X509_ATTRIBUTE_free;
++		X509_ATTRIBUTE_new;
++		X509_CINF_free;
++		X509_CINF_new;
++		X509_CRL_INFO_free;
++		X509_CRL_INFO_new;
++		X509_CRL_add_ext;
++		X509_CRL_cmp;
++		X509_CRL_delete_ext;
++		X509_CRL_dup;
++		X509_CRL_free;
++		X509_CRL_get_ext;
++		X509_CRL_get_ext_by_NID;
++		X509_CRL_get_ext_by_OBJ;
++		X509_CRL_get_ext_by_critical;
++		X509_CRL_get_ext_count;
++		X509_CRL_new;
++		X509_CRL_sign;
++		X509_CRL_verify;
++		X509_EXTENSION_create_by_NID;
++		X509_EXTENSION_create_by_OBJ;
++		X509_EXTENSION_dup;
++		X509_EXTENSION_free;
++		X509_EXTENSION_get_critical;
++		X509_EXTENSION_get_data;
++		X509_EXTENSION_get_object;
++		X509_EXTENSION_new;
++		X509_EXTENSION_set_critical;
++		X509_EXTENSION_set_data;
++		X509_EXTENSION_set_object;
++		X509_INFO_free;
++		X509_INFO_new;
++		X509_LOOKUP_by_alias;
++		X509_LOOKUP_by_fingerprint;
++		X509_LOOKUP_by_issuer_serial;
++		X509_LOOKUP_by_subject;
++		X509_LOOKUP_ctrl;
++		X509_LOOKUP_file;
++		X509_LOOKUP_free;
++		X509_LOOKUP_hash_dir;
++		X509_LOOKUP_init;
++		X509_LOOKUP_new;
++		X509_LOOKUP_shutdown;
++		X509_NAME_ENTRY_create_by_NID;
++		X509_NAME_ENTRY_create_by_OBJ;
++		X509_NAME_ENTRY_dup;
++		X509_NAME_ENTRY_free;
++		X509_NAME_ENTRY_get_data;
++		X509_NAME_ENTRY_get_object;
++		X509_NAME_ENTRY_new;
++		X509_NAME_ENTRY_set_data;
++		X509_NAME_ENTRY_set_object;
++		X509_NAME_add_entry;
++		X509_NAME_cmp;
++		X509_NAME_delete_entry;
++		X509_NAME_digest;
++		X509_NAME_dup;
++		X509_NAME_entry_count;
++		X509_NAME_free;
++		X509_NAME_get_entry;
++		X509_NAME_get_index_by_NID;
++		X509_NAME_get_index_by_OBJ;
++		X509_NAME_get_text_by_NID;
++		X509_NAME_get_text_by_OBJ;
++		X509_NAME_hash;
++		X509_NAME_new;
++		X509_NAME_oneline;
++		X509_NAME_print;
++		X509_NAME_set;
++		X509_OBJECT_free_contents;
++		X509_OBJECT_retrieve_by_subject;
++		X509_OBJECT_up_ref_count;
++		X509_PKEY_free;
++		X509_PKEY_new;
++		X509_PUBKEY_free;
++		X509_PUBKEY_get;
++		X509_PUBKEY_new;
++		X509_PUBKEY_set;
++		X509_REQ_INFO_free;
++		X509_REQ_INFO_new;
++		X509_REQ_dup;
++		X509_REQ_free;
++		X509_REQ_get_pubkey;
++		X509_REQ_new;
++		X509_REQ_print;
++		X509_REQ_print_fp;
++		X509_REQ_set_pubkey;
++		X509_REQ_set_subject_name;
++		X509_REQ_set_version;
++		X509_REQ_sign;
++		X509_REQ_to_X509;
++		X509_REQ_verify;
++		X509_REVOKED_add_ext;
++		X509_REVOKED_delete_ext;
++		X509_REVOKED_free;
++		X509_REVOKED_get_ext;
++		X509_REVOKED_get_ext_by_NID;
++		X509_REVOKED_get_ext_by_OBJ;
++		X509_REVOKED_get_ext_by_critical;
++		X509_REVOKED_get_ext_by_critic;
++		X509_REVOKED_get_ext_count;
++		X509_REVOKED_new;
++		X509_SIG_free;
++		X509_SIG_new;
++		X509_STORE_CTX_cleanup;
++		X509_STORE_CTX_init;
++		X509_STORE_add_cert;
++		X509_STORE_add_lookup;
++		X509_STORE_free;
++		X509_STORE_get_by_subject;
++		X509_STORE_load_locations;
++		X509_STORE_new;
++		X509_STORE_set_default_paths;
++		X509_VAL_free;
++		X509_VAL_new;
++		X509_add_ext;
++		X509_asn1_meth;
++		X509_certificate_type;
++		X509_check_private_key;
++		X509_cmp_current_time;
++		X509_delete_ext;
++		X509_digest;
++		X509_dup;
++		X509_free;
++		X509_get_default_cert_area;
++		X509_get_default_cert_dir;
++		X509_get_default_cert_dir_env;
++		X509_get_default_cert_file;
++		X509_get_default_cert_file_env;
++		X509_get_default_private_dir;
++		X509_get_ext;
++		X509_get_ext_by_NID;
++		X509_get_ext_by_OBJ;
++		X509_get_ext_by_critical;
++		X509_get_ext_count;
++		X509_get_issuer_name;
++		X509_get_pubkey;
++		X509_get_pubkey_parameters;
++		X509_get_serialNumber;
++		X509_get_subject_name;
++		X509_gmtime_adj;
++		X509_issuer_and_serial_cmp;
++		X509_issuer_and_serial_hash;
++		X509_issuer_name_cmp;
++		X509_issuer_name_hash;
++		X509_load_cert_file;
++		X509_new;
++		X509_print;
++		X509_print_fp;
++		X509_set_issuer_name;
++		X509_set_notAfter;
++		X509_set_notBefore;
++		X509_set_pubkey;
++		X509_set_serialNumber;
++		X509_set_subject_name;
++		X509_set_version;
++		X509_sign;
++		X509_subject_name_cmp;
++		X509_subject_name_hash;
++		X509_to_X509_REQ;
++		X509_verify;
++		X509_verify_cert;
++		X509_verify_cert_error_string;
++		X509v3_add_ext;
++		X509v3_add_extension;
++		X509v3_add_netscape_extensions;
++		X509v3_add_standard_extensions;
++		X509v3_cleanup_extensions;
++		X509v3_data_type_by_NID;
++		X509v3_data_type_by_OBJ;
++		X509v3_delete_ext;
++		X509v3_get_ext;
++		X509v3_get_ext_by_NID;
++		X509v3_get_ext_by_OBJ;
++		X509v3_get_ext_by_critical;
++		X509v3_get_ext_count;
++		X509v3_pack_string;
++		X509v3_pack_type_by_NID;
++		X509v3_pack_type_by_OBJ;
++		X509v3_unpack_string;
++		_des_crypt;
++		a2d_ASN1_OBJECT;
++		a2i_ASN1_INTEGER;
++		a2i_ASN1_STRING;
++		asn1_Finish;
++		asn1_GetSequence;
++		bn_div_words;
++		bn_expand2;
++		bn_mul_add_words;
++		bn_mul_words;
++		BN_uadd;
++		BN_usub;
++		bn_sqr_words;
++		_ossl_old_crypt;
++		d2i_ASN1_BIT_STRING;
++		d2i_ASN1_BOOLEAN;
++		d2i_ASN1_HEADER;
++		d2i_ASN1_IA5STRING;
++		d2i_ASN1_INTEGER;
++		d2i_ASN1_OBJECT;
++		d2i_ASN1_OCTET_STRING;
++		d2i_ASN1_PRINTABLE;
++		d2i_ASN1_PRINTABLESTRING;
++		d2i_ASN1_SET;
++		d2i_ASN1_T61STRING;
++		d2i_ASN1_TYPE;
++		d2i_ASN1_UTCTIME;
++		d2i_ASN1_bytes;
++		d2i_ASN1_type_bytes;
++		d2i_DHparams;
++		d2i_DSAPrivateKey;
++		d2i_DSAPrivateKey_bio;
++		d2i_DSAPrivateKey_fp;
++		d2i_DSAPublicKey;
++		d2i_DSAparams;
++		d2i_NETSCAPE_SPKAC;
++		d2i_NETSCAPE_SPKI;
++		d2i_Netscape_RSA;
++		d2i_PKCS7;
++		d2i_PKCS7_DIGEST;
++		d2i_PKCS7_ENCRYPT;
++		d2i_PKCS7_ENC_CONTENT;
++		d2i_PKCS7_ENVELOPE;
++		d2i_PKCS7_ISSUER_AND_SERIAL;
++		d2i_PKCS7_RECIP_INFO;
++		d2i_PKCS7_SIGNED;
++		d2i_PKCS7_SIGNER_INFO;
++		d2i_PKCS7_SIGN_ENVELOPE;
++		d2i_PKCS7_bio;
++		d2i_PKCS7_fp;
++		d2i_PrivateKey;
++		d2i_PublicKey;
++		d2i_RSAPrivateKey;
++		d2i_RSAPrivateKey_bio;
++		d2i_RSAPrivateKey_fp;
++		d2i_RSAPublicKey;
++		d2i_X509;
++		d2i_X509_ALGOR;
++		d2i_X509_ATTRIBUTE;
++		d2i_X509_CINF;
++		d2i_X509_CRL;
++		d2i_X509_CRL_INFO;
++		d2i_X509_CRL_bio;
++		d2i_X509_CRL_fp;
++		d2i_X509_EXTENSION;
++		d2i_X509_NAME;
++		d2i_X509_NAME_ENTRY;
++		d2i_X509_PKEY;
++		d2i_X509_PUBKEY;
++		d2i_X509_REQ;
++		d2i_X509_REQ_INFO;
++		d2i_X509_REQ_bio;
++		d2i_X509_REQ_fp;
++		d2i_X509_REVOKED;
++		d2i_X509_SIG;
++		d2i_X509_VAL;
++		d2i_X509_bio;
++		d2i_X509_fp;
++		DES_cbc_cksum;
++		DES_cbc_encrypt;
++		DES_cblock_print_file;
++		DES_cfb64_encrypt;
++		DES_cfb_encrypt;
++		DES_decrypt3;
++		DES_ecb3_encrypt;
++		DES_ecb_encrypt;
++		DES_ede3_cbc_encrypt;
++		DES_ede3_cfb64_encrypt;
++		DES_ede3_ofb64_encrypt;
++		DES_enc_read;
++		DES_enc_write;
++		DES_encrypt1;
++		DES_encrypt2;
++		DES_encrypt3;
++		DES_fcrypt;
++		DES_is_weak_key;
++		DES_key_sched;
++		DES_ncbc_encrypt;
++		DES_ofb64_encrypt;
++		DES_ofb_encrypt;
++		DES_options;
++		DES_pcbc_encrypt;
++		DES_quad_cksum;
++		DES_random_key;
++		_ossl_old_des_random_seed;
++		_ossl_old_des_read_2passwords;
++		_ossl_old_des_read_password;
++		_ossl_old_des_read_pw;
++		_ossl_old_des_read_pw_string;
++		DES_set_key;
++		DES_set_odd_parity;
++		DES_string_to_2keys;
++		DES_string_to_key;
++		DES_xcbc_encrypt;
++		DES_xwhite_in2out;
++		fcrypt_body;
++		i2a_ASN1_INTEGER;
++		i2a_ASN1_OBJECT;
++		i2a_ASN1_STRING;
++		i2d_ASN1_BIT_STRING;
++		i2d_ASN1_BOOLEAN;
++		i2d_ASN1_HEADER;
++		i2d_ASN1_IA5STRING;
++		i2d_ASN1_INTEGER;
++		i2d_ASN1_OBJECT;
++		i2d_ASN1_OCTET_STRING;
++		i2d_ASN1_PRINTABLE;
++		i2d_ASN1_SET;
++		i2d_ASN1_TYPE;
++		i2d_ASN1_UTCTIME;
++		i2d_ASN1_bytes;
++		i2d_DHparams;
++		i2d_DSAPrivateKey;
++		i2d_DSAPrivateKey_bio;
++		i2d_DSAPrivateKey_fp;
++		i2d_DSAPublicKey;
++		i2d_DSAparams;
++		i2d_NETSCAPE_SPKAC;
++		i2d_NETSCAPE_SPKI;
++		i2d_Netscape_RSA;
++		i2d_PKCS7;
++		i2d_PKCS7_DIGEST;
++		i2d_PKCS7_ENCRYPT;
++		i2d_PKCS7_ENC_CONTENT;
++		i2d_PKCS7_ENVELOPE;
++		i2d_PKCS7_ISSUER_AND_SERIAL;
++		i2d_PKCS7_RECIP_INFO;
++		i2d_PKCS7_SIGNED;
++		i2d_PKCS7_SIGNER_INFO;
++		i2d_PKCS7_SIGN_ENVELOPE;
++		i2d_PKCS7_bio;
++		i2d_PKCS7_fp;
++		i2d_PrivateKey;
++		i2d_PublicKey;
++		i2d_RSAPrivateKey;
++		i2d_RSAPrivateKey_bio;
++		i2d_RSAPrivateKey_fp;
++		i2d_RSAPublicKey;
++		i2d_X509;
++		i2d_X509_ALGOR;
++		i2d_X509_ATTRIBUTE;
++		i2d_X509_CINF;
++		i2d_X509_CRL;
++		i2d_X509_CRL_INFO;
++		i2d_X509_CRL_bio;
++		i2d_X509_CRL_fp;
++		i2d_X509_EXTENSION;
++		i2d_X509_NAME;
++		i2d_X509_NAME_ENTRY;
++		i2d_X509_PKEY;
++		i2d_X509_PUBKEY;
++		i2d_X509_REQ;
++		i2d_X509_REQ_INFO;
++		i2d_X509_REQ_bio;
++		i2d_X509_REQ_fp;
++		i2d_X509_REVOKED;
++		i2d_X509_SIG;
++		i2d_X509_VAL;
++		i2d_X509_bio;
++		i2d_X509_fp;
++		idea_cbc_encrypt;
++		idea_cfb64_encrypt;
++		idea_ecb_encrypt;
++		idea_encrypt;
++		idea_ofb64_encrypt;
++		idea_options;
++		idea_set_decrypt_key;
++		idea_set_encrypt_key;
++		lh_delete;
++		lh_doall;
++		lh_doall_arg;
++		lh_free;
++		lh_insert;
++		lh_new;
++		lh_node_stats;
++		lh_node_stats_bio;
++		lh_node_usage_stats;
++		lh_node_usage_stats_bio;
++		lh_retrieve;
++		lh_stats;
++		lh_stats_bio;
++		lh_strhash;
++		sk_delete;
++		sk_delete_ptr;
++		sk_dup;
++		sk_find;
++		sk_free;
++		sk_insert;
++		sk_new;
++		sk_pop;
++		sk_pop_free;
++		sk_push;
++		sk_set_cmp_func;
++		sk_shift;
++		sk_unshift;
++		sk_zero;
++		BIO_f_nbio_test;
++		ASN1_TYPE_get;
++		ASN1_TYPE_set;
++		PKCS7_content_free;
++		ERR_load_PKCS7_strings;
++		X509_find_by_issuer_and_serial;
++		X509_find_by_subject;
++		PKCS7_ctrl;
++		PKCS7_set_type;
++		PKCS7_set_content;
++		PKCS7_SIGNER_INFO_set;
++		PKCS7_add_signer;
++		PKCS7_add_certificate;
++		PKCS7_add_crl;
++		PKCS7_content_new;
++		PKCS7_dataSign;
++		PKCS7_dataVerify;
++		PKCS7_dataInit;
++		PKCS7_add_signature;
++		PKCS7_cert_from_signer_info;
++		PKCS7_get_signer_info;
++		EVP_delete_alias;
++		EVP_mdc2;
++		PEM_read_bio_RSAPublicKey;
++		PEM_write_bio_RSAPublicKey;
++		d2i_RSAPublicKey_bio;
++		i2d_RSAPublicKey_bio;
++		PEM_read_RSAPublicKey;
++		PEM_write_RSAPublicKey;
++		d2i_RSAPublicKey_fp;
++		i2d_RSAPublicKey_fp;
++		BIO_copy_next_retry;
++		RSA_flags;
++		X509_STORE_add_crl;
++		X509_load_crl_file;
++		EVP_rc2_40_cbc;
++		EVP_rc4_40;
++		EVP_CIPHER_CTX_init;
++		HMAC;
++		HMAC_Init;
++		HMAC_Update;
++		HMAC_Final;
++		ERR_get_next_error_library;
++		EVP_PKEY_cmp_parameters;
++		HMAC_cleanup;
++		BIO_ptr_ctrl;
++		BIO_new_file_internal;
++		BIO_new_fp_internal;
++		BIO_s_file_internal;
++		BN_BLINDING_convert;
++		BN_BLINDING_invert;
++		BN_BLINDING_update;
++		RSA_blinding_on;
++		RSA_blinding_off;
++		i2t_ASN1_OBJECT;
++		BN_BLINDING_new;
++		BN_BLINDING_free;
++		EVP_cast5_cbc;
++		EVP_cast5_cfb64;
++		EVP_cast5_ecb;
++		EVP_cast5_ofb;
++		BF_decrypt;
++		CAST_set_key;
++		CAST_encrypt;
++		CAST_decrypt;
++		CAST_ecb_encrypt;
++		CAST_cbc_encrypt;
++		CAST_cfb64_encrypt;
++		CAST_ofb64_encrypt;
++		RC2_decrypt;
++		OBJ_create_objects;
++		BN_exp;
++		BN_mul_word;
++		BN_sub_word;
++		BN_dec2bn;
++		BN_bn2dec;
++		BIO_ghbn_ctrl;
++		CRYPTO_free_ex_data;
++		CRYPTO_get_ex_data;
++		CRYPTO_set_ex_data;
++		ERR_load_CRYPTO_strings;
++		ERR_load_CRYPTOlib_strings;
++		EVP_PKEY_bits;
++		MD5_Transform;
++		SHA1_Transform;
++		SHA_Transform;
++		X509_STORE_CTX_get_chain;
++		X509_STORE_CTX_get_current_cert;
++		X509_STORE_CTX_get_error;
++		X509_STORE_CTX_get_error_depth;
++		X509_STORE_CTX_get_ex_data;
++		X509_STORE_CTX_set_cert;
++		X509_STORE_CTX_set_chain;
++		X509_STORE_CTX_set_error;
++		X509_STORE_CTX_set_ex_data;
++		CRYPTO_dup_ex_data;
++		CRYPTO_get_new_lockid;
++		CRYPTO_new_ex_data;
++		RSA_set_ex_data;
++		RSA_get_ex_data;
++		RSA_get_ex_new_index;
++		RSA_padding_add_PKCS1_type_1;
++		RSA_padding_add_PKCS1_type_2;
++		RSA_padding_add_SSLv23;
++		RSA_padding_add_none;
++		RSA_padding_check_PKCS1_type_1;
++		RSA_padding_check_PKCS1_type_2;
++		RSA_padding_check_SSLv23;
++		RSA_padding_check_none;
++		bn_add_words;
++		d2i_Netscape_RSA_2;
++		CRYPTO_get_ex_new_index;
++		RIPEMD160_Init;
++		RIPEMD160_Update;
++		RIPEMD160_Final;
++		RIPEMD160;
++		RIPEMD160_Transform;
++		RC5_32_set_key;
++		RC5_32_ecb_encrypt;
++		RC5_32_encrypt;
++		RC5_32_decrypt;
++		RC5_32_cbc_encrypt;
++		RC5_32_cfb64_encrypt;
++		RC5_32_ofb64_encrypt;
++		BN_bn2mpi;
++		BN_mpi2bn;
++		ASN1_BIT_STRING_get_bit;
++		ASN1_BIT_STRING_set_bit;
++		BIO_get_ex_data;
++		BIO_get_ex_new_index;
++		BIO_set_ex_data;
++		X509v3_get_key_usage;
++		X509v3_set_key_usage;
++		a2i_X509v3_key_usage;
++		i2a_X509v3_key_usage;
++		EVP_PKEY_decrypt;
++		EVP_PKEY_encrypt;
++		PKCS7_RECIP_INFO_set;
++		PKCS7_add_recipient;
++		PKCS7_add_recipient_info;
++		PKCS7_set_cipher;
++		ASN1_TYPE_get_int_octetstring;
++		ASN1_TYPE_get_octetstring;
++		ASN1_TYPE_set_int_octetstring;
++		ASN1_TYPE_set_octetstring;
++		ASN1_UTCTIME_set_string;
++		ERR_add_error_data;
++		ERR_set_error_data;
++		EVP_CIPHER_asn1_to_param;
++		EVP_CIPHER_param_to_asn1;
++		EVP_CIPHER_get_asn1_iv;
++		EVP_CIPHER_set_asn1_iv;
++		EVP_rc5_32_12_16_cbc;
++		EVP_rc5_32_12_16_cfb64;
++		EVP_rc5_32_12_16_ecb;
++		EVP_rc5_32_12_16_ofb;
++		asn1_add_error;
++		d2i_ASN1_BMPSTRING;
++		i2d_ASN1_BMPSTRING;
++		BIO_f_ber;
++		BN_init;
++		COMP_CTX_new;
++		COMP_CTX_free;
++		COMP_CTX_compress_block;
++		COMP_CTX_expand_block;
++		X509_STORE_CTX_get_ex_new_index;
++		OBJ_NAME_add;
++		BIO_socket_nbio;
++		EVP_rc2_64_cbc;
++		OBJ_NAME_cleanup;
++		OBJ_NAME_get;
++		OBJ_NAME_init;
++		OBJ_NAME_new_index;
++		OBJ_NAME_remove;
++		BN_MONT_CTX_copy;
++		BIO_new_socks4a_connect;
++		BIO_s_socks4a_connect;
++		PROXY_set_connect_mode;
++		RAND_SSLeay;
++		RAND_set_rand_method;
++		RSA_memory_lock;
++		bn_sub_words;
++		bn_mul_normal;
++		bn_mul_comba8;
++		bn_mul_comba4;
++		bn_sqr_normal;
++		bn_sqr_comba8;
++		bn_sqr_comba4;
++		bn_cmp_words;
++		bn_mul_recursive;
++		bn_mul_part_recursive;
++		bn_sqr_recursive;
++		bn_mul_low_normal;
++		BN_RECP_CTX_init;
++		BN_RECP_CTX_new;
++		BN_RECP_CTX_free;
++		BN_RECP_CTX_set;
++		BN_mod_mul_reciprocal;
++		BN_mod_exp_recp;
++		BN_div_recp;
++		BN_CTX_init;
++		BN_MONT_CTX_init;
++		RAND_get_rand_method;
++		PKCS7_add_attribute;
++		PKCS7_add_signed_attribute;
++		PKCS7_digest_from_attributes;
++		PKCS7_get_attribute;
++		PKCS7_get_issuer_and_serial;
++		PKCS7_get_signed_attribute;
++		COMP_compress_block;
++		COMP_expand_block;
++		COMP_rle;
++		COMP_zlib;
++		ms_time_diff;
++		ms_time_new;
++		ms_time_free;
++		ms_time_cmp;
++		ms_time_get;
++		PKCS7_set_attributes;
++		PKCS7_set_signed_attributes;
++		X509_ATTRIBUTE_create;
++		X509_ATTRIBUTE_dup;
++		ASN1_GENERALIZEDTIME_check;
++		ASN1_GENERALIZEDTIME_print;
++		ASN1_GENERALIZEDTIME_set;
++		ASN1_GENERALIZEDTIME_set_string;
++		ASN1_TIME_print;
++		BASIC_CONSTRAINTS_free;
++		BASIC_CONSTRAINTS_new;
++		ERR_load_X509V3_strings;
++		NETSCAPE_CERT_SEQUENCE_free;
++		NETSCAPE_CERT_SEQUENCE_new;
++		OBJ_txt2obj;
++		PEM_read_NETSCAPE_CERT_SEQUENCE;
++		PEM_read_NS_CERT_SEQ;
++		PEM_read_bio_NETSCAPE_CERT_SEQUENCE;
++		PEM_read_bio_NS_CERT_SEQ;
++		PEM_write_NETSCAPE_CERT_SEQUENCE;
++		PEM_write_NS_CERT_SEQ;
++		PEM_write_bio_NETSCAPE_CERT_SEQUENCE;
++		PEM_write_bio_NS_CERT_SEQ;
++		X509V3_EXT_add;
++		X509V3_EXT_add_alias;
++		X509V3_EXT_add_conf;
++		X509V3_EXT_cleanup;
++		X509V3_EXT_conf;
++		X509V3_EXT_conf_nid;
++		X509V3_EXT_get;
++		X509V3_EXT_get_nid;
++		X509V3_EXT_print;
++		X509V3_EXT_print_fp;
++		X509V3_add_standard_extensions;
++		X509V3_add_value;
++		X509V3_add_value_bool;
++		X509V3_add_value_int;
++		X509V3_conf_free;
++		X509V3_get_value_bool;
++		X509V3_get_value_int;
++		X509V3_parse_list;
++		d2i_ASN1_GENERALIZEDTIME;
++		d2i_ASN1_TIME;
++		d2i_BASIC_CONSTRAINTS;
++		d2i_NETSCAPE_CERT_SEQUENCE;
++		d2i_ext_ku;
++		ext_ku_free;
++		ext_ku_new;
++		i2d_ASN1_GENERALIZEDTIME;
++		i2d_ASN1_TIME;
++		i2d_BASIC_CONSTRAINTS;
++		i2d_NETSCAPE_CERT_SEQUENCE;
++		i2d_ext_ku;
++		EVP_MD_CTX_copy;
++		i2d_ASN1_ENUMERATED;
++		d2i_ASN1_ENUMERATED;
++		ASN1_ENUMERATED_set;
++		ASN1_ENUMERATED_get;
++		BN_to_ASN1_ENUMERATED;
++		ASN1_ENUMERATED_to_BN;
++		i2a_ASN1_ENUMERATED;
++		a2i_ASN1_ENUMERATED;
++		i2d_GENERAL_NAME;
++		d2i_GENERAL_NAME;
++		GENERAL_NAME_new;
++		GENERAL_NAME_free;
++		GENERAL_NAMES_new;
++		GENERAL_NAMES_free;
++		d2i_GENERAL_NAMES;
++		i2d_GENERAL_NAMES;
++		i2v_GENERAL_NAMES;
++		i2s_ASN1_OCTET_STRING;
++		s2i_ASN1_OCTET_STRING;
++		X509V3_EXT_check_conf;
++		hex_to_string;
++		string_to_hex;
++		DES_ede3_cbcm_encrypt;
++		RSA_padding_add_PKCS1_OAEP;
++		RSA_padding_check_PKCS1_OAEP;
++		X509_CRL_print_fp;
++		X509_CRL_print;
++		i2v_GENERAL_NAME;
++		v2i_GENERAL_NAME;
++		i2d_PKEY_USAGE_PERIOD;
++		d2i_PKEY_USAGE_PERIOD;
++		PKEY_USAGE_PERIOD_new;
++		PKEY_USAGE_PERIOD_free;
++		v2i_GENERAL_NAMES;
++		i2s_ASN1_INTEGER;
++		X509V3_EXT_d2i;
++		name_cmp;
++		str_dup;
++		i2s_ASN1_ENUMERATED;
++		i2s_ASN1_ENUMERATED_TABLE;
++		BIO_s_log;
++		BIO_f_reliable;
++		PKCS7_dataFinal;
++		PKCS7_dataDecode;
++		X509V3_EXT_CRL_add_conf;
++		BN_set_params;
++		BN_get_params;
++		BIO_get_ex_num;
++		BIO_set_ex_free_func;
++		EVP_ripemd160;
++		ASN1_TIME_set;
++		i2d_AUTHORITY_KEYID;
++		d2i_AUTHORITY_KEYID;
++		AUTHORITY_KEYID_new;
++		AUTHORITY_KEYID_free;
++		ASN1_seq_unpack;
++		ASN1_seq_pack;
++		ASN1_unpack_string;
++		ASN1_pack_string;
++		PKCS12_pack_safebag;
++		PKCS12_MAKE_KEYBAG;
++		PKCS8_encrypt;
++		PKCS12_MAKE_SHKEYBAG;
++		PKCS12_pack_p7data;
++		PKCS12_pack_p7encdata;
++		PKCS12_add_localkeyid;
++		PKCS12_add_friendlyname_asc;
++		PKCS12_add_friendlyname_uni;
++		PKCS12_get_friendlyname;
++		PKCS12_pbe_crypt;
++		PKCS12_decrypt_d2i;
++		PKCS12_i2d_encrypt;
++		PKCS12_init;
++		PKCS12_key_gen_asc;
++		PKCS12_key_gen_uni;
++		PKCS12_gen_mac;
++		PKCS12_verify_mac;
++		PKCS12_set_mac;
++		PKCS12_setup_mac;
++		OPENSSL_asc2uni;
++		OPENSSL_uni2asc;
++		i2d_PKCS12_BAGS;
++		PKCS12_BAGS_new;
++		d2i_PKCS12_BAGS;
++		PKCS12_BAGS_free;
++		i2d_PKCS12;
++		d2i_PKCS12;
++		PKCS12_new;
++		PKCS12_free;
++		i2d_PKCS12_MAC_DATA;
++		PKCS12_MAC_DATA_new;
++		d2i_PKCS12_MAC_DATA;
++		PKCS12_MAC_DATA_free;
++		i2d_PKCS12_SAFEBAG;
++		PKCS12_SAFEBAG_new;
++		d2i_PKCS12_SAFEBAG;
++		PKCS12_SAFEBAG_free;
++		ERR_load_PKCS12_strings;
++		PKCS12_PBE_add;
++		PKCS8_add_keyusage;
++		PKCS12_get_attr_gen;
++		PKCS12_parse;
++		PKCS12_create;
++		i2d_PKCS12_bio;
++		i2d_PKCS12_fp;
++		d2i_PKCS12_bio;
++		d2i_PKCS12_fp;
++		i2d_PBEPARAM;
++		PBEPARAM_new;
++		d2i_PBEPARAM;
++		PBEPARAM_free;
++		i2d_PKCS8_PRIV_KEY_INFO;
++		PKCS8_PRIV_KEY_INFO_new;
++		d2i_PKCS8_PRIV_KEY_INFO;
++		PKCS8_PRIV_KEY_INFO_free;
++		EVP_PKCS82PKEY;
++		EVP_PKEY2PKCS8;
++		PKCS8_set_broken;
++		EVP_PBE_ALGOR_CipherInit;
++		EVP_PBE_alg_add;
++		PKCS5_pbe_set;
++		EVP_PBE_cleanup;
++		i2d_SXNET;
++		d2i_SXNET;
++		SXNET_new;
++		SXNET_free;
++		i2d_SXNETID;
++		d2i_SXNETID;
++		SXNETID_new;
++		SXNETID_free;
++		DSA_SIG_new;
++		DSA_SIG_free;
++		DSA_do_sign;
++		DSA_do_verify;
++		d2i_DSA_SIG;
++		i2d_DSA_SIG;
++		i2d_ASN1_VISIBLESTRING;
++		d2i_ASN1_VISIBLESTRING;
++		i2d_ASN1_UTF8STRING;
++		d2i_ASN1_UTF8STRING;
++		i2d_DIRECTORYSTRING;
++		d2i_DIRECTORYSTRING;
++		i2d_DISPLAYTEXT;
++		d2i_DISPLAYTEXT;
++		d2i_ASN1_SET_OF_X509;
++		i2d_ASN1_SET_OF_X509;
++		i2d_PBKDF2PARAM;
++		PBKDF2PARAM_new;
++		d2i_PBKDF2PARAM;
++		PBKDF2PARAM_free;
++		i2d_PBE2PARAM;
++		PBE2PARAM_new;
++		d2i_PBE2PARAM;
++		PBE2PARAM_free;
++		d2i_ASN1_SET_OF_GENERAL_NAME;
++		i2d_ASN1_SET_OF_GENERAL_NAME;
++		d2i_ASN1_SET_OF_SXNETID;
++		i2d_ASN1_SET_OF_SXNETID;
++		d2i_ASN1_SET_OF_POLICYQUALINFO;
++		i2d_ASN1_SET_OF_POLICYQUALINFO;
++		d2i_ASN1_SET_OF_POLICYINFO;
++		i2d_ASN1_SET_OF_POLICYINFO;
++		SXNET_add_id_asc;
++		SXNET_add_id_ulong;
++		SXNET_add_id_INTEGER;
++		SXNET_get_id_asc;
++		SXNET_get_id_ulong;
++		SXNET_get_id_INTEGER;
++		X509V3_set_conf_lhash;
++		i2d_CERTIFICATEPOLICIES;
++		CERTIFICATEPOLICIES_new;
++		CERTIFICATEPOLICIES_free;
++		d2i_CERTIFICATEPOLICIES;
++		i2d_POLICYINFO;
++		POLICYINFO_new;
++		d2i_POLICYINFO;
++		POLICYINFO_free;
++		i2d_POLICYQUALINFO;
++		POLICYQUALINFO_new;
++		d2i_POLICYQUALINFO;
++		POLICYQUALINFO_free;
++		i2d_USERNOTICE;
++		USERNOTICE_new;
++		d2i_USERNOTICE;
++		USERNOTICE_free;
++		i2d_NOTICEREF;
++		NOTICEREF_new;
++		d2i_NOTICEREF;
++		NOTICEREF_free;
++		X509V3_get_string;
++		X509V3_get_section;
++		X509V3_string_free;
++		X509V3_section_free;
++		X509V3_set_ctx;
++		s2i_ASN1_INTEGER;
++		CRYPTO_set_locked_mem_functions;
++		CRYPTO_get_locked_mem_functions;
++		CRYPTO_malloc_locked;
++		CRYPTO_free_locked;
++		BN_mod_exp2_mont;
++		ERR_get_error_line_data;
++		ERR_peek_error_line_data;
++		PKCS12_PBE_keyivgen;
++		X509_ALGOR_dup;
++		d2i_ASN1_SET_OF_DIST_POINT;
++		i2d_ASN1_SET_OF_DIST_POINT;
++		i2d_CRL_DIST_POINTS;
++		CRL_DIST_POINTS_new;
++		CRL_DIST_POINTS_free;
++		d2i_CRL_DIST_POINTS;
++		i2d_DIST_POINT;
++		DIST_POINT_new;
++		d2i_DIST_POINT;
++		DIST_POINT_free;
++		i2d_DIST_POINT_NAME;
++		DIST_POINT_NAME_new;
++		DIST_POINT_NAME_free;
++		d2i_DIST_POINT_NAME;
++		X509V3_add_value_uchar;
++		d2i_ASN1_SET_OF_X509_ATTRIBUTE;
++		i2d_ASN1_SET_OF_ASN1_TYPE;
++		d2i_ASN1_SET_OF_X509_EXTENSION;
++		d2i_ASN1_SET_OF_X509_NAME_ENTRY;
++		d2i_ASN1_SET_OF_ASN1_TYPE;
++		i2d_ASN1_SET_OF_X509_ATTRIBUTE;
++		i2d_ASN1_SET_OF_X509_EXTENSION;
++		i2d_ASN1_SET_OF_X509_NAME_ENTRY;
++		X509V3_EXT_i2d;
++		X509V3_EXT_val_prn;
++		X509V3_EXT_add_list;
++		EVP_CIPHER_type;
++		EVP_PBE_CipherInit;
++		X509V3_add_value_bool_nf;
++		d2i_ASN1_UINTEGER;
++		sk_value;
++		sk_num;
++		sk_set;
++		i2d_ASN1_SET_OF_X509_REVOKED;
++		sk_sort;
++		d2i_ASN1_SET_OF_X509_REVOKED;
++		i2d_ASN1_SET_OF_X509_ALGOR;
++		i2d_ASN1_SET_OF_X509_CRL;
++		d2i_ASN1_SET_OF_X509_ALGOR;
++		d2i_ASN1_SET_OF_X509_CRL;
++		i2d_ASN1_SET_OF_PKCS7_SIGNER_INFO;
++		i2d_ASN1_SET_OF_PKCS7_RECIP_INFO;
++		d2i_ASN1_SET_OF_PKCS7_SIGNER_INFO;
++		d2i_ASN1_SET_OF_PKCS7_RECIP_INFO;
++		PKCS5_PBE_add;
++		PEM_write_bio_PKCS8;
++		i2d_PKCS8_fp;
++		PEM_read_bio_PKCS8_PRIV_KEY_INFO;
++		PEM_read_bio_P8_PRIV_KEY_INFO;
++		d2i_PKCS8_bio;
++		d2i_PKCS8_PRIV_KEY_INFO_fp;
++		PEM_write_bio_PKCS8_PRIV_KEY_INFO;
++		PEM_write_bio_P8_PRIV_KEY_INFO;
++		PEM_read_PKCS8;
++		d2i_PKCS8_PRIV_KEY_INFO_bio;
++		d2i_PKCS8_fp;
++		PEM_write_PKCS8;
++		PEM_read_PKCS8_PRIV_KEY_INFO;
++		PEM_read_P8_PRIV_KEY_INFO;
++		PEM_read_bio_PKCS8;
++		PEM_write_PKCS8_PRIV_KEY_INFO;
++		PEM_write_P8_PRIV_KEY_INFO;
++		PKCS5_PBE_keyivgen;
++		i2d_PKCS8_bio;
++		i2d_PKCS8_PRIV_KEY_INFO_fp;
++		i2d_PKCS8_PRIV_KEY_INFO_bio;
++		BIO_s_bio;
++		PKCS5_pbe2_set;
++		PKCS5_PBKDF2_HMAC_SHA1;
++		PKCS5_v2_PBE_keyivgen;
++		PEM_write_bio_PKCS8PrivateKey;
++		PEM_write_PKCS8PrivateKey;
++		BIO_ctrl_get_read_request;
++		BIO_ctrl_pending;
++		BIO_ctrl_wpending;
++		BIO_new_bio_pair;
++		BIO_ctrl_get_write_guarantee;
++		CRYPTO_num_locks;
++		CONF_load_bio;
++		CONF_load_fp;
++		i2d_ASN1_SET_OF_ASN1_OBJECT;
++		d2i_ASN1_SET_OF_ASN1_OBJECT;
++		PKCS7_signatureVerify;
++		RSA_set_method;
++		RSA_get_method;
++		RSA_get_default_method;
++		RSA_check_key;
++		OBJ_obj2txt;
++		DSA_dup_DH;
++		X509_REQ_get_extensions;
++		X509_REQ_set_extension_nids;
++		BIO_nwrite;
++		X509_REQ_extension_nid;
++		BIO_nread;
++		X509_REQ_get_extension_nids;
++		BIO_nwrite0;
++		X509_REQ_add_extensions_nid;
++		BIO_nread0;
++		X509_REQ_add_extensions;
++		BIO_new_mem_buf;
++		DH_set_ex_data;
++		DH_set_method;
++		DSA_OpenSSL;
++		DH_get_ex_data;
++		DH_get_ex_new_index;
++		DSA_new_method;
++		DH_new_method;
++		DH_OpenSSL;
++		DSA_get_ex_new_index;
++		DH_get_default_method;
++		DSA_set_ex_data;
++		DH_set_default_method;
++		DSA_get_ex_data;
++		X509V3_EXT_REQ_add_conf;
++		NETSCAPE_SPKI_print;
++		NETSCAPE_SPKI_set_pubkey;
++		NETSCAPE_SPKI_b64_encode;
++		NETSCAPE_SPKI_get_pubkey;
++		NETSCAPE_SPKI_b64_decode;
++		UTF8_putc;
++		UTF8_getc;
++		RSA_null_method;
++		ASN1_tag2str;
++		BIO_ctrl_reset_read_request;
++		DISPLAYTEXT_new;
++		ASN1_GENERALIZEDTIME_free;
++		X509_REVOKED_get_ext_d2i;
++		X509_set_ex_data;
++		X509_reject_set_bit_asc;
++		X509_NAME_add_entry_by_txt;
++		X509_NAME_add_entry_by_NID;
++		X509_PURPOSE_get0;
++		PEM_read_X509_AUX;
++		d2i_AUTHORITY_INFO_ACCESS;
++		PEM_write_PUBKEY;
++		ACCESS_DESCRIPTION_new;
++		X509_CERT_AUX_free;
++		d2i_ACCESS_DESCRIPTION;
++		X509_trust_clear;
++		X509_TRUST_add;
++		ASN1_VISIBLESTRING_new;
++		X509_alias_set1;
++		ASN1_PRINTABLESTRING_free;
++		EVP_PKEY_get1_DSA;
++		ASN1_BMPSTRING_new;
++		ASN1_mbstring_copy;
++		ASN1_UTF8STRING_new;
++		DSA_get_default_method;
++		i2d_ASN1_SET_OF_ACCESS_DESCRIPTION;
++		ASN1_T61STRING_free;
++		DSA_set_method;
++		X509_get_ex_data;
++		ASN1_STRING_type;
++		X509_PURPOSE_get_by_sname;
++		ASN1_TIME_free;
++		ASN1_OCTET_STRING_cmp;
++		ASN1_BIT_STRING_new;
++		X509_get_ext_d2i;
++		PEM_read_bio_X509_AUX;
++		ASN1_STRING_set_default_mask_asc;
++		ASN1_STRING_set_def_mask_asc;
++		PEM_write_bio_RSA_PUBKEY;
++		ASN1_INTEGER_cmp;
++		d2i_RSA_PUBKEY_fp;
++		X509_trust_set_bit_asc;
++		PEM_write_bio_DSA_PUBKEY;
++		X509_STORE_CTX_free;
++		EVP_PKEY_set1_DSA;
++		i2d_DSA_PUBKEY_fp;
++		X509_load_cert_crl_file;
++		ASN1_TIME_new;
++		i2d_RSA_PUBKEY;
++		X509_STORE_CTX_purpose_inherit;
++		PEM_read_RSA_PUBKEY;
++		d2i_X509_AUX;
++		i2d_DSA_PUBKEY;
++		X509_CERT_AUX_print;
++		PEM_read_DSA_PUBKEY;
++		i2d_RSA_PUBKEY_bio;
++		ASN1_BIT_STRING_num_asc;
++		i2d_PUBKEY;
++		ASN1_UTCTIME_free;
++		DSA_set_default_method;
++		X509_PURPOSE_get_by_id;
++		ACCESS_DESCRIPTION_free;
++		PEM_read_bio_PUBKEY;
++		ASN1_STRING_set_by_NID;
++		X509_PURPOSE_get_id;
++		DISPLAYTEXT_free;
++		OTHERNAME_new;
++		X509_CERT_AUX_new;
++		X509_TRUST_cleanup;
++		X509_NAME_add_entry_by_OBJ;
++		X509_CRL_get_ext_d2i;
++		X509_PURPOSE_get0_name;
++		PEM_read_PUBKEY;
++		i2d_DSA_PUBKEY_bio;
++		i2d_OTHERNAME;
++		ASN1_OCTET_STRING_free;
++		ASN1_BIT_STRING_set_asc;
++		X509_get_ex_new_index;
++		ASN1_STRING_TABLE_cleanup;
++		X509_TRUST_get_by_id;
++		X509_PURPOSE_get_trust;
++		ASN1_STRING_length;
++		d2i_ASN1_SET_OF_ACCESS_DESCRIPTION;
++		ASN1_PRINTABLESTRING_new;
++		X509V3_get_d2i;
++		ASN1_ENUMERATED_free;
++		i2d_X509_CERT_AUX;
++		X509_STORE_CTX_set_trust;
++		ASN1_STRING_set_default_mask;
++		X509_STORE_CTX_new;
++		EVP_PKEY_get1_RSA;
++		DIRECTORYSTRING_free;
++		PEM_write_X509_AUX;
++		ASN1_OCTET_STRING_set;
++		d2i_DSA_PUBKEY_fp;
++		d2i_RSA_PUBKEY;
++		X509_TRUST_get0_name;
++		X509_TRUST_get0;
++		AUTHORITY_INFO_ACCESS_free;
++		ASN1_IA5STRING_new;
++		d2i_DSA_PUBKEY;
++		X509_check_purpose;
++		ASN1_ENUMERATED_new;
++		d2i_RSA_PUBKEY_bio;
++		d2i_PUBKEY;
++		X509_TRUST_get_trust;
++		X509_TRUST_get_flags;
++		ASN1_BMPSTRING_free;
++		ASN1_T61STRING_new;
++		ASN1_UTCTIME_new;
++		i2d_AUTHORITY_INFO_ACCESS;
++		EVP_PKEY_set1_RSA;
++		X509_STORE_CTX_set_purpose;
++		ASN1_IA5STRING_free;
++		PEM_write_bio_X509_AUX;
++		X509_PURPOSE_get_count;
++		CRYPTO_add_info;
++		X509_NAME_ENTRY_create_by_txt;
++		ASN1_STRING_get_default_mask;
++		X509_alias_get0;
++		ASN1_STRING_data;
++		i2d_ACCESS_DESCRIPTION;
++		X509_trust_set_bit;
++		ASN1_BIT_STRING_free;
++		PEM_read_bio_RSA_PUBKEY;
++		X509_add1_reject_object;
++		X509_check_trust;
++		PEM_read_bio_DSA_PUBKEY;
++		X509_PURPOSE_add;
++		ASN1_STRING_TABLE_get;
++		ASN1_UTF8STRING_free;
++		d2i_DSA_PUBKEY_bio;
++		PEM_write_RSA_PUBKEY;
++		d2i_OTHERNAME;
++		X509_reject_set_bit;
++		PEM_write_DSA_PUBKEY;
++		X509_PURPOSE_get0_sname;
++		EVP_PKEY_set1_DH;
++		ASN1_OCTET_STRING_dup;
++		ASN1_BIT_STRING_set;
++		X509_TRUST_get_count;
++		ASN1_INTEGER_free;
++		OTHERNAME_free;
++		i2d_RSA_PUBKEY_fp;
++		ASN1_INTEGER_dup;
++		d2i_X509_CERT_AUX;
++		PEM_write_bio_PUBKEY;
++		ASN1_VISIBLESTRING_free;
++		X509_PURPOSE_cleanup;
++		ASN1_mbstring_ncopy;
++		ASN1_GENERALIZEDTIME_new;
++		EVP_PKEY_get1_DH;
++		ASN1_OCTET_STRING_new;
++		ASN1_INTEGER_new;
++		i2d_X509_AUX;
++		ASN1_BIT_STRING_name_print;
++		X509_cmp;
++		ASN1_STRING_length_set;
++		DIRECTORYSTRING_new;
++		X509_add1_trust_object;
++		PKCS12_newpass;
++		SMIME_write_PKCS7;
++		SMIME_read_PKCS7;
++		DES_set_key_checked;
++		PKCS7_verify;
++		PKCS7_encrypt;
++		DES_set_key_unchecked;
++		SMIME_crlf_copy;
++		i2d_ASN1_PRINTABLESTRING;
++		PKCS7_get0_signers;
++		PKCS7_decrypt;
++		SMIME_text;
++		PKCS7_simple_smimecap;
++		PKCS7_get_smimecap;
++		PKCS7_sign;
++		PKCS7_add_attrib_smimecap;
++		CRYPTO_dbg_set_options;
++		CRYPTO_remove_all_info;
++		CRYPTO_get_mem_debug_functions;
++		CRYPTO_is_mem_check_on;
++		CRYPTO_set_mem_debug_functions;
++		CRYPTO_pop_info;
++		CRYPTO_push_info_;
++		CRYPTO_set_mem_debug_options;
++		PEM_write_PKCS8PrivateKey_nid;
++		PEM_write_bio_PKCS8PrivateKey_nid;
++		PEM_write_bio_PKCS8PrivKey_nid;
++		d2i_PKCS8PrivateKey_bio;
++		ASN1_NULL_free;
++		d2i_ASN1_NULL;
++		ASN1_NULL_new;
++		i2d_PKCS8PrivateKey_bio;
++		i2d_PKCS8PrivateKey_fp;
++		i2d_ASN1_NULL;
++		i2d_PKCS8PrivateKey_nid_fp;
++		d2i_PKCS8PrivateKey_fp;
++		i2d_PKCS8PrivateKey_nid_bio;
++		i2d_PKCS8PrivateKeyInfo_fp;
++		i2d_PKCS8PrivateKeyInfo_bio;
++		PEM_cb;
++		i2d_PrivateKey_fp;
++		d2i_PrivateKey_bio;
++		d2i_PrivateKey_fp;
++		i2d_PrivateKey_bio;
++		X509_reject_clear;
++		X509_TRUST_set_default;
++		d2i_AutoPrivateKey;
++		X509_ATTRIBUTE_get0_type;
++		X509_ATTRIBUTE_set1_data;
++		X509at_get_attr;
++		X509at_get_attr_count;
++		X509_ATTRIBUTE_create_by_NID;
++		X509_ATTRIBUTE_set1_object;
++		X509_ATTRIBUTE_count;
++		X509_ATTRIBUTE_create_by_OBJ;
++		X509_ATTRIBUTE_get0_object;
++		X509at_get_attr_by_NID;
++		X509at_add1_attr;
++		X509_ATTRIBUTE_get0_data;
++		X509at_delete_attr;
++		X509at_get_attr_by_OBJ;
++		RAND_add;
++		BIO_number_written;
++		BIO_number_read;
++		X509_STORE_CTX_get1_chain;
++		ERR_load_RAND_strings;
++		RAND_pseudo_bytes;
++		X509_REQ_get_attr_by_NID;
++		X509_REQ_get_attr;
++		X509_REQ_add1_attr_by_NID;
++		X509_REQ_get_attr_by_OBJ;
++		X509at_add1_attr_by_NID;
++		X509_REQ_add1_attr_by_OBJ;
++		X509_REQ_get_attr_count;
++		X509_REQ_add1_attr;
++		X509_REQ_delete_attr;
++		X509at_add1_attr_by_OBJ;
++		X509_REQ_add1_attr_by_txt;
++		X509_ATTRIBUTE_create_by_txt;
++		X509at_add1_attr_by_txt;
++		BN_pseudo_rand;
++		BN_is_prime_fasttest;
++		BN_CTX_end;
++		BN_CTX_start;
++		BN_CTX_get;
++		EVP_PKEY2PKCS8_broken;
++		ASN1_STRING_TABLE_add;
++		CRYPTO_dbg_get_options;
++		AUTHORITY_INFO_ACCESS_new;
++		CRYPTO_get_mem_debug_options;
++		DES_crypt;
++		PEM_write_bio_X509_REQ_NEW;
++		PEM_write_X509_REQ_NEW;
++		BIO_callback_ctrl;
++		RAND_egd;
++		RAND_status;
++		bn_dump1;
++		DES_check_key_parity;
++		lh_num_items;
++		RAND_event;
++		DSO_new;
++		DSO_new_method;
++		DSO_free;
++		DSO_flags;
++		DSO_up;
++		DSO_set_default_method;
++		DSO_get_default_method;
++		DSO_get_method;
++		DSO_set_method;
++		DSO_load;
++		DSO_bind_var;
++		DSO_METHOD_null;
++		DSO_METHOD_openssl;
++		DSO_METHOD_dlfcn;
++		DSO_METHOD_win32;
++		ERR_load_DSO_strings;
++		DSO_METHOD_dl;
++		NCONF_load;
++		NCONF_load_fp;
++		NCONF_new;
++		NCONF_get_string;
++		NCONF_free;
++		NCONF_get_number;
++		CONF_dump_fp;
++		NCONF_load_bio;
++		NCONF_dump_fp;
++		NCONF_get_section;
++		NCONF_dump_bio;
++		CONF_dump_bio;
++		NCONF_free_data;
++		CONF_set_default_method;
++		ERR_error_string_n;
++		BIO_snprintf;
++		DSO_ctrl;
++		i2d_ASN1_SET_OF_ASN1_INTEGER;
++		i2d_ASN1_SET_OF_PKCS12_SAFEBAG;
++		i2d_ASN1_SET_OF_PKCS7;
++		BIO_vfree;
++		d2i_ASN1_SET_OF_ASN1_INTEGER;
++		d2i_ASN1_SET_OF_PKCS12_SAFEBAG;
++		ASN1_UTCTIME_get;
++		X509_REQ_digest;
++		X509_CRL_digest;
++		d2i_ASN1_SET_OF_PKCS7;
++		EVP_CIPHER_CTX_set_key_length;
++		EVP_CIPHER_CTX_ctrl;
++		BN_mod_exp_mont_word;
++		RAND_egd_bytes;
++		X509_REQ_get1_email;
++		X509_get1_email;
++		X509_email_free;
++		i2d_RSA_NET;
++		d2i_RSA_NET_2;
++		d2i_RSA_NET;
++		DSO_bind_func;
++		CRYPTO_get_new_dynlockid;
++		sk_new_null;
++		CRYPTO_set_dynlock_destroy_callback;
++		CRYPTO_set_dynlock_destroy_cb;
++		CRYPTO_destroy_dynlockid;
++		CRYPTO_set_dynlock_size;
++		CRYPTO_set_dynlock_create_callback;
++		CRYPTO_set_dynlock_create_cb;
++		CRYPTO_set_dynlock_lock_callback;
++		CRYPTO_set_dynlock_lock_cb;
++		CRYPTO_get_dynlock_lock_callback;
++		CRYPTO_get_dynlock_lock_cb;
++		CRYPTO_get_dynlock_destroy_callback;
++		CRYPTO_get_dynlock_destroy_cb;
++		CRYPTO_get_dynlock_value;
++		CRYPTO_get_dynlock_create_callback;
++		CRYPTO_get_dynlock_create_cb;
++		c2i_ASN1_BIT_STRING;
++		i2c_ASN1_BIT_STRING;
++		RAND_poll;
++		c2i_ASN1_INTEGER;
++		i2c_ASN1_INTEGER;
++		BIO_dump_indent;
++		ASN1_parse_dump;
++		c2i_ASN1_OBJECT;
++		X509_NAME_print_ex_fp;
++		ASN1_STRING_print_ex_fp;
++		X509_NAME_print_ex;
++		ASN1_STRING_print_ex;
++		MD4;
++		MD4_Transform;
++		MD4_Final;
++		MD4_Update;
++		MD4_Init;
++		EVP_md4;
++		i2d_PUBKEY_bio;
++		i2d_PUBKEY_fp;
++		d2i_PUBKEY_bio;
++		ASN1_STRING_to_UTF8;
++		BIO_vprintf;
++		BIO_vsnprintf;
++		d2i_PUBKEY_fp;
++		X509_cmp_time;
++		X509_STORE_CTX_set_time;
++		X509_STORE_CTX_get1_issuer;
++		X509_OBJECT_retrieve_match;
++		X509_OBJECT_idx_by_subject;
++		X509_STORE_CTX_set_flags;
++		X509_STORE_CTX_trusted_stack;
++		X509_time_adj;
++		X509_check_issued;
++		ASN1_UTCTIME_cmp_time_t;
++		DES_set_weak_key_flag;
++		DES_check_key;
++		DES_rw_mode;
++		RSA_PKCS1_RSAref;
++		X509_keyid_set1;
++		BIO_next;
++		DSO_METHOD_vms;
++		BIO_f_linebuffer;
++		BN_bntest_rand;
++		OPENSSL_issetugid;
++		BN_rand_range;
++		ERR_load_ENGINE_strings;
++		ENGINE_set_DSA;
++		ENGINE_get_finish_function;
++		ENGINE_get_default_RSA;
++		ENGINE_get_BN_mod_exp;
++		DSA_get_default_openssl_method;
++		ENGINE_set_DH;
++		ENGINE_set_def_BN_mod_exp_crt;
++		ENGINE_set_default_BN_mod_exp_crt;
++		ENGINE_init;
++		DH_get_default_openssl_method;
++		RSA_set_default_openssl_method;
++		ENGINE_finish;
++		ENGINE_load_public_key;
++		ENGINE_get_DH;
++		ENGINE_ctrl;
++		ENGINE_get_init_function;
++		ENGINE_set_init_function;
++		ENGINE_set_default_DSA;
++		ENGINE_get_name;
++		ENGINE_get_last;
++		ENGINE_get_prev;
++		ENGINE_get_default_DH;
++		ENGINE_get_RSA;
++		ENGINE_set_default;
++		ENGINE_get_RAND;
++		ENGINE_get_first;
++		ENGINE_by_id;
++		ENGINE_set_finish_function;
++		ENGINE_get_def_BN_mod_exp_crt;
++		ENGINE_get_default_BN_mod_exp_crt;
++		RSA_get_default_openssl_method;
++		ENGINE_set_RSA;
++		ENGINE_load_private_key;
++		ENGINE_set_default_RAND;
++		ENGINE_set_BN_mod_exp;
++		ENGINE_remove;
++		ENGINE_free;
++		ENGINE_get_BN_mod_exp_crt;
++		ENGINE_get_next;
++		ENGINE_set_name;
++		ENGINE_get_default_DSA;
++		ENGINE_set_default_BN_mod_exp;
++		ENGINE_set_default_RSA;
++		ENGINE_get_default_RAND;
++		ENGINE_get_default_BN_mod_exp;
++		ENGINE_set_RAND;
++		ENGINE_set_id;
++		ENGINE_set_BN_mod_exp_crt;
++		ENGINE_set_default_DH;
++		ENGINE_new;
++		ENGINE_get_id;
++		DSA_set_default_openssl_method;
++		ENGINE_add;
++		DH_set_default_openssl_method;
++		ENGINE_get_DSA;
++		ENGINE_get_ctrl_function;
++		ENGINE_set_ctrl_function;
++		BN_pseudo_rand_range;
++		X509_STORE_CTX_set_verify_cb;
++		ERR_load_COMP_strings;
++		PKCS12_item_decrypt_d2i;
++		ASN1_UTF8STRING_it;
++		ASN1_UTF8STRING_it;
++		ENGINE_unregister_ciphers;
++		ENGINE_get_ciphers;
++		d2i_OCSP_BASICRESP;
++		KRB5_CHECKSUM_it;
++		KRB5_CHECKSUM_it;
++		EC_POINT_add;
++		ASN1_item_ex_i2d;
++		OCSP_CERTID_it;
++		OCSP_CERTID_it;
++		d2i_OCSP_RESPBYTES;
++		X509V3_add1_i2d;
++		PKCS7_ENVELOPE_it;
++		PKCS7_ENVELOPE_it;
++		UI_add_input_boolean;
++		ENGINE_unregister_RSA;
++		X509V3_EXT_nconf;
++		ASN1_GENERALSTRING_free;
++		d2i_OCSP_CERTSTATUS;
++		X509_REVOKED_set_serialNumber;
++		X509_print_ex;
++		OCSP_ONEREQ_get1_ext_d2i;
++		ENGINE_register_all_RAND;
++		ENGINE_load_dynamic;
++		PBKDF2PARAM_it;
++		PBKDF2PARAM_it;
++		EXTENDED_KEY_USAGE_new;
++		EC_GROUP_clear_free;
++		OCSP_sendreq_bio;
++		ASN1_item_digest;
++		OCSP_BASICRESP_delete_ext;
++		OCSP_SIGNATURE_it;
++		OCSP_SIGNATURE_it;
++		X509_CRL_it;
++		X509_CRL_it;
++		OCSP_BASICRESP_add_ext;
++		KRB5_ENCKEY_it;
++		KRB5_ENCKEY_it;
++		UI_method_set_closer;
++		X509_STORE_set_purpose;
++		i2d_ASN1_GENERALSTRING;
++		OCSP_response_status;
++		i2d_OCSP_SERVICELOC;
++		ENGINE_get_digest_engine;
++		EC_GROUP_set_curve_GFp;
++		OCSP_REQUEST_get_ext_by_OBJ;
++		_ossl_old_des_random_key;
++		ASN1_T61STRING_it;
++		ASN1_T61STRING_it;
++		EC_GROUP_method_of;
++		i2d_KRB5_APREQ;
++		_ossl_old_des_encrypt;
++		ASN1_PRINTABLE_new;
++		HMAC_Init_ex;
++		d2i_KRB5_AUTHENT;
++		OCSP_archive_cutoff_new;
++		EC_POINT_set_Jprojective_coordinates_GFp;
++		EC_POINT_set_Jproj_coords_GFp;
++		_ossl_old_des_is_weak_key;
++		OCSP_BASICRESP_get_ext_by_OBJ;
++		EC_POINT_oct2point;
++		OCSP_SINGLERESP_get_ext_count;
++		UI_ctrl;
++		_shadow_DES_rw_mode;
++		_shadow_DES_rw_mode;
++		asn1_do_adb;
++		ASN1_template_i2d;
++		ENGINE_register_DH;
++		UI_construct_prompt;
++		X509_STORE_set_trust;
++		UI_dup_input_string;
++		d2i_KRB5_APREQ;
++		EVP_MD_CTX_copy_ex;
++		OCSP_request_is_signed;
++		i2d_OCSP_REQINFO;
++		KRB5_ENCKEY_free;
++		OCSP_resp_get0;
++		GENERAL_NAME_it;
++		GENERAL_NAME_it;
++		ASN1_GENERALIZEDTIME_it;
++		ASN1_GENERALIZEDTIME_it;
++		X509_STORE_set_flags;
++		EC_POINT_set_compressed_coordinates_GFp;
++		EC_POINT_set_compr_coords_GFp;
++		OCSP_response_status_str;
++		d2i_OCSP_REVOKEDINFO;
++		OCSP_basic_add1_cert;
++		ERR_get_implementation;
++		EVP_CipherFinal_ex;
++		OCSP_CERTSTATUS_new;
++		CRYPTO_cleanup_all_ex_data;
++		OCSP_resp_find;
++		BN_nnmod;
++		X509_CRL_sort;
++		X509_REVOKED_set_revocationDate;
++		ENGINE_register_RAND;
++		OCSP_SERVICELOC_new;
++		EC_POINT_set_affine_coordinates_GFp;
++		EC_POINT_set_affine_coords_GFp;
++		_ossl_old_des_options;
++		SXNET_it;
++		SXNET_it;
++		UI_dup_input_boolean;
++		PKCS12_add_CSPName_asc;
++		EC_POINT_is_at_infinity;
++		ENGINE_load_cryptodev;
++		DSO_convert_filename;
++		POLICYQUALINFO_it;
++		POLICYQUALINFO_it;
++		ENGINE_register_ciphers;
++		BN_mod_lshift_quick;
++		DSO_set_filename;
++		ASN1_item_free;
++		KRB5_TKTBODY_free;
++		AUTHORITY_KEYID_it;
++		AUTHORITY_KEYID_it;
++		KRB5_APREQBODY_new;
++		X509V3_EXT_REQ_add_nconf;
++		ENGINE_ctrl_cmd_string;
++		i2d_OCSP_RESPDATA;
++		EVP_MD_CTX_init;
++		EXTENDED_KEY_USAGE_free;
++		PKCS7_ATTR_SIGN_it;
++		PKCS7_ATTR_SIGN_it;
++		UI_add_error_string;
++		KRB5_CHECKSUM_free;
++		OCSP_REQUEST_get_ext;
++		ENGINE_load_ubsec;
++		ENGINE_register_all_digests;
++		PKEY_USAGE_PERIOD_it;
++		PKEY_USAGE_PERIOD_it;
++		PKCS12_unpack_authsafes;
++		ASN1_item_unpack;
++		NETSCAPE_SPKAC_it;
++		NETSCAPE_SPKAC_it;
++		X509_REVOKED_it;
++		X509_REVOKED_it;
++		ASN1_STRING_encode;
++		EVP_aes_128_ecb;
++		KRB5_AUTHENT_free;
++		OCSP_BASICRESP_get_ext_by_critical;
++		OCSP_BASICRESP_get_ext_by_crit;
++		OCSP_cert_status_str;
++		d2i_OCSP_REQUEST;
++		UI_dup_info_string;
++		_ossl_old_des_xwhite_in2out;
++		PKCS12_it;
++		PKCS12_it;
++		OCSP_SINGLERESP_get_ext_by_critical;
++		OCSP_SINGLERESP_get_ext_by_crit;
++		OCSP_CERTSTATUS_free;
++		_ossl_old_des_crypt;
++		ASN1_item_i2d;
++		EVP_DecryptFinal_ex;
++		ENGINE_load_openssl;
++		ENGINE_get_cmd_defns;
++		ENGINE_set_load_privkey_function;
++		ENGINE_set_load_privkey_fn;
++		EVP_EncryptFinal_ex;
++		ENGINE_set_default_digests;
++		X509_get0_pubkey_bitstr;
++		asn1_ex_i2c;
++		ENGINE_register_RSA;
++		ENGINE_unregister_DSA;
++		_ossl_old_des_key_sched;
++		X509_EXTENSION_it;
++		X509_EXTENSION_it;
++		i2d_KRB5_AUTHENT;
++		SXNETID_it;
++		SXNETID_it;
++		d2i_OCSP_SINGLERESP;
++		EDIPARTYNAME_new;
++		PKCS12_certbag2x509;
++		_ossl_old_des_ofb64_encrypt;
++		d2i_EXTENDED_KEY_USAGE;
++		ERR_print_errors_cb;
++		ENGINE_set_ciphers;
++		d2i_KRB5_APREQBODY;
++		UI_method_get_flusher;
++		X509_PUBKEY_it;
++		X509_PUBKEY_it;
++		_ossl_old_des_enc_read;
++		PKCS7_ENCRYPT_it;
++		PKCS7_ENCRYPT_it;
++		i2d_OCSP_RESPONSE;
++		EC_GROUP_get_cofactor;
++		PKCS12_unpack_p7data;
++		d2i_KRB5_AUTHDATA;
++		OCSP_copy_nonce;
++		KRB5_AUTHDATA_new;
++		OCSP_RESPDATA_new;
++		EC_GFp_mont_method;
++		OCSP_REVOKEDINFO_free;
++		UI_get_ex_data;
++		KRB5_APREQBODY_free;
++		EC_GROUP_get0_generator;
++		UI_get_default_method;
++		X509V3_set_nconf;
++		PKCS12_item_i2d_encrypt;
++		X509_add1_ext_i2d;
++		PKCS7_SIGNER_INFO_it;
++		PKCS7_SIGNER_INFO_it;
++		KRB5_PRINCNAME_new;
++		PKCS12_SAFEBAG_it;
++		PKCS12_SAFEBAG_it;
++		EC_GROUP_get_order;
++		d2i_OCSP_RESPID;
++		OCSP_request_verify;
++		NCONF_get_number_e;
++		_ossl_old_des_decrypt3;
++		X509_signature_print;
++		OCSP_SINGLERESP_free;
++		ENGINE_load_builtin_engines;
++		i2d_OCSP_ONEREQ;
++		OCSP_REQUEST_add_ext;
++		OCSP_RESPBYTES_new;
++		EVP_MD_CTX_create;
++		OCSP_resp_find_status;
++		X509_ALGOR_it;
++		X509_ALGOR_it;
++		ASN1_TIME_it;
++		ASN1_TIME_it;
++		OCSP_request_set1_name;
++		OCSP_ONEREQ_get_ext_count;
++		UI_get0_result;
++		PKCS12_AUTHSAFES_it;
++		PKCS12_AUTHSAFES_it;
++		EVP_aes_256_ecb;
++		PKCS12_pack_authsafes;
++		ASN1_IA5STRING_it;
++		ASN1_IA5STRING_it;
++		UI_get_input_flags;
++		EC_GROUP_set_generator;
++		_ossl_old_des_string_to_2keys;
++		OCSP_CERTID_free;
++		X509_CERT_AUX_it;
++		X509_CERT_AUX_it;
++		CERTIFICATEPOLICIES_it;
++		CERTIFICATEPOLICIES_it;
++		_ossl_old_des_ede3_cbc_encrypt;
++		RAND_set_rand_engine;
++		DSO_get_loaded_filename;
++		X509_ATTRIBUTE_it;
++		X509_ATTRIBUTE_it;
++		OCSP_ONEREQ_get_ext_by_NID;
++		PKCS12_decrypt_skey;
++		KRB5_AUTHENT_it;
++		KRB5_AUTHENT_it;
++		UI_dup_error_string;
++		RSAPublicKey_it;
++		RSAPublicKey_it;
++		i2d_OCSP_REQUEST;
++		PKCS12_x509crl2certbag;
++		OCSP_SERVICELOC_it;
++		OCSP_SERVICELOC_it;
++		ASN1_item_sign;
++		X509_CRL_set_issuer_name;
++		OBJ_NAME_do_all_sorted;
++		i2d_OCSP_BASICRESP;
++		i2d_OCSP_RESPBYTES;
++		PKCS12_unpack_p7encdata;
++		HMAC_CTX_init;
++		ENGINE_get_digest;
++		OCSP_RESPONSE_print;
++		KRB5_TKTBODY_it;
++		KRB5_TKTBODY_it;
++		ACCESS_DESCRIPTION_it;
++		ACCESS_DESCRIPTION_it;
++		PKCS7_ISSUER_AND_SERIAL_it;
++		PKCS7_ISSUER_AND_SERIAL_it;
++		PBE2PARAM_it;
++		PBE2PARAM_it;
++		PKCS12_certbag2x509crl;
++		PKCS7_SIGNED_it;
++		PKCS7_SIGNED_it;
++		ENGINE_get_cipher;
++		i2d_OCSP_CRLID;
++		OCSP_SINGLERESP_new;
++		ENGINE_cmd_is_executable;
++		RSA_up_ref;
++		ASN1_GENERALSTRING_it;
++		ASN1_GENERALSTRING_it;
++		ENGINE_register_DSA;
++		X509V3_EXT_add_nconf_sk;
++		ENGINE_set_load_pubkey_function;
++		PKCS8_decrypt;
++		PEM_bytes_read_bio;
++		DIRECTORYSTRING_it;
++		DIRECTORYSTRING_it;
++		d2i_OCSP_CRLID;
++		EC_POINT_is_on_curve;
++		CRYPTO_set_locked_mem_ex_functions;
++		CRYPTO_set_locked_mem_ex_funcs;
++		d2i_KRB5_CHECKSUM;
++		ASN1_item_dup;
++		X509_it;
++		X509_it;
++		BN_mod_add;
++		KRB5_AUTHDATA_free;
++		_ossl_old_des_cbc_cksum;
++		ASN1_item_verify;
++		CRYPTO_set_mem_ex_functions;
++		EC_POINT_get_Jprojective_coordinates_GFp;
++		EC_POINT_get_Jproj_coords_GFp;
++		ZLONG_it;
++		ZLONG_it;
++		CRYPTO_get_locked_mem_ex_functions;
++		CRYPTO_get_locked_mem_ex_funcs;
++		ASN1_TIME_check;
++		UI_get0_user_data;
++		HMAC_CTX_cleanup;
++		DSA_up_ref;
++		_ossl_old_des_ede3_cfb64_encrypt;
++		_ossl_odes_ede3_cfb64_encrypt;
++		ASN1_BMPSTRING_it;
++		ASN1_BMPSTRING_it;
++		ASN1_tag2bit;
++		UI_method_set_flusher;
++		X509_ocspid_print;
++		KRB5_ENCDATA_it;
++		KRB5_ENCDATA_it;
++		ENGINE_get_load_pubkey_function;
++		UI_add_user_data;
++		OCSP_REQUEST_delete_ext;
++		UI_get_method;
++		OCSP_ONEREQ_free;
++		ASN1_PRINTABLESTRING_it;
++		ASN1_PRINTABLESTRING_it;
++		X509_CRL_set_nextUpdate;
++		OCSP_REQUEST_it;
++		OCSP_REQUEST_it;
++		OCSP_BASICRESP_it;
++		OCSP_BASICRESP_it;
++		AES_ecb_encrypt;
++		BN_mod_sqr;
++		NETSCAPE_CERT_SEQUENCE_it;
++		NETSCAPE_CERT_SEQUENCE_it;
++		GENERAL_NAMES_it;
++		GENERAL_NAMES_it;
++		AUTHORITY_INFO_ACCESS_it;
++		AUTHORITY_INFO_ACCESS_it;
++		ASN1_FBOOLEAN_it;
++		ASN1_FBOOLEAN_it;
++		UI_set_ex_data;
++		_ossl_old_des_string_to_key;
++		ENGINE_register_all_RSA;
++		d2i_KRB5_PRINCNAME;
++		OCSP_RESPBYTES_it;
++		OCSP_RESPBYTES_it;
++		X509_CINF_it;
++		X509_CINF_it;
++		ENGINE_unregister_digests;
++		d2i_EDIPARTYNAME;
++		d2i_OCSP_SERVICELOC;
++		ENGINE_get_digests;
++		_ossl_old_des_set_odd_parity;
++		OCSP_RESPDATA_free;
++		d2i_KRB5_TICKET;
++		OTHERNAME_it;
++		OTHERNAME_it;
++		EVP_MD_CTX_cleanup;
++		d2i_ASN1_GENERALSTRING;
++		X509_CRL_set_version;
++		BN_mod_sub;
++		OCSP_SINGLERESP_get_ext_by_NID;
++		ENGINE_get_ex_new_index;
++		OCSP_REQUEST_free;
++		OCSP_REQUEST_add1_ext_i2d;
++		X509_VAL_it;
++		X509_VAL_it;
++		EC_POINTs_make_affine;
++		EC_POINT_mul;
++		X509V3_EXT_add_nconf;
++		X509_TRUST_set;
++		X509_CRL_add1_ext_i2d;
++		_ossl_old_des_fcrypt;
++		DISPLAYTEXT_it;
++		DISPLAYTEXT_it;
++		X509_CRL_set_lastUpdate;
++		OCSP_BASICRESP_free;
++		OCSP_BASICRESP_add1_ext_i2d;
++		d2i_KRB5_AUTHENTBODY;
++		CRYPTO_set_ex_data_implementation;
++		CRYPTO_set_ex_data_impl;
++		KRB5_ENCDATA_new;
++		DSO_up_ref;
++		OCSP_crl_reason_str;
++		UI_get0_result_string;
++		ASN1_GENERALSTRING_new;
++		X509_SIG_it;
++		X509_SIG_it;
++		ERR_set_implementation;
++		ERR_load_EC_strings;
++		UI_get0_action_string;
++		OCSP_ONEREQ_get_ext;
++		EC_POINT_method_of;
++		i2d_KRB5_APREQBODY;
++		_ossl_old_des_ecb3_encrypt;
++		CRYPTO_get_mem_ex_functions;
++		ENGINE_get_ex_data;
++		UI_destroy_method;
++		ASN1_item_i2d_bio;
++		OCSP_ONEREQ_get_ext_by_OBJ;
++		ASN1_primitive_new;
++		ASN1_PRINTABLE_it;
++		ASN1_PRINTABLE_it;
++		EVP_aes_192_ecb;
++		OCSP_SIGNATURE_new;
++		LONG_it;
++		LONG_it;
++		ASN1_VISIBLESTRING_it;
++		ASN1_VISIBLESTRING_it;
++		OCSP_SINGLERESP_add1_ext_i2d;
++		d2i_OCSP_CERTID;
++		ASN1_item_d2i_fp;
++		CRL_DIST_POINTS_it;
++		CRL_DIST_POINTS_it;
++		GENERAL_NAME_print;
++		OCSP_SINGLERESP_delete_ext;
++		PKCS12_SAFEBAGS_it;
++		PKCS12_SAFEBAGS_it;
++		d2i_OCSP_SIGNATURE;
++		OCSP_request_add1_nonce;
++		ENGINE_set_cmd_defns;
++		OCSP_SERVICELOC_free;
++		EC_GROUP_free;
++		ASN1_BIT_STRING_it;
++		ASN1_BIT_STRING_it;
++		X509_REQ_it;
++		X509_REQ_it;
++		_ossl_old_des_cbc_encrypt;
++		ERR_unload_strings;
++		PKCS7_SIGN_ENVELOPE_it;
++		PKCS7_SIGN_ENVELOPE_it;
++		EDIPARTYNAME_free;
++		OCSP_REQINFO_free;
++		EC_GROUP_new_curve_GFp;
++		OCSP_REQUEST_get1_ext_d2i;
++		PKCS12_item_pack_safebag;
++		asn1_ex_c2i;
++		ENGINE_register_digests;
++		i2d_OCSP_REVOKEDINFO;
++		asn1_enc_restore;
++		UI_free;
++		UI_new_method;
++		EVP_EncryptInit_ex;
++		X509_pubkey_digest;
++		EC_POINT_invert;
++		OCSP_basic_sign;
++		i2d_OCSP_RESPID;
++		OCSP_check_nonce;
++		ENGINE_ctrl_cmd;
++		d2i_KRB5_ENCKEY;
++		OCSP_parse_url;
++		OCSP_SINGLERESP_get_ext;
++		OCSP_CRLID_free;
++		OCSP_BASICRESP_get1_ext_d2i;
++		RSAPrivateKey_it;
++		RSAPrivateKey_it;
++		ENGINE_register_all_DH;
++		i2d_EDIPARTYNAME;
++		EC_POINT_get_affine_coordinates_GFp;
++		EC_POINT_get_affine_coords_GFp;
++		OCSP_CRLID_new;
++		ENGINE_get_flags;
++		OCSP_ONEREQ_it;
++		OCSP_ONEREQ_it;
++		UI_process;
++		ASN1_INTEGER_it;
++		ASN1_INTEGER_it;
++		EVP_CipherInit_ex;
++		UI_get_string_type;
++		ENGINE_unregister_DH;
++		ENGINE_register_all_DSA;
++		OCSP_ONEREQ_get_ext_by_critical;
++		bn_dup_expand;
++		OCSP_cert_id_new;
++		BASIC_CONSTRAINTS_it;
++		BASIC_CONSTRAINTS_it;
++		BN_mod_add_quick;
++		EC_POINT_new;
++		EVP_MD_CTX_destroy;
++		OCSP_RESPBYTES_free;
++		EVP_aes_128_cbc;
++		OCSP_SINGLERESP_get1_ext_d2i;
++		EC_POINT_free;
++		DH_up_ref;
++		X509_NAME_ENTRY_it;
++		X509_NAME_ENTRY_it;
++		UI_get_ex_new_index;
++		BN_mod_sub_quick;
++		OCSP_ONEREQ_add_ext;
++		OCSP_request_sign;
++		EVP_DigestFinal_ex;
++		ENGINE_set_digests;
++		OCSP_id_issuer_cmp;
++		OBJ_NAME_do_all;
++		EC_POINTs_mul;
++		ENGINE_register_complete;
++		X509V3_EXT_nconf_nid;
++		ASN1_SEQUENCE_it;
++		ASN1_SEQUENCE_it;
++		UI_set_default_method;
++		RAND_query_egd_bytes;
++		UI_method_get_writer;
++		UI_OpenSSL;
++		PEM_def_callback;
++		ENGINE_cleanup;
++		DIST_POINT_it;
++		DIST_POINT_it;
++		OCSP_SINGLERESP_it;
++		OCSP_SINGLERESP_it;
++		d2i_KRB5_TKTBODY;
++		EC_POINT_cmp;
++		OCSP_REVOKEDINFO_new;
++		i2d_OCSP_CERTSTATUS;
++		OCSP_basic_add1_nonce;
++		ASN1_item_ex_d2i;
++		BN_mod_lshift1_quick;
++		UI_set_method;
++		OCSP_id_get0_info;
++		BN_mod_sqrt;
++		EC_GROUP_copy;
++		KRB5_ENCDATA_free;
++		_ossl_old_des_cfb_encrypt;
++		OCSP_SINGLERESP_get_ext_by_OBJ;
++		OCSP_cert_to_id;
++		OCSP_RESPID_new;
++		OCSP_RESPDATA_it;
++		OCSP_RESPDATA_it;
++		d2i_OCSP_RESPDATA;
++		ENGINE_register_all_complete;
++		OCSP_check_validity;
++		PKCS12_BAGS_it;
++		PKCS12_BAGS_it;
++		OCSP_url_svcloc_new;
++		ASN1_template_free;
++		OCSP_SINGLERESP_add_ext;
++		KRB5_AUTHENTBODY_it;
++		KRB5_AUTHENTBODY_it;
++		X509_supported_extension;
++		i2d_KRB5_AUTHDATA;
++		UI_method_get_opener;
++		ENGINE_set_ex_data;
++		OCSP_REQUEST_print;
++		CBIGNUM_it;
++		CBIGNUM_it;
++		KRB5_TICKET_new;
++		KRB5_APREQ_new;
++		EC_GROUP_get_curve_GFp;
++		KRB5_ENCKEY_new;
++		ASN1_template_d2i;
++		_ossl_old_des_quad_cksum;
++		OCSP_single_get0_status;
++		BN_swap;
++		POLICYINFO_it;
++		POLICYINFO_it;
++		ENGINE_set_destroy_function;
++		asn1_enc_free;
++		OCSP_RESPID_it;
++		OCSP_RESPID_it;
++		EC_GROUP_new;
++		EVP_aes_256_cbc;
++		i2d_KRB5_PRINCNAME;
++		_ossl_old_des_encrypt2;
++		_ossl_old_des_encrypt3;
++		PKCS8_PRIV_KEY_INFO_it;
++		PKCS8_PRIV_KEY_INFO_it;
++		OCSP_REQINFO_it;
++		OCSP_REQINFO_it;
++		PBEPARAM_it;
++		PBEPARAM_it;
++		KRB5_AUTHENTBODY_new;
++		X509_CRL_add0_revoked;
++		EDIPARTYNAME_it;
++		EDIPARTYNAME_it;
++		NETSCAPE_SPKI_it;
++		NETSCAPE_SPKI_it;
++		UI_get0_test_string;
++		ENGINE_get_cipher_engine;
++		ENGINE_register_all_ciphers;
++		EC_POINT_copy;
++		BN_kronecker;
++		_ossl_old_des_ede3_ofb64_encrypt;
++		_ossl_odes_ede3_ofb64_encrypt;
++		UI_method_get_reader;
++		OCSP_BASICRESP_get_ext_count;
++		ASN1_ENUMERATED_it;
++		ASN1_ENUMERATED_it;
++		UI_set_result;
++		i2d_KRB5_TICKET;
++		X509_print_ex_fp;
++		EVP_CIPHER_CTX_set_padding;
++		d2i_OCSP_RESPONSE;
++		ASN1_UTCTIME_it;
++		ASN1_UTCTIME_it;
++		_ossl_old_des_enc_write;
++		OCSP_RESPONSE_new;
++		AES_set_encrypt_key;
++		OCSP_resp_count;
++		KRB5_CHECKSUM_new;
++		ENGINE_load_cswift;
++		OCSP_onereq_get0_id;
++		ENGINE_set_default_ciphers;
++		NOTICEREF_it;
++		NOTICEREF_it;
++		X509V3_EXT_CRL_add_nconf;
++		OCSP_REVOKEDINFO_it;
++		OCSP_REVOKEDINFO_it;
++		AES_encrypt;
++		OCSP_REQUEST_new;
++		ASN1_ANY_it;
++		ASN1_ANY_it;
++		CRYPTO_ex_data_new_class;
++		_ossl_old_des_ncbc_encrypt;
++		i2d_KRB5_TKTBODY;
++		EC_POINT_clear_free;
++		AES_decrypt;
++		asn1_enc_init;
++		UI_get_result_maxsize;
++		OCSP_CERTID_new;
++		ENGINE_unregister_RAND;
++		UI_method_get_closer;
++		d2i_KRB5_ENCDATA;
++		OCSP_request_onereq_count;
++		OCSP_basic_verify;
++		KRB5_AUTHENTBODY_free;
++		ASN1_item_d2i;
++		ASN1_primitive_free;
++		i2d_EXTENDED_KEY_USAGE;
++		i2d_OCSP_SIGNATURE;
++		asn1_enc_save;
++		ENGINE_load_nuron;
++		_ossl_old_des_pcbc_encrypt;
++		PKCS12_MAC_DATA_it;
++		PKCS12_MAC_DATA_it;
++		OCSP_accept_responses_new;
++		asn1_do_lock;
++		PKCS7_ATTR_VERIFY_it;
++		PKCS7_ATTR_VERIFY_it;
++		KRB5_APREQBODY_it;
++		KRB5_APREQBODY_it;
++		i2d_OCSP_SINGLERESP;
++		ASN1_item_ex_new;
++		UI_add_verify_string;
++		_ossl_old_des_set_key;
++		KRB5_PRINCNAME_it;
++		KRB5_PRINCNAME_it;
++		EVP_DecryptInit_ex;
++		i2d_OCSP_CERTID;
++		ASN1_item_d2i_bio;
++		EC_POINT_dbl;
++		asn1_get_choice_selector;
++		i2d_KRB5_CHECKSUM;
++		ENGINE_set_table_flags;
++		AES_options;
++		ENGINE_load_chil;
++		OCSP_id_cmp;
++		OCSP_BASICRESP_new;
++		OCSP_REQUEST_get_ext_by_NID;
++		KRB5_APREQ_it;
++		KRB5_APREQ_it;
++		ENGINE_get_destroy_function;
++		CONF_set_nconf;
++		ASN1_PRINTABLE_free;
++		OCSP_BASICRESP_get_ext_by_NID;
++		DIST_POINT_NAME_it;
++		DIST_POINT_NAME_it;
++		X509V3_extensions_print;
++		_ossl_old_des_cfb64_encrypt;
++		X509_REVOKED_add1_ext_i2d;
++		_ossl_old_des_ofb_encrypt;
++		KRB5_TKTBODY_new;
++		ASN1_OCTET_STRING_it;
++		ASN1_OCTET_STRING_it;
++		ERR_load_UI_strings;
++		i2d_KRB5_ENCKEY;
++		ASN1_template_new;
++		OCSP_SIGNATURE_free;
++		ASN1_item_i2d_fp;
++		KRB5_PRINCNAME_free;
++		PKCS7_RECIP_INFO_it;
++		PKCS7_RECIP_INFO_it;
++		EXTENDED_KEY_USAGE_it;
++		EXTENDED_KEY_USAGE_it;
++		EC_GFp_simple_method;
++		EC_GROUP_precompute_mult;
++		OCSP_request_onereq_get0;
++		UI_method_set_writer;
++		KRB5_AUTHENT_new;
++		X509_CRL_INFO_it;
++		X509_CRL_INFO_it;
++		DSO_set_name_converter;
++		AES_set_decrypt_key;
++		PKCS7_DIGEST_it;
++		PKCS7_DIGEST_it;
++		PKCS12_x5092certbag;
++		EVP_DigestInit_ex;
++		i2a_ACCESS_DESCRIPTION;
++		OCSP_RESPONSE_it;
++		OCSP_RESPONSE_it;
++		PKCS7_ENC_CONTENT_it;
++		PKCS7_ENC_CONTENT_it;
++		OCSP_request_add0_id;
++		EC_POINT_make_affine;
++		DSO_get_filename;
++		OCSP_CERTSTATUS_it;
++		OCSP_CERTSTATUS_it;
++		OCSP_request_add1_cert;
++		UI_get0_output_string;
++		UI_dup_verify_string;
++		BN_mod_lshift;
++		KRB5_AUTHDATA_it;
++		KRB5_AUTHDATA_it;
++		asn1_set_choice_selector;
++		OCSP_basic_add1_status;
++		OCSP_RESPID_free;
++		asn1_get_field_ptr;
++		UI_add_input_string;
++		OCSP_CRLID_it;
++		OCSP_CRLID_it;
++		i2d_KRB5_AUTHENTBODY;
++		OCSP_REQUEST_get_ext_count;
++		ENGINE_load_atalla;
++		X509_NAME_it;
++		X509_NAME_it;
++		USERNOTICE_it;
++		USERNOTICE_it;
++		OCSP_REQINFO_new;
++		OCSP_BASICRESP_get_ext;
++		CRYPTO_get_ex_data_implementation;
++		CRYPTO_get_ex_data_impl;
++		ASN1_item_pack;
++		i2d_KRB5_ENCDATA;
++		X509_PURPOSE_set;
++		X509_REQ_INFO_it;
++		X509_REQ_INFO_it;
++		UI_method_set_opener;
++		ASN1_item_ex_free;
++		ASN1_BOOLEAN_it;
++		ASN1_BOOLEAN_it;
++		ENGINE_get_table_flags;
++		UI_create_method;
++		OCSP_ONEREQ_add1_ext_i2d;
++		_shadow_DES_check_key;
++		_shadow_DES_check_key;
++		d2i_OCSP_REQINFO;
++		UI_add_info_string;
++		UI_get_result_minsize;
++		ASN1_NULL_it;
++		ASN1_NULL_it;
++		BN_mod_lshift1;
++		d2i_OCSP_ONEREQ;
++		OCSP_ONEREQ_new;
++		KRB5_TICKET_it;
++		KRB5_TICKET_it;
++		EVP_aes_192_cbc;
++		KRB5_TICKET_free;
++		UI_new;
++		OCSP_response_create;
++		_ossl_old_des_xcbc_encrypt;
++		PKCS7_it;
++		PKCS7_it;
++		OCSP_REQUEST_get_ext_by_critical;
++		OCSP_REQUEST_get_ext_by_crit;
++		ENGINE_set_flags;
++		_ossl_old_des_ecb_encrypt;
++		OCSP_response_get1_basic;
++		EVP_Digest;
++		OCSP_ONEREQ_delete_ext;
++		ASN1_TBOOLEAN_it;
++		ASN1_TBOOLEAN_it;
++		ASN1_item_new;
++		ASN1_TIME_to_generalizedtime;
++		BIGNUM_it;
++		BIGNUM_it;
++		AES_cbc_encrypt;
++		ENGINE_get_load_privkey_function;
++		ENGINE_get_load_privkey_fn;
++		OCSP_RESPONSE_free;
++		UI_method_set_reader;
++		i2d_ASN1_T61STRING;
++		EC_POINT_set_to_infinity;
++		ERR_load_OCSP_strings;
++		EC_POINT_point2oct;
++		KRB5_APREQ_free;
++		ASN1_OBJECT_it;
++		ASN1_OBJECT_it;
++		OCSP_crlID_new;
++		OCSP_crlID2_new;
++		CONF_modules_load_file;
++		CONF_imodule_set_usr_data;
++		ENGINE_set_default_string;
++		CONF_module_get_usr_data;
++		ASN1_add_oid_module;
++		CONF_modules_finish;
++		OPENSSL_config;
++		CONF_modules_unload;
++		CONF_imodule_get_value;
++		CONF_module_set_usr_data;
++		CONF_parse_list;
++		CONF_module_add;
++		CONF_get1_default_config_file;
++		CONF_imodule_get_flags;
++		CONF_imodule_get_module;
++		CONF_modules_load;
++		CONF_imodule_get_name;
++		ERR_peek_top_error;
++		CONF_imodule_get_usr_data;
++		CONF_imodule_set_flags;
++		ENGINE_add_conf_module;
++		ERR_peek_last_error_line;
++		ERR_peek_last_error_line_data;
++		ERR_peek_last_error;
++		DES_read_2passwords;
++		DES_read_password;
++		UI_UTIL_read_pw;
++		UI_UTIL_read_pw_string;
++		ENGINE_load_aep;
++		ENGINE_load_sureware;
++		OPENSSL_add_all_algorithms_noconf;
++		OPENSSL_add_all_algo_noconf;
++		OPENSSL_add_all_algorithms_conf;
++		OPENSSL_add_all_algo_conf;
++		OPENSSL_load_builtin_modules;
++		AES_ofb128_encrypt;
++		AES_ctr128_encrypt;
++		AES_cfb128_encrypt;
++		ENGINE_load_4758cca;
++		_ossl_096_des_random_seed;
++		EVP_aes_256_ofb;
++		EVP_aes_192_ofb;
++		EVP_aes_128_cfb128;
++		EVP_aes_256_cfb128;
++		EVP_aes_128_ofb;
++		EVP_aes_192_cfb128;
++		CONF_modules_free;
++		NCONF_default;
++		OPENSSL_no_config;
++		NCONF_WIN32;
++		ASN1_UNIVERSALSTRING_new;
++		EVP_des_ede_ecb;
++		i2d_ASN1_UNIVERSALSTRING;
++		ASN1_UNIVERSALSTRING_free;
++		ASN1_UNIVERSALSTRING_it;
++		ASN1_UNIVERSALSTRING_it;
++		d2i_ASN1_UNIVERSALSTRING;
++		EVP_des_ede3_ecb;
++		X509_REQ_print_ex;
++		ENGINE_up_ref;
++		BUF_MEM_grow_clean;
++		CRYPTO_realloc_clean;
++		BUF_strlcat;
++		BIO_indent;
++		BUF_strlcpy;
++		OpenSSLDie;
++		OPENSSL_cleanse;
++		ENGINE_setup_bsd_cryptodev;
++		ERR_release_err_state_table;
++		EVP_aes_128_cfb8;
++		FIPS_corrupt_rsa;
++		FIPS_selftest_des;
++		EVP_aes_128_cfb1;
++		EVP_aes_192_cfb8;
++		FIPS_mode_set;
++		FIPS_selftest_dsa;
++		EVP_aes_256_cfb8;
++		FIPS_allow_md5;
++		DES_ede3_cfb_encrypt;
++		EVP_des_ede3_cfb8;
++		FIPS_rand_seeded;
++		AES_cfbr_encrypt_block;
++		AES_cfb8_encrypt;
++		FIPS_rand_seed;
++		FIPS_corrupt_des;
++		EVP_aes_192_cfb1;
++		FIPS_selftest_aes;
++		FIPS_set_prng_key;
++		EVP_des_cfb8;
++		FIPS_corrupt_dsa;
++		FIPS_test_mode;
++		FIPS_rand_method;
++		EVP_aes_256_cfb1;
++		ERR_load_FIPS_strings;
++		FIPS_corrupt_aes;
++		FIPS_selftest_sha1;
++		FIPS_selftest_rsa;
++		FIPS_corrupt_sha1;
++		EVP_des_cfb1;
++		FIPS_dsa_check;
++		AES_cfb1_encrypt;
++		EVP_des_ede3_cfb1;
++		FIPS_rand_check;
++		FIPS_md5_allowed;
++		FIPS_mode;
++		FIPS_selftest_failed;
++		sk_is_sorted;
++		X509_check_ca;
++		HMAC_CTX_set_flags;
++		d2i_PROXY_CERT_INFO_EXTENSION;
++		PROXY_POLICY_it;
++		PROXY_POLICY_it;
++		i2d_PROXY_POLICY;
++		i2d_PROXY_CERT_INFO_EXTENSION;
++		d2i_PROXY_POLICY;
++		PROXY_CERT_INFO_EXTENSION_new;
++		PROXY_CERT_INFO_EXTENSION_free;
++		PROXY_CERT_INFO_EXTENSION_it;
++		PROXY_CERT_INFO_EXTENSION_it;
++		PROXY_POLICY_free;
++		PROXY_POLICY_new;
++		BN_MONT_CTX_set_locked;
++		FIPS_selftest_rng;
++		EVP_sha384;
++		EVP_sha512;
++		EVP_sha224;
++		EVP_sha256;
++		FIPS_selftest_hmac;
++		FIPS_corrupt_rng;
++		BN_mod_exp_mont_consttime;
++		RSA_X931_hash_id;
++		RSA_padding_check_X931;
++		RSA_verify_PKCS1_PSS;
++		RSA_padding_add_X931;
++		RSA_padding_add_PKCS1_PSS;
++		PKCS1_MGF1;
++		BN_X931_generate_Xpq;
++		RSA_X931_generate_key;
++		BN_X931_derive_prime;
++		BN_X931_generate_prime;
++		RSA_X931_derive;
++		BIO_new_dgram;
++		BN_get0_nist_prime_384;
++		ERR_set_mark;
++		X509_STORE_CTX_set0_crls;
++		ENGINE_set_STORE;
++		ENGINE_register_ECDSA;
++		STORE_meth_set_list_start_fn;
++		STORE_method_set_list_start_function;
++		BN_BLINDING_invert_ex;
++		NAME_CONSTRAINTS_free;
++		STORE_ATTR_INFO_set_number;
++		BN_BLINDING_get_thread_id;
++		X509_STORE_CTX_set0_param;
++		POLICY_MAPPING_it;
++		POLICY_MAPPING_it;
++		STORE_parse_attrs_start;
++		POLICY_CONSTRAINTS_free;
++		EVP_PKEY_add1_attr_by_NID;
++		BN_nist_mod_192;
++		EC_GROUP_get_trinomial_basis;
++		STORE_set_method;
++		GENERAL_SUBTREE_free;
++		NAME_CONSTRAINTS_it;
++		NAME_CONSTRAINTS_it;
++		ECDH_get_default_method;
++		PKCS12_add_safe;
++		EC_KEY_new_by_curve_name;
++		STORE_meth_get_update_store_fn;
++		STORE_method_get_update_store_function;
++		ENGINE_register_ECDH;
++		SHA512_Update;
++		i2d_ECPrivateKey;
++		BN_get0_nist_prime_192;
++		STORE_modify_certificate;
++		EC_POINT_set_affine_coordinates_GF2m;
++		EC_POINT_set_affine_coords_GF2m;
++		BN_GF2m_mod_exp_arr;
++		STORE_ATTR_INFO_modify_number;
++		X509_keyid_get0;
++		ENGINE_load_gmp;
++		pitem_new;
++		BN_GF2m_mod_mul_arr;
++		STORE_list_public_key_endp;
++		o2i_ECPublicKey;
++		EC_KEY_copy;
++		BIO_dump_fp;
++		X509_policy_node_get0_parent;
++		EC_GROUP_check_discriminant;
++		i2o_ECPublicKey;
++		EC_KEY_precompute_mult;
++		a2i_IPADDRESS;
++		STORE_meth_set_initialise_fn;
++		STORE_method_set_initialise_function;
++		X509_STORE_CTX_set_depth;
++		X509_VERIFY_PARAM_inherit;
++		EC_POINT_point2bn;
++		STORE_ATTR_INFO_set_dn;
++		X509_policy_tree_get0_policies;
++		EC_GROUP_new_curve_GF2m;
++		STORE_destroy_method;
++		ENGINE_unregister_STORE;
++		EVP_PKEY_get1_EC_KEY;
++		STORE_ATTR_INFO_get0_number;
++		ENGINE_get_default_ECDH;
++		EC_KEY_get_conv_form;
++		ASN1_OCTET_STRING_NDEF_it;
++		ASN1_OCTET_STRING_NDEF_it;
++		STORE_delete_public_key;
++		STORE_get_public_key;
++		STORE_modify_arbitrary;
++		ENGINE_get_static_state;
++		pqueue_iterator;
++		ECDSA_SIG_new;
++		OPENSSL_DIR_end;
++		BN_GF2m_mod_sqr;
++		EC_POINT_bn2point;
++		X509_VERIFY_PARAM_set_depth;
++		EC_KEY_set_asn1_flag;
++		STORE_get_method;
++		EC_KEY_get_key_method_data;
++		ECDSA_sign_ex;
++		STORE_parse_attrs_end;
++		EC_GROUP_get_point_conversion_form;
++		EC_GROUP_get_point_conv_form;
++		STORE_method_set_store_function;
++		STORE_ATTR_INFO_in;
++		PEM_read_bio_ECPKParameters;
++		EC_GROUP_get_pentanomial_basis;
++		EVP_PKEY_add1_attr_by_txt;
++		BN_BLINDING_set_flags;
++		X509_VERIFY_PARAM_set1_policies;
++		X509_VERIFY_PARAM_set1_name;
++		X509_VERIFY_PARAM_set_purpose;
++		STORE_get_number;
++		ECDSA_sign_setup;
++		BN_GF2m_mod_solve_quad_arr;
++		EC_KEY_up_ref;
++		POLICY_MAPPING_free;
++		BN_GF2m_mod_div;
++		X509_VERIFY_PARAM_set_flags;
++		EC_KEY_free;
++		STORE_meth_set_list_next_fn;
++		STORE_method_set_list_next_function;
++		PEM_write_bio_ECPrivateKey;
++		d2i_EC_PUBKEY;
++		STORE_meth_get_generate_fn;
++		STORE_method_get_generate_function;
++		STORE_meth_set_list_end_fn;
++		STORE_method_set_list_end_function;
++		pqueue_print;
++		EC_GROUP_have_precompute_mult;
++		EC_KEY_print_fp;
++		BN_GF2m_mod_arr;
++		PEM_write_bio_X509_CERT_PAIR;
++		EVP_PKEY_cmp;
++		X509_policy_level_node_count;
++		STORE_new_engine;
++		STORE_list_public_key_start;
++		X509_VERIFY_PARAM_new;
++		ECDH_get_ex_data;
++		EVP_PKEY_get_attr;
++		ECDSA_do_sign;
++		ENGINE_unregister_ECDH;
++		ECDH_OpenSSL;
++		EC_KEY_set_conv_form;
++		EC_POINT_dup;
++		GENERAL_SUBTREE_new;
++		STORE_list_crl_endp;
++		EC_get_builtin_curves;
++		X509_policy_node_get0_qualifiers;
++		X509_pcy_node_get0_qualifiers;
++		STORE_list_crl_end;
++		EVP_PKEY_set1_EC_KEY;
++		BN_GF2m_mod_sqrt_arr;
++		i2d_ECPrivateKey_bio;
++		ECPKParameters_print_fp;
++		pqueue_find;
++		ECDSA_SIG_free;
++		PEM_write_bio_ECPKParameters;
++		STORE_method_set_ctrl_function;
++		STORE_list_public_key_end;
++		EC_KEY_set_private_key;
++		pqueue_peek;
++		STORE_get_arbitrary;
++		STORE_store_crl;
++		X509_policy_node_get0_policy;
++		PKCS12_add_safes;
++		BN_BLINDING_convert_ex;
++		X509_policy_tree_free;
++		OPENSSL_ia32cap_loc;
++		BN_GF2m_poly2arr;
++		STORE_ctrl;
++		STORE_ATTR_INFO_compare;
++		BN_get0_nist_prime_224;
++		i2d_ECParameters;
++		i2d_ECPKParameters;
++		BN_GENCB_call;
++		d2i_ECPKParameters;
++		STORE_meth_set_generate_fn;
++		STORE_method_set_generate_function;
++		ENGINE_set_ECDH;
++		NAME_CONSTRAINTS_new;
++		SHA256_Init;
++		EC_KEY_get0_public_key;
++		PEM_write_bio_EC_PUBKEY;
++		STORE_ATTR_INFO_set_cstr;
++		STORE_list_crl_next;
++		STORE_ATTR_INFO_in_range;
++		ECParameters_print;
++		STORE_meth_set_delete_fn;
++		STORE_method_set_delete_function;
++		STORE_list_certificate_next;
++		ASN1_generate_nconf;
++		BUF_memdup;
++		BN_GF2m_mod_mul;
++		STORE_meth_get_list_next_fn;
++		STORE_method_get_list_next_function;
++		STORE_ATTR_INFO_get0_dn;
++		STORE_list_private_key_next;
++		EC_GROUP_set_seed;
++		X509_VERIFY_PARAM_set_trust;
++		STORE_ATTR_INFO_free;
++		STORE_get_private_key;
++		EVP_PKEY_get_attr_count;
++		STORE_ATTR_INFO_new;
++		EC_GROUP_get_curve_GF2m;
++		STORE_meth_set_revoke_fn;
++		STORE_method_set_revoke_function;
++		STORE_store_number;
++		BN_is_prime_ex;
++		STORE_revoke_public_key;
++		X509_STORE_CTX_get0_param;
++		STORE_delete_arbitrary;
++		PEM_read_X509_CERT_PAIR;
++		X509_STORE_set_depth;
++		ECDSA_get_ex_data;
++		SHA224;
++		BIO_dump_indent_fp;
++		EC_KEY_set_group;
++		BUF_strndup;
++		STORE_list_certificate_start;
++		BN_GF2m_mod;
++		X509_REQ_check_private_key;
++		EC_GROUP_get_seed_len;
++		ERR_load_STORE_strings;
++		PEM_read_bio_EC_PUBKEY;
++		STORE_list_private_key_end;
++		i2d_EC_PUBKEY;
++		ECDSA_get_default_method;
++		ASN1_put_eoc;
++		X509_STORE_CTX_get_explicit_policy;
++		X509_STORE_CTX_get_expl_policy;
++		X509_VERIFY_PARAM_table_cleanup;
++		STORE_modify_private_key;
++		X509_VERIFY_PARAM_free;
++		EC_METHOD_get_field_type;
++		EC_GFp_nist_method;
++		STORE_meth_set_modify_fn;
++		STORE_method_set_modify_function;
++		STORE_parse_attrs_next;
++		ENGINE_load_padlock;
++		EC_GROUP_set_curve_name;
++		X509_CERT_PAIR_it;
++		X509_CERT_PAIR_it;
++		STORE_meth_get_revoke_fn;
++		STORE_method_get_revoke_function;
++		STORE_method_set_get_function;
++		STORE_modify_number;
++		STORE_method_get_store_function;
++		STORE_store_private_key;
++		BN_GF2m_mod_sqr_arr;
++		RSA_setup_blinding;
++		BIO_s_datagram;
++		STORE_Memory;
++		sk_find_ex;
++		EC_GROUP_set_curve_GF2m;
++		ENGINE_set_default_ECDSA;
++		POLICY_CONSTRAINTS_new;
++		BN_GF2m_mod_sqrt;
++		ECDH_set_default_method;
++		EC_KEY_generate_key;
++		SHA384_Update;
++		BN_GF2m_arr2poly;
++		STORE_method_get_get_function;
++		STORE_meth_set_cleanup_fn;
++		STORE_method_set_cleanup_function;
++		EC_GROUP_check;
++		d2i_ECPrivateKey_bio;
++		EC_KEY_insert_key_method_data;
++		STORE_meth_get_lock_store_fn;
++		STORE_method_get_lock_store_function;
++		X509_VERIFY_PARAM_get_depth;
++		SHA224_Final;
++		STORE_meth_set_update_store_fn;
++		STORE_method_set_update_store_function;
++		SHA224_Update;
++		d2i_ECPrivateKey;
++		ASN1_item_ndef_i2d;
++		STORE_delete_private_key;
++		ERR_pop_to_mark;
++		ENGINE_register_all_STORE;
++		X509_policy_level_get0_node;
++		i2d_PKCS7_NDEF;
++		EC_GROUP_get_degree;
++		ASN1_generate_v3;
++		STORE_ATTR_INFO_modify_cstr;
++		X509_policy_tree_level_count;
++		BN_GF2m_add;
++		EC_KEY_get0_group;
++		STORE_generate_crl;
++		STORE_store_public_key;
++		X509_CERT_PAIR_free;
++		STORE_revoke_private_key;
++		BN_nist_mod_224;
++		SHA512_Final;
++		STORE_ATTR_INFO_modify_dn;
++		STORE_meth_get_initialise_fn;
++		STORE_method_get_initialise_function;
++		STORE_delete_number;
++		i2d_EC_PUBKEY_bio;
++		BIO_dgram_non_fatal_error;
++		EC_GROUP_get_asn1_flag;
++		STORE_ATTR_INFO_in_ex;
++		STORE_list_crl_start;
++		ECDH_get_ex_new_index;
++		STORE_meth_get_modify_fn;
++		STORE_method_get_modify_function;
++		v2i_ASN1_BIT_STRING;
++		STORE_store_certificate;
++		OBJ_bsearch_ex;
++		X509_STORE_CTX_set_default;
++		STORE_ATTR_INFO_set_sha1str;
++		BN_GF2m_mod_inv;
++		BN_GF2m_mod_exp;
++		STORE_modify_public_key;
++		STORE_meth_get_list_start_fn;
++		STORE_method_get_list_start_function;
++		EC_GROUP_get0_seed;
++		STORE_store_arbitrary;
++		STORE_meth_set_unlock_store_fn;
++		STORE_method_set_unlock_store_function;
++		BN_GF2m_mod_div_arr;
++		ENGINE_set_ECDSA;
++		STORE_create_method;
++		ECPKParameters_print;
++		EC_KEY_get0_private_key;
++		PEM_write_EC_PUBKEY;
++		X509_VERIFY_PARAM_set1;
++		ECDH_set_method;
++		v2i_GENERAL_NAME_ex;
++		ECDH_set_ex_data;
++		STORE_generate_key;
++		BN_nist_mod_521;
++		X509_policy_tree_get0_level;
++		EC_GROUP_set_point_conversion_form;
++		EC_GROUP_set_point_conv_form;
++		PEM_read_EC_PUBKEY;
++		i2d_ECDSA_SIG;
++		ECDSA_OpenSSL;
++		STORE_delete_crl;
++		EC_KEY_get_enc_flags;
++		ASN1_const_check_infinite_end;
++		EVP_PKEY_delete_attr;
++		ECDSA_set_default_method;
++		EC_POINT_set_compressed_coordinates_GF2m;
++		EC_POINT_set_compr_coords_GF2m;
++		EC_GROUP_cmp;
++		STORE_revoke_certificate;
++		BN_get0_nist_prime_256;
++		STORE_meth_get_delete_fn;
++		STORE_method_get_delete_function;
++		SHA224_Init;
++		PEM_read_ECPrivateKey;
++		SHA512_Init;
++		STORE_parse_attrs_endp;
++		BN_set_negative;
++		ERR_load_ECDSA_strings;
++		EC_GROUP_get_basis_type;
++		STORE_list_public_key_next;
++		i2v_ASN1_BIT_STRING;
++		STORE_OBJECT_free;
++		BN_nist_mod_384;
++		i2d_X509_CERT_PAIR;
++		PEM_write_ECPKParameters;
++		ECDH_compute_key;
++		STORE_ATTR_INFO_get0_sha1str;
++		ENGINE_register_all_ECDH;
++		pqueue_pop;
++		STORE_ATTR_INFO_get0_cstr;
++		POLICY_CONSTRAINTS_it;
++		POLICY_CONSTRAINTS_it;
++		STORE_get_ex_new_index;
++		EVP_PKEY_get_attr_by_OBJ;
++		X509_VERIFY_PARAM_add0_policy;
++		BN_GF2m_mod_solve_quad;
++		SHA256;
++		i2d_ECPrivateKey_fp;
++		X509_policy_tree_get0_user_policies;
++		X509_pcy_tree_get0_usr_policies;
++		OPENSSL_DIR_read;
++		ENGINE_register_all_ECDSA;
++		X509_VERIFY_PARAM_lookup;
++		EC_POINT_get_affine_coordinates_GF2m;
++		EC_POINT_get_affine_coords_GF2m;
++		EC_GROUP_dup;
++		ENGINE_get_default_ECDSA;
++		EC_KEY_new;
++		SHA256_Transform;
++		EC_KEY_set_enc_flags;
++		ECDSA_verify;
++		EC_POINT_point2hex;
++		ENGINE_get_STORE;
++		SHA512;
++		STORE_get_certificate;
++		ECDSA_do_sign_ex;
++		ECDSA_do_verify;
++		d2i_ECPrivateKey_fp;
++		STORE_delete_certificate;
++		SHA512_Transform;
++		X509_STORE_set1_param;
++		STORE_method_get_ctrl_function;
++		STORE_free;
++		PEM_write_ECPrivateKey;
++		STORE_meth_get_unlock_store_fn;
++		STORE_method_get_unlock_store_function;
++		STORE_get_ex_data;
++		EC_KEY_set_public_key;
++		PEM_read_ECPKParameters;
++		X509_CERT_PAIR_new;
++		ENGINE_register_STORE;
++		RSA_generate_key_ex;
++		DSA_generate_parameters_ex;
++		ECParameters_print_fp;
++		X509V3_NAME_from_section;
++		EVP_PKEY_add1_attr;
++		STORE_modify_crl;
++		STORE_list_private_key_start;
++		POLICY_MAPPINGS_it;
++		POLICY_MAPPINGS_it;
++		GENERAL_SUBTREE_it;
++		GENERAL_SUBTREE_it;
++		EC_GROUP_get_curve_name;
++		PEM_write_X509_CERT_PAIR;
++		BIO_dump_indent_cb;
++		d2i_X509_CERT_PAIR;
++		STORE_list_private_key_endp;
++		asn1_const_Finish;
++		i2d_EC_PUBKEY_fp;
++		BN_nist_mod_256;
++		X509_VERIFY_PARAM_add0_table;
++		pqueue_free;
++		BN_BLINDING_create_param;
++		ECDSA_size;
++		d2i_EC_PUBKEY_bio;
++		BN_get0_nist_prime_521;
++		STORE_ATTR_INFO_modify_sha1str;
++		BN_generate_prime_ex;
++		EC_GROUP_new_by_curve_name;
++		SHA256_Final;
++		DH_generate_parameters_ex;
++		PEM_read_bio_ECPrivateKey;
++		STORE_meth_get_cleanup_fn;
++		STORE_method_get_cleanup_function;
++		ENGINE_get_ECDH;
++		d2i_ECDSA_SIG;
++		BN_is_prime_fasttest_ex;
++		ECDSA_sign;
++		X509_policy_check;
++		EVP_PKEY_get_attr_by_NID;
++		STORE_set_ex_data;
++		ENGINE_get_ECDSA;
++		EVP_ecdsa;
++		BN_BLINDING_get_flags;
++		PKCS12_add_cert;
++		STORE_OBJECT_new;
++		ERR_load_ECDH_strings;
++		EC_KEY_dup;
++		EVP_CIPHER_CTX_rand_key;
++		ECDSA_set_method;
++		a2i_IPADDRESS_NC;
++		d2i_ECParameters;
++		STORE_list_certificate_end;
++		STORE_get_crl;
++		X509_POLICY_NODE_print;
++		SHA384_Init;
++		EC_GF2m_simple_method;
++		ECDSA_set_ex_data;
++		SHA384_Final;
++		PKCS7_set_digest;
++		EC_KEY_print;
++		STORE_meth_set_lock_store_fn;
++		STORE_method_set_lock_store_function;
++		ECDSA_get_ex_new_index;
++		SHA384;
++		POLICY_MAPPING_new;
++		STORE_list_certificate_endp;
++		X509_STORE_CTX_get0_policy_tree;
++		EC_GROUP_set_asn1_flag;
++		EC_KEY_check_key;
++		d2i_EC_PUBKEY_fp;
++		PKCS7_set0_type_other;
++		PEM_read_bio_X509_CERT_PAIR;
++		pqueue_next;
++		STORE_meth_get_list_end_fn;
++		STORE_method_get_list_end_function;
++		EVP_PKEY_add1_attr_by_OBJ;
++		X509_VERIFY_PARAM_set_time;
++		pqueue_new;
++		ENGINE_set_default_ECDH;
++		STORE_new_method;
++		PKCS12_add_key;
++		DSO_merge;
++		EC_POINT_hex2point;
++		BIO_dump_cb;
++		SHA256_Update;
++		pqueue_insert;
++		pitem_free;
++		BN_GF2m_mod_inv_arr;
++		ENGINE_unregister_ECDSA;
++		BN_BLINDING_set_thread_id;
++		get_rfc3526_prime_8192;
++		X509_VERIFY_PARAM_clear_flags;
++		get_rfc2409_prime_1024;
++		DH_check_pub_key;
++		get_rfc3526_prime_2048;
++		get_rfc3526_prime_6144;
++		get_rfc3526_prime_1536;
++		get_rfc3526_prime_3072;
++		get_rfc3526_prime_4096;
++		get_rfc2409_prime_768;
++		X509_VERIFY_PARAM_get_flags;
++		EVP_CIPHER_CTX_new;
++		EVP_CIPHER_CTX_free;
++		Camellia_cbc_encrypt;
++		Camellia_cfb128_encrypt;
++		Camellia_cfb1_encrypt;
++		Camellia_cfb8_encrypt;
++		Camellia_ctr128_encrypt;
++		Camellia_cfbr_encrypt_block;
++		Camellia_decrypt;
++		Camellia_ecb_encrypt;
++		Camellia_encrypt;
++		Camellia_ofb128_encrypt;
++		Camellia_set_key;
++		EVP_camellia_128_cbc;
++		EVP_camellia_128_cfb128;
++		EVP_camellia_128_cfb1;
++		EVP_camellia_128_cfb8;
++		EVP_camellia_128_ecb;
++		EVP_camellia_128_ofb;
++		EVP_camellia_192_cbc;
++		EVP_camellia_192_cfb128;
++		EVP_camellia_192_cfb1;
++		EVP_camellia_192_cfb8;
++		EVP_camellia_192_ecb;
++		EVP_camellia_192_ofb;
++		EVP_camellia_256_cbc;
++		EVP_camellia_256_cfb128;
++		EVP_camellia_256_cfb1;
++		EVP_camellia_256_cfb8;
++		EVP_camellia_256_ecb;
++		EVP_camellia_256_ofb;
++		a2i_ipadd;
++		ASIdentifiers_free;
++		i2d_ASIdOrRange;
++		EVP_CIPHER_block_size;
++		v3_asid_is_canonical;
++		IPAddressChoice_free;
++		EVP_CIPHER_CTX_set_app_data;
++		BIO_set_callback_arg;
++		v3_addr_add_prefix;
++		IPAddressOrRange_it;
++		IPAddressOrRange_it;
++		BIO_set_flags;
++		ASIdentifiers_it;
++		ASIdentifiers_it;
++		v3_addr_get_range;
++		BIO_method_type;
++		v3_addr_inherits;
++		IPAddressChoice_it;
++		IPAddressChoice_it;
++		AES_ige_encrypt;
++		v3_addr_add_range;
++		EVP_CIPHER_CTX_nid;
++		d2i_ASRange;
++		v3_addr_add_inherit;
++		v3_asid_add_id_or_range;
++		v3_addr_validate_resource_set;
++		EVP_CIPHER_iv_length;
++		EVP_MD_type;
++		v3_asid_canonize;
++		IPAddressRange_free;
++		v3_asid_add_inherit;
++		EVP_CIPHER_CTX_key_length;
++		IPAddressRange_new;
++		ASIdOrRange_new;
++		EVP_MD_size;
++		EVP_MD_CTX_test_flags;
++		BIO_clear_flags;
++		i2d_ASRange;
++		IPAddressRange_it;
++		IPAddressRange_it;
++		IPAddressChoice_new;
++		ASIdentifierChoice_new;
++		ASRange_free;
++		EVP_MD_pkey_type;
++		EVP_MD_CTX_clear_flags;
++		IPAddressFamily_free;
++		i2d_IPAddressFamily;
++		IPAddressOrRange_new;
++		EVP_CIPHER_flags;
++		v3_asid_validate_resource_set;
++		d2i_IPAddressRange;
++		AES_bi_ige_encrypt;
++		BIO_get_callback;
++		IPAddressOrRange_free;
++		v3_addr_subset;
++		d2i_IPAddressFamily;
++		v3_asid_subset;
++		BIO_test_flags;
++		i2d_ASIdentifierChoice;
++		ASRange_it;
++		ASRange_it;
++		d2i_ASIdentifiers;
++		ASRange_new;
++		d2i_IPAddressChoice;
++		v3_addr_get_afi;
++		EVP_CIPHER_key_length;
++		EVP_Cipher;
++		i2d_IPAddressOrRange;
++		ASIdOrRange_it;
++		ASIdOrRange_it;
++		EVP_CIPHER_nid;
++		i2d_IPAddressChoice;
++		EVP_CIPHER_CTX_block_size;
++		ASIdentifiers_new;
++		v3_addr_validate_path;
++		IPAddressFamily_new;
++		EVP_MD_CTX_set_flags;
++		v3_addr_is_canonical;
++		i2d_IPAddressRange;
++		IPAddressFamily_it;
++		IPAddressFamily_it;
++		v3_asid_inherits;
++		EVP_CIPHER_CTX_cipher;
++		EVP_CIPHER_CTX_get_app_data;
++		EVP_MD_block_size;
++		EVP_CIPHER_CTX_flags;
++		v3_asid_validate_path;
++		d2i_IPAddressOrRange;
++		v3_addr_canonize;
++		ASIdentifierChoice_it;
++		ASIdentifierChoice_it;
++		EVP_MD_CTX_md;
++		d2i_ASIdentifierChoice;
++		BIO_method_name;
++		EVP_CIPHER_CTX_iv_length;
++		ASIdOrRange_free;
++		ASIdentifierChoice_free;
++		BIO_get_callback_arg;
++		BIO_set_callback;
++		d2i_ASIdOrRange;
++		i2d_ASIdentifiers;
++		SEED_decrypt;
++		SEED_encrypt;
++		SEED_cbc_encrypt;
++		EVP_seed_ofb;
++		SEED_cfb128_encrypt;
++		SEED_ofb128_encrypt;
++		EVP_seed_cbc;
++		SEED_ecb_encrypt;
++		EVP_seed_ecb;
++		SEED_set_key;
++		EVP_seed_cfb128;
++		X509_EXTENSIONS_it;
++		X509_EXTENSIONS_it;
++		X509_get1_ocsp;
++		OCSP_REQ_CTX_free;
++		i2d_X509_EXTENSIONS;
++		OCSP_sendreq_nbio;
++		OCSP_sendreq_new;
++		d2i_X509_EXTENSIONS;
++		X509_ALGORS_it;
++		X509_ALGORS_it;
++		X509_ALGOR_get0;
++		X509_ALGOR_set0;
++		AES_unwrap_key;
++		AES_wrap_key;
++		X509at_get0_data_by_OBJ;
++		ASN1_TYPE_set1;
++		ASN1_STRING_set0;
++		i2d_X509_ALGORS;
++		BIO_f_zlib;
++		COMP_zlib_cleanup;
++		d2i_X509_ALGORS;
++		CMS_ReceiptRequest_free;
++		PEM_write_CMS;
++		CMS_add0_CertificateChoices;
++		CMS_unsigned_add1_attr_by_OBJ;
++		ERR_load_CMS_strings;
++		CMS_sign_receipt;
++		i2d_CMS_ContentInfo;
++		CMS_signed_delete_attr;
++		d2i_CMS_bio;
++		CMS_unsigned_get_attr_by_NID;
++		CMS_verify;
++		SMIME_read_CMS;
++		CMS_decrypt_set1_key;
++		CMS_SignerInfo_get0_algs;
++		CMS_add1_cert;
++		CMS_set_detached;
++		CMS_encrypt;
++		CMS_EnvelopedData_create;
++		CMS_uncompress;
++		CMS_add0_crl;
++		CMS_SignerInfo_verify_content;
++		CMS_unsigned_get0_data_by_OBJ;
++		PEM_write_bio_CMS;
++		CMS_unsigned_get_attr;
++		CMS_RecipientInfo_ktri_cert_cmp;
++		CMS_RecipientInfo_ktri_get0_algs;
++		CMS_RecipInfo_ktri_get0_algs;
++		CMS_ContentInfo_free;
++		CMS_final;
++		CMS_add_simple_smimecap;
++		CMS_SignerInfo_verify;
++		CMS_data;
++		CMS_ContentInfo_it;
++		CMS_ContentInfo_it;
++		d2i_CMS_ReceiptRequest;
++		CMS_compress;
++		CMS_digest_create;
++		CMS_SignerInfo_cert_cmp;
++		CMS_SignerInfo_sign;
++		CMS_data_create;
++		i2d_CMS_bio;
++		CMS_EncryptedData_set1_key;
++		CMS_decrypt;
++		int_smime_write_ASN1;
++		CMS_unsigned_delete_attr;
++		CMS_unsigned_get_attr_count;
++		CMS_add_smimecap;
++		PEM_read_CMS;
++		CMS_signed_get_attr_by_OBJ;
++		d2i_CMS_ContentInfo;
++		CMS_add_standard_smimecap;
++		CMS_ContentInfo_new;
++		CMS_RecipientInfo_type;
++		CMS_get0_type;
++		CMS_is_detached;
++		CMS_sign;
++		CMS_signed_add1_attr;
++		CMS_unsigned_get_attr_by_OBJ;
++		SMIME_write_CMS;
++		CMS_EncryptedData_decrypt;
++		CMS_get0_RecipientInfos;
++		CMS_add0_RevocationInfoChoice;
++		CMS_decrypt_set1_pkey;
++		CMS_SignerInfo_set1_signer_cert;
++		CMS_get0_signers;
++		CMS_ReceiptRequest_get0_values;
++		CMS_signed_get0_data_by_OBJ;
++		CMS_get0_SignerInfos;
++		CMS_add0_cert;
++		CMS_EncryptedData_encrypt;
++		CMS_digest_verify;
++		CMS_set1_signers_certs;
++		CMS_signed_get_attr;
++		CMS_RecipientInfo_set0_key;
++		CMS_SignedData_init;
++		CMS_RecipientInfo_kekri_get0_id;
++		CMS_verify_receipt;
++		CMS_ReceiptRequest_it;
++		CMS_ReceiptRequest_it;
++		PEM_read_bio_CMS;
++		CMS_get1_crls;
++		CMS_add0_recipient_key;
++		SMIME_read_ASN1;
++		CMS_ReceiptRequest_new;
++		CMS_get0_content;
++		CMS_get1_ReceiptRequest;
++		CMS_signed_add1_attr_by_OBJ;
++		CMS_RecipientInfo_kekri_id_cmp;
++		CMS_add1_ReceiptRequest;
++		CMS_SignerInfo_get0_signer_id;
++		CMS_unsigned_add1_attr_by_NID;
++		CMS_unsigned_add1_attr;
++		CMS_signed_get_attr_by_NID;
++		CMS_get1_certs;
++		CMS_signed_add1_attr_by_NID;
++		CMS_unsigned_add1_attr_by_txt;
++		CMS_dataFinal;
++		CMS_RecipientInfo_ktri_get0_signer_id;
++		CMS_RecipInfo_ktri_get0_sigr_id;
++		i2d_CMS_ReceiptRequest;
++		CMS_add1_recipient_cert;
++		CMS_dataInit;
++		CMS_signed_add1_attr_by_txt;
++		CMS_RecipientInfo_decrypt;
++		CMS_signed_get_attr_count;
++		CMS_get0_eContentType;
++		CMS_set1_eContentType;
++		CMS_ReceiptRequest_create0;
++		CMS_add1_signer;
++		CMS_RecipientInfo_set0_pkey;
++		ENGINE_set_load_ssl_client_cert_function;
++		ENGINE_set_ld_ssl_clnt_cert_fn;
++		ENGINE_get_ssl_client_cert_function;
++		ENGINE_get_ssl_client_cert_fn;
++		ENGINE_load_ssl_client_cert;
++		ENGINE_load_capi;
++		OPENSSL_isservice;
++		FIPS_dsa_sig_decode;
++		EVP_CIPHER_CTX_clear_flags;
++		FIPS_rand_status;
++		FIPS_rand_set_key;
++		CRYPTO_set_mem_info_functions;
++		RSA_X931_generate_key_ex;
++		int_ERR_set_state_func;
++		int_EVP_MD_set_engine_callbacks;
++		int_CRYPTO_set_do_dynlock_callback;
++		FIPS_rng_stick;
++		EVP_CIPHER_CTX_set_flags;
++		BN_X931_generate_prime_ex;
++		FIPS_selftest_check;
++		FIPS_rand_set_dt;
++		CRYPTO_dbg_pop_info;
++		FIPS_dsa_free;
++		RSA_X931_derive_ex;
++		FIPS_rsa_new;
++		FIPS_rand_bytes;
++		fips_cipher_test;
++		EVP_CIPHER_CTX_test_flags;
++		CRYPTO_malloc_debug_init;
++		CRYPTO_dbg_push_info;
++		FIPS_corrupt_rsa_keygen;
++		FIPS_dh_new;
++		FIPS_corrupt_dsa_keygen;
++		FIPS_dh_free;
++		fips_pkey_signature_test;
++		EVP_add_alg_module;
++		int_RAND_init_engine_callbacks;
++		int_EVP_CIPHER_set_engine_callbacks;
++		int_EVP_MD_init_engine_callbacks;
++		FIPS_rand_test_mode;
++		FIPS_rand_reset;
++		FIPS_dsa_new;
++		int_RAND_set_callbacks;
++		BN_X931_derive_prime_ex;
++		int_ERR_lib_init;
++		int_EVP_CIPHER_init_engine_callbacks;
++		FIPS_rsa_free;
++		FIPS_dsa_sig_encode;
++		CRYPTO_dbg_remove_all_info;
++		OPENSSL_init;
++		CRYPTO_strdup;
++		JPAKE_STEP3A_process;
++		JPAKE_STEP1_release;
++		JPAKE_get_shared_key;
++		JPAKE_STEP3B_init;
++		JPAKE_STEP1_generate;
++		JPAKE_STEP1_init;
++		JPAKE_STEP3B_process;
++		JPAKE_STEP2_generate;
++		JPAKE_CTX_new;
++		JPAKE_CTX_free;
++		JPAKE_STEP3B_release;
++		JPAKE_STEP3A_release;
++		JPAKE_STEP2_process;
++		JPAKE_STEP3B_generate;
++		JPAKE_STEP1_process;
++		JPAKE_STEP3A_generate;
++		JPAKE_STEP2_release;
++		JPAKE_STEP3A_init;
++		ERR_load_JPAKE_strings;
++		JPAKE_STEP2_init;
++		pqueue_size;
++		i2d_TS_ACCURACY;
++		i2d_TS_MSG_IMPRINT_fp;
++		i2d_TS_MSG_IMPRINT;
++		EVP_PKEY_print_public;
++		EVP_PKEY_CTX_new;
++		i2d_TS_TST_INFO;
++		EVP_PKEY_asn1_find;
++		DSO_METHOD_beos;
++		TS_CONF_load_cert;
++		TS_REQ_get_ext;
++		EVP_PKEY_sign_init;
++		ASN1_item_print;
++		TS_TST_INFO_set_nonce;
++		TS_RESP_dup;
++		ENGINE_register_pkey_meths;
++		EVP_PKEY_asn1_add0;
++		PKCS7_add0_attrib_signing_time;
++		i2d_TS_TST_INFO_fp;
++		BIO_asn1_get_prefix;
++		TS_TST_INFO_set_time;
++		EVP_PKEY_meth_set_decrypt;
++		EVP_PKEY_set_type_str;
++		EVP_PKEY_CTX_get_keygen_info;
++		TS_REQ_set_policy_id;
++		d2i_TS_RESP_fp;
++		ENGINE_get_pkey_asn1_meth_engine;
++		ENGINE_get_pkey_asn1_meth_eng;
++		WHIRLPOOL_Init;
++		TS_RESP_set_status_info;
++		EVP_PKEY_keygen;
++		EVP_DigestSignInit;
++		TS_ACCURACY_set_millis;
++		TS_REQ_dup;
++		GENERAL_NAME_dup;
++		ASN1_SEQUENCE_ANY_it;
++		ASN1_SEQUENCE_ANY_it;
++		WHIRLPOOL;
++		X509_STORE_get1_crls;
++		ENGINE_get_pkey_asn1_meth;
++		EVP_PKEY_asn1_new;
++		BIO_new_NDEF;
++		ENGINE_get_pkey_meth;
++		TS_MSG_IMPRINT_set_algo;
++		i2d_TS_TST_INFO_bio;
++		TS_TST_INFO_set_ordering;
++		TS_TST_INFO_get_ext_by_OBJ;
++		CRYPTO_THREADID_set_pointer;
++		TS_CONF_get_tsa_section;
++		SMIME_write_ASN1;
++		TS_RESP_CTX_set_signer_key;
++		EVP_PKEY_encrypt_old;
++		EVP_PKEY_encrypt_init;
++		CRYPTO_THREADID_cpy;
++		ASN1_PCTX_get_cert_flags;
++		i2d_ESS_SIGNING_CERT;
++		TS_CONF_load_key;
++		i2d_ASN1_SEQUENCE_ANY;
++		d2i_TS_MSG_IMPRINT_bio;
++		EVP_PKEY_asn1_set_public;
++		b2i_PublicKey_bio;
++		BIO_asn1_set_prefix;
++		EVP_PKEY_new_mac_key;
++		BIO_new_CMS;
++		CRYPTO_THREADID_cmp;
++		TS_REQ_ext_free;
++		EVP_PKEY_asn1_set_free;
++		EVP_PKEY_get0_asn1;
++		d2i_NETSCAPE_X509;
++		EVP_PKEY_verify_recover_init;
++		EVP_PKEY_CTX_set_data;
++		EVP_PKEY_keygen_init;
++		TS_RESP_CTX_set_status_info;
++		TS_MSG_IMPRINT_get_algo;
++		TS_REQ_print_bio;
++		EVP_PKEY_CTX_ctrl_str;
++		EVP_PKEY_get_default_digest_nid;
++		PEM_write_bio_PKCS7_stream;
++		TS_MSG_IMPRINT_print_bio;
++		BN_asc2bn;
++		TS_REQ_get_policy_id;
++		ENGINE_set_default_pkey_asn1_meths;
++		ENGINE_set_def_pkey_asn1_meths;
++		d2i_TS_ACCURACY;
++		DSO_global_lookup;
++		TS_CONF_set_tsa_name;
++		i2d_ASN1_SET_ANY;
++		ENGINE_load_gost;
++		WHIRLPOOL_BitUpdate;
++		ASN1_PCTX_get_flags;
++		TS_TST_INFO_get_ext_by_NID;
++		TS_RESP_new;
++		ESS_CERT_ID_dup;
++		TS_STATUS_INFO_dup;
++		TS_REQ_delete_ext;
++		EVP_DigestVerifyFinal;
++		EVP_PKEY_print_params;
++		i2d_CMS_bio_stream;
++		TS_REQ_get_msg_imprint;
++		OBJ_find_sigid_by_algs;
++		TS_TST_INFO_get_serial;
++		TS_REQ_get_nonce;
++		X509_PUBKEY_set0_param;
++		EVP_PKEY_CTX_set0_keygen_info;
++		DIST_POINT_set_dpname;
++		i2d_ISSUING_DIST_POINT;
++		ASN1_SET_ANY_it;
++		ASN1_SET_ANY_it;
++		EVP_PKEY_CTX_get_data;
++		TS_STATUS_INFO_print_bio;
++		EVP_PKEY_derive_init;
++		d2i_TS_TST_INFO;
++		EVP_PKEY_asn1_add_alias;
++		d2i_TS_RESP_bio;
++		OTHERNAME_cmp;
++		GENERAL_NAME_set0_value;
++		PKCS7_RECIP_INFO_get0_alg;
++		TS_RESP_CTX_new;
++		TS_RESP_set_tst_info;
++		PKCS7_final;
++		EVP_PKEY_base_id;
++		TS_RESP_CTX_set_signer_cert;
++		TS_REQ_set_msg_imprint;
++		EVP_PKEY_CTX_ctrl;
++		TS_CONF_set_digests;
++		d2i_TS_MSG_IMPRINT;
++		EVP_PKEY_meth_set_ctrl;
++		TS_REQ_get_ext_by_NID;
++		PKCS5_pbe_set0_algor;
++		BN_BLINDING_thread_id;
++		TS_ACCURACY_new;
++		X509_CRL_METHOD_free;
++		ASN1_PCTX_get_nm_flags;
++		EVP_PKEY_meth_set_sign;
++		CRYPTO_THREADID_current;
++		EVP_PKEY_decrypt_init;
++		NETSCAPE_X509_free;
++		i2b_PVK_bio;
++		EVP_PKEY_print_private;
++		GENERAL_NAME_get0_value;
++		b2i_PVK_bio;
++		ASN1_UTCTIME_adj;
++		TS_TST_INFO_new;
++		EVP_MD_do_all_sorted;
++		TS_CONF_set_default_engine;
++		TS_ACCURACY_set_seconds;
++		TS_TST_INFO_get_time;
++		PKCS8_pkey_get0;
++		EVP_PKEY_asn1_get0;
++		OBJ_add_sigid;
++		PKCS7_SIGNER_INFO_sign;
++		EVP_PKEY_paramgen_init;
++		EVP_PKEY_sign;
++		OBJ_sigid_free;
++		EVP_PKEY_meth_set_init;
++		d2i_ESS_ISSUER_SERIAL;
++		ISSUING_DIST_POINT_new;
++		ASN1_TIME_adj;
++		TS_OBJ_print_bio;
++		EVP_PKEY_meth_set_verify_recover;
++		EVP_PKEY_meth_set_vrfy_recover;
++		TS_RESP_get_status_info;
++		CMS_stream;
++		EVP_PKEY_CTX_set_cb;
++		PKCS7_to_TS_TST_INFO;
++		ASN1_PCTX_get_oid_flags;
++		TS_TST_INFO_add_ext;
++		EVP_PKEY_meth_set_derive;
++		i2d_TS_RESP_fp;
++		i2d_TS_MSG_IMPRINT_bio;
++		TS_RESP_CTX_set_accuracy;
++		TS_REQ_set_nonce;
++		ESS_CERT_ID_new;
++		ENGINE_pkey_asn1_find_str;
++		TS_REQ_get_ext_count;
++		BUF_reverse;
++		TS_TST_INFO_print_bio;
++		d2i_ISSUING_DIST_POINT;
++		ENGINE_get_pkey_meths;
++		i2b_PrivateKey_bio;
++		i2d_TS_RESP;
++		b2i_PublicKey;
++		TS_VERIFY_CTX_cleanup;
++		TS_STATUS_INFO_free;
++		TS_RESP_verify_token;
++		OBJ_bsearch_ex_;
++		ASN1_bn_print;
++		EVP_PKEY_asn1_get_count;
++		ENGINE_register_pkey_asn1_meths;
++		ASN1_PCTX_set_nm_flags;
++		EVP_DigestVerifyInit;
++		ENGINE_set_default_pkey_meths;
++		TS_TST_INFO_get_policy_id;
++		TS_REQ_get_cert_req;
++		X509_CRL_set_meth_data;
++		PKCS8_pkey_set0;
++		ASN1_STRING_copy;
++		d2i_TS_TST_INFO_fp;
++		X509_CRL_match;
++		EVP_PKEY_asn1_set_private;
++		TS_TST_INFO_get_ext_d2i;
++		TS_RESP_CTX_add_policy;
++		d2i_TS_RESP;
++		TS_CONF_load_certs;
++		TS_TST_INFO_get_msg_imprint;
++		ERR_load_TS_strings;
++		TS_TST_INFO_get_version;
++		EVP_PKEY_CTX_dup;
++		EVP_PKEY_meth_set_verify;
++		i2b_PublicKey_bio;
++		TS_CONF_set_certs;
++		EVP_PKEY_asn1_get0_info;
++		TS_VERIFY_CTX_free;
++		TS_REQ_get_ext_by_critical;
++		TS_RESP_CTX_set_serial_cb;
++		X509_CRL_get_meth_data;
++		TS_RESP_CTX_set_time_cb;
++		TS_MSG_IMPRINT_get_msg;
++		TS_TST_INFO_ext_free;
++		TS_REQ_get_version;
++		TS_REQ_add_ext;
++		EVP_PKEY_CTX_set_app_data;
++		OBJ_bsearch_;
++		EVP_PKEY_meth_set_verifyctx;
++		i2d_PKCS7_bio_stream;
++		CRYPTO_THREADID_set_numeric;
++		PKCS7_sign_add_signer;
++		d2i_TS_TST_INFO_bio;
++		TS_TST_INFO_get_ordering;
++		TS_RESP_print_bio;
++		TS_TST_INFO_get_exts;
++		HMAC_CTX_copy;
++		PKCS5_pbe2_set_iv;
++		ENGINE_get_pkey_asn1_meths;
++		b2i_PrivateKey;
++		EVP_PKEY_CTX_get_app_data;
++		TS_REQ_set_cert_req;
++		CRYPTO_THREADID_set_callback;
++		TS_CONF_set_serial;
++		TS_TST_INFO_free;
++		d2i_TS_REQ_fp;
++		TS_RESP_verify_response;
++		i2d_ESS_ISSUER_SERIAL;
++		TS_ACCURACY_get_seconds;
++		EVP_CIPHER_do_all;
++		b2i_PrivateKey_bio;
++		OCSP_CERTID_dup;
++		X509_PUBKEY_get0_param;
++		TS_MSG_IMPRINT_dup;
++		PKCS7_print_ctx;
++		i2d_TS_REQ_bio;
++		EVP_whirlpool;
++		EVP_PKEY_asn1_set_param;
++		EVP_PKEY_meth_set_encrypt;
++		ASN1_PCTX_set_flags;
++		i2d_ESS_CERT_ID;
++		TS_VERIFY_CTX_new;
++		TS_RESP_CTX_set_extension_cb;
++		ENGINE_register_all_pkey_meths;
++		TS_RESP_CTX_set_status_info_cond;
++		TS_RESP_CTX_set_stat_info_cond;
++		EVP_PKEY_verify;
++		WHIRLPOOL_Final;
++		X509_CRL_METHOD_new;
++		EVP_DigestSignFinal;
++		TS_RESP_CTX_set_def_policy;
++		NETSCAPE_X509_it;
++		NETSCAPE_X509_it;
++		TS_RESP_create_response;
++		PKCS7_SIGNER_INFO_get0_algs;
++		TS_TST_INFO_get_nonce;
++		EVP_PKEY_decrypt_old;
++		TS_TST_INFO_set_policy_id;
++		TS_CONF_set_ess_cert_id_chain;
++		EVP_PKEY_CTX_get0_pkey;
++		d2i_TS_REQ;
++		EVP_PKEY_asn1_find_str;
++		BIO_f_asn1;
++		ESS_SIGNING_CERT_new;
++		EVP_PBE_find;
++		X509_CRL_get0_by_cert;
++		EVP_PKEY_derive;
++		i2d_TS_REQ;
++		TS_TST_INFO_delete_ext;
++		ESS_ISSUER_SERIAL_free;
++		ASN1_PCTX_set_str_flags;
++		ENGINE_get_pkey_asn1_meth_str;
++		TS_CONF_set_signer_key;
++		TS_ACCURACY_get_millis;
++		TS_RESP_get_token;
++		TS_ACCURACY_dup;
++		ENGINE_register_all_pkey_asn1_meths;
++		ENGINE_reg_all_pkey_asn1_meths;
++		X509_CRL_set_default_method;
++		CRYPTO_THREADID_hash;
++		CMS_ContentInfo_print_ctx;
++		TS_RESP_free;
++		ISSUING_DIST_POINT_free;
++		ESS_ISSUER_SERIAL_new;
++		CMS_add1_crl;
++		PKCS7_add1_attrib_digest;
++		TS_RESP_CTX_add_md;
++		TS_TST_INFO_dup;
++		ENGINE_set_pkey_asn1_meths;
++		PEM_write_bio_Parameters;
++		TS_TST_INFO_get_accuracy;
++		X509_CRL_get0_by_serial;
++		TS_TST_INFO_set_version;
++		TS_RESP_CTX_get_tst_info;
++		TS_RESP_verify_signature;
++		CRYPTO_THREADID_get_callback;
++		TS_TST_INFO_get_tsa;
++		TS_STATUS_INFO_new;
++		EVP_PKEY_CTX_get_cb;
++		TS_REQ_get_ext_d2i;
++		GENERAL_NAME_set0_othername;
++		TS_TST_INFO_get_ext_count;
++		TS_RESP_CTX_get_request;
++		i2d_NETSCAPE_X509;
++		ENGINE_get_pkey_meth_engine;
++		EVP_PKEY_meth_set_signctx;
++		EVP_PKEY_asn1_copy;
++		ASN1_TYPE_cmp;
++		EVP_CIPHER_do_all_sorted;
++		EVP_PKEY_CTX_free;
++		ISSUING_DIST_POINT_it;
++		ISSUING_DIST_POINT_it;
++		d2i_TS_MSG_IMPRINT_fp;
++		X509_STORE_get1_certs;
++		EVP_PKEY_CTX_get_operation;
++		d2i_ESS_SIGNING_CERT;
++		TS_CONF_set_ordering;
++		EVP_PBE_alg_add_type;
++		TS_REQ_set_version;
++		EVP_PKEY_get0;
++		BIO_asn1_set_suffix;
++		i2d_TS_STATUS_INFO;
++		EVP_MD_do_all;
++		TS_TST_INFO_set_accuracy;
++		PKCS7_add_attrib_content_type;
++		ERR_remove_thread_state;
++		EVP_PKEY_meth_add0;
++		TS_TST_INFO_set_tsa;
++		EVP_PKEY_meth_new;
++		WHIRLPOOL_Update;
++		TS_CONF_set_accuracy;
++		ASN1_PCTX_set_oid_flags;
++		ESS_SIGNING_CERT_dup;
++		d2i_TS_REQ_bio;
++		X509_time_adj_ex;
++		TS_RESP_CTX_add_flags;
++		d2i_TS_STATUS_INFO;
++		TS_MSG_IMPRINT_set_msg;
++		BIO_asn1_get_suffix;
++		TS_REQ_free;
++		EVP_PKEY_meth_free;
++		TS_REQ_get_exts;
++		TS_RESP_CTX_set_clock_precision_digits;
++		TS_RESP_CTX_set_clk_prec_digits;
++		TS_RESP_CTX_add_failure_info;
++		i2d_TS_RESP_bio;
++		EVP_PKEY_CTX_get0_peerkey;
++		PEM_write_bio_CMS_stream;
++		TS_REQ_new;
++		TS_MSG_IMPRINT_new;
++		EVP_PKEY_meth_find;
++		EVP_PKEY_id;
++		TS_TST_INFO_set_serial;
++		a2i_GENERAL_NAME;
++		TS_CONF_set_crypto_device;
++		EVP_PKEY_verify_init;
++		TS_CONF_set_policies;
++		ASN1_PCTX_new;
++		ESS_CERT_ID_free;
++		ENGINE_unregister_pkey_meths;
++		TS_MSG_IMPRINT_free;
++		TS_VERIFY_CTX_init;
++		PKCS7_stream;
++		TS_RESP_CTX_set_certs;
++		TS_CONF_set_def_policy;
++		ASN1_GENERALIZEDTIME_adj;
++		NETSCAPE_X509_new;
++		TS_ACCURACY_free;
++		TS_RESP_get_tst_info;
++		EVP_PKEY_derive_set_peer;
++		PEM_read_bio_Parameters;
++		TS_CONF_set_clock_precision_digits;
++		TS_CONF_set_clk_prec_digits;
++		ESS_ISSUER_SERIAL_dup;
++		TS_ACCURACY_get_micros;
++		ASN1_PCTX_get_str_flags;
++		NAME_CONSTRAINTS_check;
++		ASN1_BIT_STRING_check;
++		X509_check_akid;
++		ENGINE_unregister_pkey_asn1_meths;
++		ENGINE_unreg_pkey_asn1_meths;
++		ASN1_PCTX_free;
++		PEM_write_bio_ASN1_stream;
++		i2d_ASN1_bio_stream;
++		TS_X509_ALGOR_print_bio;
++		EVP_PKEY_meth_set_cleanup;
++		EVP_PKEY_asn1_free;
++		ESS_SIGNING_CERT_free;
++		TS_TST_INFO_set_msg_imprint;
++		GENERAL_NAME_cmp;
++		d2i_ASN1_SET_ANY;
++		ENGINE_set_pkey_meths;
++		i2d_TS_REQ_fp;
++		d2i_ASN1_SEQUENCE_ANY;
++		GENERAL_NAME_get0_otherName;
++		d2i_ESS_CERT_ID;
++		OBJ_find_sigid_algs;
++		EVP_PKEY_meth_set_keygen;
++		PKCS5_PBKDF2_HMAC;
++		EVP_PKEY_paramgen;
++		EVP_PKEY_meth_set_paramgen;
++		BIO_new_PKCS7;
++		EVP_PKEY_verify_recover;
++		TS_ext_print_bio;
++		TS_ASN1_INTEGER_print_bio;
++		check_defer;
++		DSO_pathbyaddr;
++		EVP_PKEY_set_type;
++		TS_ACCURACY_set_micros;
++		TS_REQ_to_TS_VERIFY_CTX;
++		EVP_PKEY_meth_set_copy;
++		ASN1_PCTX_set_cert_flags;
++		TS_TST_INFO_get_ext;
++		EVP_PKEY_asn1_set_ctrl;
++		TS_TST_INFO_get_ext_by_critical;
++		EVP_PKEY_CTX_new_id;
++		TS_REQ_get_ext_by_OBJ;
++		TS_CONF_set_signer_cert;
++		X509_NAME_hash_old;
++		ASN1_TIME_set_string;
++		EVP_MD_flags;
++		TS_RESP_CTX_free;
++		DSAparams_dup;
++		DHparams_dup;
++		OCSP_REQ_CTX_add1_header;
++		OCSP_REQ_CTX_set1_req;
++		X509_STORE_set_verify_cb;
++		X509_STORE_CTX_get0_current_crl;
++		X509_STORE_CTX_get0_parent_ctx;
++		X509_STORE_CTX_get0_current_issuer;
++		X509_STORE_CTX_get0_cur_issuer;
++		X509_issuer_name_hash_old;
++		X509_subject_name_hash_old;
++		EVP_CIPHER_CTX_copy;
++		UI_method_get_prompt_constructor;
++		UI_method_get_prompt_constructr;
++		UI_method_set_prompt_constructor;
++		UI_method_set_prompt_constructr;
++		EVP_read_pw_string_min;
++		CRYPTO_cts128_encrypt;
++		CRYPTO_cts128_decrypt_block;
++		CRYPTO_cfb128_1_encrypt;
++		CRYPTO_cbc128_encrypt;
++		CRYPTO_ctr128_encrypt;
++		CRYPTO_ofb128_encrypt;
++		CRYPTO_cts128_decrypt;
++		CRYPTO_cts128_encrypt_block;
++		CRYPTO_cbc128_decrypt;
++		CRYPTO_cfb128_encrypt;
++		CRYPTO_cfb128_8_encrypt;
++
++	local:
++		*;
++};
++
++
++OPENSSL_1.0.1 {
++	global:
++		SSL_renegotiate_abbreviated;
++		TLSv1_1_method;
++		TLSv1_1_client_method;
++		TLSv1_1_server_method;
++		SSL_CTX_set_srp_client_pwd_callback;
++		SSL_CTX_set_srp_client_pwd_cb;
++		SSL_get_srp_g;
++		SSL_CTX_set_srp_username_callback;
++		SSL_CTX_set_srp_un_cb;
++		SSL_get_srp_userinfo;
++		SSL_set_srp_server_param;
++		SSL_set_srp_server_param_pw;
++		SSL_get_srp_N;
++		SSL_get_srp_username;
++		SSL_CTX_set_srp_password;
++		SSL_CTX_set_srp_strength;
++		SSL_CTX_set_srp_verify_param_callback;
++		SSL_CTX_set_srp_vfy_param_cb;
++		SSL_CTX_set_srp_cb_arg;
++		SSL_CTX_set_srp_username;
++		SSL_CTX_SRP_CTX_init;
++		SSL_SRP_CTX_init;
++		SRP_Calc_A_param;
++		SRP_generate_server_master_secret;
++		SRP_gen_server_master_secret;
++		SSL_CTX_SRP_CTX_free;
++		SRP_generate_client_master_secret;
++		SRP_gen_client_master_secret;
++		SSL_srp_server_param_with_username;
++		SSL_srp_server_param_with_un;
++		SSL_SRP_CTX_free;
++		SSL_set_debug;
++		SSL_SESSION_get0_peer;
++		TLSv1_2_client_method;
++		SSL_SESSION_set1_id_context;
++		TLSv1_2_server_method;
++		SSL_cache_hit;
++		SSL_get0_kssl_ctx;
++		SSL_set0_kssl_ctx;
++		SSL_set_state;
++		SSL_CIPHER_get_id;
++		TLSv1_2_method;
++		kssl_ctx_get0_client_princ;
++		SSL_export_keying_material;
++		SSL_set_tlsext_use_srtp;
++		SSL_CTX_set_next_protos_advertised_cb;
++		SSL_CTX_set_next_protos_adv_cb;
++		SSL_get0_next_proto_negotiated;
++		SSL_get_selected_srtp_profile;
++		SSL_CTX_set_tlsext_use_srtp;
++		SSL_select_next_proto;
++		SSL_get_srtp_profiles;
++		SSL_CTX_set_next_proto_select_cb;
++		SSL_CTX_set_next_proto_sel_cb;
++		SSL_SESSION_get_compress_id;
++
++		SRP_VBASE_get_by_user;
++		SRP_Calc_server_key;
++		SRP_create_verifier;
++		SRP_create_verifier_BN;
++		SRP_Calc_u;
++		SRP_VBASE_free;
++		SRP_Calc_client_key;
++		SRP_get_default_gN;
++		SRP_Calc_x;
++		SRP_Calc_B;
++		SRP_VBASE_new;
++		SRP_check_known_gN_param;
++		SRP_Calc_A;
++		SRP_Verify_A_mod_N;
++		SRP_VBASE_init;
++		SRP_Verify_B_mod_N;
++		EC_KEY_set_public_key_affine_coordinates;
++		EC_KEY_set_pub_key_aff_coords;
++		EVP_aes_192_ctr;
++		EVP_PKEY_meth_get0_info;
++		EVP_PKEY_meth_copy;
++		ERR_add_error_vdata;
++		EVP_aes_128_ctr;
++		EVP_aes_256_ctr;
++		EC_GFp_nistp224_method;
++		EC_KEY_get_flags;
++		RSA_padding_add_PKCS1_PSS_mgf1;
++		EVP_aes_128_xts;
++		EVP_aes_256_xts;
++		EVP_aes_128_gcm;
++		EC_KEY_clear_flags;
++		EC_KEY_set_flags;
++		EVP_aes_256_ccm;
++		RSA_verify_PKCS1_PSS_mgf1;
++		EVP_aes_128_ccm;
++		EVP_aes_192_gcm;
++		X509_ALGOR_set_md;
++		RAND_init_fips;
++		EVP_aes_256_gcm;
++		EVP_aes_192_ccm;
++		CMAC_CTX_copy;
++		CMAC_CTX_free;
++		CMAC_CTX_get0_cipher_ctx;
++		CMAC_CTX_cleanup;
++		CMAC_Init;
++		CMAC_Update;
++		CMAC_resume;
++		CMAC_CTX_new;
++		CMAC_Final;
++		CRYPTO_ctr128_encrypt_ctr32;
++		CRYPTO_gcm128_release;
++		CRYPTO_ccm128_decrypt_ccm64;
++		CRYPTO_ccm128_encrypt;
++		CRYPTO_gcm128_encrypt;
++		CRYPTO_xts128_encrypt;
++		EVP_rc4_hmac_md5;
++		CRYPTO_nistcts128_decrypt_block;
++		CRYPTO_gcm128_setiv;
++		CRYPTO_nistcts128_encrypt;
++		EVP_aes_128_cbc_hmac_sha1;
++		CRYPTO_gcm128_tag;
++		CRYPTO_ccm128_encrypt_ccm64;
++		ENGINE_load_rdrand;
++		CRYPTO_ccm128_setiv;
++		CRYPTO_nistcts128_encrypt_block;
++		CRYPTO_gcm128_aad;
++		CRYPTO_ccm128_init;
++		CRYPTO_nistcts128_decrypt;
++		CRYPTO_gcm128_new;
++		CRYPTO_ccm128_tag;
++		CRYPTO_ccm128_decrypt;
++		CRYPTO_ccm128_aad;
++		CRYPTO_gcm128_init;
++		CRYPTO_gcm128_decrypt;
++		ENGINE_load_rsax;
++		CRYPTO_gcm128_decrypt_ctr32;
++		CRYPTO_gcm128_encrypt_ctr32;
++		CRYPTO_gcm128_finish;
++		EVP_aes_256_cbc_hmac_sha1;
++		PKCS5_pbkdf2_set;
++		CMS_add0_recipient_password;
++		CMS_decrypt_set1_password;
++		CMS_RecipientInfo_set0_password;
++		RAND_set_fips_drbg_type;
++		X509_REQ_sign_ctx;
++		RSA_PSS_PARAMS_new;
++		X509_CRL_sign_ctx;
++		X509_signature_dump;
++		d2i_RSA_PSS_PARAMS;
++		RSA_PSS_PARAMS_it;
++		RSA_PSS_PARAMS_it;
++		RSA_PSS_PARAMS_free;
++		X509_sign_ctx;
++		i2d_RSA_PSS_PARAMS;
++		ASN1_item_sign_ctx;
++		EC_GFp_nistp521_method;
++		EC_GFp_nistp256_method;
++		OPENSSL_stderr;
++		OPENSSL_cpuid_setup;
++		OPENSSL_showfatal;
++		BIO_new_dgram_sctp;
++		BIO_dgram_sctp_msg_waiting;
++		BIO_dgram_sctp_wait_for_dry;
++		BIO_s_datagram_sctp;
++		BIO_dgram_is_sctp;
++		BIO_dgram_sctp_notification_cb;
++} OPENSSL_1.0.0;
++
++OPENSSL_1.0.1d {
++	global:
++		CRYPTO_memcmp;
++} OPENSSL_1.0.1;
++
+Index: openssl-1.0.1d/engines/openssl.ld
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ openssl-1.0.1d/engines/openssl.ld	2013-02-06 19:41:43.000000000 +0100
+@@ -0,0 +1,10 @@
++OPENSSL_1.0.0 {
++	global:
++		bind_engine;
++		v_check;
++		OPENSSL_init;
++		OPENSSL_finish;
++	local:
++		*;
++};
++
+Index: openssl-1.0.1d/engines/ccgost/openssl.ld
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ openssl-1.0.1d/engines/ccgost/openssl.ld	2013-02-06 19:41:43.000000000 +0100
+@@ -0,0 +1,10 @@
++OPENSSL_1.0.0 {
++	global:
++		bind_engine;
++		v_check;
++		OPENSSL_init;
++		OPENSSL_finish;
++	local:
++		*;
++};
++
diff --git a/recipes-connectivity/openssl/openssl/engines-install-in-libdir-ssl.patch b/recipes-connectivity/openssl/openssl/engines-install-in-libdir-ssl.patch
new file mode 100644
index 0000000..d8a6f1a
--- /dev/null
+++ b/recipes-connectivity/openssl/openssl/engines-install-in-libdir-ssl.patch
@@ -0,0 +1,56 @@
+Upstream-Status: Inappropriate [configuration]
+
+
+Index: openssl-1.0.0/engines/Makefile
+===================================================================
+--- openssl-1.0.0.orig/engines/Makefile
++++ openssl-1.0.0/engines/Makefile
+@@ -107,7 +107,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)/$(LIBDIR)/engines; \
++		$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines; \
+ 		for l in $(LIBNAMES); do \
+ 			( echo installing $$l; \
+ 			  pfx=lib; \
+@@ -119,13 +119,13 @@
+ 				*DSO_WIN32*)	sfx="eay32.dll"; pfx=;;	\
+ 				*)		sfx=".bad";;	\
+ 				esac; \
+-				cp $$pfx$$l$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new; \
++				cp $$pfx$$l$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$$pfx$$l$$sfx.new; \
+ 			  else \
+ 				sfx=".so"; \
+-				cp cyg$$l.dll $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new; \
++				cp cyg$$l.dll $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$$pfx$$l$$sfx.new; \
+ 			  fi; \
+-			  chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new; \
+-			  mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx ); \
++			  chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$$pfx$$l$$sfx.new; \
++			  mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$$pfx$$l$$sfx ); \
+ 		done; \
+ 	fi
+ 	@target=install; $(RECURSIVE_MAKE)
+Index: openssl-1.0.0/engines/ccgost/Makefile
+===================================================================
+--- openssl-1.0.0.orig/engines/ccgost/Makefile
++++ openssl-1.0.0/engines/ccgost/Makefile
+@@ -53,13 +53,13 @@
+ 			*DSO_WIN32*) sfx="eay32.dll"; pfx=;; \
+ 			*) sfx=".bad";; \
+ 			esac; \
+-			cp $${pfx}$(LIBNAME)$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$${pfx}$(LIBNAME)$$sfx.new; \
++			cp $${pfx}$(LIBNAME)$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$${pfx}$(LIBNAME)$$sfx.new; \
+ 		else \
+ 			sfx=".so"; \
+-			cp cyg$(LIBNAME).dll $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$${pfx}$(LIBNAME)$$sfx.new; \
++			cp cyg$(LIBNAME).dll $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$${pfx}$(LIBNAME)$$sfx.new; \
+ 		fi; \
+-		chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$${pfx}$(LIBNAME)$$sfx.new; \
+-		mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$${pfx}$(LIBNAME)$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$${pfx}$(LIBNAME)$$sfx; \
++		chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$${pfx}$(LIBNAME)$$sfx.new; \
++		mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$${pfx}$(LIBNAME)$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$${pfx}$(LIBNAME)$$sfx; \
+ 	fi
+ 
+ links:
diff --git a/recipes-connectivity/openssl/openssl/find.pl b/recipes-connectivity/openssl/openssl/find.pl
new file mode 100644
index 0000000..8e1b42c
--- /dev/null
+++ b/recipes-connectivity/openssl/openssl/find.pl
@@ -0,0 +1,54 @@
+warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
+
+# This library is deprecated and unmaintained. It is included for
+# compatibility with Perl 4 scripts which may use it, but it will be
+# removed in a future version of Perl. Please use the File::Find module
+# instead.
+
+# Usage:
+#	require "find.pl";
+#
+#	&find('/foo','/bar');
+#
+#	sub wanted { ... }
+#		where wanted does whatever you want.  $dir contains the
+#		current directory name, and $_ the current filename within
+#		that directory.  $name contains "$dir/$_".  You are cd'ed
+#		to $dir when the function is called.  The function may
+#		set $prune to prune the tree.
+#
+# For example,
+#
+#   find / -name .nfs\* -mtime +7 -exec rm -f {} \; -o -fstype nfs -prune
+#
+# corresponds to this
+#
+#	sub wanted {
+#	    /^\.nfs.*$/ &&
+#	    (($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_)) &&
+#	    int(-M _) > 7 &&
+#	    unlink($_)
+#	    ||
+#	    ($nlink || (($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_))) &&
+#	    $dev < 0 &&
+#	    ($prune = 1);
+#	}
+#
+# Set the variable $dont_use_nlink if you're using AFS, since AFS cheats.
+
+use File::Find ();
+
+*name		= *File::Find::name;
+*prune		= *File::Find::prune;
+*dir		= *File::Find::dir;
+*topdir		= *File::Find::topdir;
+*topdev		= *File::Find::topdev;
+*topino		= *File::Find::topino;
+*topmode	= *File::Find::topmode;
+*topnlink	= *File::Find::topnlink;
+
+sub find {
+    &File::Find::find(\&wanted, @_);
+}
+
+1;
diff --git a/recipes-connectivity/openssl/openssl/fix-cipher-des-ede3-cfb1.patch b/recipes-connectivity/openssl/openssl/fix-cipher-des-ede3-cfb1.patch
new file mode 100644
index 0000000..f0e1778
--- /dev/null
+++ b/recipes-connectivity/openssl/openssl/fix-cipher-des-ede3-cfb1.patch
@@ -0,0 +1,22 @@
+Upstream-Status: Submitted
+
+This patch adds the fix for one of the ciphers used in openssl, namely
+the cipher des-ede3-cfb1. Complete bug log and patch is present here:
+http://rt.openssl.org/Ticket/Display.html?id=2867
+
+Signed-Off-By: Muhammad Shakeel <muhammad_shakeel@mentor.com>
+
+diff --git a/crypto/evp/e_des3.c b/crypto/evp/e_des3.c
+index 3232cfe..df84922 100644
+===================================================================
+--- a/crypto/evp/e_des3.c
++++ b/crypto/evp/e_des3.c
+@@ -173,7 +173,7 @@ static int des_ede3_cfb1_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
+     size_t n;
+     unsigned char c[1],d[1];
+ 
+-    for(n=0 ; n < inl ; ++n)
++    for(n=0 ; n < inl*8 ; ++n)
+ 	{
+ 	c[0]=(in[n/8]&(1 << (7-n%8))) ? 0x80 : 0;
+	DES_ede3_cfb_encrypt(c,d,1,1,
diff --git a/recipes-connectivity/openssl/openssl/initial-aarch64-bits.patch b/recipes-connectivity/openssl/openssl/initial-aarch64-bits.patch
new file mode 100644
index 0000000..2185ff8
--- /dev/null
+++ b/recipes-connectivity/openssl/openssl/initial-aarch64-bits.patch
@@ -0,0 +1,119 @@
+From: Andy Polyakov <appro@openssl.org>
+Date: Sun, 13 Oct 2013 17:15:15 +0000 (+0200)
+Subject: Initial aarch64 bits.
+X-Git-Url: http://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff_plain;h=039081b80977e2a5de84e1f88f8b4d025b559956
+
+Initial aarch64 bits.
+---
+ crypto/bn/bn_lcl.h       |    9 +++++++++
+ crypto/md32_common.h     |   18 ++++++++++++++++++
+ crypto/modes/modes_lcl.h |    8 ++++++++
+ crypto/sha/sha512.c      |   13 +++++++++++++
+ 4 files changed, 48 insertions(+)
+
+Index: openssl-1.0.1f/crypto/bn/bn_lcl.h
+===================================================================
+--- openssl-1.0.1f.orig/crypto/bn/bn_lcl.h	2014-01-06 15:47:42.000000000 +0200
++++ openssl-1.0.1f/crypto/bn/bn_lcl.h	2014-02-28 10:37:55.495979037 +0200
+@@ -300,6 +300,15 @@
+ 	     : "r"(a), "r"(b));
+ #    endif
+ #  endif
++# elif defined(__aarch64__) && defined(SIXTY_FOUR_BIT_LONG)
++#  if defined(__GNUC__) && __GNUC__>=2
++#   define BN_UMULT_HIGH(a,b)  ({  \
++   register BN_ULONG ret;      \
++   asm ("umulh %0,%1,%2"   \
++        : "=r"(ret)        \
++        : "r"(a), "r"(b));     \
++   ret;            })
++#  endif
+ # endif		/* cpu */
+ #endif		/* OPENSSL_NO_ASM */
+ 
+Index: openssl-1.0.1f/crypto/md32_common.h
+===================================================================
+--- openssl-1.0.1f.orig/crypto/md32_common.h	2014-01-06 15:47:42.000000000 +0200
++++ openssl-1.0.1f/crypto/md32_common.h	2014-02-28 10:39:21.751979107 +0200
+@@ -213,6 +213,24 @@
+ 				   asm ("bswapl %0":"=r"(r):"0"(r));	\
+ 				   *((unsigned int *)(c))=r; (c)+=4; r;	})
+ #   endif
++#  elif defined(__aarch64__)
++#   if defined(__BYTE_ORDER__)
++#    if defined(__ORDER_LITTLE_ENDIAN__) && __BYTE_ORDER__==__ORDER_LITTLE_ENDIAN__
++#     define HOST_c2l(c,l) ({ unsigned int r;      \
++                  asm ("rev    %w0,%w1"    \
++                   :"=r"(r)        \
++                   :"r"(*((const unsigned int *)(c))));\
++                  (c)+=4; (l)=r;       })
++#     define HOST_l2c(l,c) ({ unsigned int r;      \
++                  asm ("rev    %w0,%w1"    \
++                   :"=r"(r)        \
++                   :"r"((unsigned int)(l)));\
++                  *((unsigned int *)(c))=r; (c)+=4; r; })
++#    elif defined(__ORDER_BIG_ENDIAN__) && __BYTE_ORDER__==__ORDER_BIG_ENDIAN__
++#     define HOST_c2l(c,l) ((l)=*((const unsigned int *)(c)), (c)+=4, (l))
++#     define HOST_l2c(l,c) (*((unsigned int *)(c))=(l), (c)+=4, (l))
++#    endif
++#   endif
+ #  endif
+ # endif
+ #endif
+Index: openssl-1.0.1f/crypto/modes/modes_lcl.h
+===================================================================
+--- openssl-1.0.1f.orig/crypto/modes/modes_lcl.h	2014-02-28 10:47:48.731979011 +0200
++++ openssl-1.0.1f/crypto/modes/modes_lcl.h	2014-02-28 10:48:49.707978919 +0200
+@@ -29,6 +29,7 @@
+ #if defined(__i386)	|| defined(__i386__)	|| \
+     defined(__x86_64)	|| defined(__x86_64__)	|| \
+     defined(_M_IX86)	|| defined(_M_AMD64)	|| defined(_M_X64) || \
++    defined(__aarch64__)           || \
+     defined(__s390__)	|| defined(__s390x__)
+ # undef STRICT_ALIGNMENT
+ #endif
+@@ -50,6 +51,13 @@
+ #  define BSWAP4(x) ({	u32 ret=(x);			\
+ 			asm ("bswapl %0"		\
+ 			: "+r"(ret));	ret;		})
++# elif defined(__aarch64__)
++#  define BSWAP8(x) ({ u64 ret;            \
++           asm ("rev %0,%1"        \
++           : "=r"(ret) : "r"(x)); ret; })
++#  define BSWAP4(x) ({ u32 ret;            \
++           asm ("rev %w0,%w1"      \
++           : "=r"(ret) : "r"(x)); ret; })
+ # elif (defined(__arm__) || defined(__arm)) && !defined(STRICT_ALIGNMENT)
+ #  define BSWAP8(x) ({	u32 lo=(u64)(x)>>32,hi=(x);	\
+ 			asm ("rev %0,%0; rev %1,%1"	\
+Index: openssl-1.0.1f/crypto/sha/sha512.c
+===================================================================
+--- openssl-1.0.1f.orig/crypto/sha/sha512.c	2014-01-06 15:47:42.000000000 +0200
++++ openssl-1.0.1f/crypto/sha/sha512.c	2014-02-28 10:52:14.579978981 +0200
+@@ -55,6 +55,7 @@
+ #if defined(__i386) || defined(__i386__) || defined(_M_IX86) || \
+     defined(__x86_64) || defined(_M_AMD64) || defined(_M_X64) || \
+     defined(__s390__) || defined(__s390x__) || \
++    defined(__aarch64__) || \
+     defined(SHA512_ASM)
+ #define SHA512_BLOCK_CAN_MANAGE_UNALIGNED_DATA
+ #endif
+@@ -347,6 +348,18 @@
+ 				asm ("rotrdi %0,%1,%2"	\
+ 				: "=r"(ret)		\
+ 				: "r"(a),"K"(n)); ret;	})
++#  elif defined(__aarch64__)
++#   define ROTR(a,n)   ({ SHA_LONG64 ret;      \
++               asm ("ror %0,%1,%2" \
++               : "=r"(ret)     \
++               : "r"(a),"I"(n)); ret;  })
++#   if  defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && \
++   __BYTE_ORDER__==__ORDER_LITTLE_ENDIAN__
++#    define PULL64(x)  ({ SHA_LONG64 ret;          \
++               asm ("rev   %0,%1"      \
++               : "=r"(ret)         \
++               : "r"(*((const SHA_LONG64 *)(&(x))))); ret;     })
++#   endif
+ #  endif
+ # elif defined(_MSC_VER)
+ #  if defined(_WIN64)	/* applies to both IA-64 and AMD64 */
diff --git a/recipes-connectivity/openssl/openssl/oe-ldflags.patch b/recipes-connectivity/openssl/openssl/oe-ldflags.patch
new file mode 100644
index 0000000..292e13d
--- /dev/null
+++ b/recipes-connectivity/openssl/openssl/oe-ldflags.patch
@@ -0,0 +1,24 @@
+Upstream-Status: Inappropriate [open-embedded]
+
+Index: openssl-1.0.0/Makefile.shared
+===================================================================
+--- openssl-1.0.0.orig/Makefile.shared
++++ openssl-1.0.0/Makefile.shared
+@@ -92,7 +92,7 @@
+ LINK_APP=	\
+   ( $(SET_X);   \
+     LIBDEPS="$${LIBDEPS:-$(LIBDEPS)}"; \
+-    LDCMD="$${LDCMD:-$(CC)}"; LDFLAGS="$${LDFLAGS:-$(CFLAGS)}"; \
++    LDCMD="$${LDCMD:-$(CC)}"; LDFLAGS="$(OE_LDFLAGS) $${LDFLAGS:-$(CFLAGS)}"; \
+     LIBPATH=`for x in $$LIBDEPS; do echo $$x; done | sed -e 's/^ *-L//;t' -e d | uniq`; \
+     LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
+     LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
+@@ -102,7 +102,7 @@
+   ( $(SET_X);   \
+     LIBDEPS="$${LIBDEPS:-$(LIBDEPS)}"; \
+     SHAREDCMD="$${SHAREDCMD:-$(CC)}"; \
+-    SHAREDFLAGS="$${SHAREDFLAGS:-$(CFLAGS) $(SHARED_LDFLAGS)}"; \
++    SHAREDFLAGS="$(OE_LDFLAGS) $${SHAREDFLAGS:-$(CFLAGS) $(SHARED_LDFLAGS)}"; \
+     LIBPATH=`for x in $$LIBDEPS; do echo $$x; done | sed -e 's/^ *-L//;t' -e d | uniq`; \
+     LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
+     LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
diff --git a/recipes-connectivity/openssl/openssl/openssl-avoid-NULL-pointer-dereference-in-EVP_DigestInit_ex.patch b/recipes-connectivity/openssl/openssl/openssl-avoid-NULL-pointer-dereference-in-EVP_DigestInit_ex.patch
new file mode 100644
index 0000000..c161e62
--- /dev/null
+++ b/recipes-connectivity/openssl/openssl/openssl-avoid-NULL-pointer-dereference-in-EVP_DigestInit_ex.patch
@@ -0,0 +1,21 @@
+openssl: avoid NULL pointer dereference in EVP_DigestInit_ex()
+
+We should avoid accessing the type pointer if it's NULL,
+this could happen if ctx->digest is not NULL.
+
+Upstream-Status: Submitted
+http://www.mail-archive.com/openssl-dev@openssl.org/msg32860.html
+
+Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com>
+---
+--- a/crypto/evp/digest.c
++++ b/crypto/evp/digest.c
+@@ -199,7 +199,7 @@
+ 		return 0;
+ 		}
+ #endif
+-	if (ctx->digest != type)
++	if (type && (ctx->digest != type))
+ 		{
+ 		if (ctx->digest && ctx->digest->ctx_size)
+ 			OPENSSL_free(ctx->md_data);
diff --git a/recipes-connectivity/openssl/openssl/openssl-avoid-NULL-pointer-dereference-in-dh_pub_encode.patch b/recipes-connectivity/openssl/openssl/openssl-avoid-NULL-pointer-dereference-in-dh_pub_encode.patch
new file mode 100644
index 0000000..3e93fe4
--- /dev/null
+++ b/recipes-connectivity/openssl/openssl/openssl-avoid-NULL-pointer-dereference-in-dh_pub_encode.patch
@@ -0,0 +1,39 @@
+openssl: avoid NULL pointer dereference in dh_pub_encode()/dsa_pub_encode()
+
+We should avoid accessing the pointer if ASN1_STRING_new()
+allocates memory failed.
+
+Upstream-Status: Submitted
+http://www.mail-archive.com/openssl-dev@openssl.org/msg32859.html
+
+Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com>
+---
+--- a/crypto/dh/dh_ameth.c
++++ b/crypto/dh/dh_ameth.c
+@@ -139,6 +139,12 @@
+ 	dh=pkey->pkey.dh;
+ 
+ 	str = ASN1_STRING_new();
++	if (!str)
++		{
++		DHerr(DH_F_DH_PUB_ENCODE, ERR_R_MALLOC_FAILURE);
++		goto err;
++		}
++
+ 	str->length = i2d_DHparams(dh, &str->data);
+ 	if (str->length <= 0)
+ 		{
+--- a/crypto/dsa/dsa_ameth.c
++++ b/crypto/dsa/dsa_ameth.c
+@@ -148,6 +148,11 @@
+ 		{
+ 		ASN1_STRING *str;
+ 		str = ASN1_STRING_new();
++		if (!str)
++			{
++			DSAerr(DSA_F_DSA_PUB_ENCODE, ERR_R_MALLOC_FAILURE);
++			goto err;
++			}
+ 		str->length = i2d_DSAparams(dsa, &str->data);
+ 		if (str->length <= 0)
+ 			{
diff --git a/recipes-connectivity/openssl/openssl/openssl-fix-des.pod-error.patch b/recipes-connectivity/openssl/openssl/openssl-fix-des.pod-error.patch
new file mode 100644
index 0000000..de49729
--- /dev/null
+++ b/recipes-connectivity/openssl/openssl/openssl-fix-des.pod-error.patch
@@ -0,0 +1,19 @@
+openssl: Fix pod2man des.pod error on Ubuntu 12.04
+
+This is a formatting fix, '=back' is required before
+'=head1' on Ubuntu 12.04.
+
+Upstream-Status: Pending
+Signed-off-by: Baogen Shang <baogen.shang@windriver.com>
+diff -urpN a_origin/des.pod b_modify/des.pod
+--- a_origin/crypto/des/des.pod	2013-08-15 15:02:56.211674589 +0800
++++ b_modify/crypto/des/des.pod	2013-08-15 15:04:14.439674580 +0800
+@@ -181,6 +181,8 @@ the uuencoded file to embed in the begin
+ output.  If there is no name specified after the B<-u>, the name text.des
+ will be embedded in the header.
+ 
++=back
++
+ =head1 SEE ALSO
+ 
+ ps(1),
diff --git a/recipes-connectivity/openssl/openssl/openssl-fix-doc.patch b/recipes-connectivity/openssl/openssl/openssl-fix-doc.patch
new file mode 100644
index 0000000..451256e
--- /dev/null
+++ b/recipes-connectivity/openssl/openssl/openssl-fix-doc.patch
@@ -0,0 +1,401 @@
+Fix documentation build errors with Perl 5.18 pod2man
+
+This fixes errors building man pages with newer versions of pod2man
+included with Perl 5.18.
+
+Upstream-Status: Submitted
+Signed-off-by: Jonathan Liu
+
+Index: openssl-1.0.1f/doc/apps/cms.pod
+===================================================================
+--- openssl-1.0.1f.orig/doc/apps/cms.pod	2014-01-06 15:47:42.000000000 +0200
++++ openssl-1.0.1f/doc/apps/cms.pod	2014-02-28 10:13:51.899979213 +0200
+@@ -450,28 +450,28 @@
+ 
+ =over 4
+ 
+-=item 0
++=item Z<>0
+ 
+ the operation was completely successfully.
+ 
+-=item 1 
++=item Z<>1 
+ 
+ an error occurred parsing the command options.
+ 
+-=item 2
++=item Z<>2
+ 
+ one of the input files could not be read.
+ 
+-=item 3
++=item Z<>3
+ 
+ an error occurred creating the CMS file or when reading the MIME
+ message.
+ 
+-=item 4
++=item Z<>4
+ 
+ an error occurred decrypting or verifying the message.
+ 
+-=item 5
++=item Z<>5
+ 
+ the message was verified correctly but an error occurred writing out
+ the signers certificates.
+Index: openssl-1.0.1f/doc/apps/smime.pod
+===================================================================
+--- openssl-1.0.1f.orig/doc/apps/smime.pod	2014-01-06 15:47:42.000000000 +0200
++++ openssl-1.0.1f/doc/apps/smime.pod	2014-02-28 10:16:57.795979233 +0200
+@@ -308,28 +308,28 @@
+ 
+ =over 4
+ 
+-=item 0
++=item Z<>0
+ 
+ the operation was completely successfully.
+ 
+-=item 1 
++=item Z<>1 
+ 
+ an error occurred parsing the command options.
+ 
+-=item 2
++=item Z<>2
+ 
+ one of the input files could not be read.
+ 
+-=item 3
++=item Z<>3
+ 
+ an error occurred creating the PKCS#7 file or when reading the MIME
+ message.
+ 
+-=item 4
++=item Z<>4
+ 
+ an error occurred decrypting or verifying the message.
+ 
+-=item 5
++=item Z<>5
+ 
+ the message was verified correctly but an error occurred writing out
+ the signers certificates.
+Index: openssl-1.0.1f/doc/ssl/SSL_COMP_add_compression_method.pod
+===================================================================
+--- openssl-1.0.1f.orig/doc/ssl/SSL_COMP_add_compression_method.pod	2014-01-06 15:47:42.000000000 +0200
++++ openssl-1.0.1f/doc/ssl/SSL_COMP_add_compression_method.pod	2014-02-28 10:18:09.679979225 +0200
+@@ -53,11 +53,11 @@
+ 
+ =over 4
+ 
+-=item 0
++=item Z<>0
+ 
+ The operation succeeded.
+ 
+-=item 1
++=item Z<>1
+ 
+ The operation failed. Check the error queue to find out the reason.
+ 
+Index: openssl-1.0.1f/doc/ssl/SSL_CTX_add_session.pod
+===================================================================
+--- openssl-1.0.1f.orig/doc/ssl/SSL_CTX_add_session.pod	2014-01-06 15:47:42.000000000 +0200
++++ openssl-1.0.1f/doc/ssl/SSL_CTX_add_session.pod	2014-02-28 10:18:42.687979221 +0200
+@@ -52,13 +52,13 @@
+ 
+ =over 4
+ 
+-=item 0
++=item Z<>0
+ 
+  The operation failed. In case of the add operation, it was tried to add
+  the same (identical) session twice. In case of the remove operation, the
+  session was not found in the cache.
+ 
+-=item 1
++=item Z<>1
+  
+  The operation succeeded.
+ 
+Index: openssl-1.0.1f/doc/ssl/SSL_CTX_load_verify_locations.pod
+===================================================================
+--- openssl-1.0.1f.orig/doc/ssl/SSL_CTX_load_verify_locations.pod	2014-01-06 15:47:42.000000000 +0200
++++ openssl-1.0.1f/doc/ssl/SSL_CTX_load_verify_locations.pod	2014-02-28 10:19:09.079979218 +0200
+@@ -100,13 +100,13 @@
+ 
+ =over 4
+ 
+-=item 0
++=item Z<>0
+ 
+ The operation failed because B<CAfile> and B<CApath> are NULL or the
+ processing at one of the locations specified failed. Check the error
+ stack to find out the reason.
+ 
+-=item 1
++=item Z<>1
+ 
+ The operation succeeded.
+ 
+Index: openssl-1.0.1f/doc/ssl/SSL_CTX_set_client_CA_list.pod
+===================================================================
+--- openssl-1.0.1f.orig/doc/ssl/SSL_CTX_set_client_CA_list.pod	2014-01-06 15:47:42.000000000 +0200
++++ openssl-1.0.1f/doc/ssl/SSL_CTX_set_client_CA_list.pod	2014-02-28 10:19:42.999979220 +0200
+@@ -66,13 +66,13 @@
+ 
+ =over 4
+ 
+-=item 0
++=item Z<>0
+ 
+ A failure while manipulating the STACK_OF(X509_NAME) object occurred or
+ the X509_NAME could not be extracted from B<cacert>. Check the error stack
+ to find out the reason.
+ 
+-=item 1
++=item Z<>1
+ 
+ The operation succeeded.
+ 
+Index: openssl-1.0.1f/doc/ssl/SSL_CTX_set_session_id_context.pod
+===================================================================
+--- openssl-1.0.1f.orig/doc/ssl/SSL_CTX_set_session_id_context.pod	2014-01-06 15:47:42.000000000 +0200
++++ openssl-1.0.1f/doc/ssl/SSL_CTX_set_session_id_context.pod	2014-02-28 10:20:06.495979211 +0200
+@@ -64,13 +64,13 @@
+ 
+ =over 4
+ 
+-=item 0
++=item Z<>0
+ 
+ The length B<sid_ctx_len> of the session id context B<sid_ctx> exceeded
+ the maximum allowed length of B<SSL_MAX_SSL_SESSION_ID_LENGTH>. The error
+ is logged to the error stack.
+ 
+-=item 1
++=item Z<>1
+ 
+ The operation succeeded.
+ 
+Index: openssl-1.0.1f/doc/ssl/SSL_CTX_set_ssl_version.pod
+===================================================================
+--- openssl-1.0.1f.orig/doc/ssl/SSL_CTX_set_ssl_version.pod	2014-01-06 15:47:42.000000000 +0200
++++ openssl-1.0.1f/doc/ssl/SSL_CTX_set_ssl_version.pod	2014-02-28 10:20:32.111979208 +0200
+@@ -42,11 +42,11 @@
+ 
+ =over 4
+ 
+-=item 0
++=item Z<>0
+ 
+ The new choice failed, check the error stack to find out the reason.
+ 
+-=item 1
++=item Z<>1
+ 
+ The operation succeeded.
+ 
+Index: openssl-1.0.1f/doc/ssl/SSL_CTX_use_psk_identity_hint.pod
+===================================================================
+--- openssl-1.0.1f.orig/doc/ssl/SSL_CTX_use_psk_identity_hint.pod	2014-01-06 15:47:42.000000000 +0200
++++ openssl-1.0.1f/doc/ssl/SSL_CTX_use_psk_identity_hint.pod	2014-02-28 10:21:12.351979203 +0200
+@@ -96,7 +96,7 @@
+ connection will fail with decryption_error before it will be finished
+ completely.
+ 
+-=item 0
++=item Z<>0
+ 
+ PSK identity was not found. An "unknown_psk_identity" alert message
+ will be sent and the connection setup fails.
+Index: openssl-1.0.1f/doc/ssl/SSL_accept.pod
+===================================================================
+--- openssl-1.0.1f.orig/doc/ssl/SSL_accept.pod	2014-01-06 15:47:42.000000000 +0200
++++ openssl-1.0.1f/doc/ssl/SSL_accept.pod	2014-02-28 10:21:51.535979215 +0200
+@@ -44,13 +44,13 @@
+ 
+ =over 4
+ 
+-=item 0
++=item Z<>0
+ 
+ The TLS/SSL handshake was not successful but was shut down controlled and
+ by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the
+ return value B<ret> to find out the reason.
+ 
+-=item 1
++=item Z<>1
+ 
+ The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
+ established.
+Index: openssl-1.0.1f/doc/ssl/SSL_clear.pod
+===================================================================
+--- openssl-1.0.1f.orig/doc/ssl/SSL_clear.pod	2014-01-06 15:47:42.000000000 +0200
++++ openssl-1.0.1f/doc/ssl/SSL_clear.pod	2014-02-28 10:22:13.087979196 +0200
+@@ -56,12 +56,12 @@
+ 
+ =over 4
+ 
+-=item 0
++=item Z<>0
+ 
+ The SSL_clear() operation could not be performed. Check the error stack to
+ find out the reason.
+ 
+-=item 1
++=item Z<>1
+ 
+ The SSL_clear() operation was successful.
+ 
+Index: openssl-1.0.1f/doc/ssl/SSL_connect.pod
+===================================================================
+--- openssl-1.0.1f.orig/doc/ssl/SSL_connect.pod	2014-01-06 15:47:42.000000000 +0200
++++ openssl-1.0.1f/doc/ssl/SSL_connect.pod	2014-02-28 10:22:33.991979193 +0200
+@@ -41,13 +41,13 @@
+ 
+ =over 4
+ 
+-=item 0
++=item Z<>0
+ 
+ The TLS/SSL handshake was not successful but was shut down controlled and
+ by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the
+ return value B<ret> to find out the reason.
+ 
+-=item 1
++=item Z<>1
+ 
+ The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
+ established.
+Index: openssl-1.0.1f/doc/ssl/SSL_do_handshake.pod
+===================================================================
+--- openssl-1.0.1f.orig/doc/ssl/SSL_do_handshake.pod	2014-01-06 15:47:42.000000000 +0200
++++ openssl-1.0.1f/doc/ssl/SSL_do_handshake.pod	2014-02-28 10:22:56.887979159 +0200
+@@ -45,13 +45,13 @@
+ 
+ =over 4
+ 
+-=item 0
++=item Z<>0
+ 
+ The TLS/SSL handshake was not successful but was shut down controlled and
+ by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the
+ return value B<ret> to find out the reason.
+ 
+-=item 1
++=item Z<>1
+ 
+ The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
+ established.
+Index: openssl-1.0.1f/doc/ssl/SSL_read.pod
+===================================================================
+--- openssl-1.0.1f.orig/doc/ssl/SSL_read.pod	2014-01-06 15:47:42.000000000 +0200
++++ openssl-1.0.1f/doc/ssl/SSL_read.pod	2014-02-28 10:23:15.303979188 +0200
+@@ -86,7 +86,7 @@
+ The read operation was successful; the return value is the number of
+ bytes actually read from the TLS/SSL connection.
+ 
+-=item 0
++=item Z<>0
+ 
+ The read operation was not successful. The reason may either be a clean
+ shutdown due to a "close notify" alert sent by the peer (in which case
+Index: openssl-1.0.1f/doc/ssl/SSL_session_reused.pod
+===================================================================
+--- openssl-1.0.1f.orig/doc/ssl/SSL_session_reused.pod	2014-01-06 15:47:42.000000000 +0200
++++ openssl-1.0.1f/doc/ssl/SSL_session_reused.pod	2014-02-28 10:23:36.615979186 +0200
+@@ -27,11 +27,11 @@
+ 
+ =over 4
+ 
+-=item 0
++=item Z<>0
+ 
+ A new session was negotiated.
+ 
+-=item 1
++=item Z<>1
+ 
+ A session was reused.
+ 
+Index: openssl-1.0.1f/doc/ssl/SSL_set_fd.pod
+===================================================================
+--- openssl-1.0.1f.orig/doc/ssl/SSL_set_fd.pod	2014-01-06 15:47:42.000000000 +0200
++++ openssl-1.0.1f/doc/ssl/SSL_set_fd.pod	2014-02-28 10:23:57.599979183 +0200
+@@ -35,11 +35,11 @@
+ 
+ =over 4
+ 
+-=item 0
++=item Z<>0
+ 
+ The operation failed. Check the error stack to find out why.
+ 
+-=item 1
++=item Z<>1
+ 
+ The operation succeeded.
+ 
+Index: openssl-1.0.1f/doc/ssl/SSL_set_session.pod
+===================================================================
+--- openssl-1.0.1f.orig/doc/ssl/SSL_set_session.pod	2014-01-06 15:47:42.000000000 +0200
++++ openssl-1.0.1f/doc/ssl/SSL_set_session.pod	2014-02-28 10:24:16.943979181 +0200
+@@ -37,11 +37,11 @@
+ 
+ =over 4
+ 
+-=item 0
++=item Z<>0
+ 
+ The operation failed; check the error stack to find out the reason.
+ 
+-=item 1
++=item Z<>1
+ 
+ The operation succeeded.
+ 
+Index: openssl-1.0.1f/doc/ssl/SSL_shutdown.pod
+===================================================================
+--- openssl-1.0.1f.orig/doc/ssl/SSL_shutdown.pod	2014-01-06 15:47:42.000000000 +0200
++++ openssl-1.0.1f/doc/ssl/SSL_shutdown.pod	2014-02-28 10:25:03.623979175 +0200
+@@ -92,19 +92,19 @@
+ 
+ =over 4
+ 
+-=item 0
++=item Z<>0
+ 
+ The shutdown is not yet finished. Call SSL_shutdown() for a second time,
+ if a bidirectional shutdown shall be performed.
+ The output of L<SSL_get_error(3)|SSL_get_error(3)> may be misleading, as an
+ erroneous SSL_ERROR_SYSCALL may be flagged even though no error occurred.
+ 
+-=item 1
++=item Z<>1
+ 
+ The shutdown was successfully completed. The "close notify" alert was sent
+ and the peer's "close notify" alert was received.
+ 
+-=item -1
++=item Z<>-1
+ 
+ The shutdown was not successful because a fatal error occurred either
+ at the protocol level or a connection failure occurred. It can also occur if
+Index: openssl-1.0.1f/doc/ssl/SSL_write.pod
+===================================================================
+--- openssl-1.0.1f.orig/doc/ssl/SSL_write.pod	2014-01-06 15:47:42.000000000 +0200
++++ openssl-1.0.1f/doc/ssl/SSL_write.pod	2014-02-28 10:25:36.031979168 +0200
+@@ -79,7 +79,7 @@
+ The write operation was successful, the return value is the number of
+ bytes actually written to the TLS/SSL connection.
+ 
+-=item 0
++=item Z<>0
+ 
+ The write operation was not successful. Probably the underlying connection
+ was closed. Call SSL_get_error() with the return value B<ret> to find out,
diff --git a/recipes-connectivity/openssl/openssl/openssl-fix-link.patch b/recipes-connectivity/openssl/openssl/openssl-fix-link.patch
new file mode 100644
index 0000000..154106c
--- /dev/null
+++ b/recipes-connectivity/openssl/openssl/openssl-fix-link.patch
@@ -0,0 +1,35 @@
+From aabfb6f78af8e337d3239142117ba303fce55e7e Mon Sep 17 00:00:00 2001
+From: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
+Date: Thu, 22 Sep 2011 08:55:26 +0200
+Subject: [PATCH] fix the parallel build regarding shared libraries.
+
+Upstream-Status: Pending
+---
+ .../openssl-1.0.0e/Makefile.org                    |    8 ++++----
+ 1 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/Makefile.org
+index 3c7aea1..6326cd6 100644
+--- a/Makefile.org
++++ b/Makefile.org
+@@ -243,13 +243,13 @@ build_libs: build_crypto build_ssl build_engines
+ 
+ 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_crypto build_ssl
+ 	@dir=apps; target=all; $(BUILD_ONE_CMD)
+-build_tests:
++build_tests: build_crypto build_ssl
+ 	@dir=test; target=all; $(BUILD_ONE_CMD)
+ build_tools:
+ 	@dir=tools; target=all; $(BUILD_ONE_CMD)
+-- 
+1.6.6.1
+
diff --git a/recipes-connectivity/openssl/openssl/openssl_fix_for_x32.patch b/recipes-connectivity/openssl/openssl/openssl_fix_for_x32.patch
new file mode 100644
index 0000000..93ce034
--- /dev/null
+++ b/recipes-connectivity/openssl/openssl/openssl_fix_for_x32.patch
@@ -0,0 +1,90 @@
+Upstream-Status: Pending
+
+Received from H J Liu @ Intel
+Make the assembly syntax compatible with x32 gcc. Othewise x32 gcc throws errors.
+Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/07/13
+
+ported the patch to the 1.0.0e version
+Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/12/01
+Index: openssl-1.0.1e/Configure
+===================================================================
+--- openssl-1.0.1e.orig/Configure
++++ openssl-1.0.1e/Configure
+@@ -402,6 +402,7 @@ my %table=(
+ "linux-ia64-ecc","ecc:-DL_ENDIAN -DTERMIO -O2 -Wall -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT:${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 DES_RISC1 DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ "linux-x86_64",	"gcc:-m64 -DL_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
++"linux-x32", "gcc:-mx32 -DL_ENDIAN -DTERMIO -O3 -Wall -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-mx32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::x32",
+ "linux64-s390x",	"gcc:-m64 -DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${s390x_asm}:64:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
+ #### So called "highgprs" target for z/Architecture CPUs
+ # "Highgprs" is kernel feature first implemented in Linux 2.6.32, see
+Index: openssl-1.0.1e/crypto/bn/asm/x86_64-gcc.c
+===================================================================
+--- openssl-1.0.1e.orig/crypto/bn/asm/x86_64-gcc.c
++++ openssl-1.0.1e/crypto/bn/asm/x86_64-gcc.c
+@@ -55,7 +55,7 @@
+  *    machine.
+  */
+ 
+-#ifdef _WIN64
++#if defined _WIN64 || !defined __LP64__
+ #define BN_ULONG unsigned long long
+ #else
+ #define BN_ULONG unsigned long
+@@ -192,9 +192,9 @@ BN_ULONG bn_add_words (BN_ULONG *rp, con
+ 	asm (
+ 	"	subq	%2,%2		\n"
+ 	".p2align 4			\n"
+-	"1:	movq	(%4,%2,8),%0	\n"
+-	"	adcq	(%5,%2,8),%0	\n"
+-	"	movq	%0,(%3,%2,8)	\n"
++	"1:	movq	(%q4,%2,8),%0	\n"
++	"	adcq	(%q5,%2,8),%0	\n"
++	"	movq	%0,(%q3,%2,8)	\n"
+ 	"	leaq	1(%2),%2	\n"
+ 	"	loop	1b		\n"
+ 	"	sbbq	%0,%0		\n"
+@@ -215,9 +215,9 @@ BN_ULONG bn_sub_words (BN_ULONG *rp, con
+ 	asm (
+ 	"	subq	%2,%2		\n"
+ 	".p2align 4			\n"
+-	"1:	movq	(%4,%2,8),%0	\n"
+-	"	sbbq	(%5,%2,8),%0	\n"
+-	"	movq	%0,(%3,%2,8)	\n"
++	"1:	movq	(%q4,%2,8),%0	\n"
++	"	sbbq	(%q5,%2,8),%0	\n"
++	"	movq	%0,(%q3,%2,8)	\n"
+ 	"	leaq	1(%2),%2	\n"
+ 	"	loop	1b		\n"
+ 	"	sbbq	%0,%0		\n"
+Index: openssl-1.0.1e/crypto/bn/bn.h
+===================================================================
+--- openssl-1.0.1e.orig/crypto/bn/bn.h
++++ openssl-1.0.1e/crypto/bn/bn.h
+@@ -172,6 +172,13 @@ extern "C" {
+ # endif
+ #endif
+ 
++/* Address type.  */
++#ifdef _WIN64
++#define BN_ADDR unsigned long long
++#else
++#define BN_ADDR unsigned long
++#endif
++
+ /* assuming long is 64bit - this is the DEC Alpha
+  * unsigned long long is only 64 bits :-(, don't define
+  * BN_LLONG for the DEC Alpha */
+Index: openssl-1.0.1e/crypto/bn/bn_exp.c
+===================================================================
+--- openssl-1.0.1e.orig/crypto/bn/bn_exp.c
++++ openssl-1.0.1e/crypto/bn/bn_exp.c
+@@ -567,7 +567,7 @@ static int MOD_EXP_CTIME_COPY_FROM_PREBU
+ 
+ /* Given a pointer value, compute the next address that is a cache line multiple. */
+ #define MOD_EXP_CTIME_ALIGN(x_) \
+-	((unsigned char*)(x_) + (MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH - (((size_t)(x_)) & (MOD_EXP_CTIME_MIN_CACHE_LINE_MASK))))
++	((unsigned char*)(x_) + (MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH - (((BN_ADDR)(x_)) & (MOD_EXP_CTIME_MIN_CACHE_LINE_MASK))))
+ 
+ /* This variant of BN_mod_exp_mont() uses fixed windows and the special
+  * precomputation memory layout to limit data-dependency to a minimum
diff --git a/recipes-connectivity/openssl/openssl/shared-libs.patch b/recipes-connectivity/openssl/openssl/shared-libs.patch
new file mode 100644
index 0000000..a7ca0a3
--- /dev/null
+++ b/recipes-connectivity/openssl/openssl/shared-libs.patch
@@ -0,0 +1,41 @@
+Upstream-Status: Inappropriate [configuration]
+
+Index: openssl-1.0.1e/crypto/Makefile
+===================================================================
+--- openssl-1.0.1e.orig/crypto/Makefile
++++ openssl-1.0.1e/crypto/Makefile
+@@ -108,7 +108,7 @@ $(LIB):	$(LIBOBJ)
+ 
+ shared: buildinf.h lib subdirs
+ 	if [ -n "$(SHARED_LIBS)" ]; then \
+-		(cd ..; $(MAKE) $(SHARED_LIB)); \
++		(cd ..; $(MAKE) -e $(SHARED_LIB)); \
+ 	fi
+ 
+ libs:
+Index: openssl-1.0.1e/Makefile.org
+===================================================================
+--- openssl-1.0.1e.orig/Makefile.org
++++ openssl-1.0.1e/Makefile.org
+@@ -310,7 +310,7 @@ libcrypto$(SHLIB_EXT): libcrypto.a fips_
+ 
+ libssl$(SHLIB_EXT): libcrypto$(SHLIB_EXT) libssl.a
+ 	@if [ "$(SHLIB_TARGET)" != "" ]; then \
+-		$(MAKE) SHLIBDIRS=ssl SHLIBDEPS='-lcrypto' build-shared; \
++		$(MAKE) -e SHLIBDIRS=ssl SHLIBDEPS='-lcrypto' build-shared; \
+ 	else \
+ 		echo "There's no support for shared libraries on this platform" >&2; \
+ 		exit 1; \
+Index: openssl-1.0.1e/ssl/Makefile
+===================================================================
+--- openssl-1.0.1e.orig/ssl/Makefile
++++ openssl-1.0.1e/ssl/Makefile
+@@ -62,7 +62,7 @@ lib:	$(LIBOBJ)
+ 
+ shared: lib
+ 	if [ -n "$(SHARED_LIBS)" ]; then \
+-		(cd ..; $(MAKE) $(SHARED_LIB)); \
++		(cd ..; $(MAKE) -e $(SHARED_LIB)); \
+ 	fi
+ 
+ files:
diff --git a/recipes-connectivity/openssl/openssl_1.0.1g.bb b/recipes-connectivity/openssl/openssl_1.0.1g.bb
new file mode 100644
index 0000000..f3c20e8
--- /dev/null
+++ b/recipes-connectivity/openssl/openssl_1.0.1g.bb
@@ -0,0 +1,55 @@
+require openssl.inc
+
+# For target side versions of openssl enable support for OCF Linux driver
+# if they are available.
+DEPENDS += "cryptodev-linux"
+
+CFLAG += "-DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f9a8f968107345e0b75aa8c2ecaa7ec8"
+
+export DIRS = "crypto ssl apps engines"
+export OE_LDFLAGS="${LDFLAGS}"
+
+SRC_URI += "file://configure-targets.patch \
+            file://shared-libs.patch \
+            file://oe-ldflags.patch \
+            file://engines-install-in-libdir-ssl.patch \
+            file://openssl-fix-link.patch \
+            file://debian/version-script.patch \
+            file://debian/pic.patch \
+            file://debian/c_rehash-compat.patch \
+            file://debian/ca.patch \
+            file://debian/make-targets.patch \
+            file://debian/no-rpath.patch \
+            file://debian/man-dir.patch \
+            file://debian/man-section.patch \
+            file://debian/no-symbolic.patch \
+            file://debian/debian-targets.patch \
+            file://openssl_fix_for_x32.patch \
+            file://openssl-fix-doc.patch \
+            file://fix-cipher-des-ede3-cfb1.patch \
+            file://openssl-avoid-NULL-pointer-dereference-in-EVP_DigestInit_ex.patch \
+            file://openssl-avoid-NULL-pointer-dereference-in-dh_pub_encode.patch \
+            file://initial-aarch64-bits.patch \
+            file://find.pl \
+            file://openssl-fix-des.pod-error.patch \
+           "
+
+SRC_URI[md5sum] = "de62b43dfcd858e66a74bee1c834e959"
+SRC_URI[sha256sum] = "53cb818c3b90e507a8348f4f5eaedb05d8bfe5358aabb508b7263cc670c3e028"
+
+PACKAGES =+ " \
+	${PN}-engines \
+	${PN}-engines-dbg \
+	"
+
+FILES_${PN}-engines = "${libdir}/ssl/engines/*.so ${libdir}/engines"
+FILES_${PN}-engines-dbg = "${libdir}/ssl/engines/.debug"
+
+PARALLEL_MAKE = ""
+PARALLEL_MAKEINST = ""
+
+do_configure_prepend() {
+  cp ${WORKDIR}/find.pl ${S}/util/find.pl
+}
-- 
1.7.9.7



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [meta-fsl-ppc][PATCH 3/4] openssl: set preferred version to 1.0.1g
  2014-07-09  8:16 [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module: use fsl maintained source ting.liu
  2014-07-09  8:16 ` [meta-fsl-ppc][PATCH 2/4] openssl: downgrade to 1.0.1g ting.liu
@ 2014-07-09  8:16 ` ting.liu
  2014-07-09  8:16 ` [meta-fsl-ppc][PATCH 4/4] openssl: use fsl maintained source ting.liu
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 21+ messages in thread
From: ting.liu @ 2014-07-09  8:16 UTC (permalink / raw)
  To: meta-freescale

From: Ting Liu <b28495@freescale.com>

Signed-off-by: Ting Liu <b28495@freescale.com>
---
 conf/machine/e500mc.inc    |    1 +
 conf/machine/e500v2.inc    |    1 +
 conf/machine/e5500-64b.inc |    1 +
 conf/machine/e5500.inc     |    1 +
 conf/machine/e6500-64b.inc |    1 +
 conf/machine/e6500.inc     |    1 +
 6 files changed, 6 insertions(+)

diff --git a/conf/machine/e500mc.inc b/conf/machine/e500mc.inc
index 2b06fd1..f5b419d 100644
--- a/conf/machine/e500mc.inc
+++ b/conf/machine/e500mc.inc
@@ -8,6 +8,7 @@ MACHINE_EXTRA_RRECOMMENDS = "u-boot udev-extraconf kernel-modules"
 PREFERRED_PROVIDER_virtual/kernel ?= "linux-qoriq-sdk"
 PREFERRED_VERSION_virtual/kernel ?= "3.0.34"
 PREFERRED_VERSION_qemu = "1.7+fsl"
+PREFERRED_VERSION_openssl = "1.0.1g"
 
 KERNEL_IMAGETYPE ?= "uImage"
 # disable the images below for now
diff --git a/conf/machine/e500v2.inc b/conf/machine/e500v2.inc
index cbdf3d9..23b5091 100644
--- a/conf/machine/e500v2.inc
+++ b/conf/machine/e500v2.inc
@@ -6,6 +6,7 @@ MACHINE_EXTRA_RRECOMMENDS = "u-boot udev-extraconf kernel-modules"
 PREFERRED_PROVIDER_virtual/kernel ?= "linux-qoriq-sdk"
 PREFERRED_VERSION_virtual/kernel ?= "3.0.34"
 PREFERRED_VERSION_qemu = "1.7+fsl"
+PREFERRED_VERSION_openssl = "1.0.1g"
 
 KERNEL_IMAGETYPE ?= "uImage"
 # disable the images below for now
diff --git a/conf/machine/e5500-64b.inc b/conf/machine/e5500-64b.inc
index c11c3c1..b34be91 100644
--- a/conf/machine/e5500-64b.inc
+++ b/conf/machine/e5500-64b.inc
@@ -9,6 +9,7 @@ MACHINE_EXTRA_RRECOMMENDS = "u-boot udev-extraconf kernel-modules"
 PREFERRED_PROVIDER_virtual/kernel ?= "linux-qoriq-sdk"
 PREFERRED_VERSION_virtual/kernel ?= "3.0.34"
 PREFERRED_VERSION_qemu = "1.7+fsl"
+PREFERRED_VERSION_openssl = "1.0.1g"
 
 KERNEL_IMAGETYPE ?= "uImage"
 # disable the images below for now
diff --git a/conf/machine/e5500.inc b/conf/machine/e5500.inc
index db51aa8..0b4a9a3 100644
--- a/conf/machine/e5500.inc
+++ b/conf/machine/e5500.inc
@@ -8,6 +8,7 @@ MACHINE_EXTRA_RRECOMMENDS = "u-boot udev-extraconf kernel-modules"
 PREFERRED_PROVIDER_virtual/kernel ?= "linux-qoriq-sdk"
 PREFERRED_VERSION_virtual/kernel ?= "3.0.34"
 PREFERRED_VERSION_qemu = "1.7+fsl"
+PREFERRED_VERSION_openssl = "1.0.1g"
 
 KERNEL_IMAGETYPE ?= "uImage"
 # disable the images below for now
diff --git a/conf/machine/e6500-64b.inc b/conf/machine/e6500-64b.inc
index 8025103..a37d1dd 100644
--- a/conf/machine/e6500-64b.inc
+++ b/conf/machine/e6500-64b.inc
@@ -9,6 +9,7 @@ MACHINE_EXTRA_RRECOMMENDS = "u-boot udev-extraconf kernel-modules"
 PREFERRED_PROVIDER_virtual/kernel ?= "linux-qoriq-sdk"
 PREFERRED_VERSION_virtual/kernel ?= "3.0.34"
 PREFERRED_VERSION_qemu = "1.7+fsl"
+PREFERRED_VERSION_openssl = "1.0.1g"
 
 KERNEL_IMAGETYPE ?= "uImage"
 # disable the images below for now
diff --git a/conf/machine/e6500.inc b/conf/machine/e6500.inc
index 4401eb6..dd259fc 100644
--- a/conf/machine/e6500.inc
+++ b/conf/machine/e6500.inc
@@ -8,6 +8,7 @@ MACHINE_EXTRA_RRECOMMENDS = "u-boot udev-extraconf kernel-modules"
 PREFERRED_PROVIDER_virtual/kernel ?= "linux-qoriq-sdk"
 PREFERRED_VERSION_virtual/kernel ?= "3.0.34"
 PREFERRED_VERSION_qemu = "1.7+fsl"
+PREFERRED_VERSION_openssl = "1.0.1g"
 
 KERNEL_IMAGETYPE ?= "uImage"
 # disable the images below for now
-- 
1.7.9.7



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [meta-fsl-ppc][PATCH 4/4] openssl: use fsl maintained source
  2014-07-09  8:16 [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module: use fsl maintained source ting.liu
  2014-07-09  8:16 ` [meta-fsl-ppc][PATCH 2/4] openssl: downgrade to 1.0.1g ting.liu
  2014-07-09  8:16 ` [meta-fsl-ppc][PATCH 3/4] openssl: set preferred version " ting.liu
@ 2014-07-09  8:16 ` ting.liu
  2014-07-09  8:32   ` Redwan Mohamed
  2014-07-09 17:24   ` Otavio Salvador
  2014-07-09 17:28 ` [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module: " Otavio Salvador
  2014-07-09 20:19 ` Bob Cochran
  4 siblings, 2 replies; 21+ messages in thread
From: ting.liu @ 2014-07-09  8:16 UTC (permalink / raw)
  To: meta-freescale

From: Ting Liu <b28495@freescale.com>

add bbappend to use fsl own openssl source code which was tested

Signed-off-by: Ting Liu <b28495@freescale.com>
---
 .../openssl/openssl_1.0.1g.bbappend                |   40 ++++++++++++++++++++
 1 file changed, 40 insertions(+)
 create mode 100644 recipes-connectivity/openssl/openssl_1.0.1g.bbappend

diff --git a/recipes-connectivity/openssl/openssl_1.0.1g.bbappend b/recipes-connectivity/openssl/openssl_1.0.1g.bbappend
new file mode 100644
index 0000000..b86af36
--- /dev/null
+++ b/recipes-connectivity/openssl/openssl_1.0.1g.bbappend
@@ -0,0 +1,40 @@
+RDEPENDS_${PN}_class-target += "cryptodev-module"
+
+# base package is taken from Freescale repository
+SRC_URI = "git://git.freescale.com/ppc/sdk/openssl.git;nobranch=1"
+SRCREV = "9dfc18846063a110070782ede699c513b30257e5"
+
+SRC_URI += "file://configure-targets.patch \
+            file://shared-libs.patch \
+            file://oe-ldflags.patch \
+            file://engines-install-in-libdir-ssl.patch \
+            file://openssl-fix-link.patch \
+            file://debian/version-script.patch \
+            file://debian/pic.patch \
+            file://debian/c_rehash-compat.patch \
+            file://debian/ca.patch \
+            file://debian/make-targets.patch \
+            file://debian/no-rpath.patch \
+            file://debian/man-dir.patch \
+            file://debian/man-section.patch \
+            file://debian/no-symbolic.patch \
+            file://debian/debian-targets.patch \
+            file://openssl_fix_for_x32.patch \
+            file://openssl-fix-doc.patch \
+            file://fix-cipher-des-ede3-cfb1.patch \
+            file://openssl-avoid-NULL-pointer-dereference-in-EVP_DigestInit_ex.patch \
+            file://openssl-avoid-NULL-pointer-dereference-in-dh_pub_encode.patch \
+            file://initial-aarch64-bits.patch \
+            file://find.pl \
+            file://openssl-fix-des.pod-error.patch \
+           "
+S = "${WORKDIR}/git"
+
+# Digest offloading through cryptodev is not recommended because of the
+# performance penalty of the Openssl engine interface. Openssl generates a huge
+# number of calls to digest functions for even a small amount of work data.
+# For example there are 70 calls to cipher code and over 10000 to digest code
+# when downloading only 10 files of 700 bytes each.
+# Do not build OpenSSL with cryptodev digest support until engine digest
+# interface gets some rework:
+CFLAG := "${@'${CFLAG}'.replace('-DUSE_CRYPTODEV_DIGESTS', '')}"
-- 
1.7.9.7



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: [meta-fsl-ppc][PATCH 4/4] openssl: use fsl maintained source
  2014-07-09  8:16 ` [meta-fsl-ppc][PATCH 4/4] openssl: use fsl maintained source ting.liu
@ 2014-07-09  8:32   ` Redwan Mohamed
  2014-07-10  2:28     ` ting.liu
  2014-07-09 17:24   ` Otavio Salvador
  1 sibling, 1 reply; 21+ messages in thread
From: Redwan Mohamed @ 2014-07-09  8:32 UTC (permalink / raw)
  To: ting.liu, meta-freescale

[-- Attachment #1: Type: text/plain, Size: 3453 bytes --]

Thanks Ting, will apply the patches and check.Hope all the four patches are with respect to reported qtdemoE issue in qte-in-use-image recipe.

Thanks & Best Regards,Redwan A M | Senior Software EngineerZumi Solutions (P) Ltd.,#956, 16th Main Road, BTM 2nd Stage,Bangalore-560 076. India.Mob: +91 9535687671Tel: +91 80 41126182
> From: ting.liu@freescale.com
> To: meta-freescale@yoctoproject.org
> Date: Wed, 9 Jul 2014 03:16:43 -0500
> Subject: [meta-freescale] [meta-fsl-ppc][PATCH 4/4] openssl: use fsl	maintained source
> 
> From: Ting Liu <b28495@freescale.com>
> 
> add bbappend to use fsl own openssl source code which was tested
> 
> Signed-off-by: Ting Liu <b28495@freescale.com>
> ---
>  .../openssl/openssl_1.0.1g.bbappend                |   40 ++++++++++++++++++++
>  1 file changed, 40 insertions(+)
>  create mode 100644 recipes-connectivity/openssl/openssl_1.0.1g.bbappend
> 
> diff --git a/recipes-connectivity/openssl/openssl_1.0.1g.bbappend b/recipes-connectivity/openssl/openssl_1.0.1g.bbappend
> new file mode 100644
> index 0000000..b86af36
> --- /dev/null
> +++ b/recipes-connectivity/openssl/openssl_1.0.1g.bbappend
> @@ -0,0 +1,40 @@
> +RDEPENDS_${PN}_class-target += "cryptodev-module"
> +
> +# base package is taken from Freescale repository
> +SRC_URI = "git://git.freescale.com/ppc/sdk/openssl.git;nobranch=1"
> +SRCREV = "9dfc18846063a110070782ede699c513b30257e5"
> +
> +SRC_URI += "file://configure-targets.patch \
> +            file://shared-libs.patch \
> +            file://oe-ldflags.patch \
> +            file://engines-install-in-libdir-ssl.patch \
> +            file://openssl-fix-link.patch \
> +            file://debian/version-script.patch \
> +            file://debian/pic.patch \
> +            file://debian/c_rehash-compat.patch \
> +            file://debian/ca.patch \
> +            file://debian/make-targets.patch \
> +            file://debian/no-rpath.patch \
> +            file://debian/man-dir.patch \
> +            file://debian/man-section.patch \
> +            file://debian/no-symbolic.patch \
> +            file://debian/debian-targets.patch \
> +            file://openssl_fix_for_x32.patch \
> +            file://openssl-fix-doc.patch \
> +            file://fix-cipher-des-ede3-cfb1.patch \
> +            file://openssl-avoid-NULL-pointer-dereference-in-EVP_DigestInit_ex.patch \
> +            file://openssl-avoid-NULL-pointer-dereference-in-dh_pub_encode.patch \
> +            file://initial-aarch64-bits.patch \
> +            file://find.pl \
> +            file://openssl-fix-des.pod-error.patch \
> +           "
> +S = "${WORKDIR}/git"
> +
> +# Digest offloading through cryptodev is not recommended because of the
> +# performance penalty of the Openssl engine interface. Openssl generates a huge
> +# number of calls to digest functions for even a small amount of work data.
> +# For example there are 70 calls to cipher code and over 10000 to digest code
> +# when downloading only 10 files of 700 bytes each.
> +# Do not build OpenSSL with cryptodev digest support until engine digest
> +# interface gets some rework:
> +CFLAG := "${@'${CFLAG}'.replace('-DUSE_CRYPTODEV_DIGESTS', '')}"
> -- 
> 1.7.9.7
> 
> -- 
> _______________________________________________
> meta-freescale mailing list
> meta-freescale@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-freescale
 		 	   		  

[-- Attachment #2: Type: text/html, Size: 4510 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [meta-fsl-ppc][PATCH 4/4] openssl: use fsl maintained source
  2014-07-09  8:16 ` [meta-fsl-ppc][PATCH 4/4] openssl: use fsl maintained source ting.liu
  2014-07-09  8:32   ` Redwan Mohamed
@ 2014-07-09 17:24   ` Otavio Salvador
  1 sibling, 0 replies; 21+ messages in thread
From: Otavio Salvador @ 2014-07-09 17:24 UTC (permalink / raw)
  To: Liu Ting-B28495; +Cc: meta-freescale

On Wed, Jul 9, 2014 at 5:16 AM,  <ting.liu@freescale.com> wrote:
> From: Ting Liu <b28495@freescale.com>
>
> add bbappend to use fsl own openssl source code which was tested
>
> Signed-off-by: Ting Liu <b28495@freescale.com>

Did you compare the source code changes?

OpenSSL is a critical piece of software and which has severe security
impact so I don't think we ought to keep a fork of it.

-- 
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module: use fsl maintained source
  2014-07-09  8:16 [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module: use fsl maintained source ting.liu
                   ` (2 preceding siblings ...)
  2014-07-09  8:16 ` [meta-fsl-ppc][PATCH 4/4] openssl: use fsl maintained source ting.liu
@ 2014-07-09 17:28 ` Otavio Salvador
  2014-07-10  1:46   ` ting.liu
  2014-07-10  6:51   ` ting.liu
  2014-07-09 20:19 ` Bob Cochran
  4 siblings, 2 replies; 21+ messages in thread
From: Otavio Salvador @ 2014-07-09 17:28 UTC (permalink / raw)
  To: Liu Ting-B28495; +Cc: meta-freescale

On Wed, Jul 9, 2014 at 5:16 AM,  <ting.liu@freescale.com> wrote:
> From: Zhenhua Luo <zhenhua.luo@freescale.com>
>
> FSL SDK released its own cryptodev based on 1.6, but not all the codes
> was upstreamed, add bbappend to use fsl maintained source. This change
> only be applied for fsl machines
>
> Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
> Signed-off-by: Ting Liu <b28495@freescale.com>

This patch is not machine contained. The python anonymous code will
run and change the flags for all 64 bit machines which is not desired.

Please instead of forking the code, export the needed patches and
apply them in the bbappend so we know exactly what is still pending to
be upstreamed and can work to reduce the fork size.

-- 
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module: use fsl maintained source
  2014-07-09  8:16 [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module: use fsl maintained source ting.liu
                   ` (3 preceding siblings ...)
  2014-07-09 17:28 ` [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module: " Otavio Salvador
@ 2014-07-09 20:19 ` Bob Cochran
  2014-07-10  2:13   ` ting.liu
  4 siblings, 1 reply; 21+ messages in thread
From: Bob Cochran @ 2014-07-09 20:19 UTC (permalink / raw)
  To: ting.liu, Zhenhua Luo, meta-freescale

On 07/09/2014 04:16 AM, ting.liu@freescale.com wrote:
> From: Zhenhua Luo <zhenhua.luo@freescale.com>
>
> FSL SDK released its own cryptodev based on 1.6, but not all the codes
> was upstreamed, add bbappend to use fsl maintained source. This change
> only be applied for fsl machines


Hello Ting (and Zhenhua),

Would it be useful to you if I created a hybrid build environment of 
QorIQ SDK1.6 with its meta-fsl-ppc tree replaced by the Yocto 
meta-fsl-ppc master branch and test on T1040RDB with the submitted patches?

Please let me know if this would be useful feedback, or if you would 
prefer testing only be done after certain commits (tags) are reached.

Thank you,

Bob





>
> Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
> Signed-off-by: Ting Liu <b28495@freescale.com>
> ---
>   recipes-kernel/cryptodev/cryptodev-fsl.inc         |    5 ++
>   .../cryptodev/cryptodev-linux_1.6.bbappend         |    2 +
>   .../cryptodev/cryptodev-module_1.6.bbappend        |   25 +++++++
>   recipes-kernel/cryptodev/cryptodev_1.5.bb          |   51 ---------------
>   ...pile-and-install-rules-for-cryptodev-test.patch |   69 --------------------
>   .../cryptodev/files/makefile_fixup.patch           |   26 --------
>   6 files changed, 32 insertions(+), 146 deletions(-)
>   create mode 100644 recipes-kernel/cryptodev/cryptodev-fsl.inc
>   create mode 100644 recipes-kernel/cryptodev/cryptodev-linux_1.6.bbappend
>   create mode 100644 recipes-kernel/cryptodev/cryptodev-module_1.6.bbappend
>   delete mode 100644 recipes-kernel/cryptodev/cryptodev_1.5.bb
>   delete mode 100644 recipes-kernel/cryptodev/files/Add-the-compile-and-install-rules-for-cryptodev-test.patch
>   delete mode 100644 recipes-kernel/cryptodev/files/makefile_fixup.patch
>
> diff --git a/recipes-kernel/cryptodev/cryptodev-fsl.inc b/recipes-kernel/cryptodev/cryptodev-fsl.inc
> new file mode 100644
> index 0000000..7520152
> --- /dev/null
> +++ b/recipes-kernel/cryptodev/cryptodev-fsl.inc
> @@ -0,0 +1,5 @@
> +SRC_URI_fslmachine = "git://git.freescale.com/ppc/sdk/cryptodev-linux.git;nobranch=1"
> +SRCREV_fslmachine = "c9baf0623bdc55e8adfc91bf675e8148826d57d1"
> +
> +S_fslmachine = "${WORKDIR}/git"
> +
> diff --git a/recipes-kernel/cryptodev/cryptodev-linux_1.6.bbappend b/recipes-kernel/cryptodev/cryptodev-linux_1.6.bbappend
> new file mode 100644
> index 0000000..3cbbb3d
> --- /dev/null
> +++ b/recipes-kernel/cryptodev/cryptodev-linux_1.6.bbappend
> @@ -0,0 +1,2 @@
> +require recipes-kernel/cryptodev/cryptodev-fsl.inc
> +
> diff --git a/recipes-kernel/cryptodev/cryptodev-module_1.6.bbappend b/recipes-kernel/cryptodev/cryptodev-module_1.6.bbappend
> new file mode 100644
> index 0000000..80cef70
> --- /dev/null
> +++ b/recipes-kernel/cryptodev/cryptodev-module_1.6.bbappend
> @@ -0,0 +1,25 @@
> +require recipes-kernel/cryptodev/cryptodev-fsl.inc
> +
> +python () {
> +	ma = d.getVar("DISTRO_FEATURES", True)
> +	arch = d.getVar("OVERRIDES", True)
> +
> +	# the : after the arch is to skip the message on 64b
> +	if not "multiarch" in ma and "e6500:" in arch:
> +		raise bb.parse.SkipPackage("Building the kernel for this arch requires multiarch to be in DISTRO_FEATURES")
> +
> +	promote_kernel = d.getVar('BUILD_64BIT_KERNEL')
> +
> +	if promote_kernel == "1":
> +		d.setVar('KERNEL_CC_append', ' -m64')
> +		d.setVar('KERNEL_LD_append', ' -melf64ppc')
> +
> +	error_qa = d.getVar('ERROR_QA', True)
> +	if 'arch' in error_qa:
> +		d.setVar('ERROR_QA', error_qa.replace(' arch', ''))
> +}
> +
> +do_install_append_fslmachine () {
> +    rm -fr ${D}/usr
> +}
> +
> diff --git a/recipes-kernel/cryptodev/cryptodev_1.5.bb b/recipes-kernel/cryptodev/cryptodev_1.5.bb
> deleted file mode 100644
> index 4c1dade..0000000
> --- a/recipes-kernel/cryptodev/cryptodev_1.5.bb
> +++ /dev/null
> @@ -1,51 +0,0 @@
> -SECTION = "devel"
> -SUMMARY = "Linux Cryptodev KERNEL MODULE"
> -DESCRIPTION = "The Cryptodev package contains the kernel /dev/crypto module"
> -LICENSE = "GPLv2"
> -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
> -RCONFLICTS_${PN} = "ocf-linux"
> -
> -inherit module
> -
> -PR = "r1"
> -DEPENDS += "openssl"
> -
> -SRCREV = "1c24a0aa996630518d47826a2e3fea129ea094c7"
> -
> -SRC_URI = "git://repo.or.cz/cryptodev-linux.git;protocol=git \
> -           file://makefile_fixup.patch \
> -           file://Add-the-compile-and-install-rules-for-cryptodev-test.patch"
> -
> -EXTRA_OEMAKE='KERNEL_DIR="${STAGING_KERNEL_DIR}" PREFIX="${D}"'
> -
> -S = "${WORKDIR}/git"
> -python () {
> -	ma = d.getVar("DISTRO_FEATURES", True)
> -	arch = d.getVar("OVERRIDES", True)
> -
> -	# the : after the arch is to skip the message on 64b
> -	if not "multiarch" in ma and ("e5500:" in arch or "e6500:" in arch):
> -		raise bb.parse.SkipPackage("Building the kernel for this arch requires multiarch to be in DISTRO_FEATURES")
> -
> -	promote_kernel = d.getVar('BUILD_64BIT_KERNEL')
> -
> -	if promote_kernel == "1":
> -		d.setVar('KERNEL_CC_append', ' -m64')
> -		d.setVar('KERNEL_LD_append', ' -melf64ppc')
> -
> -	error_qa = d.getVar('ERROR_QA', True)
> -	if 'arch' in error_qa:
> -		d.setVar('ERROR_QA', error_qa.replace(' arch', ''))
> -}
> -
> -do_compile_append() {
> -        oe_runmake testprogs
> -}
> -
> -do_install_append() {
> -        oe_runmake install_tests
> -}
> -
> -PACKAGES += "${PN}-tests"
> -FILES_${PN}-dbg += "${bindir}/tests_cryptodev/.debug"
> -FILES_${PN}-tests = "${bindir}/tests_cryptodev/*"
> diff --git a/recipes-kernel/cryptodev/files/Add-the-compile-and-install-rules-for-cryptodev-test.patch b/recipes-kernel/cryptodev/files/Add-the-compile-and-install-rules-for-cryptodev-test.patch
> deleted file mode 100644
> index cb871f6..0000000
> --- a/recipes-kernel/cryptodev/files/Add-the-compile-and-install-rules-for-cryptodev-test.patch
> +++ /dev/null
> @@ -1,69 +0,0 @@
> -From 1980a8f4779a955e73285e7a0d86549b69bea5c8 Mon Sep 17 00:00:00 2001
> -From: Yu Zongchun <b40527@freescale.com>
> -Date: Sun, 28 Apr 2013 14:39:22 +0800
> -Subject: [PATCH] Add the compile and install rules for cryptodev tests folder
> -
> -This is required to install the cryptodev tests folder to rootfs
> -
> -Signed-off-by: Yu Zongchun <b40527@freescale.com>
> -
> -Upstream-Status: Pending
> -
> ----
> - Makefile       |    6 ++++++
> - tests/Makefile |    8 ++++++++
> - 2 files changed, 14 insertions(+), 0 deletions(-)
> -
> -diff --git a/Makefile b/Makefile
> -index 2be8825..4cbb865 100644
> ---- a/Makefile
> -+++ b/Makefile
> -@@ -17,6 +17,9 @@ install:
> - 	@echo "Installing cryptodev.h in /usr/include/crypto ..."
> - 	@install -D crypto/cryptodev.h /usr/include/crypto/cryptodev.h
> -
> -+install_tests:
> -+	make -C tests install DESTDIR=$(PREFIX)
> -+
> - clean:
> - 	make -C $(KERNEL_DIR) SUBDIRS=`pwd` clean
> - 	rm -f $(hostprogs) *~
> -@@ -25,6 +28,9 @@ clean:
> - check:
> - 	KERNEL_DIR=$(KERNEL_DIR) make -C tests check
> -
> -+testprogs:
> -+	KERNEL_DIR=$(KERNEL_DIR) make -C tests testprogs
> -+
> - FILEBASE = cryptodev-linux-$(VERSION)
> - TMPDIR ?= /tmp
> - OUTPUT = $(FILEBASE).tar.gz
> -diff --git a/tests/Makefile b/tests/Makefile
> -index 87ca3c7..0488cf6 100644
> ---- a/tests/Makefile
> -+++ b/tests/Makefile
> -@@ -19,6 +19,12 @@ example-async-hmac-objs := async_hmac.o
> - example-async-speed-objs := async_speed.o
> - example-hashcrypt-speed-objs := hashcrypt_speed.c
> -
> -+install:
> -+	install -d  $(DESTDIR)/usr/bin/tests_cryptodev
> -+	for bin in $(hostprogs); do \
> -+		install -m 755 $${bin} $(DESTDIR)/usr/bin/tests_cryptodev/; \
> -+	done
> -+
> - check: $(hostprogs)
> - 	./cipher
> - 	./hmac
> -@@ -28,6 +34,8 @@ check: $(hostprogs)
> - 	./cipher-gcm
> - 	./cipher-aead
> -
> -+testprogs: $(hostprogs)
> -+
> - clean:
> - 	rm -f *.o *~ $(hostprogs)
> -
> ---
> -1.7.5.4
> -
> diff --git a/recipes-kernel/cryptodev/files/makefile_fixup.patch b/recipes-kernel/cryptodev/files/makefile_fixup.patch
> deleted file mode 100644
> index 323aacd..0000000
> --- a/recipes-kernel/cryptodev/files/makefile_fixup.patch
> +++ /dev/null
> @@ -1,26 +0,0 @@
> -diff --git a/Makefile b/Makefile
> -index 2be8825..b36d68c 100644
> ---- a/Makefile
> -+++ b/Makefile
> -@@ -1,6 +1,7 @@
> - KBUILD_CFLAGS += -I$(src)
> - KERNEL_DIR = /lib/modules/$(shell uname -r)/build
> - VERSION = 1.5
> -+PREFIX =
> -
> - cryptodev-objs = ioctl.o main.o cryptlib.o authenc.o zc.o util.o
> -
> -@@ -12,10 +13,10 @@ build: version.h
> - version.h: Makefile
> - 	@echo "#define VERSION \"$(VERSION)\"" > version.h
> -
> --install:
> -+modules_install:
> - 	make -C $(KERNEL_DIR) SUBDIRS=`pwd` modules_install
> --	@echo "Installing cryptodev.h in /usr/include/crypto ..."
> --	@install -D crypto/cryptodev.h /usr/include/crypto/cryptodev.h
> -+	@echo "Installing cryptodev.h in $(PREFIX)/usr/include/crypto ..."
> -+	@install -D crypto/cryptodev.h $(PREFIX)/usr/include/crypto/cryptodev.h
> -
> - clean:
> - 	make -C $(KERNEL_DIR) SUBDIRS=`pwd` clean
>



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module: use fsl maintained source
  2014-07-09 17:28 ` [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module: " Otavio Salvador
@ 2014-07-10  1:46   ` ting.liu
  2014-07-10  6:51   ` ting.liu
  1 sibling, 0 replies; 21+ messages in thread
From: ting.liu @ 2014-07-10  1:46 UTC (permalink / raw)
  To: Otavio Salvador, cristian.stoica; +Cc: meta-freescale

> -----Original Message-----
> From: otavio.salvador@gmail.com [mailto:otavio.salvador@gmail.com] On Behalf
> Of Otavio Salvador
> Sent: Thursday, July 10, 2014 1:28 AM
> To: Liu Ting-B28495
> Cc: meta-freescale@yoctoproject.org
> Subject: Re: [meta-freescale] [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module:
> use fsl maintained source
> 
> On Wed, Jul 9, 2014 at 5:16 AM,  <ting.liu@freescale.com> wrote:
> > From: Zhenhua Luo <zhenhua.luo@freescale.com>
> >
> > FSL SDK released its own cryptodev based on 1.6, but not all the codes
> > was upstreamed, add bbappend to use fsl maintained source. This change
> > only be applied for fsl machines
> >
> > Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
> > Signed-off-by: Ting Liu <b28495@freescale.com>
> 
> This patch is not machine contained. The python anonymous code will run and
> change the flags for all 64 bit machines which is not desired.
> 
> Please instead of forking the code, export the needed patches and apply them
> in the bbappend so we know exactly what is still pending to be upstreamed and
> can work to reduce the fork size.

+ Cristian Stoica
Hello Cristian,

What is the upstream status of openssl now?

-Ting

> 
> --
> Otavio Salvador                             O.S. Systems
> http://www.ossystems.com.br        http://code.ossystems.com.br
> Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module: use fsl maintained source
  2014-07-09 20:19 ` Bob Cochran
@ 2014-07-10  2:13   ` ting.liu
  2014-07-11 14:41     ` Bob Cochran
  0 siblings, 1 reply; 21+ messages in thread
From: ting.liu @ 2014-07-10  2:13 UTC (permalink / raw)
  To: Bob Cochran, zhenhua.luo; +Cc: meta-freescale

> -----Original Message-----
> From: Bob Cochran [mailto:yocto@mindchasers.com]
> Sent: Thursday, July 10, 2014 4:19 AM
> To: Liu Ting-B28495; Luo Zhenhua-B19537; meta-freescale@yoctoproject.org
> Subject: Re: [meta-freescale] [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module:
> use fsl maintained source
> 
> On 07/09/2014 04:16 AM, ting.liu@freescale.com wrote:
> > From: Zhenhua Luo <zhenhua.luo@freescale.com>
> >
> > FSL SDK released its own cryptodev based on 1.6, but not all the codes
> > was upstreamed, add bbappend to use fsl maintained source. This change
> > only be applied for fsl machines
> 
> 
> Hello Ting (and Zhenhua),
> 
> Would it be useful to you if I created a hybrid build environment of QorIQ
> SDK1.6 with its meta-fsl-ppc tree replaced by the Yocto meta-fsl-ppc master
> branch and test on T1040RDB with the submitted patches?
> 

Hello Bob,
Thanks for your great support. Yes, it is very useful, just do it. Report to us if you find any issue, and we will fix ASAP. Actually that is what we finally want, QorIQ SDK = fsl community bsp + meta-fsl-networking (may have some fsl customization or be empty). we start fsl community bsp test for qoriq now and will upstream the recipes in QorIQ SDK v1.6 as much as possible. 

> Please let me know if this would be useful feedback, or if you would prefer
> testing only be done after certain commits (tags) are reached.
> 

You need these four patches applied. Then all should be ok. (skmm-ep has a workaournd in sdk 1.6, now the pkg developers want to find a better fix. But it does not affect t1040rdb)

> Thank you,
> 
> Bob
> 
> 
> 
> 
> 
> >
> > Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
> > Signed-off-by: Ting Liu <b28495@freescale.com>
> > ---
> >   recipes-kernel/cryptodev/cryptodev-fsl.inc         |    5 ++
> >   .../cryptodev/cryptodev-linux_1.6.bbappend         |    2 +
> >   .../cryptodev/cryptodev-module_1.6.bbappend        |   25 +++++++
> >   recipes-kernel/cryptodev/cryptodev_1.5.bb          |   51 ---------------
> >   ...pile-and-install-rules-for-cryptodev-test.patch |   69 ----------------
> ----
> >   .../cryptodev/files/makefile_fixup.patch           |   26 --------
> >   6 files changed, 32 insertions(+), 146 deletions(-)
> >   create mode 100644 recipes-kernel/cryptodev/cryptodev-fsl.inc
> >   create mode 100644 recipes-kernel/cryptodev/cryptodev-linux_1.6.bbappend
> >   create mode 100644 recipes-kernel/cryptodev/cryptodev-module_1.6.bbappend
> >   delete mode 100644 recipes-kernel/cryptodev/cryptodev_1.5.bb
> >   delete mode 100644 recipes-kernel/cryptodev/files/Add-the-compile-and-
> install-rules-for-cryptodev-test.patch
> >   delete mode 100644
> > recipes-kernel/cryptodev/files/makefile_fixup.patch
> >
> > diff --git a/recipes-kernel/cryptodev/cryptodev-fsl.inc
> > b/recipes-kernel/cryptodev/cryptodev-fsl.inc
> > new file mode 100644
> > index 0000000..7520152
> > --- /dev/null
> > +++ b/recipes-kernel/cryptodev/cryptodev-fsl.inc
> > @@ -0,0 +1,5 @@
> > +SRC_URI_fslmachine = "git://git.freescale.com/ppc/sdk/cryptodev-
> linux.git;nobranch=1"
> > +SRCREV_fslmachine = "c9baf0623bdc55e8adfc91bf675e8148826d57d1"
> > +
> > +S_fslmachine = "${WORKDIR}/git"
> > +
> > diff --git a/recipes-kernel/cryptodev/cryptodev-linux_1.6.bbappend
> > b/recipes-kernel/cryptodev/cryptodev-linux_1.6.bbappend
> > new file mode 100644
> > index 0000000..3cbbb3d
> > --- /dev/null
> > +++ b/recipes-kernel/cryptodev/cryptodev-linux_1.6.bbappend
> > @@ -0,0 +1,2 @@
> > +require recipes-kernel/cryptodev/cryptodev-fsl.inc
> > +
> > diff --git a/recipes-kernel/cryptodev/cryptodev-module_1.6.bbappend
> > b/recipes-kernel/cryptodev/cryptodev-module_1.6.bbappend
> > new file mode 100644
> > index 0000000..80cef70
> > --- /dev/null
> > +++ b/recipes-kernel/cryptodev/cryptodev-module_1.6.bbappend
> > @@ -0,0 +1,25 @@
> > +require recipes-kernel/cryptodev/cryptodev-fsl.inc
> > +
> > +python () {
> > +	ma = d.getVar("DISTRO_FEATURES", True)
> > +	arch = d.getVar("OVERRIDES", True)
> > +
> > +	# the : after the arch is to skip the message on 64b
> > +	if not "multiarch" in ma and "e6500:" in arch:
> > +		raise bb.parse.SkipPackage("Building the kernel for this arch
> > +requires multiarch to be in DISTRO_FEATURES")
> > +
> > +	promote_kernel = d.getVar('BUILD_64BIT_KERNEL')
> > +
> > +	if promote_kernel == "1":
> > +		d.setVar('KERNEL_CC_append', ' -m64')
> > +		d.setVar('KERNEL_LD_append', ' -melf64ppc')
> > +
> > +	error_qa = d.getVar('ERROR_QA', True)
> > +	if 'arch' in error_qa:
> > +		d.setVar('ERROR_QA', error_qa.replace(' arch', '')) }
> > +
> > +do_install_append_fslmachine () {
> > +    rm -fr ${D}/usr
> > +}
> > +
> > diff --git a/recipes-kernel/cryptodev/cryptodev_1.5.bb
> > b/recipes-kernel/cryptodev/cryptodev_1.5.bb
> > deleted file mode 100644
> > index 4c1dade..0000000
> > --- a/recipes-kernel/cryptodev/cryptodev_1.5.bb
> > +++ /dev/null
> > @@ -1,51 +0,0 @@
> > -SECTION = "devel"
> > -SUMMARY = "Linux Cryptodev KERNEL MODULE"
> > -DESCRIPTION = "The Cryptodev package contains the kernel /dev/crypto
> module"
> > -LICENSE = "GPLv2"
> > -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
> > -RCONFLICTS_${PN} = "ocf-linux"
> > -
> > -inherit module
> > -
> > -PR = "r1"
> > -DEPENDS += "openssl"
> > -
> > -SRCREV = "1c24a0aa996630518d47826a2e3fea129ea094c7"
> > -
> > -SRC_URI = "git://repo.or.cz/cryptodev-linux.git;protocol=git \
> > -           file://makefile_fixup.patch \
> > -           file://Add-the-compile-and-install-rules-for-cryptodev-
> test.patch"
> > -
> > -EXTRA_OEMAKE='KERNEL_DIR="${STAGING_KERNEL_DIR}" PREFIX="${D}"'
> > -
> > -S = "${WORKDIR}/git"
> > -python () {
> > -	ma = d.getVar("DISTRO_FEATURES", True)
> > -	arch = d.getVar("OVERRIDES", True)
> > -
> > -	# the : after the arch is to skip the message on 64b
> > -	if not "multiarch" in ma and ("e5500:" in arch or "e6500:" in arch):
> > -		raise bb.parse.SkipPackage("Building the kernel for this arch
> requires multiarch to be in DISTRO_FEATURES")
> > -
> > -	promote_kernel = d.getVar('BUILD_64BIT_KERNEL')
> > -
> > -	if promote_kernel == "1":
> > -		d.setVar('KERNEL_CC_append', ' -m64')
> > -		d.setVar('KERNEL_LD_append', ' -melf64ppc')
> > -
> > -	error_qa = d.getVar('ERROR_QA', True)
> > -	if 'arch' in error_qa:
> > -		d.setVar('ERROR_QA', error_qa.replace(' arch', ''))
> > -}
> > -
> > -do_compile_append() {
> > -        oe_runmake testprogs
> > -}
> > -
> > -do_install_append() {
> > -        oe_runmake install_tests
> > -}
> > -
> > -PACKAGES += "${PN}-tests"
> > -FILES_${PN}-dbg += "${bindir}/tests_cryptodev/.debug"
> > -FILES_${PN}-tests = "${bindir}/tests_cryptodev/*"
> > diff --git
> > a/recipes-kernel/cryptodev/files/Add-the-compile-and-install-rules-for
> > -cryptodev-test.patch
> > b/recipes-kernel/cryptodev/files/Add-the-compile-and-install-rules-for
> > -cryptodev-test.patch
> > deleted file mode 100644
> > index cb871f6..0000000
> > ---
> > a/recipes-kernel/cryptodev/files/Add-the-compile-and-install-rules-for
> > -cryptodev-test.patch
> > +++ /dev/null
> > @@ -1,69 +0,0 @@
> > -From 1980a8f4779a955e73285e7a0d86549b69bea5c8 Mon Sep 17 00:00:00
> > 2001
> > -From: Yu Zongchun <b40527@freescale.com>
> > -Date: Sun, 28 Apr 2013 14:39:22 +0800
> > -Subject: [PATCH] Add the compile and install rules for cryptodev
> > tests folder
> > -
> > -This is required to install the cryptodev tests folder to rootfs
> > -
> > -Signed-off-by: Yu Zongchun <b40527@freescale.com>
> > -
> > -Upstream-Status: Pending
> > -
> > ----
> > - Makefile       |    6 ++++++
> > - tests/Makefile |    8 ++++++++
> > - 2 files changed, 14 insertions(+), 0 deletions(-)
> > -
> > -diff --git a/Makefile b/Makefile
> > -index 2be8825..4cbb865 100644
> > ---- a/Makefile
> > -+++ b/Makefile
> > -@@ -17,6 +17,9 @@ install:
> > - 	@echo "Installing cryptodev.h in /usr/include/crypto ..."
> > - 	@install -D crypto/cryptodev.h /usr/include/crypto/cryptodev.h
> > -
> > -+install_tests:
> > -+	make -C tests install DESTDIR=$(PREFIX)
> > -+
> > - clean:
> > - 	make -C $(KERNEL_DIR) SUBDIRS=`pwd` clean
> > - 	rm -f $(hostprogs) *~
> > -@@ -25,6 +28,9 @@ clean:
> > - check:
> > - 	KERNEL_DIR=$(KERNEL_DIR) make -C tests check
> > -
> > -+testprogs:
> > -+	KERNEL_DIR=$(KERNEL_DIR) make -C tests testprogs
> > -+
> > - FILEBASE = cryptodev-linux-$(VERSION)
> > - TMPDIR ?= /tmp
> > - OUTPUT = $(FILEBASE).tar.gz
> > -diff --git a/tests/Makefile b/tests/Makefile -index 87ca3c7..0488cf6
> > 100644
> > ---- a/tests/Makefile
> > -+++ b/tests/Makefile
> > -@@ -19,6 +19,12 @@ example-async-hmac-objs := async_hmac.o
> > - example-async-speed-objs := async_speed.o
> > - example-hashcrypt-speed-objs := hashcrypt_speed.c
> > -
> > -+install:
> > -+	install -d  $(DESTDIR)/usr/bin/tests_cryptodev
> > -+	for bin in $(hostprogs); do \
> > -+		install -m 755 $${bin} $(DESTDIR)/usr/bin/tests_cryptodev/; \
> > -+	done
> > -+
> > - check: $(hostprogs)
> > - 	./cipher
> > - 	./hmac
> > -@@ -28,6 +34,8 @@ check: $(hostprogs)
> > - 	./cipher-gcm
> > - 	./cipher-aead
> > -
> > -+testprogs: $(hostprogs)
> > -+
> > - clean:
> > - 	rm -f *.o *~ $(hostprogs)
> > -
> > ---
> > -1.7.5.4
> > -
> > diff --git a/recipes-kernel/cryptodev/files/makefile_fixup.patch
> > b/recipes-kernel/cryptodev/files/makefile_fixup.patch
> > deleted file mode 100644
> > index 323aacd..0000000
> > --- a/recipes-kernel/cryptodev/files/makefile_fixup.patch
> > +++ /dev/null
> > @@ -1,26 +0,0 @@
> > -diff --git a/Makefile b/Makefile
> > -index 2be8825..b36d68c 100644
> > ---- a/Makefile
> > -+++ b/Makefile
> > -@@ -1,6 +1,7 @@
> > - KBUILD_CFLAGS += -I$(src)
> > - KERNEL_DIR = /lib/modules/$(shell uname -r)/build
> > - VERSION = 1.5
> > -+PREFIX =
> > -
> > - cryptodev-objs = ioctl.o main.o cryptlib.o authenc.o zc.o util.o
> > -
> > -@@ -12,10 +13,10 @@ build: version.h
> > - version.h: Makefile
> > - 	@echo "#define VERSION \"$(VERSION)\"" > version.h
> > -
> > --install:
> > -+modules_install:
> > - 	make -C $(KERNEL_DIR) SUBDIRS=`pwd` modules_install
> > --	@echo "Installing cryptodev.h in /usr/include/crypto ..."
> > --	@install -D crypto/cryptodev.h /usr/include/crypto/cryptodev.h
> > -+	@echo "Installing cryptodev.h in $(PREFIX)/usr/include/crypto ..."
> > -+	@install -D crypto/cryptodev.h
> > -+$(PREFIX)/usr/include/crypto/cryptodev.h
> > -
> > - clean:
> > - 	make -C $(KERNEL_DIR) SUBDIRS=`pwd` clean
> >



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [meta-fsl-ppc][PATCH 4/4] openssl: use fsl maintained source
  2014-07-09  8:32   ` Redwan Mohamed
@ 2014-07-10  2:28     ` ting.liu
  0 siblings, 0 replies; 21+ messages in thread
From: ting.liu @ 2014-07-10  2:28 UTC (permalink / raw)
  To: Redwan Mohamed; +Cc: meta-freescale

[-- Attachment #1: Type: text/plain, Size: 4943 bytes --]

Just read your another email. These patches were used for qoriq boards. I think you need to find other solution for the qtdemoE issue.

From: Redwan Mohamed [mailto:redwan@zumisolutions.com]
Sent: Wednesday, July 09, 2014 4:33 PM
To: Liu Ting-B28495; meta-freescale@yoctoproject.org
Subject: RE: [meta-freescale] [meta-fsl-ppc][PATCH 4/4] openssl: use fsl maintained source

Thanks Ting, will apply the patches and check.
Hope all the four patches are with respect to reported qtdemoE issue in qte-in-use-image recipe.

Thanks & Best Regards,
Redwan A M | Senior Software Engineer
Zumi Solutions (P) Ltd.,
#956, 16th Main Road, BTM 2nd Stage,
Bangalore-560 076. India.
Mob: +91 9535687671
Tel: +91 80 41126182

> From: ting.liu@freescale.com<mailto:ting.liu@freescale.com>
> To: meta-freescale@yoctoproject.org<mailto:meta-freescale@yoctoproject.org>
> Date: Wed, 9 Jul 2014 03:16:43 -0500
> Subject: [meta-freescale] [meta-fsl-ppc][PATCH 4/4] openssl: use fsl maintained source
>
> From: Ting Liu <b28495@freescale.com<mailto:b28495@freescale.com>>
>
> add bbappend to use fsl own openssl source code which was tested
>
> Signed-off-by: Ting Liu <b28495@freescale.com<mailto:b28495@freescale.com>>
> ---
> .../openssl/openssl_1.0.1g.bbappend | 40 ++++++++++++++++++++
> 1 file changed, 40 insertions(+)
> create mode 100644 recipes-connectivity/openssl/openssl_1.0.1g.bbappend
>
> diff --git a/recipes-connectivity/openssl/openssl_1.0.1g.bbappend b/recipes-connectivity/openssl/openssl_1.0.1g.bbappend
> new file mode 100644
> index 0000000..b86af36
> --- /dev/null
> +++ b/recipes-connectivity/openssl/openssl_1.0.1g.bbappend
> @@ -0,0 +1,40 @@
> +RDEPENDS_${PN}_class-target += "cryptodev-module"
> +
> +# base package is taken from Freescale repository
> +SRC_URI = "git://git.freescale.com/ppc/sdk/openssl.git;nobranch=1"
> +SRCREV = "9dfc18846063a110070782ede699c513b30257e5"
> +
> +SRC_URI += "file://configure-targets.patch \
> + file://shared-libs.patch \
> + file://oe-ldflags.patch \
> + file://engines-install-in-libdir-ssl.patch \
> + file://openssl-fix-link.patch \
> + file://debian/version-script.patch \
> + file://debian/pic.patch \
> + file://debian/c_rehash-compat.patch \
> + file://debian/ca.patch \
> + file://debian/make-targets.patch \
> + file://debian/no-rpath.patch \
> + file://debian/man-dir.patch \
> + file://debian/man-section.patch \
> + file://debian/no-symbolic.patch \
> + file://debian/debian-targets.patch \
> + file://openssl_fix_for_x32.patch \
> + file://openssl-fix-doc.patch \
> + file://fix-cipher-des-ede3-cfb1.patch \
> + file://openssl-avoid-NULL-pointer-dereference-in-EVP_DigestInit_ex.patch \
> + file://openssl-avoid-NULL-pointer-dereference-in-dh_pub_encode.patch \
> + file://initial-aarch64-bits.patch \
> + file://find.pl \
> + file://openssl-fix-des.pod-error.patch \
> + <file:///\\configure-targets.patch%20\%0b%3e%20+%20file:\shared-libs.patch%20\%0b%3e%20+%20file:\oe-ldflags.patch%20\%0b%3e%20+%20file:\engines-install-in-libdir-ssl.patch%20\%0b%3e%20+%20file:\openssl-fix-link.patch%20\%0b%3e%20+%20file:\debian\version-script.patch%20\%0b%3e%20+%20file:\debian\pic.patch%20\%0b%3e%20+%20file:\debian\c_rehash-compat.patch%20\%0b%3e%20+%20file:\debian\ca.patch%20\%0b%3e%20+%20file:\debian\make-targets.patch%20\%0b%3e%20+%20file:\debian\no-rpath.patch%20\%0b%3e%20+%20file:\debian\man-dir.patch%20\%0b%3e%20+%20file:\debian\man-section.patch%20\%0b%3e%20+%20file:\debian\no-symbolic.patch%20\%0b%3e%20+%20file:\debian\debian-targets.patch%20\%0b%3e%20+%20file:\openssl_fix_for_x32.patch%20\%0b%3e%20+%20file:\openssl-fix-doc.patch%20\%0b%3e%20+%20file:\fix-cipher-des-ede3-cfb1.patch%20\%0b%3e%20+%20file:\openssl-avoid-NULL-pointer-dereference-in-EVP_DigestInit_ex.patch%20\%0b%3e%20+%20file:\openssl-avoid-NULL-pointer-dereference-in-dh_pub_encode.patch%20\%0b%3e%20+%20file:\initial-aarch64-bits.patch%20\%0b%3e%20+%20file:\find.pl%20\%0b%3e%20+%20file:\openssl-fix-des.pod-error.patch%20\%0b%3e%20+%20> "
> +S = "${WORKDIR}/git"
> +
> +# Digest offloading through cryptodev is not recommended because of the
> +# performance penalty of the Openssl engine interface. Openssl generates a huge
> +# number of calls to digest functions for even a small amount of work data.
> +# For example there are 70 calls to cipher code and over 10000 to digest code
> +# when downloading only 10 files of 700 bytes each.
> +# Do not build OpenSSL with cryptodev digest support until engine digest
> +# interface gets some rework:
> +CFLAG := "${@'${CFLAG}'.replace('-DUSE_CRYPTODEV_DIGESTS', '')}<mailto:$%7b@'$%7bCFLAG%7d'.replace('-DUSE_CRYPTODEV_DIGESTS',%20'')%7d>"
> --
> 1.7.9.7
>
> --
> _______________________________________________
> meta-freescale mailing list
> meta-freescale@yoctoproject.org<mailto:meta-freescale@yoctoproject.org>
> https://lists.yoctoproject.org/listinfo/meta-freescale

[-- Attachment #2: Type: text/html, Size: 10526 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module: use fsl maintained source
  2014-07-09 17:28 ` [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module: " Otavio Salvador
  2014-07-10  1:46   ` ting.liu
@ 2014-07-10  6:51   ` ting.liu
  2014-07-10  7:15     ` cristian.stoica
  1 sibling, 1 reply; 21+ messages in thread
From: ting.liu @ 2014-07-10  6:51 UTC (permalink / raw)
  To: ting.liu, Otavio Salvador, cristian.stoica, Richard Schmitt
  Cc: meta-freescale

+Rich

> -----Original Message-----
> From: Liu Ting-B28495
> Sent: Thursday, July 10, 2014 9:47 AM
> To: 'Otavio Salvador'; Stoica Cristian-B18196
> Cc: meta-freescale@yoctoproject.org
> Subject: RE: [meta-freescale] [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module:
> use fsl maintained source
> 
> > -----Original Message-----
> > From: otavio.salvador@gmail.com [mailto:otavio.salvador@gmail.com] On
> > Behalf Of Otavio Salvador
> > Sent: Thursday, July 10, 2014 1:28 AM
> > To: Liu Ting-B28495
> > Cc: meta-freescale@yoctoproject.org
> > Subject: Re: [meta-freescale] [meta-fsl-ppc][PATCH 1/4] cryptodev-
> linux/module:
> > use fsl maintained source
> >
> > On Wed, Jul 9, 2014 at 5:16 AM,  <ting.liu@freescale.com> wrote:
> > > From: Zhenhua Luo <zhenhua.luo@freescale.com>
> > >
> > > FSL SDK released its own cryptodev based on 1.6, but not all the
> > > codes was upstreamed, add bbappend to use fsl maintained source.
> > > This change only be applied for fsl machines
> > >
> > > Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
> > > Signed-off-by: Ting Liu <b28495@freescale.com>
> >
> > This patch is not machine contained. The python anonymous code will
> > run and change the flags for all 64 bit machines which is not desired.

I have got an improvement for this. Will send it out later. Thanks.

> >
> > Please instead of forking the code, export the needed patches and
> > apply them in the bbappend so we know exactly what is still pending to
> > be upstreamed and can work to reduce the fork size.
> 
> + Cristian Stoica
> Hello Cristian,
> 
> What is the upstream status of openssl now?

Hello Cristian,
I tried to rebase our internal cryptodev-linux and openssl onto upstream but met lots of merge failures.
Could you please help to identify what is still pending to be upstreamed, as Otavio said.

Then I can update the recipes.

> 
> -Ting
> 
> >
> > --
> > Otavio Salvador                             O.S. Systems
> > http://www.ossystems.com.br        http://code.ossystems.com.br
> > Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module: use fsl maintained source
  2014-07-10  6:51   ` ting.liu
@ 2014-07-10  7:15     ` cristian.stoica
  2014-07-10 10:34       ` ting.liu
  2014-07-10 12:19       ` Otavio Salvador
  0 siblings, 2 replies; 21+ messages in thread
From: cristian.stoica @ 2014-07-10  7:15 UTC (permalink / raw)
  To: ting.liu, Otavio Salvador, Richard Schmitt; +Cc: meta-freescale

Hi Ting,

> I tried to rebase our internal cryptodev-linux and openssl onto upstream
> but met lots of merge failures.
> Could you please help to identify what is still pending to be upstreamed,
> as Otavio said.

[CS] cryptodev-linux from sdk-v1.6 tree has the merge conflicts already fixed. Please check commit ID c9baf0623bdc55e8adfc91bf675e8148826d57d1.

We're currently working with Phil Sutter from cryptodev to upstream our patches. As the modifications involve some API changes, the process is relatively  slow but steady. Our plan is to make minimum modifications to cryptodev internals so the rest of patches are easy to integrate.

Cristian S.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module: use fsl maintained source
  2014-07-10  7:15     ` cristian.stoica
@ 2014-07-10 10:34       ` ting.liu
  2014-07-10 12:19       ` Otavio Salvador
  1 sibling, 0 replies; 21+ messages in thread
From: ting.liu @ 2014-07-10 10:34 UTC (permalink / raw)
  To: cristian.stoica, Otavio Salvador, Richard Schmitt; +Cc: meta-freescale

> -----Original Message-----
> From: Stoica Cristian-B18196
> Sent: Thursday, July 10, 2014 3:16 PM
> To: Liu Ting-B28495; Otavio Salvador; Schmitt Richard-B43082
> Cc: meta-freescale@yoctoproject.org
> Subject: RE: [meta-freescale] [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module:
> use fsl maintained source
> 
> Hi Ting,
> 
> > I tried to rebase our internal cryptodev-linux and openssl onto
> > upstream but met lots of merge failures.
> > Could you please help to identify what is still pending to be
> > upstreamed, as Otavio said.
> 
> [CS] cryptodev-linux from sdk-v1.6 tree has the merge conflicts already fixed.
> Please check commit ID c9baf0623bdc55e8adfc91bf675e8148826d57d1.

Yes, I used this commit. But what I want is the pending patches (upstream base + these patches = released codes in sdk 1.6).
I just send out v2 patches, please help to review.

> 
> We're currently working with Phil Sutter from cryptodev to upstream our
> patches. As the modifications involve some API changes, the process is
> relatively  slow but steady. Our plan is to make minimum modifications to
> cryptodev internals so the rest of patches are easy to integrate.
> 
> Cristian S.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module: use fsl maintained source
  2014-07-10  7:15     ` cristian.stoica
  2014-07-10 10:34       ` ting.liu
@ 2014-07-10 12:19       ` Otavio Salvador
  2014-07-10 13:41         ` cristian.stoica
  1 sibling, 1 reply; 21+ messages in thread
From: Otavio Salvador @ 2014-07-10 12:19 UTC (permalink / raw)
  To: cristian.stoica; +Cc: meta-freescale, Richard Schmitt

Hello Cristian,

On Thu, Jul 10, 2014 at 4:15 AM, cristian.stoica@freescale.com
<cristian.stoica@freescale.com> wrote:
>> I tried to rebase our internal cryptodev-linux and openssl onto upstream
>> but met lots of merge failures.
>> Could you please help to identify what is still pending to be upstreamed,
>> as Otavio said.
>
> [CS] cryptodev-linux from sdk-v1.6 tree has the merge conflicts already fixed. Please check commit ID c9baf0623bdc55e8adfc91bf675e8148826d57d1.
>
> We're currently working with Phil Sutter from cryptodev to upstream our patches. As the modifications involve some API changes, the process is relatively  slow but steady. Our plan is to make minimum modifications to cryptodev internals so the rest of patches are easy to integrate.

Is it possible to "rebase" the patches and include them in the recipe?
In case it is not and we do need a fork it is better to use
cryptodev-linux-fsl-ppc and cryptodev-module-fsl-ppc recipes to make
clear it is a fork.

Either way works for me. Fully upstreamed code is of course the best
alternative.

-- 
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module: use fsl maintained source
  2014-07-10 12:19       ` Otavio Salvador
@ 2014-07-10 13:41         ` cristian.stoica
  2014-07-11  5:31           ` zhenhua.luo
  0 siblings, 1 reply; 21+ messages in thread
From: cristian.stoica @ 2014-07-10 13:41 UTC (permalink / raw)
  To: Otavio Salvador; +Cc: meta-freescale, Richard Schmitt

> Is it possible to "rebase" the patches and include them in the recipe?
> In case it is not and we do need a fork it is better to use
> cryptodev-linux-fsl-ppc and cryptodev-module-fsl-ppc recipes to make
> clear it is a fork.
[] 
I've tried a quick rebase and got back all the conflicts I already fixed on the merge. I'd prefer not to do them again, especially since we want to obsolete them with the upstream.
If you have an alternative for the time being, then I'm OK with it.

Cristian S.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module: use fsl maintained source
  2014-07-10 13:41         ` cristian.stoica
@ 2014-07-11  5:31           ` zhenhua.luo
  0 siblings, 0 replies; 21+ messages in thread
From: zhenhua.luo @ 2014-07-11  5:31 UTC (permalink / raw)
  To: cristian.stoica, Otavio Salvador; +Cc: meta-freescale, Richard Schmitt

The v2 openssl recipes were sent out to use the rebased patches, those patches are generated based on opensource openssl-1.0.1g-stable branch. 

I don't see any comment on the patch series, I will merge them to ensure sec function can work in meta-fsl-ppc master. 

Hopefully those FSL openssl patches can be upstreamed ASAP, we can reuse the recipes provided by poky directly. I always believe upstream is the right thing to do. 


Best Regards,

Zhenhua

> -----Original Message-----
> From: meta-freescale-bounces@yoctoproject.org [mailto:meta-freescale-
> bounces@yoctoproject.org] On Behalf Of cristian.stoica@freescale.com
> Sent: Thursday, July 10, 2014 9:42 PM
> To: Otavio Salvador
> Cc: meta-freescale@yoctoproject.org; Schmitt Richard-B43082
> Subject: Re: [meta-freescale] [meta-fsl-ppc][PATCH 1/4] cryptodev-
> linux/module: use fsl maintained source
> 
> > Is it possible to "rebase" the patches and include them in the recipe?
> > In case it is not and we do need a fork it is better to use
> > cryptodev-linux-fsl-ppc and cryptodev-module-fsl-ppc recipes to make
> > clear it is a fork.
> []
> I've tried a quick rebase and got back all the conflicts I already fixed
> on the merge. I'd prefer not to do them again, especially since we want
> to obsolete them with the upstream.
> If you have an alternative for the time being, then I'm OK with it.
> 
> Cristian S.
> --
> _______________________________________________
> meta-freescale mailing list
> meta-freescale@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-freescale


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module: use fsl maintained source
  2014-07-10  2:13   ` ting.liu
@ 2014-07-11 14:41     ` Bob Cochran
  2014-07-11 15:40       ` ting.liu
  0 siblings, 1 reply; 21+ messages in thread
From: Bob Cochran @ 2014-07-11 14:41 UTC (permalink / raw)
  To: ting.liu, zhenhua.luo; +Cc: meta-freescale

On 07/09/2014 10:13 PM, ting.liu@freescale.com wrote:
>> -----Original Message-----
>> From: Bob Cochran [mailto:yocto@mindchasers.com]
>> Sent: Thursday, July 10, 2014 4:19 AM
>> To: Liu Ting-B28495; Luo Zhenhua-B19537; meta-freescale@yoctoproject.org
>> Subject: Re: [meta-freescale] [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module:
>> use fsl maintained source
>>
>> On 07/09/2014 04:16 AM, ting.liu@freescale.com wrote:
>>> From: Zhenhua Luo <zhenhua.luo@freescale.com>
>>>
>>> FSL SDK released its own cryptodev based on 1.6, but not all the codes
>>> was upstreamed, add bbappend to use fsl maintained source. This change
>>> only be applied for fsl machines
>>
>>
>> Hello Ting (and Zhenhua),
>>
>> Would it be useful to you if I created a hybrid build environment of QorIQ
>> SDK1.6 with its meta-fsl-ppc tree replaced by the Yocto meta-fsl-ppc master
>> branch and test on T1040RDB with the submitted patches?
>>
>
> Hello Bob,
> Thanks for your great support. Yes, it is very useful, just do it. Report to us if you find any issue, and we will fix ASAP. Actually that is what we finally want, QorIQ SDK = fsl community bsp + meta-fsl-networking (may have some fsl customization or be empty). we start fsl community bsp test for qoriq now and will upstream the recipes in QorIQ SDK v1.6 as much as possible.


I'm currently testing with your patches applied to meta-fsl-ppc master 
along with any needed Yocto / OE repos, each on its master branch (e.g., 
meta-virtualization).

In addition, I have copied over meta-fsl-networking from SDK1.6 and 
created my own meta-fsl-transition layer to hold recipes that haven't 
been patched into meta-fsl-ppc yet (e.g, l2switch and auto-resp).

I am NOT using the meta-fsl-ppc-toolchain layer.

I'm sifting through some build problems now for my t1040rdb-64b build, 
and I'll report later unless it's just operator error.

I have found in meta-fsl-networking that recipes-core could be merged 
into meta-fsl-ppc for consistency with the SDK image and that your 
busybox_%.bbappend file within meta-fsl-networking/recipes-core is 
missing a trailing ':' in the FILESEXTRAPATHS_prepend assignment that 
causes defconfig-fsl not to be picked up.



>
>> Please let me know if this would be useful feedback, or if you would prefer
>> testing only be done after certain commits (tags) are reached.
>>
>
> You need these four patches applied. Then all should be ok. (skmm-ep has a workaournd in sdk 1.6, now the pkg developers want to find a better fix. But it does not affect t1040rdb)
>
>> Thank you,
>>
>> Bob
>>
>>
>>
>>
>>
>>>
>>> Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
>>> Signed-off-by: Ting Liu <b28495@freescale.com>
>>> ---
>>>    recipes-kernel/cryptodev/cryptodev-fsl.inc         |    5 ++
>>>    .../cryptodev/cryptodev-linux_1.6.bbappend         |    2 +
>>>    .../cryptodev/cryptodev-module_1.6.bbappend        |   25 +++++++
>>>    recipes-kernel/cryptodev/cryptodev_1.5.bb          |   51 ---------------
>>>    ...pile-and-install-rules-for-cryptodev-test.patch |   69 ----------------
>> ----
>>>    .../cryptodev/files/makefile_fixup.patch           |   26 --------
>>>    6 files changed, 32 insertions(+), 146 deletions(-)
>>>    create mode 100644 recipes-kernel/cryptodev/cryptodev-fsl.inc
>>>    create mode 100644 recipes-kernel/cryptodev/cryptodev-linux_1.6.bbappend
>>>    create mode 100644 recipes-kernel/cryptodev/cryptodev-module_1.6.bbappend
>>>    delete mode 100644 recipes-kernel/cryptodev/cryptodev_1.5.bb
>>>    delete mode 100644 recipes-kernel/cryptodev/files/Add-the-compile-and-
>> install-rules-for-cryptodev-test.patch
>>>    delete mode 100644
>>> recipes-kernel/cryptodev/files/makefile_fixup.patch
>>>
>>> diff --git a/recipes-kernel/cryptodev/cryptodev-fsl.inc
>>> b/recipes-kernel/cryptodev/cryptodev-fsl.inc
>>> new file mode 100644
>>> index 0000000..7520152
>>> --- /dev/null
>>> +++ b/recipes-kernel/cryptodev/cryptodev-fsl.inc
>>> @@ -0,0 +1,5 @@
>>> +SRC_URI_fslmachine = "git://git.freescale.com/ppc/sdk/cryptodev-
>> linux.git;nobranch=1"
>>> +SRCREV_fslmachine = "c9baf0623bdc55e8adfc91bf675e8148826d57d1"
>>> +
>>> +S_fslmachine = "${WORKDIR}/git"
>>> +
>>> diff --git a/recipes-kernel/cryptodev/cryptodev-linux_1.6.bbappend
>>> b/recipes-kernel/cryptodev/cryptodev-linux_1.6.bbappend
>>> new file mode 100644
>>> index 0000000..3cbbb3d
>>> --- /dev/null
>>> +++ b/recipes-kernel/cryptodev/cryptodev-linux_1.6.bbappend
>>> @@ -0,0 +1,2 @@
>>> +require recipes-kernel/cryptodev/cryptodev-fsl.inc
>>> +
>>> diff --git a/recipes-kernel/cryptodev/cryptodev-module_1.6.bbappend
>>> b/recipes-kernel/cryptodev/cryptodev-module_1.6.bbappend
>>> new file mode 100644
>>> index 0000000..80cef70
>>> --- /dev/null
>>> +++ b/recipes-kernel/cryptodev/cryptodev-module_1.6.bbappend
>>> @@ -0,0 +1,25 @@
>>> +require recipes-kernel/cryptodev/cryptodev-fsl.inc
>>> +
>>> +python () {
>>> +	ma = d.getVar("DISTRO_FEATURES", True)
>>> +	arch = d.getVar("OVERRIDES", True)
>>> +
>>> +	# the : after the arch is to skip the message on 64b
>>> +	if not "multiarch" in ma and "e6500:" in arch:
>>> +		raise bb.parse.SkipPackage("Building the kernel for this arch
>>> +requires multiarch to be in DISTRO_FEATURES")
>>> +
>>> +	promote_kernel = d.getVar('BUILD_64BIT_KERNEL')
>>> +
>>> +	if promote_kernel == "1":
>>> +		d.setVar('KERNEL_CC_append', ' -m64')
>>> +		d.setVar('KERNEL_LD_append', ' -melf64ppc')
>>> +
>>> +	error_qa = d.getVar('ERROR_QA', True)
>>> +	if 'arch' in error_qa:
>>> +		d.setVar('ERROR_QA', error_qa.replace(' arch', '')) }
>>> +
>>> +do_install_append_fslmachine () {
>>> +    rm -fr ${D}/usr
>>> +}
>>> +
>>> diff --git a/recipes-kernel/cryptodev/cryptodev_1.5.bb
>>> b/recipes-kernel/cryptodev/cryptodev_1.5.bb
>>> deleted file mode 100644
>>> index 4c1dade..0000000
>>> --- a/recipes-kernel/cryptodev/cryptodev_1.5.bb
>>> +++ /dev/null
>>> @@ -1,51 +0,0 @@
>>> -SECTION = "devel"
>>> -SUMMARY = "Linux Cryptodev KERNEL MODULE"
>>> -DESCRIPTION = "The Cryptodev package contains the kernel /dev/crypto
>> module"
>>> -LICENSE = "GPLv2"
>>> -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
>>> -RCONFLICTS_${PN} = "ocf-linux"
>>> -
>>> -inherit module
>>> -
>>> -PR = "r1"
>>> -DEPENDS += "openssl"
>>> -
>>> -SRCREV = "1c24a0aa996630518d47826a2e3fea129ea094c7"
>>> -
>>> -SRC_URI = "git://repo.or.cz/cryptodev-linux.git;protocol=git \
>>> -           file://makefile_fixup.patch \
>>> -           file://Add-the-compile-and-install-rules-for-cryptodev-
>> test.patch"
>>> -
>>> -EXTRA_OEMAKE='KERNEL_DIR="${STAGING_KERNEL_DIR}" PREFIX="${D}"'
>>> -
>>> -S = "${WORKDIR}/git"
>>> -python () {
>>> -	ma = d.getVar("DISTRO_FEATURES", True)
>>> -	arch = d.getVar("OVERRIDES", True)
>>> -
>>> -	# the : after the arch is to skip the message on 64b
>>> -	if not "multiarch" in ma and ("e5500:" in arch or "e6500:" in arch):
>>> -		raise bb.parse.SkipPackage("Building the kernel for this arch
>> requires multiarch to be in DISTRO_FEATURES")
>>> -
>>> -	promote_kernel = d.getVar('BUILD_64BIT_KERNEL')
>>> -
>>> -	if promote_kernel == "1":
>>> -		d.setVar('KERNEL_CC_append', ' -m64')
>>> -		d.setVar('KERNEL_LD_append', ' -melf64ppc')
>>> -
>>> -	error_qa = d.getVar('ERROR_QA', True)
>>> -	if 'arch' in error_qa:
>>> -		d.setVar('ERROR_QA', error_qa.replace(' arch', ''))
>>> -}
>>> -
>>> -do_compile_append() {
>>> -        oe_runmake testprogs
>>> -}
>>> -
>>> -do_install_append() {
>>> -        oe_runmake install_tests
>>> -}
>>> -
>>> -PACKAGES += "${PN}-tests"
>>> -FILES_${PN}-dbg += "${bindir}/tests_cryptodev/.debug"
>>> -FILES_${PN}-tests = "${bindir}/tests_cryptodev/*"
>>> diff --git
>>> a/recipes-kernel/cryptodev/files/Add-the-compile-and-install-rules-for
>>> -cryptodev-test.patch
>>> b/recipes-kernel/cryptodev/files/Add-the-compile-and-install-rules-for
>>> -cryptodev-test.patch
>>> deleted file mode 100644
>>> index cb871f6..0000000
>>> ---
>>> a/recipes-kernel/cryptodev/files/Add-the-compile-and-install-rules-for
>>> -cryptodev-test.patch
>>> +++ /dev/null
>>> @@ -1,69 +0,0 @@
>>> -From 1980a8f4779a955e73285e7a0d86549b69bea5c8 Mon Sep 17 00:00:00
>>> 2001
>>> -From: Yu Zongchun <b40527@freescale.com>
>>> -Date: Sun, 28 Apr 2013 14:39:22 +0800
>>> -Subject: [PATCH] Add the compile and install rules for cryptodev
>>> tests folder
>>> -
>>> -This is required to install the cryptodev tests folder to rootfs
>>> -
>>> -Signed-off-by: Yu Zongchun <b40527@freescale.com>
>>> -
>>> -Upstream-Status: Pending
>>> -
>>> ----
>>> - Makefile       |    6 ++++++
>>> - tests/Makefile |    8 ++++++++
>>> - 2 files changed, 14 insertions(+), 0 deletions(-)
>>> -
>>> -diff --git a/Makefile b/Makefile
>>> -index 2be8825..4cbb865 100644
>>> ---- a/Makefile
>>> -+++ b/Makefile
>>> -@@ -17,6 +17,9 @@ install:
>>> - 	@echo "Installing cryptodev.h in /usr/include/crypto ..."
>>> - 	@install -D crypto/cryptodev.h /usr/include/crypto/cryptodev.h
>>> -
>>> -+install_tests:
>>> -+	make -C tests install DESTDIR=$(PREFIX)
>>> -+
>>> - clean:
>>> - 	make -C $(KERNEL_DIR) SUBDIRS=`pwd` clean
>>> - 	rm -f $(hostprogs) *~
>>> -@@ -25,6 +28,9 @@ clean:
>>> - check:
>>> - 	KERNEL_DIR=$(KERNEL_DIR) make -C tests check
>>> -
>>> -+testprogs:
>>> -+	KERNEL_DIR=$(KERNEL_DIR) make -C tests testprogs
>>> -+
>>> - FILEBASE = cryptodev-linux-$(VERSION)
>>> - TMPDIR ?= /tmp
>>> - OUTPUT = $(FILEBASE).tar.gz
>>> -diff --git a/tests/Makefile b/tests/Makefile -index 87ca3c7..0488cf6
>>> 100644
>>> ---- a/tests/Makefile
>>> -+++ b/tests/Makefile
>>> -@@ -19,6 +19,12 @@ example-async-hmac-objs := async_hmac.o
>>> - example-async-speed-objs := async_speed.o
>>> - example-hashcrypt-speed-objs := hashcrypt_speed.c
>>> -
>>> -+install:
>>> -+	install -d  $(DESTDIR)/usr/bin/tests_cryptodev
>>> -+	for bin in $(hostprogs); do \
>>> -+		install -m 755 $${bin} $(DESTDIR)/usr/bin/tests_cryptodev/; \
>>> -+	done
>>> -+
>>> - check: $(hostprogs)
>>> - 	./cipher
>>> - 	./hmac
>>> -@@ -28,6 +34,8 @@ check: $(hostprogs)
>>> - 	./cipher-gcm
>>> - 	./cipher-aead
>>> -
>>> -+testprogs: $(hostprogs)
>>> -+
>>> - clean:
>>> - 	rm -f *.o *~ $(hostprogs)
>>> -
>>> ---
>>> -1.7.5.4
>>> -
>>> diff --git a/recipes-kernel/cryptodev/files/makefile_fixup.patch
>>> b/recipes-kernel/cryptodev/files/makefile_fixup.patch
>>> deleted file mode 100644
>>> index 323aacd..0000000
>>> --- a/recipes-kernel/cryptodev/files/makefile_fixup.patch
>>> +++ /dev/null
>>> @@ -1,26 +0,0 @@
>>> -diff --git a/Makefile b/Makefile
>>> -index 2be8825..b36d68c 100644
>>> ---- a/Makefile
>>> -+++ b/Makefile
>>> -@@ -1,6 +1,7 @@
>>> - KBUILD_CFLAGS += -I$(src)
>>> - KERNEL_DIR = /lib/modules/$(shell uname -r)/build
>>> - VERSION = 1.5
>>> -+PREFIX =
>>> -
>>> - cryptodev-objs = ioctl.o main.o cryptlib.o authenc.o zc.o util.o
>>> -
>>> -@@ -12,10 +13,10 @@ build: version.h
>>> - version.h: Makefile
>>> - 	@echo "#define VERSION \"$(VERSION)\"" > version.h
>>> -
>>> --install:
>>> -+modules_install:
>>> - 	make -C $(KERNEL_DIR) SUBDIRS=`pwd` modules_install
>>> --	@echo "Installing cryptodev.h in /usr/include/crypto ..."
>>> --	@install -D crypto/cryptodev.h /usr/include/crypto/cryptodev.h
>>> -+	@echo "Installing cryptodev.h in $(PREFIX)/usr/include/crypto ..."
>>> -+	@install -D crypto/cryptodev.h
>>> -+$(PREFIX)/usr/include/crypto/cryptodev.h
>>> -
>>> - clean:
>>> - 	make -C $(KERNEL_DIR) SUBDIRS=`pwd` clean
>>>
>
>



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module: use fsl maintained source
  2014-07-11 14:41     ` Bob Cochran
@ 2014-07-11 15:40       ` ting.liu
  2014-07-15  3:33         ` Bob Cochran
  0 siblings, 1 reply; 21+ messages in thread
From: ting.liu @ 2014-07-11 15:40 UTC (permalink / raw)
  To: Bob Cochran, zhenhua.luo; +Cc: meta-freescale

> -----Original Message-----
> From: Bob Cochran [mailto:yocto@mindchasers.com]
> Sent: Friday, July 11, 2014 10:42 PM
> To: Liu Ting-B28495; Luo Zhenhua-B19537
> Cc: meta-freescale@yoctoproject.org
> Subject: Re: [meta-freescale] [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module:
> use fsl maintained source
> 
> On 07/09/2014 10:13 PM, ting.liu@freescale.com wrote:
> >> -----Original Message-----
> >> From: Bob Cochran [mailto:yocto@mindchasers.com]
> >> Sent: Thursday, July 10, 2014 4:19 AM
> >> To: Liu Ting-B28495; Luo Zhenhua-B19537;
> >> meta-freescale@yoctoproject.org
> >> Subject: Re: [meta-freescale] [meta-fsl-ppc][PATCH 1/4] cryptodev-
> linux/module:
> >> use fsl maintained source
> >>
> >> On 07/09/2014 04:16 AM, ting.liu@freescale.com wrote:
> >>> From: Zhenhua Luo <zhenhua.luo@freescale.com>
> >>>
> >>> FSL SDK released its own cryptodev based on 1.6, but not all the
> >>> codes was upstreamed, add bbappend to use fsl maintained source.
> >>> This change only be applied for fsl machines
> >>
> >>
> >> Hello Ting (and Zhenhua),
> >>
> >> Would it be useful to you if I created a hybrid build environment of
> >> QorIQ
> >> SDK1.6 with its meta-fsl-ppc tree replaced by the Yocto meta-fsl-ppc
> >> master branch and test on T1040RDB with the submitted patches?
> >>
> >
> > Hello Bob,
> > Thanks for your great support. Yes, it is very useful, just do it. Report to
> us if you find any issue, and we will fix ASAP. Actually that is what we
> finally want, QorIQ SDK = fsl community bsp + meta-fsl-networking (may have
> some fsl customization or be empty). we start fsl community bsp test for qoriq
> now and will upstream the recipes in QorIQ SDK v1.6 as much as possible.
> 
> 
> I'm currently testing with your patches applied to meta-fsl-ppc master along
> with any needed Yocto / OE repos, each on its master branch (e.g., meta-
> virtualization).
> 
> In addition, I have copied over meta-fsl-networking from SDK1.6 and created my
> own meta-fsl-transition layer to hold recipes that haven't been patched into
> meta-fsl-ppc yet (e.g, l2switch and auto-resp).

I'm doing the same test. There will be some issues as poky and other upstream layers have
new commits after SDK 1.6. let's work together.

> 
> I am NOT using the meta-fsl-ppc-toolchain layer.

Recipes in this layer need update to match poky's changes. I had done some.
But I think finally it is not needed for fsl community bsp.

> 
> I'm sifting through some build problems now for my t1040rdb-64b build, and
> I'll report later unless it's just operator error.

Thanks.

> 
> I have found in meta-fsl-networking that recipes-core could be merged into
> meta-fsl-ppc for consistency with the SDK image and that your
> busybox_%.bbappend file within meta-fsl-networking/recipes-core is missing a
> trailing ':' in the FILESEXTRAPATHS_prepend assignment that causes defconfig-
> fsl not to be picked up.

I found the trailing ':' issue too.
As said before, I will upstream recipes in meta-fsl-networking as much as possible,
to meta-fsl-ppc or layers in github.com.

> 
> 
> 
> >
> >> Please let me know if this would be useful feedback, or if you would
> >> prefer testing only be done after certain commits (tags) are reached.
> >>
> >
> > You need these four patches applied. Then all should be ok. (skmm-ep
> > has a workaournd in sdk 1.6, now the pkg developers want to find a
> > better fix. But it does not affect t1040rdb)
> >
> >> Thank you,
> >>
> >> Bob
> >>
> >>
> >>
> >>
> >>
> >>>
> >>> Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
> >>> Signed-off-by: Ting Liu <b28495@freescale.com>
> >>> ---
> >>>    recipes-kernel/cryptodev/cryptodev-fsl.inc         |    5 ++
> >>>    .../cryptodev/cryptodev-linux_1.6.bbappend         |    2 +
> >>>    .../cryptodev/cryptodev-module_1.6.bbappend        |   25 +++++++
> >>>    recipes-kernel/cryptodev/cryptodev_1.5.bb          |   51 -------------
> --
> >>>    ...pile-and-install-rules-for-cryptodev-test.patch |   69 -------------
> ---
> >> ----
> >>>    .../cryptodev/files/makefile_fixup.patch           |   26 --------
> >>>    6 files changed, 32 insertions(+), 146 deletions(-)
> >>>    create mode 100644 recipes-kernel/cryptodev/cryptodev-fsl.inc
> >>>    create mode 100644 recipes-kernel/cryptodev/cryptodev-
> linux_1.6.bbappend
> >>>    create mode 100644 recipes-kernel/cryptodev/cryptodev-
> module_1.6.bbappend
> >>>    delete mode 100644 recipes-kernel/cryptodev/cryptodev_1.5.bb
> >>>    delete mode 100644
> >>> recipes-kernel/cryptodev/files/Add-the-compile-and-
> >> install-rules-for-cryptodev-test.patch
> >>>    delete mode 100644
> >>> recipes-kernel/cryptodev/files/makefile_fixup.patch
> >>>
> >>> diff --git a/recipes-kernel/cryptodev/cryptodev-fsl.inc
> >>> b/recipes-kernel/cryptodev/cryptodev-fsl.inc
> >>> new file mode 100644
> >>> index 0000000..7520152
> >>> --- /dev/null
> >>> +++ b/recipes-kernel/cryptodev/cryptodev-fsl.inc
> >>> @@ -0,0 +1,5 @@
> >>> +SRC_URI_fslmachine = "git://git.freescale.com/ppc/sdk/cryptodev-
> >> linux.git;nobranch=1"
> >>> +SRCREV_fslmachine = "c9baf0623bdc55e8adfc91bf675e8148826d57d1"
> >>> +
> >>> +S_fslmachine = "${WORKDIR}/git"
> >>> +
> >>> diff --git a/recipes-kernel/cryptodev/cryptodev-linux_1.6.bbappend
> >>> b/recipes-kernel/cryptodev/cryptodev-linux_1.6.bbappend
> >>> new file mode 100644
> >>> index 0000000..3cbbb3d
> >>> --- /dev/null
> >>> +++ b/recipes-kernel/cryptodev/cryptodev-linux_1.6.bbappend
> >>> @@ -0,0 +1,2 @@
> >>> +require recipes-kernel/cryptodev/cryptodev-fsl.inc
> >>> +
> >>> diff --git a/recipes-kernel/cryptodev/cryptodev-module_1.6.bbappend
> >>> b/recipes-kernel/cryptodev/cryptodev-module_1.6.bbappend
> >>> new file mode 100644
> >>> index 0000000..80cef70
> >>> --- /dev/null
> >>> +++ b/recipes-kernel/cryptodev/cryptodev-module_1.6.bbappend
> >>> @@ -0,0 +1,25 @@
> >>> +require recipes-kernel/cryptodev/cryptodev-fsl.inc
> >>> +
> >>> +python () {
> >>> +	ma = d.getVar("DISTRO_FEATURES", True)
> >>> +	arch = d.getVar("OVERRIDES", True)
> >>> +
> >>> +	# the : after the arch is to skip the message on 64b
> >>> +	if not "multiarch" in ma and "e6500:" in arch:
> >>> +		raise bb.parse.SkipPackage("Building the kernel for this arch
> >>> +requires multiarch to be in DISTRO_FEATURES")
> >>> +
> >>> +	promote_kernel = d.getVar('BUILD_64BIT_KERNEL')
> >>> +
> >>> +	if promote_kernel == "1":
> >>> +		d.setVar('KERNEL_CC_append', ' -m64')
> >>> +		d.setVar('KERNEL_LD_append', ' -melf64ppc')
> >>> +
> >>> +	error_qa = d.getVar('ERROR_QA', True)
> >>> +	if 'arch' in error_qa:
> >>> +		d.setVar('ERROR_QA', error_qa.replace(' arch', '')) }
> >>> +
> >>> +do_install_append_fslmachine () {
> >>> +    rm -fr ${D}/usr
> >>> +}
> >>> +
> >>> diff --git a/recipes-kernel/cryptodev/cryptodev_1.5.bb
> >>> b/recipes-kernel/cryptodev/cryptodev_1.5.bb
> >>> deleted file mode 100644
> >>> index 4c1dade..0000000
> >>> --- a/recipes-kernel/cryptodev/cryptodev_1.5.bb
> >>> +++ /dev/null
> >>> @@ -1,51 +0,0 @@
> >>> -SECTION = "devel"
> >>> -SUMMARY = "Linux Cryptodev KERNEL MODULE"
> >>> -DESCRIPTION = "The Cryptodev package contains the kernel
> >>> /dev/crypto
> >> module"
> >>> -LICENSE = "GPLv2"
> >>> -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
> >>> -RCONFLICTS_${PN} = "ocf-linux"
> >>> -
> >>> -inherit module
> >>> -
> >>> -PR = "r1"
> >>> -DEPENDS += "openssl"
> >>> -
> >>> -SRCREV = "1c24a0aa996630518d47826a2e3fea129ea094c7"
> >>> -
> >>> -SRC_URI = "git://repo.or.cz/cryptodev-linux.git;protocol=git \
> >>> -           file://makefile_fixup.patch \
> >>> -           file://Add-the-compile-and-install-rules-for-cryptodev-
> >> test.patch"
> >>> -
> >>> -EXTRA_OEMAKE='KERNEL_DIR="${STAGING_KERNEL_DIR}" PREFIX="${D}"'
> >>> -
> >>> -S = "${WORKDIR}/git"
> >>> -python () {
> >>> -	ma = d.getVar("DISTRO_FEATURES", True)
> >>> -	arch = d.getVar("OVERRIDES", True)
> >>> -
> >>> -	# the : after the arch is to skip the message on 64b
> >>> -	if not "multiarch" in ma and ("e5500:" in arch or "e6500:" in arch):
> >>> -		raise bb.parse.SkipPackage("Building the kernel for this arch
> >> requires multiarch to be in DISTRO_FEATURES")
> >>> -
> >>> -	promote_kernel = d.getVar('BUILD_64BIT_KERNEL')
> >>> -
> >>> -	if promote_kernel == "1":
> >>> -		d.setVar('KERNEL_CC_append', ' -m64')
> >>> -		d.setVar('KERNEL_LD_append', ' -melf64ppc')
> >>> -
> >>> -	error_qa = d.getVar('ERROR_QA', True)
> >>> -	if 'arch' in error_qa:
> >>> -		d.setVar('ERROR_QA', error_qa.replace(' arch', ''))
> >>> -}
> >>> -
> >>> -do_compile_append() {
> >>> -        oe_runmake testprogs
> >>> -}
> >>> -
> >>> -do_install_append() {
> >>> -        oe_runmake install_tests
> >>> -}
> >>> -
> >>> -PACKAGES += "${PN}-tests"
> >>> -FILES_${PN}-dbg += "${bindir}/tests_cryptodev/.debug"
> >>> -FILES_${PN}-tests = "${bindir}/tests_cryptodev/*"
> >>> diff --git
> >>> a/recipes-kernel/cryptodev/files/Add-the-compile-and-install-rules-f
> >>> or
> >>> -cryptodev-test.patch
> >>> b/recipes-kernel/cryptodev/files/Add-the-compile-and-install-rules-f
> >>> or
> >>> -cryptodev-test.patch
> >>> deleted file mode 100644
> >>> index cb871f6..0000000
> >>> ---
> >>> a/recipes-kernel/cryptodev/files/Add-the-compile-and-install-rules-f
> >>> or
> >>> -cryptodev-test.patch
> >>> +++ /dev/null
> >>> @@ -1,69 +0,0 @@
> >>> -From 1980a8f4779a955e73285e7a0d86549b69bea5c8 Mon Sep 17 00:00:00
> >>> 2001
> >>> -From: Yu Zongchun <b40527@freescale.com>
> >>> -Date: Sun, 28 Apr 2013 14:39:22 +0800
> >>> -Subject: [PATCH] Add the compile and install rules for cryptodev
> >>> tests folder
> >>> -
> >>> -This is required to install the cryptodev tests folder to rootfs
> >>> -
> >>> -Signed-off-by: Yu Zongchun <b40527@freescale.com>
> >>> -
> >>> -Upstream-Status: Pending
> >>> -
> >>> ----
> >>> - Makefile       |    6 ++++++
> >>> - tests/Makefile |    8 ++++++++
> >>> - 2 files changed, 14 insertions(+), 0 deletions(-)
> >>> -
> >>> -diff --git a/Makefile b/Makefile
> >>> -index 2be8825..4cbb865 100644
> >>> ---- a/Makefile
> >>> -+++ b/Makefile
> >>> -@@ -17,6 +17,9 @@ install:
> >>> - 	@echo "Installing cryptodev.h in /usr/include/crypto ..."
> >>> - 	@install -D crypto/cryptodev.h /usr/include/crypto/cryptodev.h
> >>> -
> >>> -+install_tests:
> >>> -+	make -C tests install DESTDIR=$(PREFIX)
> >>> -+
> >>> - clean:
> >>> - 	make -C $(KERNEL_DIR) SUBDIRS=`pwd` clean
> >>> - 	rm -f $(hostprogs) *~
> >>> -@@ -25,6 +28,9 @@ clean:
> >>> - check:
> >>> - 	KERNEL_DIR=$(KERNEL_DIR) make -C tests check
> >>> -
> >>> -+testprogs:
> >>> -+	KERNEL_DIR=$(KERNEL_DIR) make -C tests testprogs
> >>> -+
> >>> - FILEBASE = cryptodev-linux-$(VERSION)
> >>> - TMPDIR ?= /tmp
> >>> - OUTPUT = $(FILEBASE).tar.gz
> >>> -diff --git a/tests/Makefile b/tests/Makefile -index
> >>> 87ca3c7..0488cf6
> >>> 100644
> >>> ---- a/tests/Makefile
> >>> -+++ b/tests/Makefile
> >>> -@@ -19,6 +19,12 @@ example-async-hmac-objs := async_hmac.o
> >>> - example-async-speed-objs := async_speed.o
> >>> - example-hashcrypt-speed-objs := hashcrypt_speed.c
> >>> -
> >>> -+install:
> >>> -+	install -d  $(DESTDIR)/usr/bin/tests_cryptodev
> >>> -+	for bin in $(hostprogs); do \
> >>> -+		install -m 755 $${bin} $(DESTDIR)/usr/bin/tests_cryptodev/; \
> >>> -+	done
> >>> -+
> >>> - check: $(hostprogs)
> >>> - 	./cipher
> >>> - 	./hmac
> >>> -@@ -28,6 +34,8 @@ check: $(hostprogs)
> >>> - 	./cipher-gcm
> >>> - 	./cipher-aead
> >>> -
> >>> -+testprogs: $(hostprogs)
> >>> -+
> >>> - clean:
> >>> - 	rm -f *.o *~ $(hostprogs)
> >>> -
> >>> ---
> >>> -1.7.5.4
> >>> -
> >>> diff --git a/recipes-kernel/cryptodev/files/makefile_fixup.patch
> >>> b/recipes-kernel/cryptodev/files/makefile_fixup.patch
> >>> deleted file mode 100644
> >>> index 323aacd..0000000
> >>> --- a/recipes-kernel/cryptodev/files/makefile_fixup.patch
> >>> +++ /dev/null
> >>> @@ -1,26 +0,0 @@
> >>> -diff --git a/Makefile b/Makefile
> >>> -index 2be8825..b36d68c 100644
> >>> ---- a/Makefile
> >>> -+++ b/Makefile
> >>> -@@ -1,6 +1,7 @@
> >>> - KBUILD_CFLAGS += -I$(src)
> >>> - KERNEL_DIR = /lib/modules/$(shell uname -r)/build
> >>> - VERSION = 1.5
> >>> -+PREFIX =
> >>> -
> >>> - cryptodev-objs = ioctl.o main.o cryptlib.o authenc.o zc.o util.o
> >>> -
> >>> -@@ -12,10 +13,10 @@ build: version.h
> >>> - version.h: Makefile
> >>> - 	@echo "#define VERSION \"$(VERSION)\"" > version.h
> >>> -
> >>> --install:
> >>> -+modules_install:
> >>> - 	make -C $(KERNEL_DIR) SUBDIRS=`pwd` modules_install
> >>> --	@echo "Installing cryptodev.h in /usr/include/crypto ..."
> >>> --	@install -D crypto/cryptodev.h /usr/include/crypto/cryptodev.h
> >>> -+	@echo "Installing cryptodev.h in $(PREFIX)/usr/include/crypto ..."
> >>> -+	@install -D crypto/cryptodev.h
> >>> -+$(PREFIX)/usr/include/crypto/cryptodev.h
> >>> -
> >>> - clean:
> >>> - 	make -C $(KERNEL_DIR) SUBDIRS=`pwd` clean
> >>>
> >
> >



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module: use fsl maintained source
  2014-07-11 15:40       ` ting.liu
@ 2014-07-15  3:33         ` Bob Cochran
  2014-07-15  5:14           ` ting.liu
  0 siblings, 1 reply; 21+ messages in thread
From: Bob Cochran @ 2014-07-15  3:33 UTC (permalink / raw)
  To: ting.liu, zhenhua.luo; +Cc: meta-freescale

On 07/11/2014 11:40 AM, ting.liu@freescale.com wrote:
>> -----Original Message-----
>> From: Bob Cochran [mailto:yocto@mindchasers.com]
>> Sent: Friday, July 11, 2014 10:42 PM
>> To: Liu Ting-B28495; Luo Zhenhua-B19537
>> Cc: meta-freescale@yoctoproject.org
>> Subject: Re: [meta-freescale] [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module:
>> use fsl maintained source
>>
>> On 07/09/2014 10:13 PM, ting.liu@freescale.com wrote:
>>>> -----Original Message-----
>>>> From: Bob Cochran [mailto:yocto@mindchasers.com]
>>>> Sent: Thursday, July 10, 2014 4:19 AM
>>>> To: Liu Ting-B28495; Luo Zhenhua-B19537;
>>>> meta-freescale@yoctoproject.org
>>>> Subject: Re: [meta-freescale] [meta-fsl-ppc][PATCH 1/4] cryptodev-
>> linux/module:
>>>> use fsl maintained source
>>>>
>>>> On 07/09/2014 04:16 AM, ting.liu@freescale.com wrote:
>>>>> From: Zhenhua Luo <zhenhua.luo@freescale.com>
>>>>>
>>>>> FSL SDK released its own cryptodev based on 1.6, but not all the
>>>>> codes was upstreamed, add bbappend to use fsl maintained source.
>>>>> This change only be applied for fsl machines
>>>>
>>>>
>>>> Hello Ting (and Zhenhua),
>>>>
>>>> Would it be useful to you if I created a hybrid build environment of
>>>> QorIQ
>>>> SDK1.6 with its meta-fsl-ppc tree replaced by the Yocto meta-fsl-ppc
>>>> master branch and test on T1040RDB with the submitted patches?
>>>>
>>>
>>> Hello Bob,
>>> Thanks for your great support. Yes, it is very useful, just do it. Report to
>> us if you find any issue, and we will fix ASAP. Actually that is what we
>> finally want, QorIQ SDK = fsl community bsp + meta-fsl-networking (may have
>> some fsl customization or be empty). we start fsl community bsp test for qoriq
>> now and will upstream the recipes in QorIQ SDK v1.6 as much as possible.
>>
>>
>> I'm currently testing with your patches applied to meta-fsl-ppc master along
>> with any needed Yocto / OE repos, each on its master branch (e.g., meta-
>> virtualization).
>>
>> In addition, I have copied over meta-fsl-networking from SDK1.6 and created my
>> own meta-fsl-transition layer to hold recipes that haven't been patched into
>> meta-fsl-ppc yet (e.g, l2switch and auto-resp).
>
> I'm doing the same test. There will be some issues as poky and other upstream layers have
> new commits after SDK 1.6. let's work together.

Hi Ting,

The fact that SDK1.6 pulls from its own meta-oe repo on FSL Public GIT 
is causing some problems for me as I test your patches alongside the 
master branches of the non FSL-specific Yocto and OE repos.

As an example, the SDK1.6 libhugetlbfs_git.bb recipe is pulling code 
that supports ARCH=powerpc64 in the makefile, but the recipe in 
meta-openembedded/meta-oe master branch pulls in code that has a 
makefile looking for ppc64 (not powerpc64).

I assume you're going to be submitting patches to meta-oe and other 
openembbedded repos in addition to patching your own meta-fsl-ppc?

In the mean time, I think I'm going to patch my local copy of the master 
branch with SDK1.6 recipes that won't build otherwise.

Would you like me to report to you the recipes I need to patch / pull 
from SDK1.6 (e.g, libhugetlbfs)?

Thank you,

Bob



>
>>
>> I am NOT using the meta-fsl-ppc-toolchain layer.
>
> Recipes in this layer need update to match poky's changes. I had done some.
> But I think finally it is not needed for fsl community bsp.
>
>>
>> I'm sifting through some build problems now for my t1040rdb-64b build, and
>> I'll report later unless it's just operator error.
>
> Thanks.
>
>>
>> I have found in meta-fsl-networking that recipes-core could be merged into
>> meta-fsl-ppc for consistency with the SDK image and that your
>> busybox_%.bbappend file within meta-fsl-networking/recipes-core is missing a
>> trailing ':' in the FILESEXTRAPATHS_prepend assignment that causes defconfig-
>> fsl not to be picked up.
>
> I found the trailing ':' issue too.
> As said before, I will upstream recipes in meta-fsl-networking as much as possible,
> to meta-fsl-ppc or layers in github.com.
>
>>
>>
>>
>>>
>>>> Please let me know if this would be useful feedback, or if you would
>>>> prefer testing only be done after certain commits (tags) are reached.
>>>>
>>>
>>> You need these four patches applied. Then all should be ok. (skmm-ep
>>> has a workaournd in sdk 1.6, now the pkg developers want to find a
>>> better fix. But it does not affect t1040rdb)
>>>
>>>> Thank you,
>>>>
>>>> Bob
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>>
>>>>> Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
>>>>> Signed-off-by: Ting Liu <b28495@freescale.com>
>>>>> ---
>>>>>     recipes-kernel/cryptodev/cryptodev-fsl.inc         |    5 ++
>>>>>     .../cryptodev/cryptodev-linux_1.6.bbappend         |    2 +
>>>>>     .../cryptodev/cryptodev-module_1.6.bbappend        |   25 +++++++
>>>>>     recipes-kernel/cryptodev/cryptodev_1.5.bb          |   51 -------------
>> --
>>>>>     ...pile-and-install-rules-for-cryptodev-test.patch |   69 -------------
>> ---
>>>> ----
>>>>>     .../cryptodev/files/makefile_fixup.patch           |   26 --------
>>>>>     6 files changed, 32 insertions(+), 146 deletions(-)
>>>>>     create mode 100644 recipes-kernel/cryptodev/cryptodev-fsl.inc
>>>>>     create mode 100644 recipes-kernel/cryptodev/cryptodev-
>> linux_1.6.bbappend
>>>>>     create mode 100644 recipes-kernel/cryptodev/cryptodev-
>> module_1.6.bbappend
>>>>>     delete mode 100644 recipes-kernel/cryptodev/cryptodev_1.5.bb
>>>>>     delete mode 100644
>>>>> recipes-kernel/cryptodev/files/Add-the-compile-and-
>>>> install-rules-for-cryptodev-test.patch
>>>>>     delete mode 100644
>>>>> recipes-kernel/cryptodev/files/makefile_fixup.patch
>>>>>
>>>>> diff --git a/recipes-kernel/cryptodev/cryptodev-fsl.inc
>>>>> b/recipes-kernel/cryptodev/cryptodev-fsl.inc
>>>>> new file mode 100644
>>>>> index 0000000..7520152
>>>>> --- /dev/null
>>>>> +++ b/recipes-kernel/cryptodev/cryptodev-fsl.inc
>>>>> @@ -0,0 +1,5 @@
>>>>> +SRC_URI_fslmachine = "git://git.freescale.com/ppc/sdk/cryptodev-
>>>> linux.git;nobranch=1"
>>>>> +SRCREV_fslmachine = "c9baf0623bdc55e8adfc91bf675e8148826d57d1"
>>>>> +
>>>>> +S_fslmachine = "${WORKDIR}/git"
>>>>> +
>>>>> diff --git a/recipes-kernel/cryptodev/cryptodev-linux_1.6.bbappend
>>>>> b/recipes-kernel/cryptodev/cryptodev-linux_1.6.bbappend
>>>>> new file mode 100644
>>>>> index 0000000..3cbbb3d
>>>>> --- /dev/null
>>>>> +++ b/recipes-kernel/cryptodev/cryptodev-linux_1.6.bbappend
>>>>> @@ -0,0 +1,2 @@
>>>>> +require recipes-kernel/cryptodev/cryptodev-fsl.inc
>>>>> +
>>>>> diff --git a/recipes-kernel/cryptodev/cryptodev-module_1.6.bbappend
>>>>> b/recipes-kernel/cryptodev/cryptodev-module_1.6.bbappend
>>>>> new file mode 100644
>>>>> index 0000000..80cef70
>>>>> --- /dev/null
>>>>> +++ b/recipes-kernel/cryptodev/cryptodev-module_1.6.bbappend
>>>>> @@ -0,0 +1,25 @@
>>>>> +require recipes-kernel/cryptodev/cryptodev-fsl.inc
>>>>> +
>>>>> +python () {
>>>>> +	ma = d.getVar("DISTRO_FEATURES", True)
>>>>> +	arch = d.getVar("OVERRIDES", True)
>>>>> +
>>>>> +	# the : after the arch is to skip the message on 64b
>>>>> +	if not "multiarch" in ma and "e6500:" in arch:
>>>>> +		raise bb.parse.SkipPackage("Building the kernel for this arch
>>>>> +requires multiarch to be in DISTRO_FEATURES")
>>>>> +
>>>>> +	promote_kernel = d.getVar('BUILD_64BIT_KERNEL')
>>>>> +
>>>>> +	if promote_kernel == "1":
>>>>> +		d.setVar('KERNEL_CC_append', ' -m64')
>>>>> +		d.setVar('KERNEL_LD_append', ' -melf64ppc')
>>>>> +
>>>>> +	error_qa = d.getVar('ERROR_QA', True)
>>>>> +	if 'arch' in error_qa:
>>>>> +		d.setVar('ERROR_QA', error_qa.replace(' arch', '')) }
>>>>> +
>>>>> +do_install_append_fslmachine () {
>>>>> +    rm -fr ${D}/usr
>>>>> +}
>>>>> +
>>>>> diff --git a/recipes-kernel/cryptodev/cryptodev_1.5.bb
>>>>> b/recipes-kernel/cryptodev/cryptodev_1.5.bb
>>>>> deleted file mode 100644
>>>>> index 4c1dade..0000000
>>>>> --- a/recipes-kernel/cryptodev/cryptodev_1.5.bb
>>>>> +++ /dev/null
>>>>> @@ -1,51 +0,0 @@
>>>>> -SECTION = "devel"
>>>>> -SUMMARY = "Linux Cryptodev KERNEL MODULE"
>>>>> -DESCRIPTION = "The Cryptodev package contains the kernel
>>>>> /dev/crypto
>>>> module"
>>>>> -LICENSE = "GPLv2"
>>>>> -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
>>>>> -RCONFLICTS_${PN} = "ocf-linux"
>>>>> -
>>>>> -inherit module
>>>>> -
>>>>> -PR = "r1"
>>>>> -DEPENDS += "openssl"
>>>>> -
>>>>> -SRCREV = "1c24a0aa996630518d47826a2e3fea129ea094c7"
>>>>> -
>>>>> -SRC_URI = "git://repo.or.cz/cryptodev-linux.git;protocol=git \
>>>>> -           file://makefile_fixup.patch \
>>>>> -           file://Add-the-compile-and-install-rules-for-cryptodev-
>>>> test.patch"
>>>>> -
>>>>> -EXTRA_OEMAKE='KERNEL_DIR="${STAGING_KERNEL_DIR}" PREFIX="${D}"'
>>>>> -
>>>>> -S = "${WORKDIR}/git"
>>>>> -python () {
>>>>> -	ma = d.getVar("DISTRO_FEATURES", True)
>>>>> -	arch = d.getVar("OVERRIDES", True)
>>>>> -
>>>>> -	# the : after the arch is to skip the message on 64b
>>>>> -	if not "multiarch" in ma and ("e5500:" in arch or "e6500:" in arch):
>>>>> -		raise bb.parse.SkipPackage("Building the kernel for this arch
>>>> requires multiarch to be in DISTRO_FEATURES")
>>>>> -
>>>>> -	promote_kernel = d.getVar('BUILD_64BIT_KERNEL')
>>>>> -
>>>>> -	if promote_kernel == "1":
>>>>> -		d.setVar('KERNEL_CC_append', ' -m64')
>>>>> -		d.setVar('KERNEL_LD_append', ' -melf64ppc')
>>>>> -
>>>>> -	error_qa = d.getVar('ERROR_QA', True)
>>>>> -	if 'arch' in error_qa:
>>>>> -		d.setVar('ERROR_QA', error_qa.replace(' arch', ''))
>>>>> -}
>>>>> -
>>>>> -do_compile_append() {
>>>>> -        oe_runmake testprogs
>>>>> -}
>>>>> -
>>>>> -do_install_append() {
>>>>> -        oe_runmake install_tests
>>>>> -}
>>>>> -
>>>>> -PACKAGES += "${PN}-tests"
>>>>> -FILES_${PN}-dbg += "${bindir}/tests_cryptodev/.debug"
>>>>> -FILES_${PN}-tests = "${bindir}/tests_cryptodev/*"
>>>>> diff --git
>>>>> a/recipes-kernel/cryptodev/files/Add-the-compile-and-install-rules-f
>>>>> or
>>>>> -cryptodev-test.patch
>>>>> b/recipes-kernel/cryptodev/files/Add-the-compile-and-install-rules-f
>>>>> or
>>>>> -cryptodev-test.patch
>>>>> deleted file mode 100644
>>>>> index cb871f6..0000000
>>>>> ---
>>>>> a/recipes-kernel/cryptodev/files/Add-the-compile-and-install-rules-f
>>>>> or
>>>>> -cryptodev-test.patch
>>>>> +++ /dev/null
>>>>> @@ -1,69 +0,0 @@
>>>>> -From 1980a8f4779a955e73285e7a0d86549b69bea5c8 Mon Sep 17 00:00:00
>>>>> 2001
>>>>> -From: Yu Zongchun <b40527@freescale.com>
>>>>> -Date: Sun, 28 Apr 2013 14:39:22 +0800
>>>>> -Subject: [PATCH] Add the compile and install rules for cryptodev
>>>>> tests folder
>>>>> -
>>>>> -This is required to install the cryptodev tests folder to rootfs
>>>>> -
>>>>> -Signed-off-by: Yu Zongchun <b40527@freescale.com>
>>>>> -
>>>>> -Upstream-Status: Pending
>>>>> -
>>>>> ----
>>>>> - Makefile       |    6 ++++++
>>>>> - tests/Makefile |    8 ++++++++
>>>>> - 2 files changed, 14 insertions(+), 0 deletions(-)
>>>>> -
>>>>> -diff --git a/Makefile b/Makefile
>>>>> -index 2be8825..4cbb865 100644
>>>>> ---- a/Makefile
>>>>> -+++ b/Makefile
>>>>> -@@ -17,6 +17,9 @@ install:
>>>>> - 	@echo "Installing cryptodev.h in /usr/include/crypto ..."
>>>>> - 	@install -D crypto/cryptodev.h /usr/include/crypto/cryptodev.h
>>>>> -
>>>>> -+install_tests:
>>>>> -+	make -C tests install DESTDIR=$(PREFIX)
>>>>> -+
>>>>> - clean:
>>>>> - 	make -C $(KERNEL_DIR) SUBDIRS=`pwd` clean
>>>>> - 	rm -f $(hostprogs) *~
>>>>> -@@ -25,6 +28,9 @@ clean:
>>>>> - check:
>>>>> - 	KERNEL_DIR=$(KERNEL_DIR) make -C tests check
>>>>> -
>>>>> -+testprogs:
>>>>> -+	KERNEL_DIR=$(KERNEL_DIR) make -C tests testprogs
>>>>> -+
>>>>> - FILEBASE = cryptodev-linux-$(VERSION)
>>>>> - TMPDIR ?= /tmp
>>>>> - OUTPUT = $(FILEBASE).tar.gz
>>>>> -diff --git a/tests/Makefile b/tests/Makefile -index
>>>>> 87ca3c7..0488cf6
>>>>> 100644
>>>>> ---- a/tests/Makefile
>>>>> -+++ b/tests/Makefile
>>>>> -@@ -19,6 +19,12 @@ example-async-hmac-objs := async_hmac.o
>>>>> - example-async-speed-objs := async_speed.o
>>>>> - example-hashcrypt-speed-objs := hashcrypt_speed.c
>>>>> -
>>>>> -+install:
>>>>> -+	install -d  $(DESTDIR)/usr/bin/tests_cryptodev
>>>>> -+	for bin in $(hostprogs); do \
>>>>> -+		install -m 755 $${bin} $(DESTDIR)/usr/bin/tests_cryptodev/; \
>>>>> -+	done
>>>>> -+
>>>>> - check: $(hostprogs)
>>>>> - 	./cipher
>>>>> - 	./hmac
>>>>> -@@ -28,6 +34,8 @@ check: $(hostprogs)
>>>>> - 	./cipher-gcm
>>>>> - 	./cipher-aead
>>>>> -
>>>>> -+testprogs: $(hostprogs)
>>>>> -+
>>>>> - clean:
>>>>> - 	rm -f *.o *~ $(hostprogs)
>>>>> -
>>>>> ---
>>>>> -1.7.5.4
>>>>> -
>>>>> diff --git a/recipes-kernel/cryptodev/files/makefile_fixup.patch
>>>>> b/recipes-kernel/cryptodev/files/makefile_fixup.patch
>>>>> deleted file mode 100644
>>>>> index 323aacd..0000000
>>>>> --- a/recipes-kernel/cryptodev/files/makefile_fixup.patch
>>>>> +++ /dev/null
>>>>> @@ -1,26 +0,0 @@
>>>>> -diff --git a/Makefile b/Makefile
>>>>> -index 2be8825..b36d68c 100644
>>>>> ---- a/Makefile
>>>>> -+++ b/Makefile
>>>>> -@@ -1,6 +1,7 @@
>>>>> - KBUILD_CFLAGS += -I$(src)
>>>>> - KERNEL_DIR = /lib/modules/$(shell uname -r)/build
>>>>> - VERSION = 1.5
>>>>> -+PREFIX =
>>>>> -
>>>>> - cryptodev-objs = ioctl.o main.o cryptlib.o authenc.o zc.o util.o
>>>>> -
>>>>> -@@ -12,10 +13,10 @@ build: version.h
>>>>> - version.h: Makefile
>>>>> - 	@echo "#define VERSION \"$(VERSION)\"" > version.h
>>>>> -
>>>>> --install:
>>>>> -+modules_install:
>>>>> - 	make -C $(KERNEL_DIR) SUBDIRS=`pwd` modules_install
>>>>> --	@echo "Installing cryptodev.h in /usr/include/crypto ..."
>>>>> --	@install -D crypto/cryptodev.h /usr/include/crypto/cryptodev.h
>>>>> -+	@echo "Installing cryptodev.h in $(PREFIX)/usr/include/crypto ..."
>>>>> -+	@install -D crypto/cryptodev.h
>>>>> -+$(PREFIX)/usr/include/crypto/cryptodev.h
>>>>> -
>>>>> - clean:
>>>>> - 	make -C $(KERNEL_DIR) SUBDIRS=`pwd` clean
>>>>>
>>>
>>>
>
>



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module: use fsl maintained source
  2014-07-15  3:33         ` Bob Cochran
@ 2014-07-15  5:14           ` ting.liu
  0 siblings, 0 replies; 21+ messages in thread
From: ting.liu @ 2014-07-15  5:14 UTC (permalink / raw)
  To: Bob Cochran, zhenhua.luo; +Cc: meta-freescale

> -----Original Message-----
> From: Bob Cochran [mailto:yocto@mindchasers.com]
> Sent: Tuesday, July 15, 2014 11:33 AM
> To: Liu Ting-B28495; Luo Zhenhua-B19537
> Cc: meta-freescale@yoctoproject.org
> Subject: Re: [meta-freescale] [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module:
> use fsl maintained source
> 
> On 07/11/2014 11:40 AM, ting.liu@freescale.com wrote:
> >> -----Original Message-----
> >> From: Bob Cochran [mailto:yocto@mindchasers.com]
> >> Sent: Friday, July 11, 2014 10:42 PM
> >> To: Liu Ting-B28495; Luo Zhenhua-B19537
> >> Cc: meta-freescale@yoctoproject.org
> >> Subject: Re: [meta-freescale] [meta-fsl-ppc][PATCH 1/4] cryptodev-
> linux/module:
> >> use fsl maintained source
> >>
> >> On 07/09/2014 10:13 PM, ting.liu@freescale.com wrote:
> >>>> -----Original Message-----
> >>>> From: Bob Cochran [mailto:yocto@mindchasers.com]
> >>>> Sent: Thursday, July 10, 2014 4:19 AM
> >>>> To: Liu Ting-B28495; Luo Zhenhua-B19537;
> >>>> meta-freescale@yoctoproject.org
> >>>> Subject: Re: [meta-freescale] [meta-fsl-ppc][PATCH 1/4] cryptodev-
> >> linux/module:
> >>>> use fsl maintained source
> >>>>
> >>>> On 07/09/2014 04:16 AM, ting.liu@freescale.com wrote:
> >>>>> From: Zhenhua Luo <zhenhua.luo@freescale.com>
> >>>>>
> >>>>> FSL SDK released its own cryptodev based on 1.6, but not all the
> >>>>> codes was upstreamed, add bbappend to use fsl maintained source.
> >>>>> This change only be applied for fsl machines
> >>>>
> >>>>
> >>>> Hello Ting (and Zhenhua),
> >>>>
> >>>> Would it be useful to you if I created a hybrid build environment
> >>>> of QorIQ
> >>>> SDK1.6 with its meta-fsl-ppc tree replaced by the Yocto
> >>>> meta-fsl-ppc master branch and test on T1040RDB with the submitted
> patches?
> >>>>
> >>>
> >>> Hello Bob,
> >>> Thanks for your great support. Yes, it is very useful, just do it.
> >>> Report to
> >> us if you find any issue, and we will fix ASAP. Actually that is what
> >> we finally want, QorIQ SDK = fsl community bsp + meta-fsl-networking
> >> (may have some fsl customization or be empty). we start fsl community
> >> bsp test for qoriq now and will upstream the recipes in QorIQ SDK v1.6 as
> much as possible.
> >>
> >>
> >> I'm currently testing with your patches applied to meta-fsl-ppc
> >> master along with any needed Yocto / OE repos, each on its master
> >> branch (e.g., meta- virtualization).
> >>
> >> In addition, I have copied over meta-fsl-networking from SDK1.6 and
> >> created my own meta-fsl-transition layer to hold recipes that haven't
> >> been patched into meta-fsl-ppc yet (e.g, l2switch and auto-resp).
> >
> > I'm doing the same test. There will be some issues as poky and other
> > upstream layers have new commits after SDK 1.6. let's work together.
> 
> Hi Ting,
> 
> The fact that SDK1.6 pulls from its own meta-oe repo on FSL Public GIT is
> causing some problems for me as I test your patches alongside the master
> branches of the non FSL-specific Yocto and OE repos.
> 
> As an example, the SDK1.6 libhugetlbfs_git.bb recipe is pulling code that
> supports ARCH=powerpc64 in the makefile, but the recipe in meta-
> openembedded/meta-oe master branch pulls in code that has a makefile looking
> for ppc64 (not powerpc64).
> 
> I assume you're going to be submitting patches to meta-oe and other
> openembbedded repos in addition to patching your own meta-fsl-ppc?

Yes, I will. I'm working on it now.

> 
> In the mean time, I think I'm going to patch my local copy of the master
> branch with SDK1.6 recipes that won't build otherwise.
> 
> Would you like me to report to you the recipes I need to patch / pull from
> SDK1.6 (e.g, libhugetlbfs)?

Yes, please. It is helpful.

> 
> Thank you,
> 
> Bob
> 
> 
> 
> >
> >>
> >> I am NOT using the meta-fsl-ppc-toolchain layer.
> >
> > Recipes in this layer need update to match poky's changes. I had done some.
> > But I think finally it is not needed for fsl community bsp.
> >
> >>
> >> I'm sifting through some build problems now for my t1040rdb-64b
> >> build, and I'll report later unless it's just operator error.
> >
> > Thanks.
> >
> >>
> >> I have found in meta-fsl-networking that recipes-core could be merged
> >> into meta-fsl-ppc for consistency with the SDK image and that your
> >> busybox_%.bbappend file within meta-fsl-networking/recipes-core is
> >> missing a trailing ':' in the FILESEXTRAPATHS_prepend assignment that
> >> causes defconfig- fsl not to be picked up.
> >
> > I found the trailing ':' issue too.
> > As said before, I will upstream recipes in meta-fsl-networking as much
> > as possible, to meta-fsl-ppc or layers in github.com.
> >
> >>
> >>
> >>
> >>>
> >>>> Please let me know if this would be useful feedback, or if you
> >>>> would prefer testing only be done after certain commits (tags) are
> reached.
> >>>>
> >>>
> >>> You need these four patches applied. Then all should be ok. (skmm-ep
> >>> has a workaournd in sdk 1.6, now the pkg developers want to find a
> >>> better fix. But it does not affect t1040rdb)
> >>>
> >>>> Thank you,
> >>>>
> >>>> Bob
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>>
> >>>>> Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
> >>>>> Signed-off-by: Ting Liu <b28495@freescale.com>
> >>>>> ---
> >>>>>     recipes-kernel/cryptodev/cryptodev-fsl.inc         |    5 ++
> >>>>>     .../cryptodev/cryptodev-linux_1.6.bbappend         |    2 +
> >>>>>     .../cryptodev/cryptodev-module_1.6.bbappend        |   25 +++++++
> >>>>>     recipes-kernel/cryptodev/cryptodev_1.5.bb          |   51 ----------
> ---
> >> --
> >>>>>     ...pile-and-install-rules-for-cryptodev-test.patch |   69 ----------
> ---
> >> ---
> >>>> ----
> >>>>>     .../cryptodev/files/makefile_fixup.patch           |   26 --------
> >>>>>     6 files changed, 32 insertions(+), 146 deletions(-)
> >>>>>     create mode 100644 recipes-kernel/cryptodev/cryptodev-fsl.inc
> >>>>>     create mode 100644 recipes-kernel/cryptodev/cryptodev-
> >> linux_1.6.bbappend
> >>>>>     create mode 100644 recipes-kernel/cryptodev/cryptodev-
> >> module_1.6.bbappend
> >>>>>     delete mode 100644 recipes-kernel/cryptodev/cryptodev_1.5.bb
> >>>>>     delete mode 100644
> >>>>> recipes-kernel/cryptodev/files/Add-the-compile-and-
> >>>> install-rules-for-cryptodev-test.patch
> >>>>>     delete mode 100644
> >>>>> recipes-kernel/cryptodev/files/makefile_fixup.patch
> >>>>>
> >>>>> diff --git a/recipes-kernel/cryptodev/cryptodev-fsl.inc
> >>>>> b/recipes-kernel/cryptodev/cryptodev-fsl.inc
> >>>>> new file mode 100644
> >>>>> index 0000000..7520152
> >>>>> --- /dev/null
> >>>>> +++ b/recipes-kernel/cryptodev/cryptodev-fsl.inc
> >>>>> @@ -0,0 +1,5 @@
> >>>>> +SRC_URI_fslmachine = "git://git.freescale.com/ppc/sdk/cryptodev-
> >>>> linux.git;nobranch=1"
> >>>>> +SRCREV_fslmachine = "c9baf0623bdc55e8adfc91bf675e8148826d57d1"
> >>>>> +
> >>>>> +S_fslmachine = "${WORKDIR}/git"
> >>>>> +
> >>>>> diff --git a/recipes-kernel/cryptodev/cryptodev-linux_1.6.bbappend
> >>>>> b/recipes-kernel/cryptodev/cryptodev-linux_1.6.bbappend
> >>>>> new file mode 100644
> >>>>> index 0000000..3cbbb3d
> >>>>> --- /dev/null
> >>>>> +++ b/recipes-kernel/cryptodev/cryptodev-linux_1.6.bbappend
> >>>>> @@ -0,0 +1,2 @@
> >>>>> +require recipes-kernel/cryptodev/cryptodev-fsl.inc
> >>>>> +
> >>>>> diff --git
> >>>>> a/recipes-kernel/cryptodev/cryptodev-module_1.6.bbappend
> >>>>> b/recipes-kernel/cryptodev/cryptodev-module_1.6.bbappend
> >>>>> new file mode 100644
> >>>>> index 0000000..80cef70
> >>>>> --- /dev/null
> >>>>> +++ b/recipes-kernel/cryptodev/cryptodev-module_1.6.bbappend
> >>>>> @@ -0,0 +1,25 @@
> >>>>> +require recipes-kernel/cryptodev/cryptodev-fsl.inc
> >>>>> +
> >>>>> +python () {
> >>>>> +	ma = d.getVar("DISTRO_FEATURES", True)
> >>>>> +	arch = d.getVar("OVERRIDES", True)
> >>>>> +
> >>>>> +	# the : after the arch is to skip the message on 64b
> >>>>> +	if not "multiarch" in ma and "e6500:" in arch:
> >>>>> +		raise bb.parse.SkipPackage("Building the kernel for this
> arch
> >>>>> +requires multiarch to be in DISTRO_FEATURES")
> >>>>> +
> >>>>> +	promote_kernel = d.getVar('BUILD_64BIT_KERNEL')
> >>>>> +
> >>>>> +	if promote_kernel == "1":
> >>>>> +		d.setVar('KERNEL_CC_append', ' -m64')
> >>>>> +		d.setVar('KERNEL_LD_append', ' -melf64ppc')
> >>>>> +
> >>>>> +	error_qa = d.getVar('ERROR_QA', True)
> >>>>> +	if 'arch' in error_qa:
> >>>>> +		d.setVar('ERROR_QA', error_qa.replace(' arch', '')) }
> >>>>> +
> >>>>> +do_install_append_fslmachine () {
> >>>>> +    rm -fr ${D}/usr
> >>>>> +}
> >>>>> +
> >>>>> diff --git a/recipes-kernel/cryptodev/cryptodev_1.5.bb
> >>>>> b/recipes-kernel/cryptodev/cryptodev_1.5.bb
> >>>>> deleted file mode 100644
> >>>>> index 4c1dade..0000000
> >>>>> --- a/recipes-kernel/cryptodev/cryptodev_1.5.bb
> >>>>> +++ /dev/null
> >>>>> @@ -1,51 +0,0 @@
> >>>>> -SECTION = "devel"
> >>>>> -SUMMARY = "Linux Cryptodev KERNEL MODULE"
> >>>>> -DESCRIPTION = "The Cryptodev package contains the kernel
> >>>>> /dev/crypto
> >>>> module"
> >>>>> -LICENSE = "GPLv2"
> >>>>> -LIC_FILES_CHKSUM =
> "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
> >>>>> -RCONFLICTS_${PN} = "ocf-linux"
> >>>>> -
> >>>>> -inherit module
> >>>>> -
> >>>>> -PR = "r1"
> >>>>> -DEPENDS += "openssl"
> >>>>> -
> >>>>> -SRCREV = "1c24a0aa996630518d47826a2e3fea129ea094c7"
> >>>>> -
> >>>>> -SRC_URI = "git://repo.or.cz/cryptodev-linux.git;protocol=git \
> >>>>> -           file://makefile_fixup.patch \
> >>>>> -           file://Add-the-compile-and-install-rules-for-cryptodev-
> >>>> test.patch"
> >>>>> -
> >>>>> -EXTRA_OEMAKE='KERNEL_DIR="${STAGING_KERNEL_DIR}" PREFIX="${D}"'
> >>>>> -
> >>>>> -S = "${WORKDIR}/git"
> >>>>> -python () {
> >>>>> -	ma = d.getVar("DISTRO_FEATURES", True)
> >>>>> -	arch = d.getVar("OVERRIDES", True)
> >>>>> -
> >>>>> -	# the : after the arch is to skip the message on 64b
> >>>>> -	if not "multiarch" in ma and ("e5500:" in arch or "e6500:" in
> arch):
> >>>>> -		raise bb.parse.SkipPackage("Building the kernel for this
> arch
> >>>> requires multiarch to be in DISTRO_FEATURES")
> >>>>> -
> >>>>> -	promote_kernel = d.getVar('BUILD_64BIT_KERNEL')
> >>>>> -
> >>>>> -	if promote_kernel == "1":
> >>>>> -		d.setVar('KERNEL_CC_append', ' -m64')
> >>>>> -		d.setVar('KERNEL_LD_append', ' -melf64ppc')
> >>>>> -
> >>>>> -	error_qa = d.getVar('ERROR_QA', True)
> >>>>> -	if 'arch' in error_qa:
> >>>>> -		d.setVar('ERROR_QA', error_qa.replace(' arch', ''))
> >>>>> -}
> >>>>> -
> >>>>> -do_compile_append() {
> >>>>> -        oe_runmake testprogs
> >>>>> -}
> >>>>> -
> >>>>> -do_install_append() {
> >>>>> -        oe_runmake install_tests
> >>>>> -}
> >>>>> -
> >>>>> -PACKAGES += "${PN}-tests"
> >>>>> -FILES_${PN}-dbg += "${bindir}/tests_cryptodev/.debug"
> >>>>> -FILES_${PN}-tests = "${bindir}/tests_cryptodev/*"
> >>>>> diff --git
> >>>>> a/recipes-kernel/cryptodev/files/Add-the-compile-and-install-rules
> >>>>> -f
> >>>>> or
> >>>>> -cryptodev-test.patch
> >>>>> b/recipes-kernel/cryptodev/files/Add-the-compile-and-install-rules
> >>>>> -f
> >>>>> or
> >>>>> -cryptodev-test.patch
> >>>>> deleted file mode 100644
> >>>>> index cb871f6..0000000
> >>>>> ---
> >>>>> a/recipes-kernel/cryptodev/files/Add-the-compile-and-install-rules
> >>>>> -f
> >>>>> or
> >>>>> -cryptodev-test.patch
> >>>>> +++ /dev/null
> >>>>> @@ -1,69 +0,0 @@
> >>>>> -From 1980a8f4779a955e73285e7a0d86549b69bea5c8 Mon Sep 17 00:00:00
> >>>>> 2001
> >>>>> -From: Yu Zongchun <b40527@freescale.com>
> >>>>> -Date: Sun, 28 Apr 2013 14:39:22 +0800
> >>>>> -Subject: [PATCH] Add the compile and install rules for cryptodev
> >>>>> tests folder
> >>>>> -
> >>>>> -This is required to install the cryptodev tests folder to rootfs
> >>>>> -
> >>>>> -Signed-off-by: Yu Zongchun <b40527@freescale.com>
> >>>>> -
> >>>>> -Upstream-Status: Pending
> >>>>> -
> >>>>> ----
> >>>>> - Makefile       |    6 ++++++
> >>>>> - tests/Makefile |    8 ++++++++
> >>>>> - 2 files changed, 14 insertions(+), 0 deletions(-)
> >>>>> -
> >>>>> -diff --git a/Makefile b/Makefile
> >>>>> -index 2be8825..4cbb865 100644
> >>>>> ---- a/Makefile
> >>>>> -+++ b/Makefile
> >>>>> -@@ -17,6 +17,9 @@ install:
> >>>>> - 	@echo "Installing cryptodev.h in /usr/include/crypto ..."
> >>>>> - 	@install -D crypto/cryptodev.h /usr/include/crypto/cryptodev.h
> >>>>> -
> >>>>> -+install_tests:
> >>>>> -+	make -C tests install DESTDIR=$(PREFIX)
> >>>>> -+
> >>>>> - clean:
> >>>>> - 	make -C $(KERNEL_DIR) SUBDIRS=`pwd` clean
> >>>>> - 	rm -f $(hostprogs) *~
> >>>>> -@@ -25,6 +28,9 @@ clean:
> >>>>> - check:
> >>>>> - 	KERNEL_DIR=$(KERNEL_DIR) make -C tests check
> >>>>> -
> >>>>> -+testprogs:
> >>>>> -+	KERNEL_DIR=$(KERNEL_DIR) make -C tests testprogs
> >>>>> -+
> >>>>> - FILEBASE = cryptodev-linux-$(VERSION)
> >>>>> - TMPDIR ?= /tmp
> >>>>> - OUTPUT = $(FILEBASE).tar.gz
> >>>>> -diff --git a/tests/Makefile b/tests/Makefile -index
> >>>>> 87ca3c7..0488cf6
> >>>>> 100644
> >>>>> ---- a/tests/Makefile
> >>>>> -+++ b/tests/Makefile
> >>>>> -@@ -19,6 +19,12 @@ example-async-hmac-objs := async_hmac.o
> >>>>> - example-async-speed-objs := async_speed.o
> >>>>> - example-hashcrypt-speed-objs := hashcrypt_speed.c
> >>>>> -
> >>>>> -+install:
> >>>>> -+	install -d  $(DESTDIR)/usr/bin/tests_cryptodev
> >>>>> -+	for bin in $(hostprogs); do \
> >>>>> -+		install -m 755 $${bin} $(DESTDIR)/usr/bin/tests_cryptodev/;
> \
> >>>>> -+	done
> >>>>> -+
> >>>>> - check: $(hostprogs)
> >>>>> - 	./cipher
> >>>>> - 	./hmac
> >>>>> -@@ -28,6 +34,8 @@ check: $(hostprogs)
> >>>>> - 	./cipher-gcm
> >>>>> - 	./cipher-aead
> >>>>> -
> >>>>> -+testprogs: $(hostprogs)
> >>>>> -+
> >>>>> - clean:
> >>>>> - 	rm -f *.o *~ $(hostprogs)
> >>>>> -
> >>>>> ---
> >>>>> -1.7.5.4
> >>>>> -
> >>>>> diff --git a/recipes-kernel/cryptodev/files/makefile_fixup.patch
> >>>>> b/recipes-kernel/cryptodev/files/makefile_fixup.patch
> >>>>> deleted file mode 100644
> >>>>> index 323aacd..0000000
> >>>>> --- a/recipes-kernel/cryptodev/files/makefile_fixup.patch
> >>>>> +++ /dev/null
> >>>>> @@ -1,26 +0,0 @@
> >>>>> -diff --git a/Makefile b/Makefile
> >>>>> -index 2be8825..b36d68c 100644
> >>>>> ---- a/Makefile
> >>>>> -+++ b/Makefile
> >>>>> -@@ -1,6 +1,7 @@
> >>>>> - KBUILD_CFLAGS += -I$(src)
> >>>>> - KERNEL_DIR = /lib/modules/$(shell uname -r)/build
> >>>>> - VERSION = 1.5
> >>>>> -+PREFIX =
> >>>>> -
> >>>>> - cryptodev-objs = ioctl.o main.o cryptlib.o authenc.o zc.o util.o
> >>>>> -
> >>>>> -@@ -12,10 +13,10 @@ build: version.h
> >>>>> - version.h: Makefile
> >>>>> - 	@echo "#define VERSION \"$(VERSION)\"" > version.h
> >>>>> -
> >>>>> --install:
> >>>>> -+modules_install:
> >>>>> - 	make -C $(KERNEL_DIR) SUBDIRS=`pwd` modules_install
> >>>>> --	@echo "Installing cryptodev.h in /usr/include/crypto ..."
> >>>>> --	@install -D crypto/cryptodev.h /usr/include/crypto/cryptodev.h
> >>>>> -+	@echo "Installing cryptodev.h in
> $(PREFIX)/usr/include/crypto ..."
> >>>>> -+	@install -D crypto/cryptodev.h
> >>>>> -+$(PREFIX)/usr/include/crypto/cryptodev.h
> >>>>> -
> >>>>> - clean:
> >>>>> - 	make -C $(KERNEL_DIR) SUBDIRS=`pwd` clean
> >>>>>
> >>>
> >>>
> >
> >



^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2014-07-15  5:15 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-09  8:16 [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module: use fsl maintained source ting.liu
2014-07-09  8:16 ` [meta-fsl-ppc][PATCH 2/4] openssl: downgrade to 1.0.1g ting.liu
2014-07-09  8:16 ` [meta-fsl-ppc][PATCH 3/4] openssl: set preferred version " ting.liu
2014-07-09  8:16 ` [meta-fsl-ppc][PATCH 4/4] openssl: use fsl maintained source ting.liu
2014-07-09  8:32   ` Redwan Mohamed
2014-07-10  2:28     ` ting.liu
2014-07-09 17:24   ` Otavio Salvador
2014-07-09 17:28 ` [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module: " Otavio Salvador
2014-07-10  1:46   ` ting.liu
2014-07-10  6:51   ` ting.liu
2014-07-10  7:15     ` cristian.stoica
2014-07-10 10:34       ` ting.liu
2014-07-10 12:19       ` Otavio Salvador
2014-07-10 13:41         ` cristian.stoica
2014-07-11  5:31           ` zhenhua.luo
2014-07-09 20:19 ` Bob Cochran
2014-07-10  2:13   ` ting.liu
2014-07-11 14:41     ` Bob Cochran
2014-07-11 15:40       ` ting.liu
2014-07-15  3:33         ` Bob Cochran
2014-07-15  5:14           ` ting.liu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.