Accepting request 532979 from devel:libraries:c_c++

1

OBS-URL: https://build.opensuse.org/request/show/532979
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/curl?expand=0&rev=127
This commit is contained in:
Dominique Leuenberger 2017-10-20 14:11:07 +00:00 committed by Git OBS Bridge
commit 154c0495fb
13 changed files with 218 additions and 214 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:dae1b1be34f5983e8d46917f2bdbb2335aecd0e57f777f4c32213da6a8050a80
size 3730165

View File

@ -1,11 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCgAdFiEEJ+3q8i86vOtQ25oSXMkI/bceEsIFAlmKoysACgkQXMkI/bce
EsIG/QgAsyzFSQJiIFEOwxdA9BTWAzy79gXLr6kVOU2d51lJMC7Nm9HBMlUVlBn9
RhX7kxYRjNDIpAZ1zB0L0zNhPUnv00CngjAFXg5byJ7Xu3lIZKyhGVAbvGbk0E5X
KuISWQgPo9euV54EmeYg3gdJBtXrfCAgzagjQaAT/Rs0pDlVP/gwFKvUVzYhmqVN
XUr6RS1MT9bJf5cOpzdXmv4bbutHnehb97lsqIbtB1qrsT6/doafJttz6imMPUFW
v19XDi4ByW3yzyrjV1cOleVJQbduG6EDcdp+IPkZuQWn/7oJBoV2WLniO4/v4aNq
RZF4zARHIeSkTbwYA/Hiqo5afY9dTQ==
=mthc
-----END PGP SIGNATURE-----

3
curl-7.56.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f1bc17a7e5662dbd8d4029750a6dbdb72a55cf95826a270ab388b05075526104
size 3827372

11
curl-7.56.0.tar.gz.asc Normal file
View File

@ -0,0 +1,11 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCgAdFiEEJ+3q8i86vOtQ25oSXMkI/bceEsIFAlnUd8MACgkQXMkI/bce
EsJMKQf+OEjS8Ai0Ml0gzaEfCGhneffJ5aXsRkloNCulNtpbfBghph2UF3uPmkiW
vcaAKC2/xLUFAfR1dvm62zE7/IBq9qd51Xh96GpA6HfraZuFNOJyWdYqxq+IprzL
M3DNLYFdC9AekOQ/ufmPMvq7CU+5/3ZA3vNA5NbvwgaOf9Oc6fnshsykYm+tnIjv
/yWdFn05k4zQ/b/co8UNzm3m3YaScy/O5/8N5d5KzkIt/iWAezBmNh7BBsY6A/7a
NTYJdTD3Rc5TsOiMV9gQuoaTIeo2nGRQJmmxWM5IS1jjTt0ywM/6+lhu1kcm8Rgs
rNuXMzVjGRCqf2iN0VETWub2mgUqCA==
=m6aC
-----END PGP SIGNATURE-----

View File

@ -1,60 +0,0 @@
From 581011a3d2bb7d2c6f74e4f4dea9f8c12e7cc382 Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel@haxx.se>
Date: Sun, 6 Aug 2017 21:33:25 +0200
Subject: [PATCH] test1427: verify command line parser integer overflow
detection
---
tests/data/Makefile.inc | 2 +-
tests/data/test1427 | 29 +++++++++++++++++++++++++++++
2 files changed, 30 insertions(+), 1 deletion(-)
create mode 100644 tests/data/test1427
diff --git a/tests/data/Makefile.inc b/tests/data/Makefile.inc
index 59f692e8f4..1c637f8f0e 100644
--- a/tests/data/Makefile.inc
+++ b/tests/data/Makefile.inc
@@ -151,7 +151,7 @@ test1396 test1397 test1398 test1399 \
test1400 test1401 test1402 test1403 test1404 test1405 test1406 test1407 \
test1408 test1409 test1410 test1411 test1412 test1413 test1414 test1415 \
test1416 test1417 test1418 test1419 test1420 test1421 test1422 test1423 \
-test1424 test1425 test1426 \
+test1424 test1425 test1426 test1427 \
test1428 test1429 test1430 test1431 test1432 test1433 test1434 test1435 \
test1436 test1437 test1438 test1439 test1440 test1441 test1442 test1443 \
test1444 test1445 test1446 test1450 test1451 \
diff --git a/tests/data/test1427 b/tests/data/test1427
new file mode 100644
index 0000000000..03cab4b93b
--- /dev/null
+++ b/tests/data/test1427
@@ -0,0 +1,29 @@
+<testcase>
+<info>
+<keywords>
+integer overflow
+</keywords>
+</info>
+
+#
+# Client-side
+<client>
+<server>
+none
+</server>
+ <name>
+too large -m timeout value
+ </name>
+ <command>
+http://%HOSTIP:%HTTPPORT/1427 -m 184467440737095510
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<errorcode>
+2
+</errorcode>
+</verify>
+</testcase>

View File

@ -1,34 +0,0 @@
From 74dac344b2feb2e0f4baddb70532dc8e45d2d817 Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
Date: Fri, 18 Aug 2017 10:43:02 +0200
Subject: [PATCH] http: Don't wait on CONNECT when there is no proxy
Since curl 7.55.0, NetworkManager almost always failed its connectivity
check by timeout. I bisected this to 5113ad04 (http-proxy: do the HTTP
CONNECT process entirely non-blocking).
This patch replaces !Curl_connect_complete with Curl_connect_ongoing,
which returns false if the CONNECT state was left uninitialized and lets
the connection continue.
Closes #1803
Fixes #1804
Also-fixed-by: Gergely Nagy
---
lib/http.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/http.c b/lib/http.c
index 35c7c3d43f..3e33132783 100644
--- a/lib/http.c
+++ b/lib/http.c
@@ -1371,7 +1371,7 @@ CURLcode Curl_http_connect(struct connectdata *conn, bool *done)
if(CONNECT_FIRSTSOCKET_PROXY_SSL())
return CURLE_OK; /* wait for HTTPS proxy SSL initialization to complete */
- if(!Curl_connect_complete(conn))
+ if(Curl_connect_ongoing(conn))
/* nothing else to do except wait right now - we're not done here. */
return CURLE_OK;

View File

@ -1,31 +0,0 @@
From f864bd8c880d5a916379aa4f26f1c45fe370b282 Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel@haxx.se>
Date: Wed, 9 Aug 2017 10:28:06 +0200
Subject: [PATCH] build: fix 'make install' with configure, install
docs/libcurl/* too
Broken since d24838d4da9faa
Reported-by: Bernard Spil
---
Makefile.am | 2 ++
1 file changed, 2 insertions(+)
Index: curl-7.55.0/Makefile.am
===================================================================
--- curl-7.55.0.orig/Makefile.am
+++ curl-7.55.0/Makefile.am
@@ -276,11 +276,13 @@ cygwinbin:
install-data-hook:
cd include && $(MAKE) install
cd docs && $(MAKE) install
+ cd docs/libcurl && $(MAKE) install
# We extend the standard uninstall with a custom hook:
uninstall-hook:
cd include && $(MAKE) uninstall
cd docs && $(MAKE) uninstall
+ cd docs/libcurl && $(MAKE) uninstall
ca-bundle: lib/mk-ca-bundle.pl
@echo "generating a fresh ca-bundle.crt"

View File

@ -1,3 +1,101 @@
-------------------------------------------------------------------
Thu Oct 5 16:15:04 UTC 2017 - pmonrealgonzalez@suse.com
- Update to 7.56.0 [bsc#1061876, CVE-2017-1000254]
Changes:
* curl: enable compression for SCP/SFTP with --compressed-ssh
* libcurl: enable compression for SCP/SFTP with CURLOPT_SSH_COMPRESSION
* vtls: added dynamic changing SSL backend with curl_global_sslset()
* new MIME API, curl_mime_init() and friends
* openssl: initial SSLKEYLOGFILE implementation
Security fixes:
* CVE-2017-1000254 FTP PWD response parser out of bounds read
Bugfixes:
* FTP: zero terminate the entry path even on bad input
* examples/ftpuploadresume.c: use portable code
* runtests: match keywords case insensitively
* strtoofft: reduce integer overflow risks globally
* zsh.pl: produce a working completion script again
* cmake: remove dead code for CURL_DISABLE_RTMP
* progress: Track total times following redirects
* configure: fix --disable-threaded-resolver
* configure: fix clang version detection
* darwinssi: fix error: variable length array used
* configure: check for __builtin_available() availability
* http_proxy: fix build error for CURL_DOES_CONVERSIONS
* examples/ftpuploadresume: checksrc compliance
* ftp: fix CWD when doing multicwd then nocwd on same connection
* system.h: remove all CURL_SIZEOF_* defines
* http: Don't wait on CONNECT when there is no proxy
* system.h: check for __ppc__ as well
* http2_recv: return error better on fatal h2 errors
* tftp: fix memory leak on too long filename
* system.h: fix build for hppa
* cmake: enable picky compiler options with clang and gcc
* makefile.m32: add support for libidn2
* curl: shorten and clean up CA cert verification error message
* imap: support PREAUTH
* CURLOPT_USERPWD.3: see also CURLOPT_PROXYUSERPWD
* examples/threaded-ssl: mention that this is for openssl before 1.1
* tests: Make sure libtests & unittests call curl_global_cleanup()
* system.h: include sys/poll.h for AIX
* darwinssl: handle long strings in TLS certs
* strtooff: fix build for systems with long long but no strtoll
* asyn-thread: Improved cleanup after OOM situations
* curl.h: CURLSSLBACKEND_WOLFSSL used wrong value
* unit1301: fix error message on first test
* ossfuzz: moving towards the ideal integration
* http: fix a memory leakage in checkrtspprefix()
* examples/post-callback: stop returning one byte at a time
* schannel: return CURLE_SSL_CACERT on failed verification
* http-proxy: treat all 2xx as CONNECT success
* openssl: use OpenSSL's default ciphers by default
* runtests.pl: support attribute "nonewline" in part verify/upload
* configure: remove --enable-soname-bump and SONAME_BUMP
* vtls: fix WolfSSL 3.12 build problems
* http-proxy: when not doing CONNECT, that phase is done immediately
* configure: fix curl_off_t check's include order
* configure: use -Wno-varargs on clang 3.9[.X] debug builds
* rtsp: do not call fwrite() with NULL pointer FILE *
* mbedtls: enable CA path processing
* checksrc: verify more code style rules
* HTTP proxy: on connection re-use, still use the new remote port
* tests: add initial gssapi test using stub implementation
* rtsp: Segfault when using WRITEDATA
* docs: clarify the CURLOPT_INTERLEAVE* options behavior
* non-ascii: use iconv() with 'char **' argument
* server/getpart: provide dummy function to build conversion enabled
* conversions: fix several compiler warnings
* openssl: add missing includes
* schannel: Support partial send for when data is too large
* socks: fix incorrect port number in SOCKS4 error message
* curl: fix integer overflow in timeout options
* cookies: reject oversized cookies instead of truncating
* cookies: use lock when using CURLINFO_COOKIELIST
* curl: check fseek() return code and bail on error
* examples/post-callback: use long for CURLOPT_POSTFIELDSIZE
* openssl: only verify RSA private key if supported
* tests: make the imap server not verify user+password
* imap: quote atoms properly when escaping characters
* tests: fix a compiler warning in test 643
* file_range: avoid integer overflow when figuring out byte range
* reuse_conn: don't copy flags that are known to be equal
* http: fix adding custom empty headers to repeated requests
* docs: link CURLOPT_CONNECTTIMEOUT and CURLOPT_CONNECTTIMEOUT_MS
* connect: fix race condition with happy eyeballs timeout
* cookie: fix memory leak if path was set twice in header
* vtls: compare and clone ssl configs properly
* proxy: read the "no_proxy" variable only if necessary
- Refreshed patches:
* libcurl-ocloexec.patch
- Removed patches fixed upstream:
* curl-man3.patch
* ppc-build.patch
* curl-http-Don-t-wait-on-CONNECT-when-there-is-no-proxy.patch
* curl-disable-test1427-i586.patch
-------------------------------------------------------------------
Tue Aug 29 17:33:29 UTC 2017 - zaitor@opensuse.org

View File

@ -32,7 +32,7 @@
%endif
Name: curl-mini
Version: 7.55.0
Version: 7.56.0
Release: 0
Summary: A Tool for Transferring Data from URLs
License: curl
@ -45,14 +45,6 @@ Source4: https://daniel.haxx.se/mykey.asc#/curl.keyring
Patch0: libcurl-ocloexec.patch
Patch1: dont-mess-with-rpmoptflags.diff
Patch2: curl-secure-getenv.patch
# PATCH-FIX-OPENSUSE curl-disable-test1427-i586.patch - Disabled test1425 that fails in i586 architecture
Patch3: curl-disable-test1427-i586.patch
# PATCH-FIX-UPSTREAM curl-man3.patch - Fix to build libcurl man3 pages
Patch4: curl-man3.patch
# PATCH-FIX-UPSTREAM ppc-build.patch - Fix build for powerpc
Patch5: ppc-build.patch
# PATCH-FIX-UPSTREAM curl-http-Don-t-wait-on-CONNECT-when-there-is-no-proxy.patch -- Fix NetworkManagers connectivity test
Patch6: curl-http-Don-t-wait-on-CONNECT-when-there-is-no-proxy.patch
BuildRequires: libtool
BuildRequires: pkgconfig
%if !0%{?bootstrap}
@ -133,10 +125,6 @@ user interaction or any kind of interactivity.
%patch0
%patch1
%patch2
%patch3 -p1 -R
%patch4 -p1
%patch5 -p1
%patch6 -p1
%build
# curl complains if macro definition is contained in CFLAGS

View File

@ -1,3 +1,101 @@
-------------------------------------------------------------------
Thu Oct 5 16:15:04 UTC 2017 - pmonrealgonzalez@suse.com
- Update to 7.56.0 [bsc#1061876, CVE-2017-1000254]
Changes:
* curl: enable compression for SCP/SFTP with --compressed-ssh
* libcurl: enable compression for SCP/SFTP with CURLOPT_SSH_COMPRESSION
* vtls: added dynamic changing SSL backend with curl_global_sslset()
* new MIME API, curl_mime_init() and friends
* openssl: initial SSLKEYLOGFILE implementation
Security fixes:
* CVE-2017-1000254 FTP PWD response parser out of bounds read
Bugfixes:
* FTP: zero terminate the entry path even on bad input
* examples/ftpuploadresume.c: use portable code
* runtests: match keywords case insensitively
* strtoofft: reduce integer overflow risks globally
* zsh.pl: produce a working completion script again
* cmake: remove dead code for CURL_DISABLE_RTMP
* progress: Track total times following redirects
* configure: fix --disable-threaded-resolver
* configure: fix clang version detection
* darwinssi: fix error: variable length array used
* configure: check for __builtin_available() availability
* http_proxy: fix build error for CURL_DOES_CONVERSIONS
* examples/ftpuploadresume: checksrc compliance
* ftp: fix CWD when doing multicwd then nocwd on same connection
* system.h: remove all CURL_SIZEOF_* defines
* http: Don't wait on CONNECT when there is no proxy
* system.h: check for __ppc__ as well
* http2_recv: return error better on fatal h2 errors
* tftp: fix memory leak on too long filename
* system.h: fix build for hppa
* cmake: enable picky compiler options with clang and gcc
* makefile.m32: add support for libidn2
* curl: shorten and clean up CA cert verification error message
* imap: support PREAUTH
* CURLOPT_USERPWD.3: see also CURLOPT_PROXYUSERPWD
* examples/threaded-ssl: mention that this is for openssl before 1.1
* tests: Make sure libtests & unittests call curl_global_cleanup()
* system.h: include sys/poll.h for AIX
* darwinssl: handle long strings in TLS certs
* strtooff: fix build for systems with long long but no strtoll
* asyn-thread: Improved cleanup after OOM situations
* curl.h: CURLSSLBACKEND_WOLFSSL used wrong value
* unit1301: fix error message on first test
* ossfuzz: moving towards the ideal integration
* http: fix a memory leakage in checkrtspprefix()
* examples/post-callback: stop returning one byte at a time
* schannel: return CURLE_SSL_CACERT on failed verification
* http-proxy: treat all 2xx as CONNECT success
* openssl: use OpenSSL's default ciphers by default
* runtests.pl: support attribute "nonewline" in part verify/upload
* configure: remove --enable-soname-bump and SONAME_BUMP
* vtls: fix WolfSSL 3.12 build problems
* http-proxy: when not doing CONNECT, that phase is done immediately
* configure: fix curl_off_t check's include order
* configure: use -Wno-varargs on clang 3.9[.X] debug builds
* rtsp: do not call fwrite() with NULL pointer FILE *
* mbedtls: enable CA path processing
* checksrc: verify more code style rules
* HTTP proxy: on connection re-use, still use the new remote port
* tests: add initial gssapi test using stub implementation
* rtsp: Segfault when using WRITEDATA
* docs: clarify the CURLOPT_INTERLEAVE* options behavior
* non-ascii: use iconv() with 'char **' argument
* server/getpart: provide dummy function to build conversion enabled
* conversions: fix several compiler warnings
* openssl: add missing includes
* schannel: Support partial send for when data is too large
* socks: fix incorrect port number in SOCKS4 error message
* curl: fix integer overflow in timeout options
* cookies: reject oversized cookies instead of truncating
* cookies: use lock when using CURLINFO_COOKIELIST
* curl: check fseek() return code and bail on error
* examples/post-callback: use long for CURLOPT_POSTFIELDSIZE
* openssl: only verify RSA private key if supported
* tests: make the imap server not verify user+password
* imap: quote atoms properly when escaping characters
* tests: fix a compiler warning in test 643
* file_range: avoid integer overflow when figuring out byte range
* reuse_conn: don't copy flags that are known to be equal
* http: fix adding custom empty headers to repeated requests
* docs: link CURLOPT_CONNECTTIMEOUT and CURLOPT_CONNECTTIMEOUT_MS
* connect: fix race condition with happy eyeballs timeout
* cookie: fix memory leak if path was set twice in header
* vtls: compare and clone ssl configs properly
* proxy: read the "no_proxy" variable only if necessary
- Refreshed patches:
* libcurl-ocloexec.patch
- Removed patches fixed upstream:
* curl-man3.patch
* ppc-build.patch
* curl-http-Don-t-wait-on-CONNECT-when-there-is-no-proxy.patch
* curl-disable-test1427-i586.patch
-------------------------------------------------------------------
Tue Aug 29 17:33:29 UTC 2017 - zaitor@opensuse.org

View File

@ -30,7 +30,7 @@
%endif
Name: curl
Version: 7.55.0
Version: 7.56.0
Release: 0
Summary: A Tool for Transferring Data from URLs
License: curl
@ -43,14 +43,6 @@ Source4: https://daniel.haxx.se/mykey.asc#/curl.keyring
Patch0: libcurl-ocloexec.patch
Patch1: dont-mess-with-rpmoptflags.diff
Patch2: curl-secure-getenv.patch
# PATCH-FIX-OPENSUSE curl-disable-test1427-i586.patch - Disabled test1425 that fails in i586 architecture
Patch3: curl-disable-test1427-i586.patch
# PATCH-FIX-UPSTREAM curl-man3.patch - Fix to build libcurl man3 pages
Patch4: curl-man3.patch
# PATCH-FIX-UPSTREAM ppc-build.patch - Fix build for powerpc
Patch5: ppc-build.patch
# PATCH-FIX-UPSTREAM curl-http-Don-t-wait-on-CONNECT-when-there-is-no-proxy.patch -- Fix NetworkManagers connectivity test
Patch6: curl-http-Don-t-wait-on-CONNECT-when-there-is-no-proxy.patch
BuildRequires: libtool
BuildRequires: pkgconfig
%if !0%{?bootstrap}
@ -131,10 +123,6 @@ user interaction or any kind of interactivity.
%patch0
%patch1
%patch2
%patch3 -p1 -R
%patch4 -p1
%patch5 -p1
%patch6 -p1
%build
# curl complains if macro definition is contained in CFLAGS

View File

@ -11,7 +11,7 @@ Index: lib/file.c
===================================================================
--- lib/file.c.orig
+++ lib/file.c
@@ -242,7 +242,7 @@ static CURLcode file_connect(struct conn
@@ -248,7 +248,7 @@ static CURLcode file_connect(struct conn
return CURLE_URL_MALFORMAT;
}
@ -20,7 +20,7 @@ Index: lib/file.c
file->path = real_path;
#endif
file->freepath = real_path; /* free this when done */
@@ -338,7 +338,7 @@ static CURLcode file_upload(struct conne
@@ -343,7 +343,7 @@ static CURLcode file_upload(struct conne
else
mode = MODE_DEFAULT|O_TRUNC;
@ -29,28 +29,6 @@ Index: lib/file.c
if(fd < 0) {
failf(data, "Can't open %s for writing", file->path);
return CURLE_WRITE_ERROR;
Index: lib/formdata.c
===================================================================
--- lib/formdata.c.orig
+++ lib/formdata.c
@@ -1306,7 +1306,7 @@ CURLcode Curl_getformdata(struct Curl_ea
FILE *fileread;
fileread = !strcmp("-", file->contents)?
- stdin:fopen(file->contents, "rb"); /* binary read for win32 */
+ stdin:fopen(file->contents, "rbe"); /* binary read for win32 */
/*
* VMS: This only allows for stream files on VMS. Stream files are
@@ -1466,7 +1466,7 @@ static size_t readfromfile(struct Form *
else {
if(!form->fp) {
/* this file hasn't yet been opened */
- form->fp = fopen_read(form->data->line, "rb"); /* b is for binary */
+ form->fp = fopen_read(form->data->line, "rbe"); /* b is for binary */
if(!form->fp)
return (size_t)-1; /* failure */
}
Index: lib/hostip6.c
===================================================================
--- lib/hostip6.c.orig
@ -77,7 +55,7 @@ Index: lib/if2ip.c
===================================================================
--- lib/if2ip.c.orig
+++ lib/if2ip.c
@@ -223,7 +223,7 @@ if2ip_result_t Curl_if2ip(int af, unsign
@@ -225,7 +225,7 @@ if2ip_result_t Curl_if2ip(int af, unsign
if(len >= sizeof(req.ifr_name))
return IF2IP_NOT_FOUND;
@ -90,7 +68,7 @@ Index: lib/connect.c
===================================================================
--- lib/connect.c.orig
+++ lib/connect.c
@@ -1351,7 +1351,7 @@ CURLcode Curl_socket(struct connectdata
@@ -1355,7 +1355,7 @@ CURLcode Curl_socket(struct connectdata
(struct curl_sockaddr *)addr);
else
/* opensocket callback not set, so simply create the socket now */
@ -103,19 +81,11 @@ Index: configure.ac
===================================================================
--- configure.ac.orig
+++ configure.ac
@@ -185,6 +185,7 @@ AC_CANONICAL_HOST
@@ -182,6 +182,7 @@ AC_CANONICAL_HOST
dnl Get system canonical name
AC_DEFINE_UNQUOTED(OS, "${host}", [cpu-machine-OS])
+AC_USE_SYSTEM_EXTENSIONS
dnl Checks for programs.
dnl Our curl_off_t internal and external configure settings
@@ -197,6 +198,7 @@ dnl Our configure and build reentrant se
CURL_CONFIGURE_THREAD_SAFE
CURL_CONFIGURE_REENTRANT
+
dnl check for how to do large files
AC_SYS_LARGEFILE
dnl This defines _ALL_SOURCE for AIX

View File

@ -1,13 +0,0 @@
Index: curl-7.55.0/include/curl/system.h
===================================================================
--- curl-7.55.0.orig/include/curl/system.h
+++ curl-7.55.0/include/curl/system.h
@@ -401,7 +401,7 @@
#elif defined(__GNUC__)
# if !defined(__LP64__) && (defined(__ILP32__) || \
- defined(__i386__) || defined(__ppc__) || defined(__arm__) || \
+ defined(__i386__) || defined(__powerpc__) || defined(__arm__) || \
defined(__sparc__) || defined(__mips__) || defined(__sh__) || \
defined(__XTENSA__))
# define CURL_SIZEOF_LONG 4