Menu

#50 do not support openssl 1.0.0

open
nobody
None
5
2013-05-07
2013-05-07
Wrenashe
No

A build of tcl tls extension with openssl 1.0.0 lib does not work.

Discussion

  • Jeffrey Hobbs

    Jeffrey Hobbs - 2013-05-07

    ActiveTcl successfully uses tls with openssl 1.0.1, so you'll have to be a bit more specific about what's not working in your environment.

     
    • Wrenashe

      Wrenashe - 2013-05-08

      link -nologo -machine:IX86 -ltcg -release -opt:ref -opt:icf,3 -opt:nowin98 -dll -base:0x10780000 -out:.\Release_VC9\tls16.dll "D:\tcl8.5.10\win\Release_VC9\tclstub85.lib" -libpath:"D:/openssl-1.0.0g\out32" ssleay32.lib libeay32.lib ws2_32.lib user32.lib gdi32.lib advapi32.lib @C:\DOCUME~1\twu\LOCALS~1\Temp\nm114B.tmp
      LINK : warning LNK4224: /OPT:NOWIN98 is no longer supported; ignored
      Creating library .\Release_VC9\tls16.lib and object .\Release_VC9\tls16.exp
      Generating code
      Finished generating code
      if exist .\Release_VC9\tls16.dll.manifest mt -nologo -manifest .\Release_VC9\tls16.dll.manifest -outputresource:.\Release_VC9\tls16.dll;2

      And I tried to test the built one with gmail,

      Trying smtp.gmail.com...
      <-- 220 mx.google.com ESMTP z8sm30342350pbt.23 - gsmtp
      --> EHLO hvstwu02 (wait upto 300 seconds)
      <-- 250-mx.google.com at your service, [220.248.33.53]
      <-- 250-SIZE 35882577
      <-- 250-8BITMIME
      <-- 250-STARTTLS
      <-- 250 ENHANCEDSTATUSCODES
      --> STARTTLS (wait upto 300 seconds)
      <-- 220 2.0.0 Ready to start TLS

      The tcl crashed after "start TLS", the call stack showed as followed,

      msvcr90d.dll!_fsopen(const char * file=0x00000000, const char * mode=0x0012e5d4, int shflag=64)  Line 54 + 0x2f bytes   C
      msvcr90d.dll!fopen(const char * file=0x00000000, const char * mode=0x0012e5d4)  Line 124 + 0xf bytes    C
      tls16.dll!file_ctrl(bio_st * b=0x01006272, int cmd=108, long num=3, void * ptr=0x00000000)  Line 395 + 0xf bytes    C
      tls16.dll!BIO_ctrl(bio_st * b=0x015fcb98, int cmd=108, long larg=3, void * parg=0x00000000)  Line 370 + 0xf bytes   C
      tls16.dll!SSL_load_client_CA_file(const char * file=0x00000000)  Line 670 + 0xf bytes   C
      tls16.dll!CTX_Init(State * statePtr=0x013eed10, int proto=3, char * key=0x00000000, char * cert=0x10841af4, char * CAdir=0x00000000, char * CAfile=0x00000000, char * ciphers=0x00000000)  Line 1087 + 0x4d bytes   C
      tls16.dll!ImportObjCmd(void * clientData=0x00000000, Tcl_Interp * interp=0x009ca940, int objc=2, Tcl_Obj * const * objv=0x01068a50)  Line 801 + 0x21 bytes  C
      
       
    • Wrenashe

      Wrenashe - 2013-05-08

      build tcl-tls with tcl8.5.10/openssl1.0.0

       
    • Wrenashe

      Wrenashe - 2013-05-08

      Visual studio 2008/Tcl8.5.10/Openssl1.0.0