SSL error on windows 7

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
20 messages Options
Reply | Threaded
Open this post in threaded view
|

SSL error on windows 7

Cyril Ferlicot D
 
Hi Tobias,

I have a problem with SSL and Winodws 7, I think it might be a VM plugin
problem (excuse me if we find at the end that it is not) and I heard
you're the one maintaining the SSL plugin.

If I execute this code:

ZnClient new url: 'https://google.com'; get.

I get a result.

If I execute this code:

ZnClient new url: 'https://github.com'; get.

I get this error: Error: SSL Exception: connect failed [code:-5]

I tried with both stable and latest vm. (The stable is from august 2017
I think)

I sent a mail on the Pharo dev ML and we are at least two having this
problem with Windows 7 when it's working with Windows 10.

Let me know if you need any more details on this issue.

I opened on issue:
https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/236

Here are the details and the stack:

Image
-----
E:\Pharo\images\Pharo 7.0 (development version)-22\Pharo 7.0
(development version)-22.image
Pharo7.0alpha
Build information:
Pharo-7.0+alpha.build.749.sha.039a4b6f0d61ba99778349c4cff2c4e8d5ff9227
(32 Bit)
Unnamed

Virtual Machine
---------------
C:\Users\JeCisC\Documents\Pharo\vms\70-x86\Pharo.exe
CoInterpreter VMMaker.oscog-eem.2359 uuid:
b3273e3e-dd9d-4819-a928-7034e1cf412c Mar 16 2018
StackToRegisterMappingCogit VMMaker.oscog-eem.2359 uuid:
b3273e3e-dd9d-4819-a928-7034e1cf412c Mar 16 2018
VM: 201803161038 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $
Date: Fri Mar 16 11:38:09 2018 +0100 $ Plugins: 201803161038
https://github.com/OpenSmalltalk/opensmalltalk-vm.git $

Win32 built on Mar 16 2018 11:02:19 GMT Compiler: 6.4.0
VMMaker versionString VM: 201803161038
https://github.com/OpenSmalltalk/opensmalltalk-vm.git $ Date: Fri Mar 16
11:38:09 2018 +0100 $ Plugins: 201803161038
https://github.com/OpenSmalltalk/opensmalltalk-vm.git $
CoInterpreter VMMaker.oscog-eem.2359 uuid:
b3273e3e-dd9d-4819-a928-7034e1cf412c Mar 16 2018
StackToRegisterMappingCogit VMMaker.oscog-eem.2359 uuid:
b3273e3e-dd9d-4819-a928-7034e1cf412c Mar 16 2018

Operating System/Hardware
-------------------------
Win32 6.1 IX86

Operating System Details
------------------------
Operating System: Windows 7 Professional N (Build 7601 Service Pack 1)
        SP major version: 1
        SP minor version: 0
        Suite mask: 100
        Product type: 1


==============================================================

ZdcSecureSocketStream(Object)>>error:
ZdcSecureSocketStream>>sslException:code:
ZdcSecureSocketStream>>connect
ZnClient>>setupTLSTo:
ZnClient>>newConnectionTo:
ZnClient>>getConnectionAndExecute
ZnClient>>executeWithRedirectsRemaining:
[ self executeWithRedirectsRemaining: self maxNumberOfRedirects ] in
ZnClient>>executeWithRetriesRemaining: in Block: [ self
executeWithRedirectsRemaining: self maxNumb...etc...
BlockClosure>>on:do:
ZnClient>>executeWithRetriesRemaining:
[ self executeWithRetriesRemaining: self numberOfRetries ] in [ [ self
executeWithRetriesRemaining: self numberOfRetries ]
        on: Error
        do: self ifFailBlock ] in ZnClient>>executeWithTimeout in Block: [ self
executeWithRetriesRemaining: self numberOfR...etc...
BlockClosure>>on:do:
[ [ self executeWithRetriesRemaining: self numberOfRetries ]
        on: Error
        do: self ifFailBlock ] in ZnClient>>executeWithTimeout in Block: [ [
self executeWithRetriesRemaining: self numberO...etc...
[ ^ block value ] in ZnClient>>withTimeoutDo: in Block: [ ^ block value ]
[ activeProcess psValueAt: index put: anObject.
aBlock value ] in ZnConnectionTimeout(DynamicVariable)>>value:during: in
Block: [ activeProcess psValueAt: index put: anObject....
BlockClosure>>ensure:
ZnConnectionTimeout(DynamicVariable)>>value:during:
ZnConnectionTimeout class(DynamicVariable class)>>value:during:
ZnClient>>withTimeoutDo:
ZnClient>>executeWithTimeout
[ result := self executeWithTimeout ] in ZnClient>>execute in Block: [
result := self executeWithTimeout ]
[ ^ block value ] in ZnClient>>withProgressDo: in Block: [ ^ block value ]
[ activeProcess psValueAt: index put: anObject.
aBlock value ] in ZnSignalProgress(DynamicVariable)>>value:during: in
Block: [ activeProcess psValueAt: index put: anObject....
BlockClosure>>ensure:
ZnSignalProgress(DynamicVariable)>>value:during:
ZnSignalProgress class(DynamicVariable class)>>value:during:
ZnClient>>withProgressDo:
ZnClient>>execute
ZnClient>>get
UndefinedObject>>DoIt

--
Cyril Ferlicot
https://ferlicot.fr

Reply | Threaded
Open this post in threaded view
|

Re: SSL error on windows 7

Tobias Pape
 
Hi Cyril


> On 03.04.2018, at 15:26, Cyril Ferlicot D <[hidden email]> wrote:
>
> Hi Tobias,
>
> I have a problem with SSL and Winodws 7, I think it might be a VM plugin
> problem (excuse me if we find at the end that it is not) and I heard
> you're the one maintaining the SSL plugin.
>
> If I execute this code:
>
> ZnClient new url: 'https://google.com'; get.
>
> I get a result.
>
> If I execute this code:
>
> ZnClient new url: 'https://github.com'; get.
>
> I get this error: Error: SSL Exception: connect failed [code:-5]
>
> I tried with both stable and latest vm. (The stable is from august 2017
> I think)
>
> I sent a mail on the Pharo dev ML and we are at least two having this
> problem with Windows 7 when it's working with Windows 10.
>
> Let me know if you need any more details on this issue.
>
> I opened on issue:
> https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/236
>

Can you please change ZdcSecureSocket>>sslSession to

sslSession
        ^ sslSession ifNil: [
                sslSession := self sslSessionClass new
                        enableLogging;
                        yourself].


And please paste what appears on stdout?

(you may have to execute the vm from the commandline).

Best regards
        -Tobias



> Here are the details and the stack:
>
> Image
> -----
> E:\Pharo\images\Pharo 7.0 (development version)-22\Pharo 7.0
> (development version)-22.image
> Pharo7.0alpha
> Build information:
> Pharo-7.0+alpha.build.749.sha.039a4b6f0d61ba99778349c4cff2c4e8d5ff9227
> (32 Bit)
> Unnamed
>
> Virtual Machine
> ---------------
> C:\Users\JeCisC\Documents\Pharo\vms\70-x86\Pharo.exe
> CoInterpreter VMMaker.oscog-eem.2359 uuid:
> b3273e3e-dd9d-4819-a928-7034e1cf412c Mar 16 2018
> StackToRegisterMappingCogit VMMaker.oscog-eem.2359 uuid:
> b3273e3e-dd9d-4819-a928-7034e1cf412c Mar 16 2018
> VM: 201803161038 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $
> Date: Fri Mar 16 11:38:09 2018 +0100 $ Plugins: 201803161038
> https://github.com/OpenSmalltalk/opensmalltalk-vm.git $
>
> Win32 built on Mar 16 2018 11:02:19 GMT Compiler: 6.4.0
> VMMaker versionString VM: 201803161038
> https://github.com/OpenSmalltalk/opensmalltalk-vm.git $ Date: Fri Mar 16
> 11:38:09 2018 +0100 $ Plugins: 201803161038
> https://github.com/OpenSmalltalk/opensmalltalk-vm.git $
> CoInterpreter VMMaker.oscog-eem.2359 uuid:
> b3273e3e-dd9d-4819-a928-7034e1cf412c Mar 16 2018
> StackToRegisterMappingCogit VMMaker.oscog-eem.2359 uuid:
> b3273e3e-dd9d-4819-a928-7034e1cf412c Mar 16 2018
>
> Operating System/Hardware
> -------------------------
> Win32 6.1 IX86
>
> Operating System Details
> ------------------------
> Operating System: Windows 7 Professional N (Build 7601 Service Pack 1)
> SP major version: 1
> SP minor version: 0
> Suite mask: 100
> Product type: 1
>
>
> ==============================================================
>
> ZdcSecureSocketStream(Object)>>error:
> ZdcSecureSocketStream>>sslException:code:
> ZdcSecureSocketStream>>connect
> ZnClient>>setupTLSTo:
> ZnClient>>newConnectionTo:
> ZnClient>>getConnectionAndExecute
> ZnClient>>executeWithRedirectsRemaining:
> [ self executeWithRedirectsRemaining: self maxNumberOfRedirects ] in
> ZnClient>>executeWithRetriesRemaining: in Block: [ self
> executeWithRedirectsRemaining: self maxNumb...etc...
> BlockClosure>>on:do:
> ZnClient>>executeWithRetriesRemaining:
> [ self executeWithRetriesRemaining: self numberOfRetries ] in [ [ self
> executeWithRetriesRemaining: self numberOfRetries ]
> on: Error
> do: self ifFailBlock ] in ZnClient>>executeWithTimeout in Block: [ self
> executeWithRetriesRemaining: self numberOfR...etc...
> BlockClosure>>on:do:
> [ [ self executeWithRetriesRemaining: self numberOfRetries ]
> on: Error
> do: self ifFailBlock ] in ZnClient>>executeWithTimeout in Block: [ [
> self executeWithRetriesRemaining: self numberO...etc...
> [ ^ block value ] in ZnClient>>withTimeoutDo: in Block: [ ^ block value ]
> [ activeProcess psValueAt: index put: anObject.
> aBlock value ] in ZnConnectionTimeout(DynamicVariable)>>value:during: in
> Block: [ activeProcess psValueAt: index put: anObject....
> BlockClosure>>ensure:
> ZnConnectionTimeout(DynamicVariable)>>value:during:
> ZnConnectionTimeout class(DynamicVariable class)>>value:during:
> ZnClient>>withTimeoutDo:
> ZnClient>>executeWithTimeout
> [ result := self executeWithTimeout ] in ZnClient>>execute in Block: [
> result := self executeWithTimeout ]
> [ ^ block value ] in ZnClient>>withProgressDo: in Block: [ ^ block value ]
> [ activeProcess psValueAt: index put: anObject.
> aBlock value ] in ZnSignalProgress(DynamicVariable)>>value:during: in
> Block: [ activeProcess psValueAt: index put: anObject....
> BlockClosure>>ensure:
> ZnSignalProgress(DynamicVariable)>>value:during:
> ZnSignalProgress class(DynamicVariable class)>>value:during:
> ZnClient>>withProgressDo:
> ZnClient>>execute
> ZnClient>>get
> UndefinedObject>>DoIt
>
> --
> Cyril Ferlicot
> https://ferlicot.fr
>

Reply | Threaded
Open this post in threaded view
|

Re: SSL error on windows 7

Nicolas Cellier
 


2018-04-04 11:05 GMT+02:00 Tobias Pape <[hidden email]>:

Hi Cyril


> On 03.04.2018, at 15:26, Cyril Ferlicot D <[hidden email]> wrote:
>
> Hi Tobias,
>
> I have a problem with SSL and Winodws 7, I think it might be a VM plugin
> problem (excuse me if we find at the end that it is not) and I heard
> you're the one maintaining the SSL plugin.
>
> If I execute this code:
>
> ZnClient new url: 'https://google.com'; get.
>
> I get a result.
>
> If I execute this code:
>
> ZnClient new url: 'https://github.com'; get.
>
> I get this error: Error: SSL Exception: connect failed [code:-5]
>
> I tried with both stable and latest vm. (The stable is from august 2017
> I think)
>
> I sent a mail on the Pharo dev ML and we are at least two having this
> problem with Windows 7 when it's working with Windows 10.
>
> Let me know if you need any more details on this issue.
>
> I opened on issue:
> https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/236
>

Can you please change ZdcSecureSocket>>sslSession to

sslSession
        ^ sslSession ifNil: [
                sslSession := self sslSessionClass new
                        enableLogging;
                        yourself].


And please paste what appears on stdout?

(you may have to execute the vm from the commandline).

Best regards
        -Tobias


I confirm, same behavior as Cyril on windows 7 with latest bintray VM pharo.cog.spur_win32x86_201804032021.zip

logging output:

>PharoConsole.exe Pharo7.0-32bit-b6db964.image
sqSetStringPropertySSL(1): (null)
sqSetStringPropertySSL(2): github.com
sqConnectSSL: input token 0 bytes
sqConnectSSL: Input to InitSecCtxt is 0 bytes
AquireCredentialsHandle returned: 0
InitializeSecurityContext returned: 90312
Input Buffers:
        buf[0]: 2 (0 bytes) ptr=0
        buf[1]: 0 (0 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (122 bytes) ptr=596140
        buf[1]: 0 (0 bytes) ptr=0
sqCopyDescToken:
         type=2, size=122
         type=0, size=0
sqConnectSSL: input token 7 bytes
sqConnectSSL: Input to InitSecCtxt is 7 bytes
InitializeSecurityContext returned: 80090302
Input Buffers:
        buf[0]: 2 (7 bytes) ptr=14b8fe0
        buf[1]: 0 (0 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (0 bytes) ptr=0
        buf[1]: 0 (0 bytes) ptr=0
Unexpected return code 2148074242

Reply | Threaded
Open this post in threaded view
|

Re: SSL error on windows 7

Tobias Pape
 
Hi All,

> On 04.04.2018, at 11:50, Nicolas Cellier <[hidden email]> wrote:
>
>
>
> 2018-04-04 11:05 GMT+02:00 Tobias Pape <[hidden email]>:
>
> Hi Cyril
>
>
> > On 03.04.2018, at 15:26, Cyril Ferlicot D <[hidden email]> wrote:
> >
> > Hi Tobias,
> >
> > I have a problem with SSL and Winodws 7, I think it might be a VM plugin
> > problem (excuse me if we find at the end that it is not) and I heard
> > you're the one maintaining the SSL plugin.
> >
> > If I execute this code:
> >
> > ZnClient new url: 'https://google.com'; get.
> >
> > I get a result.
> >
> > If I execute this code:
> >
> > ZnClient new url: 'https://github.com'; get.
> >
> > I get this error: Error: SSL Exception: connect failed [code:-5]
> >
> > I tried with both stable and latest vm. (The stable is from august 2017
> > I think)
> >
> > I sent a mail on the Pharo dev ML and we are at least two having this
> > problem with Windows 7 when it's working with Windows 10.
> >
> > Let me know if you need any more details on this issue.
> >
> > I opened on issue:
> > https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/236
> >
>
> Can you please change ZdcSecureSocket>>sslSession to
>
> sslSession
>         ^ sslSession ifNil: [
>                 sslSession := self sslSessionClass new
>                         enableLogging;
>                         yourself].
>
>
> And please paste what appears on stdout?
>
> (you may have to execute the vm from the commandline).
>
> Best regards
>         -Tobias
>
>
> I confirm, same behavior as Cyril on windows 7 with latest bintray VM pharo.cog.spur_win32x86_201804032021.zip
>
> logging output:

This is very strange.

>
> >PharoConsole.exe Pharo7.0-32bit-b6db964.image
> sqSetStringPropertySSL(1): (null)
> sqSetStringPropertySSL(2): github.com
> sqConnectSSL: input token 0 bytes
> sqConnectSSL: Input to InitSecCtxt is 0 bytes
> AquireCredentialsHandle returned: 0
> InitializeSecurityContext returned: 90312
> Input Buffers:
>         buf[0]: 2 (0 bytes) ptr=0
>         buf[1]: 0 (0 bytes) ptr=0
>         buf[2]: 0 (0 bytes) ptr=0
>         buf[3]: 0 (0 bytes) ptr=0
> Output Buffers:
>         buf[0]: 2 (122 bytes) ptr=596140
>         buf[1]: 0 (0 bytes) ptr=0
> sqCopyDescToken:
>          type=2, size=122
>          type=0, size=0
> sqConnectSSL: input token 7 bytes

This looks very short.
It means that 122 bytes for the security token are passed on to the image, and then 7 token bytes are re-used and sent from the image to the plugn.

Compare to Squeak 6, same bintray (means IDENTICAL plugin)

=-=-=-=
sqSetStringPropertySSL(2): github.com
sqConnectSSL: input token 0 bytes
sqConnectSSL: Input to InitSecCtxt is 0 bytes
AquireCredentialsHandle returned: 0
InitializeSecurityContext returned: 90312
Input Buffers:
        buf[0]: 2 (0 bytes) ptr=0
        buf[1]: 0 (0 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (178 bytes) ptr=16d3c78
        buf[1]: 0 (0 bytes) ptr=0
sqCopyDescToken:
         type=2, size=178
         type=0, size=0
sqConnectSSL: input token 3594 bytes
sqConnectSSL: Input to InitSecCtxt is 3594 bytes
InitializeSecurityContext returned: 90312
Input Buffers:
        buf[0]: 2 (3594 bytes) ptr=17dbf48
        buf[1]: 0 (0 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (166 bytes) ptr=1706dd0
        buf[1]: 0 (0 bytes) ptr=0
sqCopyDescToken:
         type=2, size=166
         type=0, size=0
sqConnectSSL: input token 91 bytes
sqConnectSSL: Input to InitSecCtxt is 91 bytes
InitializeSecurityContext returned: 0
Input Buffers:
        buf[0]: 2 (91 bytes) ptr=17dbf48
        buf[1]: 0 (0 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (0 bytes) ptr=0
        buf[1]: 0 (0 bytes) ptr=0
sqConnectSSL: Maximum message size is 16384 bytes
sqExtractPeerName: Peer name is github.com
sqEncryptSSL: Encrypting 139 bytes
=-=-=-=

Here, 178 bytes of token are copied to the image, and the image (SqueakSSL) continues with ca 4k of data (which includes the token)

Maybe there's a fault in the Zodiac code?

> sqConnectSSL: Input to InitSecCtxt is 7 bytes
> InitializeSecurityContext returned: 80090302

This means (According to https://msdn.microsoft.com/en-us/library/dd721886)

SEC_E_UNSUPPORTED_FUNCTION (aka TLS1_ALERT_PROTOCOL_VERSION 0x70).

This in turn means (according to https://stackoverflow.com/a/5727375/1197440 )
        unrecognized_name (the answerer there says: "The unrecognized_name indicates that the server name you sent in the client hello does not match a name known to the server").

And that the server does no know what name you want.

Are you really connecting to github.com?

Two things here:
 (a) yes, the plugin could give meaningful error messages. This has, unfortunately, to wait.
 (b) It seems that the image side (in case of Pharo, probably Zodiac) does not complete the handshake correctly, as it seems to work for SqueakSSL (image side)

Best regards
        -Tobias


> Input Buffers:
>         buf[0]: 2 (7 bytes) ptr=14b8fe0
>         buf[1]: 0 (0 bytes) ptr=0
>         buf[2]: 0 (0 bytes) ptr=0
>         buf[3]: 0 (0 bytes) ptr=0
> Output Buffers:
>         buf[0]: 2 (0 bytes) ptr=0
>         buf[1]: 0 (0 bytes) ptr=0
> Unexpected return code 2148074242
>

Reply | Threaded
Open this post in threaded view
|

Re: SSL error on windows 7

Ben Coman
 


On 4 April 2018 at 19:49, Tobias Pape <[hidden email]> wrote:

Hi All,

> On 04.04.2018, at 11:50, Nicolas Cellier <[hidden email]> wrote:
>
>
>
> 2018-04-04 11:05 GMT+02:00 Tobias Pape <[hidden email]>:
>
> Hi Cyril
>
>
> > On 03.04.2018, at 15:26, Cyril Ferlicot D <[hidden email]> wrote:
> >
> > Hi Tobias,
> >
> > I have a problem with SSL and Winodws 7, I think it might be a VM plugin
> > problem (excuse me if we find at the end that it is not) and I heard
> > you're the one maintaining the SSL plugin.
> >
> > If I execute this code:
> >
> > ZnClient new url: 'https://google.com'; get.
> >
> > I get a result.
> >
> > If I execute this code:
> >
> > ZnClient new url: 'https://github.com'; get.
> >
> > I get this error: Error: SSL Exception: connect failed [code:-5]
> >
> > I tried with both stable and latest vm. (The stable is from august 2017
> > I think)
> >
> > I sent a mail on the Pharo dev ML and we are at least two having this
> > problem with Windows 7 when it's working with Windows 10.
> >
> > Let me know if you need any more details on this issue.
> >
> > I opened on issue:
> > https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/236
> >
>
> Can you please change ZdcSecureSocket>>sslSession to
>
> sslSession
>         ^ sslSession ifNil: [
>                 sslSession := self sslSessionClass new
>                         enableLogging;
>                         yourself].
>
>
> And please paste what appears on stdout?
>
> (you may have to execute the vm from the commandline).
>
> Best regards
>         -Tobias
>
>
> I confirm, same behavior as Cyril on windows 7 with latest bintray VM pharo.cog.spur_win32x86_201804032021.zip
>
> logging output:

This is very strange.

>
> >PharoConsole.exe Pharo7.0-32bit-b6db964.image
> sqSetStringPropertySSL(1): (null)
> sqSetStringPropertySSL(2): github.com
> sqConnectSSL: input token 0 bytes
> sqConnectSSL: Input to InitSecCtxt is 0 bytes
> AquireCredentialsHandle returned: 0
> InitializeSecurityContext returned: 90312
> Input Buffers:
>         buf[0]: 2 (0 bytes) ptr=0
>         buf[1]: 0 (0 bytes) ptr=0
>         buf[2]: 0 (0 bytes) ptr=0
>         buf[3]: 0 (0 bytes) ptr=0
> Output Buffers:
>         buf[0]: 2 (122 bytes) ptr=596140
>         buf[1]: 0 (0 bytes) ptr=0
> sqCopyDescToken:
>          type=2, size=122
>          type=0, size=0
> sqConnectSSL: input token 7 bytes

This looks very short.
It means that 122 bytes for the security token are passed on to the image, and then 7 token bytes are re-used and sent from the image to the plugn.

Compare to Squeak 6, same bintray (means IDENTICAL plugin)

Just because it helps to see things side by side...

cheers -ben
 

=-=-=-=
sqSetStringPropertySSL(2): github.com
sqConnectSSL: input token 0 bytes
sqConnectSSL: Input to InitSecCtxt is 0 bytes
AquireCredentialsHandle returned: 0
InitializeSecurityContext returned: 90312
Input Buffers:
        buf[0]: 2 (0 bytes) ptr=0
        buf[1]: 0 (0 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (178 bytes) ptr=16d3c78
        buf[1]: 0 (0 bytes) ptr=0
sqCopyDescToken:
         type=2, size=178
         type=0, size=0
sqConnectSSL: input token 3594 bytes
sqConnectSSL: Input to InitSecCtxt is 3594 bytes
InitializeSecurityContext returned: 90312
Input Buffers:
        buf[0]: 2 (3594 bytes) ptr=17dbf48
        buf[1]: 0 (0 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (166 bytes) ptr=1706dd0
        buf[1]: 0 (0 bytes) ptr=0
sqCopyDescToken:
         type=2, size=166
         type=0, size=0
sqConnectSSL: input token 91 bytes
sqConnectSSL: Input to InitSecCtxt is 91 bytes
InitializeSecurityContext returned: 0
Input Buffers:
        buf[0]: 2 (91 bytes) ptr=17dbf48
        buf[1]: 0 (0 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (0 bytes) ptr=0
        buf[1]: 0 (0 bytes) ptr=0
sqConnectSSL: Maximum message size is 16384 bytes
sqExtractPeerName: Peer name is github.com
sqEncryptSSL: Encrypting 139 bytes
=-=-=-=

Here, 178 bytes of token are copied to the image, and the image (SqueakSSL) continues with ca 4k of data (which includes the token)

Maybe there's a fault in the Zodiac code?

> sqConnectSSL: Input to InitSecCtxt is 7 bytes
> InitializeSecurityContext returned: 80090302

This means (According to https://msdn.microsoft.com/en-us/library/dd721886)

SEC_E_UNSUPPORTED_FUNCTION (aka TLS1_ALERT_PROTOCOL_VERSION 0x70).

This in turn means (according to https://stackoverflow.com/a/5727375/1197440 )
        unrecognized_name (the answerer there says: "The unrecognized_name indicates that the server name you sent in the client hello does not match a name known to the server").

And that the server does no know what name you want.

Are you really connecting to github.com?

Two things here:
 (a) yes, the plugin could give meaningful error messages. This has, unfortunately, to wait.
 (b) It seems that the image side (in case of Pharo, probably Zodiac) does not complete the handshake correctly, as it seems to work for SqueakSSL (image side)

Best regards
        -Tobias


> Input Buffers:
>         buf[0]: 2 (7 bytes) ptr=14b8fe0
>         buf[1]: 0 (0 bytes) ptr=0
>         buf[2]: 0 (0 bytes) ptr=0
>         buf[3]: 0 (0 bytes) ptr=0
> Output Buffers:
>         buf[0]: 2 (0 bytes) ptr=0
>         buf[1]: 0 (0 bytes) ptr=0
> Unexpected return code 2148074242
>


Reply | Threaded
Open this post in threaded view
|

Re: SSL error on windows 7

Nicolas Cellier
In reply to this post by Tobias Pape
 


2018-04-04 13:49 GMT+02:00 Tobias Pape <[hidden email]>:

Hi All,

> On 04.04.2018, at 11:50, Nicolas Cellier <[hidden email]> wrote:
>
>
>
> 2018-04-04 11:05 GMT+02:00 Tobias Pape <[hidden email]>:
>
> Hi Cyril
>
>
> > On 03.04.2018, at 15:26, Cyril Ferlicot D <[hidden email]> wrote:
> >
> > Hi Tobias,
> >
> > I have a problem with SSL and Winodws 7, I think it might be a VM plugin
> > problem (excuse me if we find at the end that it is not) and I heard
> > you're the one maintaining the SSL plugin.
> >
> > If I execute this code:
> >
> > ZnClient new url: 'https://google.com'; get.
> >
> > I get a result.
> >
> > If I execute this code:
> >
> > ZnClient new url: 'https://github.com'; get.
> >
> > I get this error: Error: SSL Exception: connect failed [code:-5]
> >
> > I tried with both stable and latest vm. (The stable is from august 2017
> > I think)
> >
> > I sent a mail on the Pharo dev ML and we are at least two having this
> > problem with Windows 7 when it's working with Windows 10.
> >
> > Let me know if you need any more details on this issue.
> >
> > I opened on issue:
> > https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/236
> >
>
> Can you please change ZdcSecureSocket>>sslSession to
>
> sslSession
>         ^ sslSession ifNil: [
>                 sslSession := self sslSessionClass new
>                         enableLogging;
>                         yourself].
>
>
> And please paste what appears on stdout?
>
> (you may have to execute the vm from the commandline).
>
> Best regards
>         -Tobias
>
>
> I confirm, same behavior as Cyril on windows 7 with latest bintray VM pharo.cog.spur_win32x86_201804032021.zip
>
> logging output:

This is very strange.

>
> >PharoConsole.exe Pharo7.0-32bit-b6db964.image
> sqSetStringPropertySSL(1): (null)
> sqSetStringPropertySSL(2): github.com
> sqConnectSSL: input token 0 bytes
> sqConnectSSL: Input to InitSecCtxt is 0 bytes
> AquireCredentialsHandle returned: 0
> InitializeSecurityContext returned: 90312
> Input Buffers:
>         buf[0]: 2 (0 bytes) ptr=0
>         buf[1]: 0 (0 bytes) ptr=0
>         buf[2]: 0 (0 bytes) ptr=0
>         buf[3]: 0 (0 bytes) ptr=0
> Output Buffers:
>         buf[0]: 2 (122 bytes) ptr=596140
>         buf[1]: 0 (0 bytes) ptr=0
> sqCopyDescToken:
>          type=2, size=122
>          type=0, size=0
> sqConnectSSL: input token 7 bytes

This looks very short.
It means that 122 bytes for the security token are passed on to the image, and then 7 token bytes are re-used and sent from the image to the plugn.

Compare to Squeak 6, same bintray (means IDENTICAL plugin)

=-=-=-=
sqSetStringPropertySSL(2): github.com
sqConnectSSL: input token 0 bytes
sqConnectSSL: Input to InitSecCtxt is 0 bytes
AquireCredentialsHandle returned: 0
InitializeSecurityContext returned: 90312
Input Buffers:
        buf[0]: 2 (0 bytes) ptr=0
        buf[1]: 0 (0 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (178 bytes) ptr=16d3c78
        buf[1]: 0 (0 bytes) ptr=0
sqCopyDescToken:
         type=2, size=178
         type=0, size=0
sqConnectSSL: input token 3594 bytes
sqConnectSSL: Input to InitSecCtxt is 3594 bytes
InitializeSecurityContext returned: 90312
Input Buffers:
        buf[0]: 2 (3594 bytes) ptr=17dbf48
        buf[1]: 0 (0 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (166 bytes) ptr=1706dd0
        buf[1]: 0 (0 bytes) ptr=0
sqCopyDescToken:
         type=2, size=166
         type=0, size=0
sqConnectSSL: input token 91 bytes
sqConnectSSL: Input to InitSecCtxt is 91 bytes
InitializeSecurityContext returned: 0
Input Buffers:
        buf[0]: 2 (91 bytes) ptr=17dbf48
        buf[1]: 0 (0 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (0 bytes) ptr=0
        buf[1]: 0 (0 bytes) ptr=0
sqConnectSSL: Maximum message size is 16384 bytes
sqExtractPeerName: Peer name is github.com
sqEncryptSSL: Encrypting 139 bytes
=-=-=-=

Here, 178 bytes of token are copied to the image, and the image (SqueakSSL) continues with ca 4k of data (which includes the token)

Maybe there's a fault in the Zodiac code?

> sqConnectSSL: Input to InitSecCtxt is 7 bytes
> InitializeSecurityContext returned: 80090302

This means (According to https://msdn.microsoft.com/en-us/library/dd721886)

SEC_E_UNSUPPORTED_FUNCTION (aka TLS1_ALERT_PROTOCOL_VERSION 0x70).

This in turn means (according to https://stackoverflow.com/a/5727375/1197440 )
        unrecognized_name (the answerer there says: "The unrecognized_name indicates that the server name you sent in the client hello does not match a name known to the server").

And that the server does no know what name you want.

Are you really connecting to github.com?

Two things here:
 (a) yes, the plugin could give meaningful error messages. This has, unfortunately, to wait.
 (b) It seems that the image side (in case of Pharo, probably Zodiac) does not complete the handshake correctly, as it seems to work for SqueakSSL (image side)

Best regards
        -Tobias


> Input Buffers:
>         buf[0]: 2 (7 bytes) ptr=14b8fe0
>         buf[1]: 0 (0 bytes) ptr=0
>         buf[2]: 0 (0 bytes) ptr=0
>         buf[3]: 0 (0 bytes) ptr=0
> Output Buffers:
>         buf[0]: 2 (0 bytes) ptr=0
>         buf[1]: 0 (0 bytes) ptr=0
> Unexpected return code 2148074242
>



Hi Tobias,
On windows 7, I have the same behaviour as Pharo with a Squeak Trunk image

    "this one works:"
    WebClient httpGet: 'https://google.com'.

    "this one not, error SSL connect failed with code: -5"
    WebClient httpGet: 'https://github.com'.

Launching the image both with latest squeak.cog.spur and pharo.cog.spur VM lead to same symptoms...
The fact that there is a different behavior depending on the OS (other reported that it works in windows 10) does not militate for a Zodiac problem.


Reply | Threaded
Open this post in threaded view
|

Re: SSL error on windows 7

Tobias Pape
 
Hi

> On 04.04.2018, at 16:50, Nicolas Cellier <[hidden email]> wrote:
>
> [
[…]

> Hi Tobias,
> On windows 7, I have the same behaviour as Pharo with a Squeak Trunk image
>
>     "this one works:"
>     WebClient httpGet: 'https://google.com'.
>
>     "this one not, error SSL connect failed with code: -5"
>     WebClient httpGet: 'https://github.com'.
>
> Launching the image both with latest squeak.cog.spur and pharo.cog.spur VM lead to same symptoms...
> The fact that there is a different behavior depending on the OS (other reported that it works in windows 10) does not militate for a Zodiac problem.

True.

I tried on windows 8.1 because it's the only one I have.

Can you get me the output from both connections for squeak, also?

Best regards
        -Tobias
Reply | Threaded
Open this post in threaded view
|

Re: SSL error on windows 7

Nicolas Cellier
 


2018-04-04 18:36 GMT+02:00 Tobias Pape <[hidden email]>:

Hi

> On 04.04.2018, at 16:50, Nicolas Cellier <[hidden email]> wrote:
>
> [
[…]
> Hi Tobias,
> On windows 7, I have the same behaviour as Pharo with a Squeak Trunk image
>
>     "this one works:"
>     WebClient httpGet: 'https://google.com'.
>
>     "this one not, error SSL connect failed with code: -5"
>     WebClient httpGet: 'https://github.com'.
>
> Launching the image both with latest squeak.cog.spur and pharo.cog.spur VM lead to same symptoms...
> The fact that there is a different behavior depending on the OS (other reported that it works in windows 10) does not militate for a Zodiac problem.

True.

I tried on windows 8.1 because it's the only one I have.

Can you get me the output from both connections for squeak, also?

Best regards
        -Tobias

And I confirm that all works well in Windows 10.
You'll have to wait tomorrow for the logging details on win7...
cheers

Reply | Threaded
Open this post in threaded view
|

Re: SSL error on windows 7

Cyril Ferlicot D
In reply to this post by Tobias Pape
 
Le 04/04/2018 à 18:36, Tobias Pape a écrit :
> I tried on windows 8.1 because it's the only one I have.
>
> Can you get me the output from both connections for squeak, also?
>
> Best regards -Tobias
>

Hi Tobias,

Since I never used Squeak and since you gave only the code for Pharo I
had to search a little but at the end I think I found how to active the
logs :)

Connecting to https://google.com :

sqSetStringPropertySSL(2): google.com
sqConnectSSL: input token 0 bytes
sqConnectSSL: Input to InitSecCtxt is 0 bytes
AquireCredentialsHandle returned: 0
InitializeSecurityContext returned: 90312
Input Buffers:
        buf[0]: 2 (0 bytes) ptr=0
        buf[1]: 0 (0 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (122 bytes) ptr=850af0
        buf[1]: 0 (0 bytes) ptr=0
sqCopyDescToken:
         type=2, size=122
         type=0, size=0
sqConnectSSL: input token 1430 bytes
sqConnectSSL: Input to InitSecCtxt is 1430 bytes
InitializeSecurityContext returned: 90312
Input Buffers:
        buf[0]: 2 (1430 bytes) ptr=9ecb10
        buf[1]: 5 (1334 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (0 bytes) ptr=0
        buf[1]: 0 (0 bytes) ptr=0
sqCopyDescToken:
         type=2, size=0
         type=0, size=0
sqConnectSSL: Retaining 1334 token bytes
sqConnectSSL: input token 2666 bytes
sqConnectSSL: Input to InitSecCtxt is 4000 bytes
InitializeSecurityContext returned: 90312
Input Buffers:
        buf[0]: 2 (4000 bytes) ptr=9ecb10
        buf[1]: 5 (87 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (0 bytes) ptr=0
        buf[1]: 0 (0 bytes) ptr=0
sqCopyDescToken:
 n bytes
sqConnectSSL: input token 2666 bytes
sqConnectSSL: Input to InitSecCtxt is 4000 bytes
InitializeSecurityContext returned: 90312
Input Buffers:
        buf[0]: 2 (4000 bytes) ptr=9ecb10
        buf[1]: 5 (87 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (0 bytes) ptr=0
        buf[1]: 0 (0 bytes) ptr=0
sqCopyDescToken:
         type=2, size=0
         type=0, size=0
sqConnectSSL: Retaining 87 token bytes
sqConnectSSL: input token 72 bytes
sqConnectSSL: Input to InitSecCtxt is 159 bytes
InitializeSecurityContext returned: 90312
Input Buffers:
        buf[0]: 2 (159 bytes) ptr=9ecb10
        buf[1]: 0 (0 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (134 bytes) ptr=850af0
        buf[1]: 0 (0 bytes) ptr=0
sqCopyDescToken:
         type=2, size=134
         type=0, size=0
sqConnectSSL: input token 59 bytes
sqConnectSSL: Input to InitSecCtxt is 59 bytes
InitializeSecurityContext returned: 0
Input Buffers:
        buf[0]: 2 (59 bytes) ptr=9ecb10
        buf[1]: 0 (0 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (0 bytes) ptr=0
        buf[1]: 0 (0 bytes) ptr=0
sqConnectSSL: Maximum message size is 16384 bytes
sqExtractPeerName: Peer name is google.com
sqEncryptSSL: Encrypting 134 bytes
Header: 5; Data: 134; Trailer: 36
sqDecryptSSL: Input data 677 bytes
sqDecryptSSL: Decrypting 677 bytes
buf[0]: 7 (5 bytes) ptr=9ecb10
buf[1]: 1 (648 bytes) ptr=9ecb15
buf[2]: 6 (24 bytes) ptr=9ecd9d
buf[3]: 0 (0 bytes) ptr=0
sqSetStringPropertySSL(2): www.google.fr
sqConnectSSL: input token 0 bytes
sqConnectSSL: Input to InitSecCtxt is 0 bytes
AquireCredentialsHandle returned: 0
InitializeSecurityContext returned: 90312
Input Buffers:
        buf[0]: 2 (0 bytes) ptr=0
        buf[1]: 0 (0 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (125 bytes) ptr=864458
        buf[1]: 0 (0 bytes) ptr=0
sqCopyDescToken:
         type=2, size=125
         type=0, size=0
sqConnectSSL: input token 1430 bytes
sqConnectSSL: Input to InitSecCtxt is 1430 bytes
InitializeSecurityContext returned: 90312
Input Buffers:
        buf[0]: 2 (1430 bytes) ptr=9edf88
        buf[1]: 5 (1334 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (0 bytes) ptr=0
        buf[1]: 0 (0 bytes) ptr=0
sqCopyDescToken:
         type=2, size=0
         type=0, size=0
sqConnectSSL: Retaining 1334 token bytes
sqConnectSSL: input token 2666 bytes
sqConnectSSL: Input to InitSecCtxt is 4000 bytes
InitializeSecurityContext returned: 90312
Input Buffers:
        buf[0]: 2 (4000 bytes) ptr=9edf88
        buf[1]: 5 (87 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (0 bytes) ptr=0
        buf[1]: 0 (0 bytes) ptr=0
sqCopyDescToken:
         type=2, size=0
         type=0, size=0
sqConnectSSL: Retaining 87 token bytes
sqConnectSSL: input token 73 bytes
sqConnectSSL: Input to InitSecCtxt is 160 bytes
InitializeSecurityContext returned: 90312
Input Buffers:
        buf[0]: 2 (160 bytes) ptr=9edf88
        buf[1]: 0 (0 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (134 bytes) ptr=864458
        buf[1]: 0 (0 bytes) ptr=0
sqCopyDescToken:
         type=2, size=134
         type=0, size=0
sqConnectSSL: input token 59 bytes
sqConnectSSL: Input to InitSecCtxt is 59 bytes
InitializeSecurityContext returned: 0
Input Buffers:
        buf[0]: 2 (59 bytes) ptr=9edf88
        buf[1]: 0 (0 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (0 bytes) ptr=0
        buf[1]: 0 (0 bytes) ptr=0
sqConnectSSL: Maximum message size is 16384 bytes
sqExtractPeerName: Peer name is www.google.fr
sqEncryptSSL: Encrypting 177 bytes
Header: 5; Data: 177; Trailer: 36
sqDecryptSSL: Input data 1429 bytes
sqDecryptSSL: Decrypting 1429 bytes
buf[0]: 7 (5 bytes) ptr=9edf88
buf[1]: 1 (1389 bytes) ptr=9edf8d
buf[2]: 6 (35 bytes) ptr=9ee4fa
buf[3]: 0 (0 bytes) ptr=0
sqDecryptSSL: Input data 4096 bytes
sqDecryptSSL: Decrypting 4096 bytes
buf[0]: 7 (5 bytes) ptr=9edf88
buf[1]: 1 (1389 bytes) ptr=9edf8d
buf[2]: 6 (2702 bytes) ptr=9ee4fa
buf[3]: 5 (2667 bytes) ptr=9ee51d
sqCopyExtraData: Retaining 2667 bytes
sqDecryptSSL: Input data 0 bytes
sqDecryptSSL: Decrypting 2667 bytes
buf[0]: 7 (5 bytes) ptr=9edf88
buf[1]: 1 (1389 bytes) ptr=9edf8d
buf[2]: 6 (1273 bytes) ptr=9ee4fa
buf[3]: 5 (1238 bytes) ptr=9ee51d
sqCopyExtraData: Retaining 1238 bytes
sqDecryptSSL: Input data 0 bytes
sqDecryptSSL: Decrypting 1238 bytes
buf[0]: 4 (127 bytes) ptr=9edf88
buf[1]: 4 (127 bytes) ptr=0
buf[2]: 0 (0 bytes) ptr=0
buf[3]: 0 (0 bytes) ptr=0
sqCopyExtra: Encountered SECBUFFER_MISSING; retaining 1238 bytes
sqDecryptSSL: Input data 164 bytes
sqDecryptSSL: Decrypting 1402 bytes
buf[0]: 7 (5 bytes) ptr=9edf88
buf[1]: 1 (1326 bytes) ptr=9edf8d
buf[2]: 6 (71 bytes) ptr=9ee4bb
buf[3]: 5 (37 bytes) ptr=9ee4dd
sqCopyExtraData: Retaining 37 bytes
sqDecryptSSL: Input data 0 bytes
sqDecryptSSL: Decrypting 37 bytes
buf[0]: 7 (5 bytes) ptr=9edf88
buf[1]: 1 (5 bytes) ptr=9edf8d
buf[2]: 6 (27 bytes) ptr=9edf92
buf[3]: 0 (0 bytes) ptr=0


Connecting to https://github.com :

sqSetStringPropertySSL(2): github.com
sqConnectSSL: input token 0 bytes
sqConnectSSL: Input to InitSecCtxt is 0 bytes
AquireCredentialsHandle returned: 0
InitializeSecurityContext returned: 90312
Input Buffers:
        buf[0]: 2 (0 bytes) ptr=0
        buf[1]: 0 (0 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (122 bytes) ptr=b12be8
        buf[1]: 0 (0 bytes) ptr=0
sqCopyDescToken:
         type=2, size=122
         type=0, size=0
sqConnectSSL: input token 7 bytes
sqConnectSSL: Input to InitSecCtxt is 7 bytes
InitializeSecurityContext returned: 80090302
Input Buffers:
        buf[0]: 2 (7 bytes) ptr=3cb48
        buf[1]: 0 (0 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (0 bytes) ptr=0
        buf[1]: 0 (0 bytes) ptr=0
Unexpected return code 2148074242
sqSetStringPropertySSL(2): github.com
sqConnectSSL: input token 0 bytes
sqConnectSSL: Input to InitSecCtxt is 0 bytes
AquireCredentialsHandle returned: 0
InitializeSecurityContext returned: 90312
Input Buffers:
        buf[0]: 2 (0 bytes) ptr=0
        buf[1]: 0 (0 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (122 bytes) ptr=b12be8
        buf[1]: 0 (0 bytes) ptr=0
sqCopyDescToken:
         type=2, size=122
         type=0, size=0


Note also that I do not get the same error on Squeak. Here I get:

ConnectionClosed: Connection closed while waiting for data.

Here is the details of what I used:

Image
-----
C:\Users\JeCisC\Downloads\squeak.cog.spur_win32x86_201804032021\Squeak5.1-16549-32bit.image
Squeak5.1
latest update: #16549
Current Change Set: Unnamed1
Image format 6521 (32 bit)

Virtual Machine
---------------
C:\Users\JeCisC\Downloads\squeak.cog.spur_win32x86_201804032021\SqueakConsole.exe
Croquet Closure Cog[Spur] VM [CoInterpreterPrimitives
VMMaker.oscog-eem.2361]
Win32 built on Apr  3 2018 20:27:42 GMT Compiler: 6.4.0
platform sources revision VM: 201804032021
https://github.com/OpenSmalltalk/opensmalltalk-vm.git $ Date: Tue Apr 3
13:21:02 2018 -0700 $ CommitHash: 0ce1378 $ Plugins: 201804032021
https://github.com/OpenSmalltalk/opensmalltalk-vm.git $
CoInterpreter VMMaker.oscog-eem.2361 uuid:
7ca2f89a-de70-422f-b92b-54f91ac4e47b Apr  3 2018
StackToRegisterMappingCogit VMMaker.oscog-eem.2361 uuid:
7ca2f89a-de70-422f-b92b-54f91ac4e47b Apr  3 2018

Operating System/Hardware
-------------------------
Win32 6.1 IX86

Operating System Details
------------------------
Operating System: Windows 7 Professional N (Build 7601 Service Pack 1)
        SP major version: 1
        SP minor version: 0
        Suite mask: 100
        Product type: 1



--
Cyril Ferlicot
https://ferlicot.fr

Reply | Threaded
Open this post in threaded view
|

Re: SSL error on windows 7

Nicolas Cellier
 
Just in case, if things are getting hard to debug, note that Microsoft still is providing virtual machines with temporary licenses for testing IE/Edge
https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/

2018-04-05 1:48 GMT+02:00 Cyril Ferlicot D <[hidden email]>:

Le 04/04/2018 à 18:36, Tobias Pape a écrit :
> I tried on windows 8.1 because it's the only one I have.
>
> Can you get me the output from both connections for squeak, also?
>
> Best regards -Tobias
>

Hi Tobias,

Since I never used Squeak and since you gave only the code for Pharo I
had to search a little but at the end I think I found how to active the
logs :)

Connecting to https://google.com :

sqSetStringPropertySSL(2): google.com
sqConnectSSL: input token 0 bytes
sqConnectSSL: Input to InitSecCtxt is 0 bytes
AquireCredentialsHandle returned: 0
InitializeSecurityContext returned: 90312
Input Buffers:
        buf[0]: 2 (0 bytes) ptr=0
        buf[1]: 0 (0 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (122 bytes) ptr=850af0
        buf[1]: 0 (0 bytes) ptr=0
sqCopyDescToken:
         type=2, size=122
         type=0, size=0
sqConnectSSL: input token 1430 bytes
sqConnectSSL: Input to InitSecCtxt is 1430 bytes
InitializeSecurityContext returned: 90312
Input Buffers:
        buf[0]: 2 (1430 bytes) ptr=9ecb10
        buf[1]: 5 (1334 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (0 bytes) ptr=0
        buf[1]: 0 (0 bytes) ptr=0
sqCopyDescToken:
         type=2, size=0
         type=0, size=0
sqConnectSSL: Retaining 1334 token bytes
sqConnectSSL: input token 2666 bytes
sqConnectSSL: Input to InitSecCtxt is 4000 bytes
InitializeSecurityContext returned: 90312
Input Buffers:
        buf[0]: 2 (4000 bytes) ptr=9ecb10
        buf[1]: 5 (87 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (0 bytes) ptr=0
        buf[1]: 0 (0 bytes) ptr=0
sqCopyDescToken:
         type=2, size=0
         type=0, size=0
sqConnectSSL: Retaining 87 token bytes
sqConnectSSL: input token 72 bytes
sqConnectSSL: Input to InitSecCtxt is 159 bytes
InitializeSecurityContext returned: 90312
Input Buffers:
        buf[0]: 2 (159 bytes) ptr=9ecb10
        buf[1]: 0 (0 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (134 bytes) ptr=850af0
        buf[1]: 0 (0 bytes) ptr=0
sqCopyDescToken:
         type=2, size=134
         type=0, size=0
sqConnectSSL: input token 59 bytes
sqConnectSSL: Input to InitSecCtxt is 59 bytes
InitializeSecurityContext returned: 0
Input Buffers:
        buf[0]: 2 (59 bytes) ptr=9ecb10
        buf[1]: 0 (0 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (0 bytes) ptr=0
        buf[1]: 0 (0 bytes) ptr=0
sqConnectSSL: Maximum message size is 16384 bytes
sqExtractPeerName: Peer name is google.com
sqEncryptSSL: Encrypting 134 bytes
Header: 5; Data: 134; Trailer: 36
sqDecryptSSL: Input data 677 bytes
sqDecryptSSL: Decrypting 677 bytes
buf[0]: 7 (5 bytes) ptr=9ecb10
buf[1]: 1 (648 bytes) ptr=9ecb15
buf[2]: 6 (24 bytes) ptr=9ecd9d
buf[3]: 0 (0 bytes) ptr=0
sqSetStringPropertySSL(2): www.google.fr
sqConnectSSL: input token 0 bytes
sqConnectSSL: Input to InitSecCtxt is 0 bytes
AquireCredentialsHandle returned: 0
InitializeSecurityContext returned: 90312
Input Buffers:
        buf[0]: 2 (0 bytes) ptr=0
        buf[1]: 0 (0 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (125 bytes) ptr=864458
        buf[1]: 0 (0 bytes) ptr=0
sqCopyDescToken:
         type=2, size=125
         type=0, size=0
sqConnectSSL: input token 1430 bytes
sqConnectSSL: Input to InitSecCtxt is 1430 bytes
InitializeSecurityContext returned: 90312
Input Buffers:
        buf[0]: 2 (1430 bytes) ptr=9edf88
        buf[1]: 5 (1334 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (0 bytes) ptr=0
        buf[1]: 0 (0 bytes) ptr=0
sqCopyDescToken:
         type=2, size=0
         type=0, size=0
sqConnectSSL: Retaining 1334 token bytes
sqConnectSSL: input token 2666 bytes
sqConnectSSL: Input to InitSecCtxt is 4000 bytes
InitializeSecurityContext returned: 90312
Input Buffers:
        buf[0]: 2 (4000 bytes) ptr=9edf88
        buf[1]: 5 (87 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (0 bytes) ptr=0
        buf[1]: 0 (0 bytes) ptr=0
sqCopyDescToken:
         type=2, size=0
         type=0, size=0
sqConnectSSL: Retaining 87 token bytes
sqConnectSSL: input token 73 bytes
sqConnectSSL: Input to InitSecCtxt is 160 bytes
InitializeSecurityContext returned: 90312
Input Buffers:
        buf[0]: 2 (160 bytes) ptr=9edf88
        buf[1]: 0 (0 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (134 bytes) ptr=864458
        buf[1]: 0 (0 bytes) ptr=0
sqCopyDescToken:
         type=2, size=134
         type=0, size=0
sqConnectSSL: input token 59 bytes
sqConnectSSL: Input to InitSecCtxt is 59 bytes
InitializeSecurityContext returned: 0
Input Buffers:
        buf[0]: 2 (59 bytes) ptr=9edf88
        buf[1]: 0 (0 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (0 bytes) ptr=0
        buf[1]: 0 (0 bytes) ptr=0
sqConnectSSL: Maximum message size is 16384 bytes
sqExtractPeerName: Peer name is www.google.fr
sqEncryptSSL: Encrypting 177 bytes
Header: 5; Data: 177; Trailer: 36
sqDecryptSSL: Input data 1429 bytes
sqDecryptSSL: Decrypting 1429 bytes
buf[0]: 7 (5 bytes) ptr=9edf88
buf[1]: 1 (1389 bytes) ptr=9edf8d
buf[2]: 6 (35 bytes) ptr=9ee4fa
buf[3]: 0 (0 bytes) ptr=0
sqDecryptSSL: Input data 4096 bytes
sqDecryptSSL: Decrypting 4096 bytes
buf[0]: 7 (5 bytes) ptr=9edf88
buf[1]: 1 (1389 bytes) ptr=9edf8d
buf[2]: 6 (2702 bytes) ptr=9ee4fa
buf[3]: 5 (2667 bytes) ptr=9ee51d
sqCopyExtraData: Retaining 2667 bytes
sqDecryptSSL: Input data 0 bytes
sqDecryptSSL: Decrypting 2667 bytes
buf[0]: 7 (5 bytes) ptr=9edf88
buf[1]: 1 (1389 bytes) ptr=9edf8d
buf[2]: 6 (1273 bytes) ptr=9ee4fa
buf[3]: 5 (1238 bytes) ptr=9ee51d
sqCopyExtraData: Retaining 1238 bytes
sqDecryptSSL: Input data 0 bytes
sqDecryptSSL: Decrypting 1238 bytes
buf[0]: 4 (127 bytes) ptr=9edf88
buf[1]: 4 (127 bytes) ptr=0
buf[2]: 0 (0 bytes) ptr=0
buf[3]: 0 (0 bytes) ptr=0
sqCopyExtra: Encountered SECBUFFER_MISSING; retaining 1238 bytes
sqDecryptSSL: Input data 164 bytes
sqDecryptSSL: Decrypting 1402 bytes
buf[0]: 7 (5 bytes) ptr=9edf88
buf[1]: 1 (1326 bytes) ptr=9edf8d
buf[2]: 6 (71 bytes) ptr=9ee4bb
buf[3]: 5 (37 bytes) ptr=9ee4dd
sqCopyExtraData: Retaining 37 bytes
sqDecryptSSL: Input data 0 bytes
sqDecryptSSL: Decrypting 37 bytes
buf[0]: 7 (5 bytes) ptr=9edf88
buf[1]: 1 (5 bytes) ptr=9edf8d
buf[2]: 6 (27 bytes) ptr=9edf92
buf[3]: 0 (0 bytes) ptr=0


Connecting to https://github.com :

sqSetStringPropertySSL(2): github.com
sqConnectSSL: input token 0 bytes
sqConnectSSL: Input to InitSecCtxt is 0 bytes
AquireCredentialsHandle returned: 0
InitializeSecurityContext returned: 90312
Input Buffers:
        buf[0]: 2 (0 bytes) ptr=0
        buf[1]: 0 (0 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (122 bytes) ptr=b12be8
        buf[1]: 0 (0 bytes) ptr=0
sqCopyDescToken:
         type=2, size=122
         type=0, size=0
sqConnectSSL: input token 7 bytes
sqConnectSSL: Input to InitSecCtxt is 7 bytes
InitializeSecurityContext returned: 80090302
Input Buffers:
        buf[0]: 2 (7 bytes) ptr=3cb48
        buf[1]: 0 (0 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (0 bytes) ptr=0
        buf[1]: 0 (0 bytes) ptr=0
Unexpected return code 2148074242
sqSetStringPropertySSL(2): github.com
sqConnectSSL: input token 0 bytes
sqConnectSSL: Input to InitSecCtxt is 0 bytes
AquireCredentialsHandle returned: 0
InitializeSecurityContext returned: 90312
Input Buffers:
        buf[0]: 2 (0 bytes) ptr=0
        buf[1]: 0 (0 bytes) ptr=0
        buf[2]: 0 (0 bytes) ptr=0
        buf[3]: 0 (0 bytes) ptr=0
Output Buffers:
        buf[0]: 2 (122 bytes) ptr=b12be8
        buf[1]: 0 (0 bytes) ptr=0
sqCopyDescToken:
         type=2, size=122
         type=0, size=0


Note also that I do not get the same error on Squeak. Here I get:

ConnectionClosed: Connection closed while waiting for data.

Here is the details of what I used:

Image
-----
C:\Users\JeCisC\Downloads\squeak.cog.spur_win32x86_201804032021\Squeak5.1-16549-32bit.image
Squeak5.1
latest update: #16549
Current Change Set: Unnamed1
Image format 6521 (32 bit)

Virtual Machine
---------------
C:\Users\JeCisC\Downloads\squeak.cog.spur_win32x86_201804032021\SqueakConsole.exe
Croquet Closure Cog[Spur] VM [CoInterpreterPrimitives
VMMaker.oscog-eem.2361]
Win32 built on Apr  3 2018 20:27:42 GMT Compiler: 6.4.0
platform sources revision VM: 201804032021
https://github.com/OpenSmalltalk/opensmalltalk-vm.git $ Date: Tue Apr 3
13:21:02 2018 -0700 $ CommitHash: 0ce1378 $ Plugins: 201804032021
https://github.com/OpenSmalltalk/opensmalltalk-vm.git $
CoInterpreter VMMaker.oscog-eem.2361 uuid:
7ca2f89a-de70-422f-b92b-54f91ac4e47b Apr  3 2018
StackToRegisterMappingCogit VMMaker.oscog-eem.2361 uuid:
7ca2f89a-de70-422f-b92b-54f91ac4e47b Apr  3 2018

Operating System/Hardware
-------------------------
Win32 6.1 IX86

Operating System Details
------------------------
Operating System: Windows 7 Professional N (Build 7601 Service Pack 1)
        SP major version: 1
        SP minor version: 0
        Suite mask: 100
        Product type: 1



--
Cyril Ferlicot
https://ferlicot.fr


Reply | Threaded
Open this post in threaded view
|

Re: SSL error on windows 7

Cyril Ferlicot D
In reply to this post by Tobias Pape
 
Le 04/04/2018 à 18:36, Tobias Pape a écrit :

>  
> Hi
>
> True.
>
> I tried on windows 8.1 because it's the only one I have.
>
> Can you get me the output from both connections for squeak, also?
>
> Best regards
> -Tobias
>

Hi,

Is there any progress on this problem? If you need more info you can
tell me what I can do to get you the infos.

Since it happens when getting github URLs it make it impossible to load
projects hosted on github :(

--
Cyril Ferlicot
https://ferlicot.fr

Reply | Threaded
Open this post in threaded view
|

Re: SSL error on windows 7

Jakob Reschke
 
I have also experienced ConnectionClosed problems in Squeak when pushing/posting something to GitHub via https. The problem appears more often on slower machines or when the amount of data in the request is bigger. github.com is the only site where I observed this error so far.

Cannot tell whether this is related to SqueakSSL or to something in the Squeak image, though.

Cyril Ferlicot D <[hidden email]> schrieb am Do., 12. Apr. 2018, 00:38:
 
Le 04/04/2018 à 18:36, Tobias Pape a écrit :

> Hi
>
> True.
>
> I tried on windows 8.1 because it's the only one I have.
>
> Can you get me the output from both connections for squeak, also?
>
> Best regards
>       -Tobias
>

Hi,

Is there any progress on this problem? If you need more info you can
tell me what I can do to get you the infos.

Since it happens when getting github URLs it make it impossible to load
projects hosted on github :(

--
Cyril Ferlicot
https://ferlicot.fr

Reply | Threaded
Open this post in threaded view
|

Re: SSL error on windows 7

Cyril Ferlicot D
In reply to this post by Tobias Pape
 
Le 04/04/2018 à 18:36, Tobias Pape a écrit :

>  
> Hi
>
>
> True.
>
> I tried on windows 8.1 because it's the only one I have.
>
> Can you get me the output from both connections for squeak, also?
>
> Best regards
> -Tobias
>

Hi,

Is there some new on this problem? Any way to help? (with almost no
experience on the VM)

--
Cyril Ferlicot
https://ferlicot.fr

Reply | Threaded
Open this post in threaded view
|

Re: SSL error on windows 7

Tobias Pape
 
Hi,

> On 23.04.2018, at 22:36, Cyril Ferlicot D <[hidden email]> wrote:
>
>
> Le 04/04/2018 à 18:36, Tobias Pape a écrit :
>>
>> Hi
>>
>>
>> True.
>>
>> I tried on windows 8.1 because it's the only one I have.
>>
>> Can you get me the output from both connections for squeak, also?
>>
>> Best regards
>> -Tobias
>>
>
> Hi,
>
> Is there some new on this problem? Any way to help? (with almost no
> experience on the VM)

Currently, I have no time at all. I have someone look at it, tho. I don't know when I'll have a fix, sorry :(

Best regards
        -tobias

>
> --
> Cyril Ferlicot
> https://ferlicot.fr
>

Reply | Threaded
Open this post in threaded view
|

Re: SSL error on windows 7

Stephan Eggermont-3
 
Tobias Pape <[hidden email]> wrote:
>
> Is there some new on this problem? Any way to help? (with almost no
> experience on the VM)

Currently, I have no time at all. I have someone look at it, tho. I don't
know when I'll have a fix, sorry :(

Is this relevant?

https://github.com/rust-lang/cargo/issues/5066

Stephan




Reply | Threaded
Open this post in threaded view
|

Re: SSL error on windows 7

Tobias Pape
 

> On 22.05.2018, at 17:15, Stephan Eggermont <[hidden email]> wrote:
>
>
> Tobias Pape <[hidden email]> wrote:
>>
>> Is there some new on this problem? Any way to help? (with almost no
>> experience on the VM)
>
> Currently, I have no time at all. I have someone look at it, tho. I don't
> know when I'll have a fix, sorry :(
>
> Is this relevant?
>
> https://github.com/rust-lang/cargo/issues/5066
>

Yes, this sounds perfectly reasonable.
I wonder what a proper way to deal with that would be……

Best regards
        -Tobias


> Stephan
>
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: SSL error on windows 7

Stephan Eggermont-3
 
Tobias Pape <[hidden email]> wrote:
>  

> On 22.05.2018, at 17:15, Stephan Eggermont <[hidden email]> wrote:
>
> Is this relevant?
>
> https://github.com/rust-lang/cargo/issues/5066
>

Yes, this sounds perfectly reasonable.
I wonder what a proper way to deal with that would be……

Especially as the machine I have this problem on is a corporate one...

Stephan


Reply | Threaded
Open this post in threaded view
|

Re: SSL error on windows 7

Tobias Pape
 

> On 22.05.2018, at 19:19, Stephan Eggermont <[hidden email]> wrote:
>
>
> Tobias Pape <[hidden email]> wrote:
>>
>
>> On 22.05.2018, at 17:15, Stephan Eggermont <[hidden email]> wrote:
>>
>> Is this relevant?
>>
>> https://github.com/rust-lang/cargo/issues/5066
>>
>
> Yes, this sounds perfectly reasonable.
> I wonder what a proper way to deal with that would be……
>
> Especially as the machine I have this problem on is a corporate one...

Re-reading, it may not help, either :(
This whole thing talks about WinHTTP, while we use Schannel directly.
However, the trigger seems to be similar and the underlying reason related:

TLS 1.1 and 1.2 are simply not enabled by default in Windows 7:

        https://www.smartftp.com/support/kb/enable-tls-12-on-windows-7-f2679.html

However, reading

        https://support.microsoft.com/en-us/help/245030/how-to-restrict-the-use-of-certain-cryptographic-algorithms-and-protoc

indicates
"To enable the system to use the protocols that will not be negotiated by default (such as TLS 1.1 and TLS 1.2), change the DWORD value data of the DisabledByDefault value to 0x0 in the following registry keys under the Protocols key:

        • SCHANNEL\Protocols\TLS 1.1\Client
        • SCHANNEL\Protocols\TLS 1.1\Server
        • SCHANNEL\Protocols\TLS 1.2\Client
        • SCHANNEL\Protocols\TLS 1.2\Server
Warning The DisabledByDefault value in the registry keys under the Protocols key does not take precedence over the grbitEnabledProtocols value that is defined in the SCHANNEL_CRED structure that contains the data for an Schannel credential."

Ahaa. we have

        sc_cred.grbitEnabledProtocols = server ? SP_PROT_TLS1_SERVER | SP_PROT_SSL3_SERVER : 0;

Lemme see.

Ok, please test 90e663ad7 when appveyor is done :)

Thanks a lot, Stephan, thanks to you, this only took 10 minutes or so..

Best regards
        -Tobias


Reply | Threaded
Open this post in threaded view
|

Re: SSL error on windows 7

Stephan Eggermont-3
 
Tobias Pape <[hidden email]> wrote:
>  

Ok, please test 90e663ad7 when appveyor is done :)

Thanks a lot, Stephan, thanks to you, this only took 10 minutes or so..

Nice. Works for me.

Stephan


Reply | Threaded
Open this post in threaded view
|

Re: SSL error on windows 7

Tobias Pape
 

> On 23.05.2018, at 10:30, Stephan Eggermont <[hidden email]> wrote:
>
>
> Tobias Pape <[hidden email]> wrote:
>>
>
> Ok, please test 90e663ad7 when appveyor is done :)
>
> Thanks a lot, Stephan, thanks to you, this only took 10 minutes or so..
>
> Nice. Works for me.


\o/

Best regards
        -Tobias

PS: your mail client seems to scramble replies Oo

>
> Stephan
>
>