summaryrefslogtreecommitdiff
path: root/package/libs
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2013-10-29 09:53:48 +0000
committerJo-Philipp Wich <jow@openwrt.org>2013-10-29 09:53:48 +0000
commit8e2106488a812dbb316776940a3b552a31b88549 (patch)
treec49b945da7e46ba049138a88a082cf0dfa37326a /package/libs
parentf7ccdbec754cf1d626524db1e65e9a86243424de (diff)
downloadmtk-20170518-8e2106488a812dbb316776940a3b552a31b88549.zip
mtk-20170518-8e2106488a812dbb316776940a3b552a31b88549.tar.gz
mtk-20170518-8e2106488a812dbb316776940a3b552a31b88549.tar.bz2
Revert "[cyassl]: upgrade to 2.8.0"
Reverts the CyaSSL version bump for now since the update completely broke trunk building due to incompatible changes in the IO callback API which in turn breaks the core ustream-ssl package. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 38576
Diffstat (limited to 'package/libs')
-rw-r--r--package/libs/cyassl/Makefile13
-rw-r--r--package/libs/cyassl/patches/110-makefile_disable_examples_tests.patch46
-rw-r--r--package/libs/cyassl/patches/120-makefile_destdir.patch71
-rw-r--r--package/libs/cyassl/patches/130-configure_disable_pthreads_tests.patch444
-rw-r--r--package/libs/cyassl/patches/200-SSL_accept-handle-hello-garbage.patch13
5 files changed, 580 insertions, 7 deletions
diff --git a/package/libs/cyassl/Makefile b/package/libs/cyassl/Makefile
index df8335e..063e572 100644
--- a/package/libs/cyassl/Makefile
+++ b/package/libs/cyassl/Makefile
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2006-2013 OpenWrt.org
+# Copyright (C) 2006-2012 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=cyassl
-PKG_VERSION:=2.8.0
-PKG_RELEASE:=1
+PKG_VERSION:=1.6.5
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).zip
PKG_SOURCE_URL:=http://www.yassl.com/
-PKG_MD5SUM:=7465d4815af90eff01095fa1b031ce09
+PKG_MD5SUM:=98c2c6350acf1d089756a1de9ccb9903
PKG_FIXUP:=patch-libtool
PKG_INSTALL:=1
@@ -38,15 +38,14 @@ TARGET_CFLAGS += $(FPIC)
CONFIGURE_ARGS += \
--without-zlib \
- --enable-singlethreaded \
- --disable-examples
+ --enable-singleThreaded
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libcyassl.{so*,la} $(1)/usr/lib/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libcyassl.{a,so*,la} $(1)/usr/lib/
endef
define Package/libcyassl/install
diff --git a/package/libs/cyassl/patches/110-makefile_disable_examples_tests.patch b/package/libs/cyassl/patches/110-makefile_disable_examples_tests.patch
new file mode 100644
index 0000000..c182df9
--- /dev/null
+++ b/package/libs/cyassl/patches/110-makefile_disable_examples_tests.patch
@@ -0,0 +1,46 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,4 +1,4 @@
+-SUBDIRS = src ctaocrypt examples testsuite sslSniffer
++SUBDIRS = src ctaocrypt
+ EXTRA_DIST = cyassl.dsp cyassl.dsw certs/*.pem certs/*.der certs/*.txt \
+ lib/dummy cyassl.sln cyassl.vcproj cyassl-iphone.xcodeproj/project.pbxproj \
+ doc/*.pdf swig/README swig/*.i swig/cyassl_adds.c swig/*.sh swig/runme.* \
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -193,7 +193,7 @@ target_os = @target_os@
+ target_vendor = @target_vendor@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+-SUBDIRS = src ctaocrypt examples testsuite sslSniffer
++SUBDIRS = src ctaocrypt
+ EXTRA_DIST = cyassl.dsp cyassl.dsw certs/*.pem certs/*.der certs/*.txt \
+ lib/dummy cyassl.sln cyassl.vcproj cyassl-iphone.xcodeproj/project.pbxproj \
+ doc/*.pdf swig/README swig/*.i swig/cyassl_adds.c swig/*.sh swig/runme.* \
+@@ -643,7 +643,7 @@ uninstall-am:
+
+ # !!!! first line of rule has to start with a hard (real) tab, not spaces
+ basic:
+- cd src; $(MAKE); cd ../testsuite; $(MAKE); cd ../
++ cd src; $(MAKE); cd ../
+
+ openssl-links:
+ cd lib; ln -s ../src/.libs/libcyassl.a libcrypto.a; \
+--- a/ctaocrypt/Makefile.am
++++ b/ctaocrypt/Makefile.am
+@@ -1,3 +1,3 @@
+-SUBDIRS = src test benchmark
++SUBDIRS = src
+ EXTRA_DIST = ctaocrypt.dsw ctaocrypt.dsp ctaocrypt.sln ctaocrypt.vcproj
+
+--- a/ctaocrypt/Makefile.in
++++ b/ctaocrypt/Makefile.in
+@@ -177,7 +177,7 @@ target_os = @target_os@
+ target_vendor = @target_vendor@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+-SUBDIRS = src test benchmark
++SUBDIRS = src
+ EXTRA_DIST = ctaocrypt.dsw ctaocrypt.dsp ctaocrypt.sln ctaocrypt.vcproj
+ all: all-recursive
+
diff --git a/package/libs/cyassl/patches/120-makefile_destdir.patch b/package/libs/cyassl/patches/120-makefile_destdir.patch
new file mode 100644
index 0000000..fe7f508
--- /dev/null
+++ b/package/libs/cyassl/patches/120-makefile_destdir.patch
@@ -0,0 +1,71 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -10,19 +10,19 @@ basic:
+
+ openssl-links:
+ cd lib; ln -s ../src/.libs/libcyassl.a libcrypto.a; \
+- ln -s ../src/.libs/libcyassl.a libssl.a; \
+- ln -s ../src/.libs/libcyassl.a libcyassl.a; cd ../
++ ln -s ../src/.libs/libcyassl.a libssl.a; \
++ ln -s ../src/.libs/libcyassl.a libcyassl.a; cd ../
+
+ # !!! test -e with a .name like .libs then a * like *dylib fails so just
+ # look for the .dylib on OS X, and .so otherwise but copy all parts
+ install:
+- $(mkinstalldirs) $(DESTDIR)$(includedir) $(DESTDIR)$(libdir); \
+- cp -fpR include/* $(DESTDIR)$(includedir); \
+- cp -fpR ctaocrypt/include/* $(DESTDIR)$(includedir); \
+- cp -fpR src/libcyassl.la $(DESTDIR)$(libdir); \
+- if test -e src/.libs/libcyassl.a; then \
+- cp -fp src/.libs/libcyassl.a $(DESTDIR)$(libdir); fi; \
+- if test -e src/.libs/libcyassl.so; then \
+- cp -fpR src/.libs/libcyassl.so* $(DESTDIR)$(libdir); fi; \
+- if test -e src/.libs/libcyassl.dylib; then \
+- cp -fpR src/.libs/libcyassl.*dylib $(DESTDIR)$(libdir); fi;
++ $(mkinstalldirs) $(DESTDIR)$(includedir)/cyassl $(DESTDIR)$(libdir); \
++ cp -fpR include/* $(DESTDIR)$(includedir)/cyassl; \
++ cp -fpR ctaocrypt/include/* $(DESTDIR)$(includedir)/cyassl; \
++ cp -fpR src/libcyassl.la $(DESTDIR)$(libdir); \
++ if test -e src/.libs/libcyassl.a; then \
++ cp -fp src/.libs/libcyassl.a $(DESTDIR)$(libdir); fi; \
++ if test -e src/.libs/libcyassl.so; then \
++ cp -fpR src/.libs/libcyassl.so* $(DESTDIR)$(libdir); fi; \
++ if test -e src/.libs/libcyassl.dylib; then \
++ cp -fpR src/.libs/libcyassl.*dylib $(DESTDIR)$(libdir); fi;
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -647,22 +647,22 @@ basic:
+
+ openssl-links:
+ cd lib; ln -s ../src/.libs/libcyassl.a libcrypto.a; \
+- ln -s ../src/.libs/libcyassl.a libssl.a; \
+- ln -s ../src/.libs/libcyassl.a libcyassl.a; cd ../
++ ln -s ../src/.libs/libcyassl.a libssl.a; \
++ ln -s ../src/.libs/libcyassl.a libcyassl.a; cd ../
+
+ # !!! test -e with a .name like .libs then a * like *dylib fails so just
+ # look for the .dylib on OS X, and .so otherwise but copy all parts
+ install:
+- $(mkinstalldirs) $(DESTDIR)$(includedir) $(DESTDIR)$(libdir); \
+- cp -fpR include/* $(DESTDIR)$(includedir); \
+- cp -fpR ctaocrypt/include/* $(DESTDIR)$(includedir); \
+- cp -fpR src/libcyassl.la $(DESTDIR)$(libdir); \
+- if test -e src/.libs/libcyassl.a; then \
+- cp -fp src/.libs/libcyassl.a $(DESTDIR)$(libdir); fi; \
+- if test -e src/.libs/libcyassl.so; then \
+- cp -fpR src/.libs/libcyassl.so* $(DESTDIR)$(libdir); fi; \
+- if test -e src/.libs/libcyassl.dylib; then \
+- cp -fpR src/.libs/libcyassl.*dylib $(DESTDIR)$(libdir); fi;
++ $(mkinstalldirs) $(DESTDIR)$(includedir)/cyassl $(DESTDIR)$(libdir); \
++ cp -fpR include/* $(DESTDIR)$(includedir)/cyassl; \
++ cp -fpR ctaocrypt/include/* $(DESTDIR)$(includedir)/cyassl; \
++ cp -fpR src/libcyassl.la $(DESTDIR)$(libdir); \
++ if test -e src/.libs/libcyassl.a; then \
++ cp -fp src/.libs/libcyassl.a $(DESTDIR)$(libdir); fi; \
++ if test -e src/.libs/libcyassl.so; then \
++ cp -fpR src/.libs/libcyassl.so* $(DESTDIR)$(libdir); fi; \
++ if test -e src/.libs/libcyassl.dylib; then \
++ cp -fpR src/.libs/libcyassl.*dylib $(DESTDIR)$(libdir); fi;
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+ .NOEXPORT:
diff --git a/package/libs/cyassl/patches/130-configure_disable_pthreads_tests.patch b/package/libs/cyassl/patches/130-configure_disable_pthreads_tests.patch
new file mode 100644
index 0000000..44fdf6c
--- /dev/null
+++ b/package/libs/cyassl/patches/130-configure_disable_pthreads_tests.patch
@@ -0,0 +1,444 @@
+--- a/configure
++++ b/configure
+@@ -888,10 +888,6 @@ BUILD_RIPEMD_TRUE
+ BUILD_RIPEMD_FALSE
+ BUILD_SHA512_TRUE
+ BUILD_SHA512_FALSE
+-acx_pthread_config
+-PTHREAD_CC
+-PTHREAD_LIBS
+-PTHREAD_CFLAGS
+ LIBOBJS
+ LTLIBOBJS'
+ ac_subst_files=''
+@@ -22251,430 +22247,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS con
+ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+-acx_pthread_ok=no
+-
+-# We used to check for pthread.h first, but this fails if pthread.h
+-# requires special compiler flags (e.g. on True64 or Sequent).
+-# It gets checked for in the link test anyway.
+-
+-# First of all, check if the user has set any of the PTHREAD_LIBS,
+-# etcetera environment variables, and if threads linking works using
+-# them:
+-if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then
+- save_CFLAGS="$CFLAGS"
+- CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+- save_LIBS="$LIBS"
+- LIBS="$PTHREAD_LIBS $LIBS"
+- { echo "$as_me:$LINENO: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5
+-echo $ECHO_N "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... $ECHO_C" >&6; }
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-
+-/* Override any GCC internal prototype to avoid an error.
+- Use char because int might match the return type of a GCC
+- builtin and then its argument prototype would still apply. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-char pthread_join ();
+-int
+-main ()
+-{
+-return pthread_join ();
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (ac_try="$ac_link"
+-case "(($ac_try" in
+- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+- *) ac_try_echo=$ac_try;;
+-esac
+-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+- (eval "$ac_link") 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } && {
+- test -z "$ac_c_werror_flag" ||
+- test ! -s conftest.err
+- } && test -s conftest$ac_exeext &&
+- $as_test_x conftest$ac_exeext; then
+- acx_pthread_ok=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+-
+-fi
+-
+-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+- conftest$ac_exeext conftest.$ac_ext
+- { echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5
+-echo "${ECHO_T}$acx_pthread_ok" >&6; }
+- if test x"$acx_pthread_ok" = xno; then
+- PTHREAD_LIBS=""
+- PTHREAD_CFLAGS=""
+- fi
+- LIBS="$save_LIBS"
+- CFLAGS="$save_CFLAGS"
+-fi
+-
+-# We must check for the threads library under a number of different
+-# names; the ordering is very important because some systems
+-# (e.g. DEC) have both -lpthread and -lpthreads, where one of the
+-# libraries is broken (non-POSIX).
+-
+-# Create a list of thread flags to try. Items starting with a "-" are
+-# C compiler flags, and other items are library names, except for "none"
+-# which indicates that we try without any flags at all, and "pthread-config"
+-# which is a program returning the flags for the Pth emulation library.
+-
+-acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
+-
+-# The ordering *is* (sometimes) important. Some notes on the
+-# individual items follow:
+-
+-# pthreads: AIX (must check this before -lpthread)
+-# none: in case threads are in libc; should be tried before -Kthread and
+-# other compiler flags to prevent continual compiler warnings
+-# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
+-# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
+-# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
+-# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads)
+-# -pthreads: Solaris/gcc
+-# -mthreads: Mingw32/gcc, Lynx/gcc
+-# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
+-# doesn't hurt to check since this sometimes defines pthreads too;
+-# also defines -D_REENTRANT)
+-# ... -mt is also the pthreads flag for HP/aCC
+-# pthread: Linux, etcetera
+-# --thread-safe: KAI C++
+-# pthread-config: use pthread-config program (for GNU Pth library)
+-
+-case "${host_cpu}-${host_os}" in
+- *solaris*)
+-
+- # On Solaris (at least, for some versions), libc contains stubbed
+- # (non-functional) versions of the pthreads routines, so link-based
+- # tests will erroneously succeed. (We need to link with -pthreads/-mt/
+- # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather
+- # a function called by this macro, so we could check for that, but
+- # who knows whether they'll stub that too in a future libc.) So,
+- # we'll just look for -pthreads and -lpthread first:
+-
+- acx_pthread_flags="-pthreads pthread -mt -pthread $acx_pthread_flags"
+- ;;
+-esac
+-
+-if test x"$acx_pthread_ok" = xno; then
+-for flag in $acx_pthread_flags; do
+-
+- case $flag in
+- none)
+- { echo "$as_me:$LINENO: checking whether pthreads work without any flags" >&5
+-echo $ECHO_N "checking whether pthreads work without any flags... $ECHO_C" >&6; }
+- ;;
+-
+- -*)
+- { echo "$as_me:$LINENO: checking whether pthreads work with $flag" >&5
+-echo $ECHO_N "checking whether pthreads work with $flag... $ECHO_C" >&6; }
+- PTHREAD_CFLAGS="$flag"
+- ;;
+-
+- pthread-config)
+- # Extract the first word of "pthread-config", so it can be a program name with args.
+-set dummy pthread-config; ac_word=$2
+-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+-if test "${ac_cv_prog_acx_pthread_config+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- if test -n "$acx_pthread_config"; then
+- ac_cv_prog_acx_pthread_config="$acx_pthread_config" # Let the user override the test.
+-else
+-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+-for as_dir in $PATH
+-do
+- IFS=$as_save_IFS
+- test -z "$as_dir" && as_dir=.
+- for ac_exec_ext in '' $ac_executable_extensions; do
+- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+- ac_cv_prog_acx_pthread_config="yes"
+- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+- break 2
+- fi
+-done
+-done
+-IFS=$as_save_IFS
+-
+- test -z "$ac_cv_prog_acx_pthread_config" && ac_cv_prog_acx_pthread_config="no"
+-fi
+-fi
+-acx_pthread_config=$ac_cv_prog_acx_pthread_config
+-if test -n "$acx_pthread_config"; then
+- { echo "$as_me:$LINENO: result: $acx_pthread_config" >&5
+-echo "${ECHO_T}$acx_pthread_config" >&6; }
+-else
+- { echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6; }
+-fi
+-
+-
+- if test x"$acx_pthread_config" = xno; then continue; fi
+- PTHREAD_CFLAGS="`pthread-config --cflags`"
+- PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
+- ;;
+-
+- *)
+- { echo "$as_me:$LINENO: checking for the pthreads library -l$flag" >&5
+-echo $ECHO_N "checking for the pthreads library -l$flag... $ECHO_C" >&6; }
+- PTHREAD_LIBS="-l$flag"
+- ;;
+- esac
+-
+- save_LIBS="$LIBS"
+- save_CFLAGS="$CFLAGS"
+- LIBS="$PTHREAD_LIBS $LIBS"
+- CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+-
+- # Check for various functions. We must include pthread.h,
+- # since some functions may be macros. (On the Sequent, we
+- # need a special flag -Kthread to make this header compile.)
+- # We check for pthread_join because it is in -lpthread on IRIX
+- # while pthread_create is in libc. We check for pthread_attr_init
+- # due to DEC craziness with -lpthreads. We check for
+- # pthread_cleanup_push because it is one of the few pthread
+- # functions on Solaris that doesn't have a non-functional libc stub.
+- # We try pthread_create on general principles.
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-#include <pthread.h>
+-int
+-main ()
+-{
+-pthread_t th; pthread_join(th, 0);
+- pthread_attr_init(0); pthread_cleanup_push(0, 0);
+- pthread_create(0,0,0,0); pthread_cleanup_pop(0);
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (ac_try="$ac_link"
+-case "(($ac_try" in
+- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+- *) ac_try_echo=$ac_try;;
+-esac
+-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+- (eval "$ac_link") 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } && {
+- test -z "$ac_c_werror_flag" ||
+- test ! -s conftest.err
+- } && test -s conftest$ac_exeext &&
+- $as_test_x conftest$ac_exeext; then
+- acx_pthread_ok=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+-
+-fi
+-
+-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+- conftest$ac_exeext conftest.$ac_ext
+-
+- LIBS="$save_LIBS"
+- CFLAGS="$save_CFLAGS"
+-
+- { echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5
+-echo "${ECHO_T}$acx_pthread_ok" >&6; }
+- if test "x$acx_pthread_ok" = xyes; then
+- break;
+- fi
+-
+- PTHREAD_LIBS=""
+- PTHREAD_CFLAGS=""
+-done
+-fi
+-
+-# Various other checks:
+-if test "x$acx_pthread_ok" = xyes; then
+- save_LIBS="$LIBS"
+- LIBS="$PTHREAD_LIBS $LIBS"
+- save_CFLAGS="$CFLAGS"
+- CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+-
+- # Detect AIX lossage: JOINABLE attribute is called UNDETACHED.
+- { echo "$as_me:$LINENO: checking for joinable pthread attribute" >&5
+-echo $ECHO_N "checking for joinable pthread attribute... $ECHO_C" >&6; }
+- attr_name=unknown
+- for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-#include <pthread.h>
+-int
+-main ()
+-{
+-int attr=$attr; return attr;
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (ac_try="$ac_link"
+-case "(($ac_try" in
+- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+- *) ac_try_echo=$ac_try;;
+-esac
+-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+- (eval "$ac_link") 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } && {
+- test -z "$ac_c_werror_flag" ||
+- test ! -s conftest.err
+- } && test -s conftest$ac_exeext &&
+- $as_test_x conftest$ac_exeext; then
+- attr_name=$attr; break
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+-
+-fi
+-
+-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+- conftest$ac_exeext conftest.$ac_ext
+- done
+- { echo "$as_me:$LINENO: result: $attr_name" >&5
+-echo "${ECHO_T}$attr_name" >&6; }
+- if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then
+-
+-cat >>confdefs.h <<_ACEOF
+-#define PTHREAD_CREATE_JOINABLE $attr_name
+-_ACEOF
+-
+- fi
+-
+- { echo "$as_me:$LINENO: checking if more special flags are required for pthreads" >&5
+-echo $ECHO_N "checking if more special flags are required for pthreads... $ECHO_C" >&6; }
+- flag=no
+- case "${host_cpu}-${host_os}" in
+- *-aix* | *-freebsd* | *-darwin*) flag="-D_THREAD_SAFE";;
+- *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";;
+- esac
+- { echo "$as_me:$LINENO: result: ${flag}" >&5
+-echo "${ECHO_T}${flag}" >&6; }
+- if test "x$flag" != xno; then
+- PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS"
+- fi
+-
+- LIBS="$save_LIBS"
+- CFLAGS="$save_CFLAGS"
+-
+- # More AIX lossage: must compile with xlc_r or cc_r
+- if test x"$GCC" != xyes; then
+- for ac_prog in xlc_r cc_r
+-do
+- # Extract the first word of "$ac_prog", so it can be a program name with args.
+-set dummy $ac_prog; ac_word=$2
+-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+-if test "${ac_cv_prog_PTHREAD_CC+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- if test -n "$PTHREAD_CC"; then
+- ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test.
+-else
+-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+-for as_dir in $PATH
+-do
+- IFS=$as_save_IFS
+- test -z "$as_dir" && as_dir=.
+- for ac_exec_ext in '' $ac_executable_extensions; do
+- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+- ac_cv_prog_PTHREAD_CC="$ac_prog"
+- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+- break 2
+- fi
+-done
+-done
+-IFS=$as_save_IFS
+-
+-fi
+-fi
+-PTHREAD_CC=$ac_cv_prog_PTHREAD_CC
+-if test -n "$PTHREAD_CC"; then
+- { echo "$as_me:$LINENO: result: $PTHREAD_CC" >&5
+-echo "${ECHO_T}$PTHREAD_CC" >&6; }
+-else
+- { echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6; }
+-fi
+-
+-
+- test -n "$PTHREAD_CC" && break
+-done
+-test -n "$PTHREAD_CC" || PTHREAD_CC="${CC}"
+-
+- else
+- PTHREAD_CC=$CC
+- fi
+-else
+- PTHREAD_CC="$CC"
+-fi
+-
+-
+-
+-
+-
+-# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
+-if test x"$acx_pthread_ok" = xyes; then
+-
+-cat >>confdefs.h <<\_ACEOF
+-#define HAVE_PTHREAD 1
+-_ACEOF
+-
+- :
+-else
+- acx_pthread_ok=no
+-
+-fi
+-ac_ext=c
+-ac_cpp='$CPP $CPPFLAGS'
+-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+-
+-
+-
+-LIBS="$PTHREAD_LIBS $LIBS"
+-CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+-
+
+ { echo "$as_me:$LINENO: checking for library containing gethostbyname" >&5
+ echo $ECHO_N "checking for library containing gethostbyname... $ECHO_C" >&6; }
diff --git a/package/libs/cyassl/patches/200-SSL_accept-handle-hello-garbage.patch b/package/libs/cyassl/patches/200-SSL_accept-handle-hello-garbage.patch
new file mode 100644
index 0000000..4a6b8da
--- /dev/null
+++ b/package/libs/cyassl/patches/200-SSL_accept-handle-hello-garbage.patch
@@ -0,0 +1,13 @@
+--- a/src/cyassl_int.c
++++ b/src/cyassl_int.c
+@@ -1588,6 +1588,10 @@
+ b1 =
+ ssl->buffers.inputBuffer.buffer[ssl->buffers.inputBuffer.idx++];
+ ssl->curSize = ((b0 & 0x7f) << 8) | b1;
++
++ /* does not appear to a be a SSLv2 client hello */
++ if ( ssl->buffers.inputBuffer.buffer[ssl->buffers.inputBuffer.idx] != 1 )
++ return UNKNOWN_HANDSHAKE_TYPE;
+ }
+ else {
+ ssl->options.processReply = getRecordLayerHeader;