[squeak-dev] https

Tobias Pape Das.Linux at gmx.de
Mon Feb 12 19:16:02 UTC 2018


Hey Phil
> On 12.02.2018, at 18:31, Phil B <pbpublist at gmail.com> wrote:
> 
> Tobias,
> 
> Building no longer works for me either...
> 

You are right there, I have _not_ tested the build with openssl 1.1, as I had it nowhere to test.

What happened here is that OpenSSL did a refactoring to a lot of names which I have not yet picked up, sorry.

Travis-CI is used to generate the pre-built binaries, and they use Ubuntu (ie, debian-based) and Debian stable has nothing newer than 1.0.2; actually, on Travis-CI, there is OpenSSL 0.9.8.

I gotta fix that…

BTW: what is your distro?

Best regards
	-Tobias

> When running build.linux64x64/squeak.cog.spur/build/mvm (with libssl-dev 1.1.0f-3 installed) I get the following:
> 
> In file included from /sqvm20180210/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c:4:0:
> /sqvm20180210/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c: In function 'sqVerifyNameInner':
> /sqvm20180210/platforms/unix/plugins/SqueakSSL/openssl_overlay.h:120:45: warning: implicit declaration of function 'CHECKED_STACK_OF' [-Wimplicit-function-declaration]
> #define sqo_SKM_sk_num(type, st) sqo_sk_num(CHECKED_STACK_OF(type, st))
>                                             ^
> /sqvm20180210/platforms/unix/plugins/SqueakSSL/openssl_overlay.h:124:37: note: in expansion of macro 'sqo_SKM_sk_num'
> #define sqo_sk_GENERAL_NAME_num(st) sqo_SKM_sk_num(GENERAL_NAME, (st))
>                                     ^~~~~~~~~~~~~~
> /sqvm20180210/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c:107:18: note: in expansion of macro 'sqo_sk_GENERAL_NAME_num'
>   int sANCount = sqo_sk_GENERAL_NAME_num(sANs);
>                  ^~~~~~~~~~~~~~~~~~~~~~~
> /sqvm20180210/platforms/unix/plugins/SqueakSSL/openssl_overlay.h:124:52: error: expected expression before 'GENERAL_NAME'
> #define sqo_sk_GENERAL_NAME_num(st) sqo_SKM_sk_num(GENERAL_NAME, (st))
>                                                    ^
> /sqvm20180210/platforms/unix/plugins/SqueakSSL/openssl_overlay.h:120:62: note: in definition of macro 'sqo_SKM_sk_num'
> #define sqo_SKM_sk_num(type, st) sqo_sk_num(CHECKED_STACK_OF(type, st))
>                                                              ^~~~
> /sqvm20180210/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c:107:18: note: in expansion of macro 'sqo_sk_GENERAL_NAME_num'
>   int sANCount = sqo_sk_GENERAL_NAME_num(sANs);
>                  ^~~~~~~~~~~~~~~~~~~~~~~
> /sqvm20180210/platforms/unix/plugins/SqueakSSL/openssl_overlay.h:125:59: error: expected expression before 'GENERAL_NAME'
> #define sqo_sk_GENERAL_NAME_value(st, i) sqo_SKM_sk_value(GENERAL_NAME, (st), (i))
>                                                           ^
> /sqvm20180210/platforms/unix/plugins/SqueakSSL/openssl_overlay.h:121:77: note: in definition of macro 'sqo_SKM_sk_value'
> #define sqo_SKM_sk_value(type, st,i) ((type *)sqo_sk_value(CHECKED_STACK_OF(type, st), i))
>                                                                             ^~~~
> /sqvm20180210/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c:109:30: note: in expansion of macro 'sqo_sk_GENERAL_NAME_value'
>    const GENERAL_NAME* sAN = sqo_sk_GENERAL_NAME_value(sANs, i);
>                              ^~~~~~~~~~~~~~~~~~~~~~~~~
> /sqvm20180210/platforms/unix/plugins/SqueakSSL/openssl_overlay.h:127:73: error: expected expression before 'GENERAL_NAME'
> #define sqo_sk_GENERAL_NAME_pop_free(st, free_func) sqo_SKM_sk_pop_free(GENERAL_NAME, (st), (free_func))
>                                                                         ^
> /sqvm20180210/platforms/unix/plugins/SqueakSSL/openssl_overlay.h:123:83: note: in definition of macro 'sqo_SKM_sk_pop_free'
> #define sqo_SKM_sk_pop_free(type, st, free_func) sqo_sk_pop_free(CHECKED_STACK_OF(type, st), CHECKED_SK_FREE_FUNC(type, free_func))
>                                                                                   ^~~~
> /sqvm20180210/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c:116:3: note: in expansion of macro 'sqo_sk_GENERAL_NAME_pop_free'
>   sqo_sk_GENERAL_NAME_pop_free(sANs, (void(*)(void*))sqo_sk_free);
>   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /sqvm20180210/platforms/unix/plugins/SqueakSSL/openssl_overlay.h:123:94: warning: implicit declaration of function 'CHECKED_SK_FREE_FUNC' [-Wimplicit-function-declaration]
> #define sqo_SKM_sk_pop_free(type, st, free_func) sqo_sk_pop_free(CHECKED_STACK_OF(type, st), CHECKED_SK_FREE_FUNC(type, free_func))
>                                                                                              ^
> /sqvm20180210/platforms/unix/plugins/SqueakSSL/openssl_overlay.h:127:53: note: in expansion of macro 'sqo_SKM_sk_pop_free'
> #define sqo_sk_GENERAL_NAME_pop_free(st, free_func) sqo_SKM_sk_pop_free(GENERAL_NAME, (st), (free_func))
>                                                     ^~~~~~~~~~~~~~~~~~~
> /sqvm20180210/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c:116:3: note: in expansion of macro 'sqo_sk_GENERAL_NAME_pop_free'
>   sqo_sk_GENERAL_NAME_pop_free(sANs, (void(*)(void*))sqo_sk_free);
>   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /sqvm20180210/platforms/unix/plugins/SqueakSSL/openssl_overlay.h:127:73: error: expected expression before 'GENERAL_NAME'
> #define sqo_sk_GENERAL_NAME_pop_free(st, free_func) sqo_SKM_sk_pop_free(GENERAL_NAME, (st), (free_func))
>                                                                         ^
> /sqvm20180210/platforms/unix/plugins/SqueakSSL/openssl_overlay.h:123:115: note: in definition of macro 'sqo_SKM_sk_pop_free'
> #define sqo_SKM_sk_pop_free(type, st, free_func) sqo_sk_pop_free(CHECKED_STACK_OF(type, st), CHECKED_SK_FREE_FUNC(type, free_func))
>                                                                                                                   ^~~~
> /sqvm20180210/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c:116:3: note: in expansion of macro 'sqo_sk_GENERAL_NAME_pop_free'
>   sqo_sk_GENERAL_NAME_pop_free(sANs, (void(*)(void*))sqo_sk_free);
>   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /sqvm20180210/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c: In function 'sqSetupSSL':
> /sqvm20180210/platforms/unix/plugins/SqueakSSL/openssl_overlay.h:119:64: error: 'SSL_CTRL_OPTIONS' undeclared (first use in this function)
> #define sqo_SSL_CTX_set_options(ctx,op) sqo_SSL_CTX_ctrl((ctx),SSL_CTRL_OPTIONS,(op),NULL)
>                                                                ^
> /sqvm20180210/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c:235:2: note: in expansion of macro 'sqo_SSL_CTX_set_options'
>  sqo_SSL_CTX_set_options(ssl->ctx, SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3);
>  ^~~~~~~~~~~~~~~~~~~~~~~
> /sqvm20180210/platforms/unix/plugins/SqueakSSL/openssl_overlay.h:119:64: note: each undeclared identifier is reported only once for each function it appears in
> #define sqo_SSL_CTX_set_options(ctx,op) sqo_SSL_CTX_ctrl((ctx),SSL_CTRL_OPTIONS,(op),NULL)
>                                                                ^
> /sqvm20180210/platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c:235:2: note: in expansion of macro 'sqo_SSL_CTX_set_options'
>  sqo_SSL_CTX_set_options(ssl->ctx, SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3);
>  ^~~~~~~~~~~~~~~~~~~~~~~
> Makefile:193: recipe for target 'sqUnixOpenSSL.lo' failed
> make[1]: *** [sqUnixOpenSSL.lo] Error 1
> Makefile:546: recipe for target 'SqueakSSL.la' failed
> make: *** [SqueakSSL.la] Error 2
> 
> 
> On Feb 6, 2018 7:28 PM, "Tobias Pape" <Das.Linux at gmx.de> wrote:
> 
>> On 07.02.2018, at 01:14, Phil B <pbpublist at gmail.com> wrote:
>> 
>> I'll give it a shot.  Really, I'm not at all surprised to be having an SSL issue on Debian as I previously went over a year not being able to use the builds specifically due to a Ubuntu/Debian SSL lib version incompatibility (I *really* wish the Linux VM builds were statically linked as out of distro shared lib builds are just begging to break.  Been dealing with this sort of thing since the early 90s on Linux)
> 
> That's exactly why I made some changes.
> SqueakSSL is now neither statically (I hd that, but there were issues and legal is unclear) nor dynamically linked agains libssl, but rather loads libssl at runtime...
> 
> Best regards
>        -Tobias
> 
> 
>> 
>> On Feb 6, 2018 7:00 PM, "Tobias Pape" <Das.Linux at gmx.de> wrote:
>> Hi Phil,
>> 
>>> On 07.02.2018, at 00:50, Phil B <pbpublist at gmail.com> wrote:
>>> 
>>> /usr/lib/i386-linux-gnu/libssl.so.1.0.0
>>> /usr/lib/i386-linux-gnu/libssl.so.1.0.2
>>> /usr/lib/i386-linux-gnu/libssl.so.1.1
>>> /usr/lib/i386-linux-gnu/i586/libssl.so.1.0.0
>>> /usr/lib/i386-linux-gnu/i686/cmov/libssl.so.1.0.0
>> 
>> Good!
>> Or not, I'm puzzled ;)
>> Could you please compile/run a debug-vm? It has some output, maybe it helps :)
>> 
>> Best regards
>>        -Tobias
>> 
>> 
>>> 
>>> 
>>> On Feb 6, 2018 5:56 PM, "Tobias Pape" <Das.Linux at gmx.de> wrote:
>>> 
>>> Hi Phil,
>>> 
>>>> On 06.02.2018, at 23:49, Phil B <pbpublist at gmail.com> wrote:
>>>> 
>>>> It never gets that far (i.e. to log anything): the error occurs in #primitiveSSLCreate and there is no log output.  I've confirmed that the plugin exists in the 20180206 VM (and the image appears to be otherwise working).  When I switch back to the 20171214 build with the same image, no error loading the plugin (other than the issue we're discussing re: some urls failing with -5)
>>> 
>>> can you give me the output of "locate libssl.so"?
>>> 
>>> Best regards
>>>        -Tobias
>>> 
>>>> 
>>>> On Feb 6, 2018 4:43 PM, "Tobias Pape" <Das.Linux at gmx.de> wrote:
>>>> Hi Phil
>>>>> On 06.02.2018, at 22:26, Phil B <pbpublist at gmail.com> wrote:
>>>>> 
>>>>> Tobias,
>>>>> 
>>>>> I tried the 32-bit 20180206 build and got Error: primitiveSSLCreate failed.  (I'd expect the same result on 64-bit but will give it a shot) This is using Cuis on Debian 9 stable.  Assuming there are no image-side changes needed, this is probably be a shared library issue as I've seen this in the past when the VM is built on/for Ubuntu which was using a different SSL lib version than Debian stable.  I'll try building a VM and report back the results (it will probably be late this week before I'll have time to get into it)
>>>> 
>>>> I have recently changed the SqueakSSL plugin. As long as you have libssl:i386 installed, everything should work.
>>>> Can you give me the console output with logLeve:1 again?
>>>> 
>>>> Best regards
>>>>        -Tobias
>>>> 
>>>>> 
>>>>> Thanks,
>>>>> Phil
>>>>> 
>>>>> On Feb 1, 2018 1:51 PM, "Tobias Pape" <Das.Linux at gmx.de> wrote:
>>>>> Hi Phil,
>>>>> 
>>>>> 
>>>>>> On 22.12.2017, at 21:29, Phil B <pbpublist at gmail.com> wrote:
>>>>>> 
>>>>>> Tobias,
>>>>>> 
>>>>>> I saw there was a recent change to the VM related to this issue so I downloaded a recent build from bintray (specifically the cogspurlinuxht 32- and 64-bit builds dated 201712142058) and tried them out on Debian 9. Unfortunately, this didn't seem to change very much for me (the majority of pages I was getting -5 on, I still do)
>>>>>> 
>>>>>> Here are a few sample urls I was having problems with:
>>>>>> https://blog.jessfraz.com/post/containers-zones-jails-vms
>>>>>> https://blog.keras.io/the-future-of-deep-learning.html
>>>>>> https://danluu.com/cpu-bugs
>>>>>> 
>>>>> 
>>>>> Can you try with one of the latest vms?
>>>>> 
>>>>> https://bintray.com/opensmalltalk/vm/cog/
>>>>> 
>>>>> Best regards
>>>>>        -Tobias
>>>>> 
>>>>>> Thanks,
>>>>>> Phil
>>>>>> 
>>>>>> On Aug 29, 2017 5:49 AM, "Tobias Pape" <Das.Linux at gmx.de> wrote:
>>>>>> Hi Phil
>>>>>> 
>>>>>>> On 24.08.2017, at 22:30, Phil B <pbpublist at gmail.com> wrote:
>>>>>>> 
>>>>>>> Also, if you ignore the name checking of the cert (i.e. just blindly accept it... dangerous to do with anything important) I've found that you'll often either get a connection timeout or -5 error from the plugin.  Not sure if this is specifically related to SAN support (i.e. is there additional negotiation that needs to be done?) or if there are some newer https features that need to be added...
>>>>>> 
>>>>>> can you tell me your platform and the plugin version you are using? I'd really like to get rid of those -5's :)
>>>>>> 
>>>>>> Best regard
>>>>>>        -tobias
>>>>>> 
>>>>>> 
>>>>>>> 
>>>>>>> On Aug 23, 2017 2:37 AM, "Marcel Taeumel" <marcel.taeumel at hpi.de> wrote:
>>>>>>> Note that due to incomplete or missing SAN support on some platforms, using alternative names can still raise a SqueakSSLCertificateError:
>>>>>>> 
>>>>>>> WebClient httpGet: 'https://google.com'
>>>>>>> 
>>>>>>> Best,
>>>>>>> Marcel
>>>>>>>> Am 22.08.2017 22:14:38 schrieb Ron Teitelbaum <ron at usmedrec.com>:
>>>>>>>> 
>>>>>>>> SqueakSSL
>>>>>>>> 
>>>>>>>> WebClient httpGet: 'https://www.google.com'
>>>>>>>> 
>>>>>>>> Ron
>>>>>>>> 
>>>>>>>> On Tue, Aug 22, 2017 at 3:09 PM, Eliot Miranda <eliot.miranda at gmail.com> wrote:
>>>>>>>> Hi All,
>>>>>>>> 
>>>>>>>>   what are people using for https support?
>>>>>>>> 
>>>>>>>> _,,,^..^,,,_
>>>>>>>> best, Eliot
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>> 
>>>> 
>>> 
>>> 
>> 
> 



More information about the Squeak-dev mailing list