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
Hi Cyril
On 03.04.2018, at 15:26, Cyril Ferlicot D cyril@ferlicot.me 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
2018-04-04 11:05 GMT+02:00 Tobias Pape Das.Linux@gmx.de:
Hi Cyril
On 03.04.2018, at 15:26, Cyril Ferlicot D cyril@ferlicot.me 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
Hi All,
On 04.04.2018, at 11:50, Nicolas Cellier nicolas.cellier.aka.nice@gmail.com wrote:
2018-04-04 11:05 GMT+02:00 Tobias Pape Das.Linux@gmx.de:
Hi Cyril
On 03.04.2018, at 15:26, Cyril Ferlicot D cyril@ferlicot.me 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
On 4 April 2018 at 19:49, Tobias Pape Das.Linux@gmx.de wrote:
Hi All,
On 04.04.2018, at 11:50, Nicolas Cellier <nicolas.cellier.aka.nice@
gmail.com> wrote:
2018-04-04 11:05 GMT+02:00 Tobias Pape Das.Linux@gmx.de:
Hi Cyril
On 03.04.2018, at 15:26, Cyril Ferlicot D cyril@ferlicot.me 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... https://www.diffchecker.com/7zXgDn4Z
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
2018-04-04 13:49 GMT+02:00 Tobias Pape Das.Linux@gmx.de:
Hi All,
On 04.04.2018, at 11:50, Nicolas Cellier <nicolas.cellier.aka.nice@
gmail.com> wrote:
2018-04-04 11:05 GMT+02:00 Tobias Pape Das.Linux@gmx.de:
Hi Cyril
On 03.04.2018, at 15:26, Cyril Ferlicot D cyril@ferlicot.me 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.
Hi
On 04.04.2018, at 16:50, Nicolas Cellier nicolas.cellier.aka.nice@gmail.com 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
2018-04-04 18:36 GMT+02:00 Tobias Pape Das.Linux@gmx.de:
Hi
On 04.04.2018, at 16:50, Nicolas Cellier <nicolas.cellier.aka.nice@
gmail.com> 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
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
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 cyril@ferlicot.me:
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
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 :(
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 cyril@ferlicot.me 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
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)
Hi,
On 23.04.2018, at 22:36, Cyril Ferlicot D cyril@ferlicot.me 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
Tobias Pape Das.Linux@gmx.de 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
On 22.05.2018, at 17:15, Stephan Eggermont stephan@stack.nl wrote:
Tobias Pape Das.Linux@gmx.de 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?
Yes, this sounds perfectly reasonable. I wonder what a proper way to deal with that would be……
Best regards -Tobias
Stephan
Tobias Pape Das.Linux@gmx.de wrote:
On 22.05.2018, at 17:15, Stephan Eggermont stephan@stack.nl wrote:
Is this relevant?
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
On 22.05.2018, at 19:19, Stephan Eggermont stephan@stack.nl wrote:
Tobias Pape Das.Linux@gmx.de wrote:
On 22.05.2018, at 17:15, Stephan Eggermont stephan@stack.nl wrote:
Is this relevant?
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-c...
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
Tobias Pape Das.Linux@gmx.de 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
On 23.05.2018, at 10:30, Stephan Eggermont stephan@stack.nl wrote:
Tobias Pape Das.Linux@gmx.de 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
vm-dev@lists.squeakfoundation.org