1

I am getting this error message when trying to compile "gloox" library on Fedora14 machine.

tlsopensslserver.cpp:248:8: warning: unused parameter âis_exportâ
tlsopensslserver.cpp: In member function âvirtual bool gloox::OpenSSLServer::privateInit()â:
tlsopensslserver.cpp:257:5: error: âEC_KEY_new_by_curve_nameâ was not declared in this scope
make[3]: *** [tlsopensslserver.lo] Error 1
make[3]: Leaving directory `/root/Documents/RMSAgent/gloox-1.0/src'

Same code is sucessfully compiled on Ubuntu machine.

openssl-devel package is available on Fedora machine.

Please help me to fix this issue.

4
  • Can you please post the code for tlsopensslserver.cpp from line 240 to line 260? Commented Feb 5, 2013 at 18:12
  • @ArunSaha gloox is opensource library: Commented Feb 5, 2013 at 18:54
  • Hmm... so you want the contributors to go find that file from the Internet and guess the version that is referred to here? Commented Feb 5, 2013 at 19:09
  • @ArunSaha gloox is opensource library: Code is default: return 0; break; } } RSA* tmp_rsa_callback( SSL* /*s*/, int is_export, int keylength ) { return RSA_generate_key( keylength, RSA_F4, 0, 0 ); } bool OpenSSLServer::privateInit() { SSL_CTX_set_tmp_rsa_callback( m_ctx, tmp_rsa_callback ); SSL_CTX_set_tmp_dh_callback( m_ctx, tmp_dh_callback ); SSL_CTX_set_tmp_ecdh( m_ctx, EC_KEY_new_by_curve_name( NID_sect163r2 ) ); SSL_CTX_set_options( m_ctx, SSL_OP_CIPHER_SERVER_PREFERENCE ); return true; } Commented Feb 5, 2013 at 20:11

1 Answer 1

1

This code in gloox requires a version of OpenSSL which supports Elliptic Curve Cryptography (ECC). Fedora/Redhat ship a version of OpenSSL compiled without ECC support due to intellectual property concerns. Gloox should wrap ECC related code in

#ifndef OPENSSL_NO_EC
// ECC related OpenSSL calls
#endif

using OpenSSL's preprocessor defines, or use autoconf to detect ECC support in OpenSSL and use autoconfigured conditionals to support OpenSSL with ECC disabled.

Alternatively, you can build your own OpenSSL with ECC enabled and build gloox against that.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.