I'm sorry but these days I have been very busy with work. I have not found
the time to do the tests.
I would like to remove OpenSSL from my application that I am developing and
using CyaSSL.
The problem of porting applications from OpenSSL to CyaSSL is requires a
lot of work. The two libraries are not compatible 100%


2013/5/21 Ben West <[email protected]>

> For an update, I have since been able to get libcurl to link to the new
> cyassl package, provided I explicitly insert sizeof_long definitions into
> libcurl header files, shown in the patch below.  It is unusual that libcurl
> seems to require these additional defines to link to libcyassl.so, but
> uhttpd-mod-tls does not.
>
> I'm not sure if this patch resides properly with the package curl, perhaps
> accompanied by another patch that defines a new sub-package libcurl-cyassl.
>
> Massimo, are you using the newer version of cyassl for anything besides
> uhttpd?
>
> --- curl-7.29.0/include/curl/curl.h.20130518    2013-05-17
> 23:25:23.816083944 -0500
> +++ curl-7.29.0/include/curl/curl.h    2013-05-17 23:30:43.304082086 -0500
> @@ -118,6 +118,13 @@ typedef void CURL;
>  #endif
>  #endif
>
> +/* These definitions needed for cyassl */
> +/* The size of `long', as computed by sizeof. */
> +#define SIZEOF_LONG 4
> +
> +/* The size of `long long', as computed by sizeof. */
> +#define SIZEOF_LONG_LONG 8
> +
>  #ifndef curl_socket_typedef
>  /* socket typedef */
>  #if defined(WIN32) && !defined(__LWIP_OPT_H__)
>
>
>
> On Fri, May 17, 2013 at 12:00 PM, Ben West <[email protected]> wrote:
>
>> Thank you for responding.  Below is the diff of the curl Makefile,
>> against that included in the Attitude Adjustment v12.09 packages 
>> here<https://dev.openwrt.org/browser/branches/packages_12.09/libs/curl/Makefile>
>> .
>>
>> Note that the addition of "-lm" to libraries for curl to link to came
>> from my own research in pending OpenWRT issues about compiling curl with
>> cyassl.  However, the error about long long size mismatch occurs whether
>> libm.so is included or not.
>>
>> Index: libs/curl/Makefile
>> ===================================================================
>> --- libs/curl/Makefile    (revision 36652)
>> +++ libs/curl/Makefile    (working copy)
>> @@ -43,7 +43,7 @@
>>    $(call Package/curl/Default)
>>    SECTION:=libs
>>    CATEGORY:=Libraries
>> -  DEPENDS:=+libopenssl +zlib
>> +  DEPENDS:=+libcyassl +zlib
>>    TITLE:=A client-side URL transfer library
>>  endef
>>
>> @@ -70,7 +70,8 @@
>>      --enable-tftp \
>>      --disable-verbose \
>>      --with-random="/dev/urandom" \
>> -    --with-ssl="$(STAGING_DIR)/usr" \
>> +    --with-cyassl="$(STAGING_DIR)/usr" \
>> +    --without-ssl
>>      --without-ca-bundle \
>>      --without-gnutls \
>>      --without-krb4 \
>> @@ -81,7 +82,7 @@
>>      $(call autoconf_bool,CONFIG_IPV6,ipv6) \
>>
>>  CONFIGURE_VARS += \
>> -    LIBS="-lcrypto -lssl -lz" \
>> +    LIBS="-lm -lcyassl -lz" \
>>      CC="$(filter-out ccache,$(TARGET_CC))"
>>
>>  define Build/Compile
>>
>>
>> On Fri, May 17, 2013 at 2:10 AM, Massimo Vellucci <[email protected]>wrote:
>>
>>> CyaSSL must determine the environment to recognize the size of the
>>> types, there is a conflict on the size of the long type. Can you attach the
>>> changes on curl makefile for using CyaSSL ?
>>>
>>>
>>>
>>> 2013/5/16 Ben West <[email protected]>
>>>
>>>> Thank you for sharing this patch!
>>>>
>>>> I'm trying this very patch to see if I can use cyassl with curl,
>>>> instead of openssl.  (cyassl v1.6.5 is apparently old enough that the
>>>> current version of curl can no longer use libcyassl.so.)
>>>>
>>>> However, my build on ar71xx target fails when libcurl tries to link to
>>>> libcyassl on the rather esoteric error "bad math long / long long
>>>> settings."  Are there platform limitations to the new version of cyassl?
>>>>
>>>> OpenWrt-libtool: compile:  mips-openwrt-linux-uclibc-gcc
>>>> -DHAVE_CONFIG_H -I../include/curl -I../include -I../include -I../lib
>>>> -I../lib -DCURL_HIDDEN_SYMBOLS -isystem
>>>> /blah/blah/openwrt/staging_dir/target-mips_r2_uClibc-0.9.33.2/usr/include
>>>> -isystem
>>>> /blah/blah/openwrt/staging_dir/target-mips_r2_uClibc-0.9.33.2/include
>>>> -isystem
>>>> /blah/blah/openwrt/staging_dir/toolchain-mips_r2_gcc-4.7-linaro_uClibc-0.9.33.2/usr/include
>>>> -isystem
>>>> /blah/blah/openwrt/staging_dir/toolchain-mips_r2_gcc-4.7-linaro_uClibc-0.9.33.2/include
>>>> -I/blah/blah/openwrt/staging_dir/target-mips_r2_uClibc-0.9.33.2/usr/include
>>>> -I/blah/blah/openwrt/staging_dir/target-mips_r2_uClibc-0.9.33.2/usr/include
>>>> -fvisibility=hidden -Os -pipe -mips32r2 -mtune=mips32r2 -fno-caller-saves
>>>> -funit-at-a-time -fhonour-copts -Wno-error=unused-but-set-variable
>>>> -msoft-float -fpic -Wno-system-headers -MT libcurl_la-cyassl.lo -MD -MP -MF
>>>> .deps/libcurl_la-cyassl.Tpo -c cyassl.c  -fPIC -DPIC -o
>>>> .libs/libcurl_la-cyassl.o
>>>> In file included from
>>>> /blah/blah/openwrt/staging_dir/target-mips_r2_uClibc-0.9.33.2/usr/include/cyassl/ctaocrypt/error.h:26:0,
>>>>                  from
>>>> /blah/blah/openwrt/staging_dir/target-mips_r2_uClibc-0.9.33.2/usr/include/cyassl/error.h:26,
>>>>                  from cyassl.c:53:
>>>> /blah/blah/openwrt/staging_dir/target-mips_r2_uClibc-0.9.33.2/usr/include/cyassl/ctaocrypt/types.h:274:6:
>>>> error: #error "bad math long / long long settings"
>>>> /blah/blah/openwrt/staging_dir/target-mips_r2_uClibc-0.9.33.2/usr/include/cyassl/ctaocrypt/types.h:276:1:
>>>> error: expected identifier before '}' token
>>>> make[5]: *** [libcurl_la-cyassl.lo] Error 1
>>>>
>>>> The caveat, however, is that I'm trying to compile the newer cyassl for
>>>> Attitude Adjustment v36608, not trunk.  Not sure if that would make a
>>>> difference for this error.
>>>>
>>>> On Sun, May 5, 2013 at 5:50 AM, Massimo Vellucci <[email protected]>wrote:
>>>>
>>>>> Sorry I made a big mistake, I attached the wrong patch. For x86 you
>>>>> need to disable the PIC optimization otherwise you get an error at
>>>>> compile time.
>>>>>
>>>>>
>>>>> diff -r -u a/package/libs/cyassl/Makefile
>>>>> b/package/libs/cyassl/Makefile
>>>>> --- a/package/libs/cyassl/Makefile    2013-03-21 08:08:18.000000000
>>>>> +0100
>>>>> +++ b/package/libs/cyassl/Makefile    2013-05-05 10:27:06.000000000+0200
>>>>>
>>>>> @@ -8,16 +8,14 @@
>>>>>  include $(TOPDIR)/rules.mk
>>>>>
>>>>>  PKG_NAME:=cyassl
>>>>> -PKG_VERSION:=1.6.5
>>>>> -PKG_RELEASE:=2
>>>>> +PKG_VERSION:=2.6.0
>>>>> +PKG_RELEASE:=1
>>>>>
>>>>>  PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).zip
>>>>>  PKG_SOURCE_URL:=http://www.yassl.com/
>>>>> -PKG_MD5SUM:=98c2c6350acf1d089756a1de9ccb9903
>>>>> +PKG_MD5SUM:=9c48fd4ab677c11b4612fb4eb15444d9
>>>>>
>>>>> -PKG_FIXUP:=patch-libtool
>>>>>  PKG_INSTALL:=1
>>>>> -PKG_BUILD_PARALLEL:=1
>>>>>
>>>>>  include $(INCLUDE_DIR)/package.mk
>>>>>
>>>>> @@ -37,8 +35,12 @@
>>>>>
>>>>>  TARGET_CFLAGS += $(FPIC)
>>>>>
>>>>>  CONFIGURE_ARGS += \
>>>>> -       --without-zlib \
>>>>> -       --enable-singleThreaded
>>>>> +       --without-pic \
>>>>>
>>>>> +       --enable-dtls \
>>>>> +       --enable-static \
>>>>> +       --enable-opensslextra \
>>>>> +       --enable-singlethreaded \
>>>>>
>>>>> +       --disable-examples
>>>>>
>>>>>  define Build/InstallDev
>>>>>         $(INSTALL_DIR) $(1)/usr/include
>>>>>
>>>>>
>>>>>
>>>>> I'm sorry again for the mistake
>>>>> Massimo
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> openwrt-devel mailing list
>>>>> [email protected]
>>>>> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Ben West
>>>> http://gowasabi.net
>>>> [email protected]
>>>> 314-246-9434
>>>>
>>>> _______________________________________________
>>>> openwrt-devel mailing list
>>>> [email protected]
>>>> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
>>>>
>>>>
>>>
>>> _______________________________________________
>>> openwrt-devel mailing list
>>> [email protected]
>>> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
>>>
>>>
>>
>>
>> --
>> Ben West
>> http://gowasabi.net
>> [email protected]
>> 314-246-9434
>>
>
>
>
> --
> Ben West
> http://gowasabi.net
> [email protected]
> 314-246-9434
>
> _______________________________________________
> openwrt-devel mailing list
> [email protected]
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
>
>
_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to