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
