Hi, 

I figured out the reason why the change in ssl.h was needed.

During the build a file called ssleay.def is created which has a list of all 
the functions that are to be exported in the dll which is getting created. The 
list of functions are obtained by parsing the header files and finding the list 
of prototyped functions, in our case even when the no-tlsext flag was given, 
since in ssl.h the 3 functions under suspicion were getting declared and as a 
result they were showing up in the def file even though they were not getting 
built, after the declaration of these functions was put under the 
OPENSSL_NO_TLSEXT macro check block, when the no-tlsext flag was defined, these 
functions ceased to exist and did not turn up in the .def file and as a result 
the linker did not throw an error. 

Can someone verify my findings.

Thanks & Regards
Ashish

-----Original Message-----
From: Kaila, Ashish 
Sent: Thursday, April 08, 2010 10:39 AM
To: '[email protected]'
Subject: FW: Problem building OpenSSL version 1.0.0 using no-tlsext flag in 
Win32

Hi,

I had initially posted this in the openssl users list and was adviced to move 
it to the dev list.

Hopefully someone might have some insights.

Thanks & Regards
Ashish

-----Original Message-----
From: Kaila, Ashish
Sent: Wednesday, April 07, 2010 5:00 PM
To: '[email protected]'
Subject: RE: Problem building OpenSSL version 1.0.0 using no-tlsext flag

 
Hi,

I made the following changes in ssl.h (have indicated the changes with a 
comment //added this)

#ifndef OPENSSL_NO_TLSEXT //added this
/* TLS extensions functions */
int SSL_set_session_ticket_ext(SSL *s, void *ext_data, int ext_len);

int SSL_set_session_ticket_ext_cb(SSL *s, tls_session_ticket_ext_cb_fn cb,
                                  void *arg);

/* Pre-shared secret session resumption functions */ int 
SSL_set_session_secret_cb(SSL *s, tls_session_secret_cb_fn 
tls_session_secret_cb, void *arg); #endif //added this

The build is now going through successfully.

Thanks & Regards
Ashish


-----Original Message-----
From: Kaila, Ashish
Sent: Wednesday, April 07, 2010 4:12 PM
To: '[email protected]'
Subject: Problem building OpenSSL version 1.0.0 using no-tlsext flag

Hi,

I took the source of Openssl 1.0.0 and tried building it after running

perl Configure no-idea no-rc5 no-mdc2 no-md2 no-krb5 no-tlsext VC-WIN32

The build fails with the following link errors.

SSLEAY32.def : error LNK2001: unresolved external symbol 
SSL_set_session_secret_cb SSLEAY32.def : error LNK2001: unresolved external 
symbol SSL_set_session_ticket_ext SSLEAY32.def : error LNK2001: unresolved 
external symbol SSL_set_session_ticket_ext_cb out32dll\ssleay32.lib : fatal 
error LNK1120: 3 unresolved externals NMAKE : fatal error U1077: '"C:\Program 
Files\Microsoft Visual Studio 8\VC\BIN\link.EXE"' : return code '0x460'

I am wondering as to why this is happening as we were earlier using Openssl 
0.9.8m and the build would always go through successfully with the no-tlsext 
flag. If I remove the no-tlsext flag from the above command and then try 
building, the build goes through successfully, is this an expected behaviour 
for Openssl 1.0.0

This is quite urgent, and any help would be appreciated.

Thanks & Regards
Ashish______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [email protected]
Automated List Manager                           [email protected]

Reply via email to