Skip Menu |

This queue is for tickets about the Net-SSLeay CPAN distribution.

Report information
The Basics
Id: 124371
Status: open
Priority: 0/
Queue: Net-SSLeay

People
Owner: Nobody in particular
Requestors: sludin [...] ludin.org
Cc: devurandom [...] gmx.net
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: Compiler warnings - openssl 1.1.0g
Building on OS X 10.13.3 with openssl 1.1.0g I am seeing a handful of deprecation and incompatible pointer errors: SSLeay.c:10064:11: warning: incompatible pointer to integer conversion passing 'void *' to parameter of type 'long' [-Wint-conversion] SSLeay.c:10083:11: warning: incompatible pointer to integer conversion passing 'void *' to parameter of type 'long' [-Wint-conversion] SSLeay.c:10102:11: warning: incompatible pointer to integer conversion passing 'void *' to parameter of type 'long' [-Wint-conversion] SSLeay.c:10121:11: warning: incompatible pointer to integer conversion passing 'void *' to parameter of type 'long' [-Wint-conversion] SSLeay.c:16734:27: warning: incompatible pointer types passing 'OCSP_RESPONSE *' (aka 'struct ocsp_response_st *') to parameter of type SSLeay.c:6724:11: warning: 'X509_CRL_get_lastUpdate' is deprecated [-Wdeprecated-declarations] SSLeay.c:6743:11: warning: 'X509_CRL_get_nextUpdate' is deprecated [-Wdeprecated-declarations] SSLeay.c:9755:11: warning: 'TLSv1_method' is deprecated [-Wdeprecated-declarations] SSLeay.c:9772:11: warning: 'TLSv1_server_method' is deprecated [-Wdeprecated-declarations] SSLeay.c:9789:11: warning: 'TLSv1_client_method' is deprecated [-Wdeprecated-declarations] SSLeay.c:9809:11: warning: 'TLSv1_1_method' is deprecated [-Wdeprecated-declarations] SSLeay.c:9826:11: warning: 'TLSv1_1_server_method' is deprecated [-Wdeprecated-declarations] SSLeay.c:9843:11: warning: 'TLSv1_1_client_method' is deprecated [-Wdeprecated-declarations] SSLeay.c:9864:11: warning: 'TLSv1_2_method' is deprecated [-Wdeprecated-declarations] SSLeay.c:9881:11: warning: 'TLSv1_2_server_method' is deprecated [-Wdeprecated-declarations] SSLeay.c:9898:11: warning: 'TLSv1_2_client_method' is deprecated [-Wdeprecated-declarations] SSLeay.xs:2285:28: warning: 'TLSv1_method' is deprecated [-Wdeprecated-declarations] SSLeay.xs:2294:28: warning: 'TLSv1_1_method' is deprecated [-Wdeprecated-declarations] SSLeay.xs:2305:28: warning: 'TLSv1_2_method' is deprecated [-Wdeprecated-declarations] SSLeay.xs:3184:14: warning: 'RAND_pseudo_bytes' is deprecated [-Wdeprecated-declarations] SSLeay.xs:3887:64: warning: 'ASN1_STRING_data' is deprecated [-Wdeprecated-declarations] SSLeay.xs:3896:64: warning: 'ASN1_STRING_data' is deprecated [-Wdeprecated-declarations] SSLeay.xs:3947:58: warning: 'ASN1_STRING_data' is deprecated [-Wdeprecated-declarations] SSLeay.xs:3989:14: warning: 'ASN1_STRING_data' is deprecated [-Wdeprecated-declarations] SSLeay.xs:4306:35: warning: 'ASN1_STRING_data' is deprecated [-Wdeprecated-declarations] SSLeay.xs:5920:18: warning: 'RSA_generate_key' is deprecated [-Wdeprecated-declarations] Before I try and fix any of these I figured I'd check and see if anyone else has approached these (or that the error is all on my side). I am also not sure if fixing the deprecations will cause backward compatibility issues. gcc version: Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 Apple LLVM version 9.0.0 (clang-900.0.39.2) Target: x86_64-apple-darwin17.4.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
Subject: Re: [rt.cpan.org #124371] Compiler warnings - openssl 1.1.0g
Date: Sat, 10 Feb 2018 13:50:27 +1000
To: bug-Net-SSLeay [...] rt.cpan.org
From: Mike McCauley <mikem [...] airspayce.com>
Curious, I dont see any of these warnings on Ubuntu 17.10 or on OSX 10.12 The incompatible pointer warnings are significant. Its not easy to tell where they are occurring, since my line numbers in the .c file appear to be different to yours. The others I would ignore. Cheers. On Friday, 9 February 2018 14:46:04 AEST Stephen Ludin via RT wrote: Show quoted text
> Thu Feb 08 23:46:02 2018: Request 124371 was acted upon. > Transaction: Ticket created by SLUDIN > Queue: Net-SSLeay > Subject: Compiler warnings - openssl 1.1.0g > Broken in: (no value) > Severity: (no value) > Owner: Nobody > Requestors: sludin@ludin.org > Status: new > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=124371 > > > > Building on OS X 10.13.3 with openssl 1.1.0g > > I am seeing a handful of deprecation and incompatible pointer errors: > > SSLeay.c:10064:11: warning: incompatible pointer to integer conversion > passing 'void *' to parameter of type 'long' [-Wint-conversion] > SSLeay.c:10083:11: warning: incompatible pointer to integer conversion > passing 'void *' to parameter of type 'long' [-Wint-conversion] > SSLeay.c:10102:11: warning: incompatible pointer to integer conversion > passing 'void *' to parameter of type 'long' [-Wint-conversion] > SSLeay.c:10121:11: warning: incompatible pointer to integer conversion > passing 'void *' to parameter of type 'long' [-Wint-conversion] > SSLeay.c:16734:27: warning: incompatible pointer types passing > 'OCSP_RESPONSE *' (aka 'struct ocsp_response_st *') to parameter of type > SSLeay.c:6724:11: warning: 'X509_CRL_get_lastUpdate' is deprecated > [-Wdeprecated-declarations] SSLeay.c:6743:11: warning: > 'X509_CRL_get_nextUpdate' is deprecated [-Wdeprecated-declarations] > SSLeay.c:9755:11: warning: 'TLSv1_method' is deprecated > [-Wdeprecated-declarations] SSLeay.c:9772:11: warning: > 'TLSv1_server_method' is deprecated [-Wdeprecated-declarations] > SSLeay.c:9789:11: warning: 'TLSv1_client_method' is deprecated > [-Wdeprecated-declarations] SSLeay.c:9809:11: warning: 'TLSv1_1_method' is > deprecated [-Wdeprecated-declarations] SSLeay.c:9826:11: warning: > 'TLSv1_1_server_method' is deprecated [-Wdeprecated-declarations] > SSLeay.c:9843:11: warning: 'TLSv1_1_client_method' is deprecated > [-Wdeprecated-declarations] SSLeay.c:9864:11: warning: 'TLSv1_2_method' is > deprecated [-Wdeprecated-declarations] SSLeay.c:9881:11: warning: > 'TLSv1_2_server_method' is deprecated [-Wdeprecated-declarations] > SSLeay.c:9898:11: warning: 'TLSv1_2_client_method' is deprecated > [-Wdeprecated-declarations] SSLeay.xs:2285:28: warning: 'TLSv1_method' is > deprecated [-Wdeprecated-declarations] SSLeay.xs:2294:28: warning: > 'TLSv1_1_method' is deprecated [-Wdeprecated-declarations] > SSLeay.xs:2305:28: warning: 'TLSv1_2_method' is deprecated > [-Wdeprecated-declarations] SSLeay.xs:3184:14: warning: 'RAND_pseudo_bytes' > is deprecated [-Wdeprecated-declarations] SSLeay.xs:3887:64: warning: > 'ASN1_STRING_data' is deprecated [-Wdeprecated-declarations] > SSLeay.xs:3896:64: warning: 'ASN1_STRING_data' is deprecated > [-Wdeprecated-declarations] SSLeay.xs:3947:58: warning: 'ASN1_STRING_data' > is deprecated [-Wdeprecated-declarations] SSLeay.xs:3989:14: warning: > 'ASN1_STRING_data' is deprecated [-Wdeprecated-declarations] > SSLeay.xs:4306:35: warning: 'ASN1_STRING_data' is deprecated > [-Wdeprecated-declarations] SSLeay.xs:5920:18: warning: 'RSA_generate_key' > is deprecated [-Wdeprecated-declarations] > > Before I try and fix any of these I figured I'd check and see if anyone else > has approached these (or that the error is all on my side). I am also not > sure if fixing the deprecations will cause backward compatibility issues. > > gcc version: > > Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr > --with-gxx-include-dir=/usr/include/c++/4.2.1 Apple LLVM version 9.0.0 > (clang-900.0.39.2) > Target: x86_64-apple-darwin17.4.0 > Thread model: posix > InstalledDir: > /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolch > ain/usr/bin
-- Mike McCauley VK4AMM mikem@airspayce.com Airspayce Pty Ltd 9 Bulbul Place Currumbin Waters QLD 4223 Australia http://www.airspayce.com Phone +61 7 5598-7474
I'll try a few variations and see if I can reliably reproduce and get back. On Fri Feb 09 23:15:52 2018, mikem@airspayce.com wrote: Show quoted text
> Curious, I dont see any of these warnings on Ubuntu 17.10 or on OSX > 10.12 > The incompatible pointer warnings are significant. Its not easy to > tell where > they are occurring, since my line numbers in the .c file appear to be > different > to yours. > > The others I would ignore. > > Cheers. > > > On Friday, 9 February 2018 14:46:04 AEST Stephen Ludin via RT wrote:
> > Thu Feb 08 23:46:02 2018: Request 124371 was acted upon. > > Transaction: Ticket created by SLUDIN > > Queue: Net-SSLeay > > Subject: Compiler warnings - openssl 1.1.0g > > Broken in: (no value) > > Severity: (no value) > > Owner: Nobody > > Requestors: sludin@ludin.org > > Status: new > > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=124371 > > > > > > > Building on OS X 10.13.3 with openssl 1.1.0g > > > > I am seeing a handful of deprecation and incompatible pointer errors: > > > > SSLeay.c:10064:11: warning: incompatible pointer to integer > > conversion > > passing 'void *' to parameter of type 'long' [-Wint-conversion] > > SSLeay.c:10083:11: warning: incompatible pointer to integer > > conversion > > passing 'void *' to parameter of type 'long' [-Wint-conversion] > > SSLeay.c:10102:11: warning: incompatible pointer to integer > > conversion > > passing 'void *' to parameter of type 'long' [-Wint-conversion] > > SSLeay.c:10121:11: warning: incompatible pointer to integer > > conversion > > passing 'void *' to parameter of type 'long' [-Wint-conversion] > > SSLeay.c:16734:27: warning: incompatible pointer types passing > > 'OCSP_RESPONSE *' (aka 'struct ocsp_response_st *') to parameter of > > type > > SSLeay.c:6724:11: warning: 'X509_CRL_get_lastUpdate' is deprecated > > [-Wdeprecated-declarations] SSLeay.c:6743:11: warning: > > 'X509_CRL_get_nextUpdate' is deprecated [-Wdeprecated-declarations] > > SSLeay.c:9755:11: warning: 'TLSv1_method' is deprecated > > [-Wdeprecated-declarations] SSLeay.c:9772:11: warning: > > 'TLSv1_server_method' is deprecated [-Wdeprecated-declarations] > > SSLeay.c:9789:11: warning: 'TLSv1_client_method' is deprecated > > [-Wdeprecated-declarations] SSLeay.c:9809:11: warning: > > 'TLSv1_1_method' is > > deprecated [-Wdeprecated-declarations] SSLeay.c:9826:11: warning: > > 'TLSv1_1_server_method' is deprecated [-Wdeprecated-declarations] > > SSLeay.c:9843:11: warning: 'TLSv1_1_client_method' is deprecated > > [-Wdeprecated-declarations] SSLeay.c:9864:11: warning: > > 'TLSv1_2_method' is > > deprecated [-Wdeprecated-declarations] SSLeay.c:9881:11: warning: > > 'TLSv1_2_server_method' is deprecated [-Wdeprecated-declarations] > > SSLeay.c:9898:11: warning: 'TLSv1_2_client_method' is deprecated > > [-Wdeprecated-declarations] SSLeay.xs:2285:28: warning: > > 'TLSv1_method' is > > deprecated [-Wdeprecated-declarations] SSLeay.xs:2294:28: warning: > > 'TLSv1_1_method' is deprecated [-Wdeprecated-declarations] > > SSLeay.xs:2305:28: warning: 'TLSv1_2_method' is deprecated > > [-Wdeprecated-declarations] SSLeay.xs:3184:14: warning: > > 'RAND_pseudo_bytes' > > is deprecated [-Wdeprecated-declarations] SSLeay.xs:3887:64: warning: > > 'ASN1_STRING_data' is deprecated [-Wdeprecated-declarations] > > SSLeay.xs:3896:64: warning: 'ASN1_STRING_data' is deprecated > > [-Wdeprecated-declarations] SSLeay.xs:3947:58: warning: > > 'ASN1_STRING_data' > > is deprecated [-Wdeprecated-declarations] SSLeay.xs:3989:14: warning: > > 'ASN1_STRING_data' is deprecated [-Wdeprecated-declarations] > > SSLeay.xs:4306:35: warning: 'ASN1_STRING_data' is deprecated > > [-Wdeprecated-declarations] SSLeay.xs:5920:18: warning: > > 'RSA_generate_key' > > is deprecated [-Wdeprecated-declarations] > > > > Before I try and fix any of these I figured I'd check and see if > > anyone else > > has approached these (or that the error is all on my side). I am > > also not > > sure if fixing the deprecations will cause backward compatibility > > issues. > > > > gcc version: > > > > Configured with: > > --prefix=/Applications/Xcode.app/Contents/Developer/usr > > --with-gxx-include-dir=/usr/include/c++/4.2.1 Apple LLVM version > > 9.0.0 > > (clang-900.0.39.2) > > Target: x86_64-apple-darwin17.4.0 > > Thread model: posix > > InstalledDir: > > /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolch > > ain/usr/bin
This will also affect Gentoo, which builds OpenSSL 1.1.0g without deprecated functionality. I just ran into this problem when testing said version and captured a build log.
Subject: build.log

Message body is not shown because it is too large.

On Thu Feb 08 23:46:02 2018, SLUDIN wrote: Show quoted text
> Building on OS X 10.13.3 with openssl 1.1.0g > > I am seeing a handful of deprecation and incompatible pointer errors: > > SSLeay.c:10064:11: warning: incompatible pointer to integer conversion > passing 'void *' to parameter of type 'long' [-Wint-conversion]
This was a problem in OpenSSL headers and it was fixed in 1.1.0h. The warning no longer exists. Show quoted text
> 'OCSP_RESPONSE *' (aka 'struct ocsp_response_st *') to parameter of > type
This warning no longer exists when compiling against the current OpenSSL master branch. I would not change anything in SSLeay.xs because the code in question just converts its argument in one format to another and does not change anything. Adding a cast to silence it in 1.1.x would work but I think it's unnecessary. Show quoted text
> SSLeay.c:6724:11: warning: 'X509_CRL_get_lastUpdate' is deprecated [- > Wdeprecated-declarations] > SSLeay.c:6743:11: warning: 'X509_CRL_get_nextUpdate' is deprecated [- > Wdeprecated-declarations]
For these two, X509_CRL_get0_lastUpdate and X509_CRL_get0_nextUpdate seem to be the functions that should be used. I think they way to deal with this is to expose get0 functions and implement plain get versions with get0 when available. Show quoted text
> SSLeay.c:9755:11: warning: 'TLSv1_method' is deprecated [-Wdeprecated- > declarations]
The various *_method* calls likely need to remain as they are because they are still widely used. I think what can be done is to mark them as obsoleted in SSLeay.pod. Show quoted text
> SSLeay.xs:3184:14: warning: 'RAND_pseudo_bytes' is deprecated [- > Wdeprecated-declarations]
I'd say the same applies to this as for the *_method* calls. Keep it for now, but document it as obsolete. Show quoted text
> SSLeay.xs:3887:64: warning: 'ASN1_STRING_data' is deprecated [- > Wdeprecated-declarations]
Looks like ASN1_STRING_get0_data() is the replacement, similar to *get0_*Update above. It also seems that ASN1_STRING_data is not exposed by SSLeay.xs, so it can be handled within SSLeay.xs itself. Show quoted text
> SSLeay.xs:5920:18: warning: 'RSA_generate_key' is deprecated [- > Wdeprecated-declarations]
This was already fixed in 1.86_07 and is no longer an issue. Show quoted text
> Before I try and fix any of these I figured I'd check and see if > anyone else has approached these (or that the error is all on my > side). I am also not sure if fixing the deprecations will cause > backward compatibility issues.
If you'd still like to work on some or all of the above, please see https://github.com/radiator-software/p5-net-ssleay for the repository. Thanks, -- Heikki Vatiainen hvn@open.com.au