Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 592490

Summary: net-analyzer/nmap with >=dev-libs/openssl-1.1.0 - nse_openssl.cc: In function ‘int luaopen_openssl(lua_State*)’: nse_openssl.cc:686:30: error: ‘OpenSSL_add_all_algorithms’ was not declared in this scope
Product: Gentoo Linux Reporter: Lars Wendler (Polynomial-C) <polynomial-c>
Component: Current packagesAssignee: Netmon Herd <netmon>
Status: RESOLVED FIXED    
Severity: normal CC: gentoo
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
URL: https://nmap.org/changelog.html
See Also: https://github.com/nmap/nmap/issues/439
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 592438, 669514    
Attachments: build.log
nmap-9999_build.log
0001-Support-openssl-1.1.0-without-compatibility-mode.patch

Description Lars Wendler (Polynomial-C) gentoo-dev 2016-08-30 21:54:37 UTC
Created attachment 444498 [details]
build.log

x86_64-pc-linux-gnu-g++ -c -I./liblua -I./libdnet-stripped/include  -I./nbase -I
./nsock/include -DHAVE_CONFIG_H -DNMAP_NAME=\"Nmap\" -DNMAP_URL=\"https://nmap.o
rg\" -DNMAP_PLATFORM=\"x86_64-pc-linux-gnu\" -DNMAPDATADIR=\"/usr/share/nmap\"
-march=native -mtune=native -O2 -pipe -Wall -fno-strict-aliasing   nse_openssl.c
c -o nse_openssl.o
nse_openssl.cc: In function ‘int l_rand_pseudo_bytes(lua_State*)’:
nse_openssl.cc:228:34: error: ‘RAND_pseudo_bytes’ was not declared in this scope
   RAND_pseudo_bytes( result, len );
                                  ^
nse_openssl.cc: In function ‘int l_digest(lua_State*)’:
nse_openssl.cc:282:14: error: aggregate ‘EVP_MD_CTX mdctx’ has incomplete type a
nd cannot be defined
   EVP_MD_CTX mdctx;
              ^
nse_openssl.cc:293:32: error: ‘EVP_MD_CTX_cleanup’ was not declared in this scop
e
     EVP_MD_CTX_cleanup( &mdctx );
                                ^
nse_openssl.cc:298:30: error: ‘EVP_MD_CTX_cleanup’ was not declared in this scop
e
   EVP_MD_CTX_cleanup( &mdctx );
                              ^
nse_openssl.cc: In function ‘int l_encrypt(lua_State*)’:
nse_openssl.cc:374:18: error: aggregate ‘EVP_CIPHER_CTX cipher_ctx’ has incomple
te type and cannot be defined
   EVP_CIPHER_CTX cipher_ctx;
                  ^
nse_openssl.cc:375:36: error: ‘EVP_CIPHER_CTX_init’ was not declared in this sco
pe
   EVP_CIPHER_CTX_init( &cipher_ctx );
                                    ^
nse_openssl.cc:401:41: error: ‘EVP_CIPHER_CTX_cleanup’ was not declared in this
scope
     EVP_CIPHER_CTX_cleanup( &cipher_ctx );
                                         ^
nse_openssl.cc:410:39: error: ‘EVP_CIPHER_CTX_cleanup’ was not declared in this
scope
   EVP_CIPHER_CTX_cleanup( &cipher_ctx );
                                       ^
nse_openssl.cc: In function ‘int l_decrypt(lua_State*)’:
nse_openssl.cc:430:18: error: aggregate ‘EVP_CIPHER_CTX cipher_ctx’ has incomplete type and cannot be defined
   EVP_CIPHER_CTX cipher_ctx;
                  ^
nse_openssl.cc:431:36: error: ‘EVP_CIPHER_CTX_init’ was not declared in this scope
   EVP_CIPHER_CTX_init( &cipher_ctx );
                                    ^
nse_openssl.cc:455:41: error: ‘EVP_CIPHER_CTX_cleanup’ was not declared in this scope
     EVP_CIPHER_CTX_cleanup( &cipher_ctx );
                                         ^
nse_openssl.cc:464:39: error: ‘EVP_CIPHER_CTX_cleanup’ was not declared in this scope
   EVP_CIPHER_CTX_cleanup( &cipher_ctx );
                                       ^
nse_openssl.cc: In function ‘int luaopen_openssl(lua_State*)’:
nse_openssl.cc:574:30: error: ‘OpenSSL_add_all_algorithms’ was not declared in this scope
   OpenSSL_add_all_algorithms();
                              ^
nse_openssl.cc:575:27: error: ‘ERR_load_crypto_strings’ was not declared in this scope
   ERR_load_crypto_strings();
                           ^
make: *** [Makefile:109: nse_openssl.o] Error 1
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2016-08-31 04:57:34 UTC
Already fixed upstream.
Comment 2 Jeroen Roovers (RETIRED) gentoo-dev 2016-08-31 05:09:25 UTC
I am fixing the live ebuild now so you can test for that. I'll report here when the changes are in.
Comment 3 Jeroen Roovers (RETIRED) gentoo-dev 2016-08-31 05:23:49 UTC
net-analyzer/nmap-9999 should be good now.
Comment 4 Lars Wendler (Polynomial-C) gentoo-dev 2016-08-31 06:59:51 UTC
Reopening as live ebuild still fails.
Comment 5 Lars Wendler (Polynomial-C) gentoo-dev 2016-08-31 07:44:06 UTC
Created attachment 444536 [details]
nmap-9999_build.log
Comment 6 eroen 2017-01-05 15:06:30 UTC
Created attachment 458838 [details, diff]
0001-Support-openssl-1.1.0-without-compatibility-mode.patch

I have submitted this patch upstream. It can be applied to nmap-7.40.

https://github.com/nmap/nmap/pull/630
Comment 7 Lars Wendler (Polynomial-C) gentoo-dev 2017-04-05 15:49:56 UTC
nmap-7.40-r1 still fails:

x86_64-pc-linux-gnu-g++ -c -I./liblua -I./libdnet-stripped/include  -I./nbase -I./nsock/include -DHAVE_CONFIG_H -DNMAP_NAME=\"Nmap\" -DNMAP_URL=\"https://nmap.org\" -DNMAP_PLATFORM=\"x86_64-pc-linux-gnu\" -DNMAPDATADIR=\"/usr/share/nmap\"  -march=native -mtune=native -O2 -pipe -Wall -fno-strict-aliasing   nse_openssl.cc -o nse_openssl.o
nse_openssl.cc: In function ‘int luaopen_openssl(lua_State*)’:
nse_openssl.cc:605:30: error: ‘OpenSSL_add_all_algorithms’ was not declared in this scope
   OpenSSL_add_all_algorithms();


Please note that installed openssl-1.1 has been compiled with all deprecated
features being removed (--api=1.1.0)!
Comment 8 tonemgub 2017-06-04 01:15:23 UTC
(In reply to Lars Wendler (Polynomial-C) from comment #7)
> nmap-7.40-r1 still fails:
> 

Confirming, I was unable to get nmap to compile with openssl-1.1.0f
Comment 9 Lars Wendler (Polynomial-C) gentoo-dev 2018-09-29 17:10:23 UTC
Since we decided to no longer build openssl without deprecated features, this bug can now be considered as fixed (but will eventually reappear once openssl upstream finally removed deprecated features from their code).