Page 2 of 3

Re: Tip Client = Harbour / MSVC 2015 Error

PostPosted: Fri Apr 22, 2016 11:12 pm
by Antonio Linares
Tim,

In my tests the use of hbssl.lib is a must, to use hbtipssl.lib

Re: Tip Client = Harbour / MSVC 2015 Error

PostPosted: Fri Apr 22, 2016 11:13 pm
by Antonio Linares
See how this DATA of Class TIPClient (client.prg) gets initialized:

VAR lHasSSL INIT tip_SSL()

function tip_SSL() is in hbssl.lib

Re: Tip Client = Harbour / MSVC 2015 Error

PostPosted: Fri Apr 22, 2016 11:27 pm
by TimStone
I sent you an email with two functions in it for testing.

Re: Tip Client = Harbour / MSVC 2015 Error

PostPosted: Fri Apr 22, 2016 11:31 pm
by Antonio Linares
I have not received it yet

Re: Tip Client = Harbour / MSVC 2015 Error

PostPosted: Mon Apr 25, 2016 4:28 pm
by rhlawek
This actually changed some time ago in harbour, hbtipssl doesn't exist any longer, that functionality was put into hbtip per this change log:

https://groups.google.com/forum/#!searc ... vsTKJi_akJ

Add "REQUEST __HBEXTERN__HBSSL__"

Re: Tip Client = Harbour / MSVC 2015 Error

PostPosted: Mon Apr 25, 2016 6:35 pm
by TimStone
So I'm going off the deep end with confusion. Perhaps its because of the very brief responses I received from Harbour.

The problem is simple. This has ALWAYS worked with xHarbour, and Harbour when it was built with MSVC 12.0. Now it is failing with the libraries used with MSVC 14.0, which is what all FWH libraries are built with now ( Visual Studio Community 2015 ).

According to the last post, I only need to link in hbtip.lib and hbssl.lib. Fine ... but then I get the original error that I posted at the beginning of this thread. I was also told to link in libeay32.lib and ssleay32.lib. I've always included those.

My confusion comes with the REQUEST now being suggested ( it comes up as an undefined function ) and also the various references to OPENSSL. From one set of comments, I was told to download and install it. That is not something I have used in any of the other builds.

I apologize for appearing ignorant here, and perhaps the years have taken their toll, but the answers I get are so fragmented that I can't seem to make them apply and work. All I want is to get the functionality back that I have had for years.

Does anyone have an actual working sample using FWH, Harbour, and MSVC 14.0 ( 2015 ) ? Thank you.

Re: Tip Client = Harbour / MSVC 2015 Error

PostPosted: Mon Apr 25, 2016 8:54 pm
by Antonio Linares
Please modify your example this way:

#include "FiveWin.ch"


FUNCTION Main

local dummy := SSL_Init()
Local oHttp:=TIpClientHttp():new("https://www.testsource.com/1", .F. )
Local cXml := '<request>'+hB_osnewline()+;
' <newdata>' + "" + ;
' </request>'+hB_osnewline()
Local cRet
LOCAL oXmlDoc := TXmlDocument():new( )
LOCAL oXmlNode, oXmlRecScan, oXmlFieldScan
local iDLL := LoadLibrary( "wininet.dll" )

IF .NOT. oHttp:open()
MsgAlert( "Connection error:", oHttp:lastErrorMessage( ) )
RETURN
ENDIF

oHttp:Post( cXml)
cRet := oHttp:readAll( )
oHttp:close()

RETURN NIL

Re: Tip Client = Harbour / MSVC 2015 Error

PostPosted: Mon Apr 25, 2016 9:07 pm
by TimStone
hbssl.lib(sslctx.obj) : error LNK2019: unresolved external symbol _hb_SSL_SESSION_is referenced in function _HB_FUN_SSL_CTX_ADD_SESSION
hbssl.lib(sslctx.obj) : error LNK2019: unresolved external symbol _hb_SSL_SESSION_par referenced in function _HB_FUN_SSL_CTX_ADD_SESSION
hbssl.lib(evpmd.obj) : error LNK2019: unresolved external symbol _EVP_mdc2 referenced in function _hb_EVP_MD_par
hbssl.lib(evpciph.obj) : error LNK2019: unresolved external symbol _EVP_aes_128_gcm referenced in function _hb_EVP_CIPHER_par
hbssl.lib(evpciph.obj) : error LNK2019: unresolved external symbol _EVP_aes_192_gcm referenced in function _hb_EVP_CIPHER_par
hbssl.lib(evpciph.obj) : error LNK2019: unresolved external symbol _EVP_aes_256_gcm referenced in function _hb_EVP_CIPHER_par
hbssl.lib(evpciph.obj) : error LNK2019: unresolved external symbol _EVP_camellia_128_ecb referenced in function _hb_EVP_CIPHER_par
hbssl.lib(evpciph.obj) : error LNK2019: unresolved external symbol _EVP_camellia_128_cbc referenced in function _hb_EVP_CIPHER_par
hbssl.lib(evpciph.obj) : error LNK2019: unresolved external symbol _EVP_camellia_128_cfb1 referenced in function _hb_EVP_CIPHER_par
hbssl.lib(evpciph.obj) : error LNK2019: unresolved external symbol _EVP_camellia_128_cfb8 referenced in function _hb_EVP_CIPHER_par
hbssl.lib(evpciph.obj) : error LNK2019: unresolved external symbol _EVP_camellia_128_cfb128 referenced in function _hb_EVP_CIPHER_par
hbssl.lib(evpciph.obj) : error LNK2019: unresolved external symbol _EVP_camellia_128_ofb referenced in function _hb_EVP_CIPHER_par
hbssl.lib(evpciph.obj) : error LNK2019: unresolved external symbol _EVP_camellia_192_ecb referenced in function _hb_EVP_CIPHER_par
hbssl.lib(evpciph.obj) : error LNK2019: unresolved external symbol _EVP_camellia_192_cbc referenced in function _hb_EVP_CIPHER_par
hbssl.lib(evpciph.obj) : error LNK2019: unresolved external symbol _EVP_camellia_192_cfb1 referenced in function _hb_EVP_CIPHER_par
hbssl.lib(evpciph.obj) : error LNK2019: unresolved external symbol _EVP_camellia_192_cfb8 referenced in function _hb_EVP_CIPHER_par
hbssl.lib(evpciph.obj) : error LNK2019: unresolved external symbol _EVP_camellia_192_cfb128 referenced in function _hb_EVP_CIPHER_par
hbssl.lib(evpciph.obj) : error LNK2019: unresolved external symbol _EVP_camellia_192_ofb referenced in function _hb_EVP_CIPHER_par
hbssl.lib(evpciph.obj) : error LNK2019: unresolved external symbol _EVP_camellia_256_ecb referenced in function _hb_EVP_CIPHER_par
hbssl.lib(evpciph.obj) : error LNK2019: unresolved external symbol _EVP_camellia_256_cbc referenced in function _hb_EVP_CIPHER_par
hbssl.lib(evpciph.obj) : error LNK2019: unresolved external symbol _EVP_camellia_256_cfb1 referenced in function _hb_EVP_CIPHER_par
hbssl.lib(evpciph.obj) : error LNK2019: unresolved external symbol _EVP_camellia_256_cfb8 referenced in function _hb_EVP_CIPHER_par
hbssl.lib(evpciph.obj) : error LNK2019: unresolved external symbol _EVP_camellia_256_cfb128 referenced in function _hb_EVP_CIPHER_par
hbssl.lib(evpciph.obj) : error LNK2019: unresolved external symbol _EVP_camellia_256_ofb referenced in function _hb_EVP_CIPHER_par
hbssl.lib(evpciph.obj) : error LNK2019: unresolved external symbol _EVP_seed_ecb referenced in function _hb_EVP_CIPHER_par
hbssl.lib(evpciph.obj) : error LNK2019: unresolved external symbol _EVP_seed_cbc referenced in function _hb_EVP_CIPHER_par
hbssl.lib(evpciph.obj) : error LNK2019: unresolved external symbol _EVP_seed_cfb128 referenced in function _hb_EVP_CIPHER_par
hbssl.lib(evpciph.obj) : error LNK2019: unresolved external symbol _EVP_seed_ofb referenced in function _hb_EVP_CIPHER_par

Re: Tip Client = Harbour / MSVC 2015 Error

PostPosted: Mon Apr 25, 2016 9:32 pm
by Antonio Linares
Are you linking libeay32.lib and ssleay32.lib ?

Re: Tip Client = Harbour / MSVC 2015 Error

PostPosted: Mon Apr 25, 2016 9:34 pm
by TimStone
Always.

If you want to send me a new set to try ( .lib and .dll for both, matched ), I'd be happy to do that.

Re: Tip Client = Harbour / MSVC 2015 Error

PostPosted: Mon Apr 25, 2016 9:39 pm
by Antonio Linares
Tim,

The libs I sent you are fine

We just need to find what library provides those missing symbols

I have checked in the Harbour sources and they are not there

Re: Tip Client = Harbour / MSVC 2015 Error

PostPosted: Mon Apr 25, 2016 9:40 pm
by Antonio Linares
You could ask for those symbols in the Harbour users group

Re: Tip Client = Harbour / MSVC 2015 Error

PostPosted: Mon Apr 25, 2016 9:46 pm
by TimStone
Antonio,

I've tried over there but I'm getting only brief responses that say to install OPEN SSL and then use hmake2 to build the libraries. But then I'm told the author only uses xHarbour.

I have the following .lib files:

hbtipssl.lib 4/23/2016
hbssl.lib 4/4/2016
hbtip.lib 4/3/2016

Are those the same ones you have ?

Tim

Re: Tip Client = Harbour / MSVC 2015 Error

PostPosted: Mon Apr 25, 2016 9:59 pm
by Antonio Linares
Tim,

You can build them yourself this way:

hbmk2 hbtip
etc.

or use the batch files that I provided you

Re: Tip Client = Harbour / MSVC 2015 Error

PostPosted: Thu Apr 28, 2016 4:33 pm
by TimStone
I have tried ALL the various methods but I cannot get a functional set of libs to support TIP. Yes, I can build with hbmk2 but those libs don't work.

I have Harbour libs built for 32 and 64 bit with MSVC 2015 that Antonio supplied. They work fine except for the tip implementation

I have gone to the Harbour group and was told to download and build with OPENSSL installed. I tried that, it didn't work, and I can't get specific answers. The source libs were changed to accommodate OPENSSL ... so I have no idea what needs to be distributed ( ie. does OPENSSL have to now be installed on the machines of my customers for this to work ? )

The older libs with FWH 16.02 built with MSVC 2013 work fine, if I build my application with the older releases, but those will not work with 2015 !

FWH 2013, and this function, work fine with xHarbour and FWH 2013 ( .com builder with old Pelles compiler ), but that doesn't help for the transition to Harbour.

Any other ideas ?