Revert "[cyassl]: upgrade to 2.8.0"
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 29 Oct 2013 09:53:48 +0000 (09:53 +0000)
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 29 Oct 2013 09:53:48 +0000 (09:53 +0000)
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38576 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/libs/cyassl/Makefile
package/libs/cyassl/patches/110-makefile_disable_examples_tests.patch [new file with mode: 0644]
package/libs/cyassl/patches/120-makefile_destdir.patch [new file with mode: 0644]
package/libs/cyassl/patches/130-configure_disable_pthreads_tests.patch [new file with mode: 0644]
package/libs/cyassl/patches/200-SSL_accept-handle-hello-garbage.patch [new file with mode: 0644]

index df8335e..063e572 100644 (file)
@@ -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.
 #
 # 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
 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_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
 
 PKG_FIXUP:=patch-libtool
 PKG_INSTALL:=1
@@ -38,15 +38,14 @@ TARGET_CFLAGS += $(FPIC)
 
 CONFIGURE_ARGS += \
        --without-zlib \
 
 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
 
 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
 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 (file)
index 0000000..c66ab8c
--- /dev/null
@@ -0,0 +1,46 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,4 +1,4 @@
+-SUBDIRS = src ctaocrypt examples testsuite sslSniffer\r
++SUBDIRS = src ctaocrypt\r
+ EXTRA_DIST = cyassl.dsp cyassl.dsw certs/*.pem certs/*.der certs/*.txt \\r
+     lib/dummy cyassl.sln cyassl.vcproj cyassl-iphone.xcodeproj/project.pbxproj \\r
+     doc/*.pdf swig/README swig/*.i swig/cyassl_adds.c swig/*.sh swig/runme.* \\r
+--- 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\r
++SUBDIRS = src\r
+ EXTRA_DIST = ctaocrypt.dsw ctaocrypt.dsp ctaocrypt.sln ctaocrypt.vcproj\r
\r
+--- 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 (file)
index 0000000..bf20274
--- /dev/null
@@ -0,0 +1,71 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -10,19 +10,19 @@ basic:
\r
+ openssl-links:\r
+       cd lib; ln -s ../src/.libs/libcyassl.a libcrypto.a; \\r
+-    ln -s ../src/.libs/libcyassl.a libssl.a; \\r
+-    ln -s ../src/.libs/libcyassl.a libcyassl.a; cd ../\r
++      ln -s ../src/.libs/libcyassl.a libssl.a; \\r
++      ln -s ../src/.libs/libcyassl.a libcyassl.a; cd ../\r
\r
+ #  !!! test -e with a .name like .libs then a * like *dylib fails so just\r
+ #      look for the .dylib on OS X, and .so otherwise but copy all parts\r
+ install:\r
+-      $(mkinstalldirs) $(DESTDIR)$(includedir) $(DESTDIR)$(libdir); \\r
+-    cp -fpR include/* $(DESTDIR)$(includedir); \\r
+-    cp -fpR ctaocrypt/include/* $(DESTDIR)$(includedir); \\r
+-    cp -fpR src/libcyassl.la $(DESTDIR)$(libdir); \\r
+-    if test -e src/.libs/libcyassl.a; then \\r
+-    cp -fp src/.libs/libcyassl.a $(DESTDIR)$(libdir); fi; \\r
+-    if test -e src/.libs/libcyassl.so; then \\r
+-    cp -fpR src/.libs/libcyassl.so* $(DESTDIR)$(libdir); fi; \\r
+-    if test -e src/.libs/libcyassl.dylib; then \\r
+-    cp -fpR src/.libs/libcyassl.*dylib $(DESTDIR)$(libdir); fi;\r
++      $(mkinstalldirs) $(DESTDIR)$(includedir)/cyassl $(DESTDIR)$(libdir); \\r
++      cp -fpR include/* $(DESTDIR)$(includedir)/cyassl; \\r
++      cp -fpR ctaocrypt/include/* $(DESTDIR)$(includedir)/cyassl; \\r
++      cp -fpR src/libcyassl.la $(DESTDIR)$(libdir); \\r
++      if test -e src/.libs/libcyassl.a; then \\r
++              cp -fp src/.libs/libcyassl.a $(DESTDIR)$(libdir); fi; \\r
++      if test -e src/.libs/libcyassl.so; then \\r
++              cp -fpR src/.libs/libcyassl.so* $(DESTDIR)$(libdir); fi; \\r
++      if test -e src/.libs/libcyassl.dylib; then \\r
++              cp -fpR src/.libs/libcyassl.*dylib $(DESTDIR)$(libdir); fi;\r
+--- 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 (file)
index 0000000..44fdf6c
--- /dev/null
@@ -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 (file)
index 0000000..4a6b8da
--- /dev/null
@@ -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;