From e9c94cdd49b49266fab7b46ef613ac1ace38a7d3 Mon Sep 17 00:00:00 2001 From: Dan Fandrich Date: Sat, 25 Oct 2008 05:41:01 +0000 Subject: [PATCH] Added experimental support for zlib and OpenSSL on Symbian OS. --- CHANGES | 3 +++ lib/config-symbian.h | 17 +++++++++++------ lib/urldata.h | 4 ++++ packages/Symbian/group/libcurl.mmp | 19 ++++++++++++++++++- packages/Symbian/readme.txt | 12 ++++++++++-- 5 files changed, 46 insertions(+), 9 deletions(-) diff --git a/CHANGES b/CHANGES index 9a42f0a26..11a5b004c 100644 --- a/CHANGES +++ b/CHANGES @@ -6,6 +6,9 @@ Changelog +Daniel Fandrich (24 Oct 2008) +- Added experimental support for zlib and OpenSSL on Symbian OS. + Daniel Fandrich (21 Oct 2008) - Fixed some problems with SFTP range support to fix test cases 634 through 637. diff --git a/lib/config-symbian.h b/lib/config-symbian.h index d35443f2c..70c2a5803 100644 --- a/lib/config-symbian.h +++ b/lib/config-symbian.h @@ -291,9 +291,6 @@ /* Define to 1 if you have the `ssl' library (-lssl). */ /*#define HAVE_LIBSSL 1*/ -/* if zlib is available */ -/*#define HAVE_LIBZ 1*/ - /* Define to 1 if you have the header file. */ #define HAVE_LIMITS_H 1 @@ -619,9 +616,6 @@ /* Define to 1 if you have the header file. */ /* #undef HAVE_X509_H */ -/* if you have the zlib.h header file */ -/*#define HAVE_ZLIB_H 1*/ - /* Define to 1 if you are building a native Windows target. */ /* #undef NATIVE_WINDOWS */ @@ -798,3 +792,14 @@ #ifndef __LONG_LONG_SUPPORTED #define __LONG_LONG_SUPPORTED #endif + +/* Enable appropriate header only when zlib support is enabled */ +#ifdef HAVE_LIBZ +#define HAVE_ZLIB_H 1 +#endif + +/* Enable appropriate definitions only when OpenSSL support is enabled */ +#ifdef USE_SSL +#define USE_OPENSSL 1 +#define USE_SSLEAY 1 +#endif diff --git a/lib/urldata.h b/lib/urldata.h index c6d8bf17f..4113f3a51 100644 --- a/lib/urldata.h +++ b/lib/urldata.h @@ -106,6 +106,10 @@ #ifdef HAVE_ZLIB_H #include /* for content-encoding */ +#ifdef __SYMBIAN32__ +/* zlib pollutes the namespace with this definition */ +#undef WIN32 +#endif #endif #ifdef USE_ARES diff --git a/packages/Symbian/group/libcurl.mmp b/packages/Symbian/group/libcurl.mmp index 7cc421ec9..abcf86a74 100644 --- a/packages/Symbian/group/libcurl.mmp +++ b/packages/Symbian/group/libcurl.mmp @@ -2,11 +2,22 @@ // libcurl.dll cURL network retrieval client library // +// Build-time options +//#define ENABLE_ZLIB // Enable gzip/deflate decompression +//#define ENABLE_SSL // Enable SSL for HTTPS/FTPS (requires S60 Open C SDK) + TARGET libcurl.dll TARGETTYPE dll UID 0x1000008d 0xF0206D00 -MACRO BUILDING_LIBCURL=1 +MACRO BUILDING_LIBCURL + +#ifdef ENABLE_ZLIB +MACRO HAVE_LIBZ +#endif +#ifdef ENABLE_SSL +MACRO USE_SSL +#endif SOURCEPATH ../../../lib SOURCE \ @@ -27,6 +38,12 @@ SYSTEMINCLUDE ../../../include ../../../include/curl \ /epoc32/include/stdapis /epoc32/include LIBRARY euser.lib libc.lib +#ifdef ENABLE_ZLIB +LIBRARY ezlib.lib +#endif +#ifdef ENABLE_SSL +LIBRARY libssl.lib libcrypto.lib +#endif CAPABILITY NetworkServices diff --git a/packages/Symbian/readme.txt b/packages/Symbian/readme.txt index 5dc69e0ec..cdd9f7450 100644 --- a/packages/Symbian/readme.txt +++ b/packages/Symbian/readme.txt @@ -68,7 +68,15 @@ P.I.P.S. doesn't support signals or the alarm() call, so some timeouts P.I.P.S. causes a USER:87 panic if certain timeouts much longer than half an hour are selected. -SSL/TLS encryption is not supported, nor are LDAP, SCP or SFTP URLs. +LDAP, SCP or SFTP methods are not supported. + +gzip and deflate decompression is supported when enabled in the libcurl.mmp +file. + +SSL/TLS encryption is not supported by default, but it has been reported +to be made working with macros similar to the ones in config-symbian.h +and libcurl.mmp. This requires the OpenSSL libraries included in the S60 +Open C SDK. Debug builds are not supported (i.e. --enable-debug) because they cause additional symbol exports in the library which are not frozen in the .def @@ -77,4 +85,4 @@ files. Dan Fandrich dan@coneharvesters.com -July 2008 +October 2008