SqueakSSL Plugin for Mac OS X

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

SqueakSSL Plugin for Mac OS X

Sven Van Caekenberghe
Hi,

Has anyone got the Squeak SSL plugin [1] to work on Mac OS X, more specifically for the Cog VM family, Pharo 1.1.1 or later and Mac OS X 10.6.5 ? If not, is there some how to guide on building plugins ?

TIA,

Sven

[1] http://www.squeaksource.com/SqueakSSL
Reply | Threaded
Open this post in threaded view
|

SqueakSSL Plugin for Mac OS X

Sven Van Caekenberghe

On 04 Jan 2011, at 18:16, Sven Van Caekenberghe wrote:

> Hi,
>
> Has anyone got the Squeak SSL plugin [1] to work on Mac OS X, more specifically for the Cog VM family, Pharo 1.1.1 or later and Mac OS X 10.6.5 ? If not, is there some how to guide on building plugins ?
>
> TIA,
>
> Sven
>
> [1] http://www.squeaksource.com/SqueakSSL

I have found the Google project website for the plugin:

        http://code.google.com/p/squeakssl/

where binary versions of the plugin can be downloaded for Windows, Mac and Linux.

I got this to work in a Cog VM on Mac OS X, however not without at least one problem:

SqueakSSL>>#certState always returns -1 on Mac OS X simply because this is hardcoded in sqMacSSL.c:

248: /* We are connected. Verify the cert. */
249: ssl->state = SQSSL_CONNECTED;
250: ssl->certFlags = -1;

While on Linux, in in sqUnixOpenSSL.c:

292:  /* Check the result of verification */
293:  result = SSL_get_verify_result(ssl->ssl);
294:  if(ssl->loglevel) printf("sqAcceptSSL: SSL_get_verify_result = %d\n", result);
295:  /* FIXME: Figure out the actual failure reason */
296:  ssl->certFlags = result ? SQSSL_OTHER_ISSUE : SQSSL_OK;

Still not a full implementation, but better (and others report SqueakSSL is working on Linux).
The OpenSSL calls used on Linux seem to exist identically on Mac OS X.
(BTW, there are two instances of this code in the C file.)

Changing the example code in SqueakSSL class>>google: to skip the certState check:

        "Verify that the cert is valid"
        ssl certState = 0 ifFalse:[
                self error: 'The certificate is invalid (code: ', ssl certState,')'.
        ].

Results in a working example.

If I only knew how to recompile the plugin I could try to build a better one, I have however never done this (nor built a VM).

Is there anybody else interested in helping out ?

Sven






Reply | Threaded
Open this post in threaded view
|

Re: SqueakSSL Plugin for Mac OS X

Igor Stasenko
It would be good to have it integrated into build system we are doing right now.

Esteban, currently working on making sure that most plugins can be
built and work with Cog VM.


On 9 January 2011 18:58, Sven Van Caekenberghe <[hidden email]> wrote:

>
> On 04 Jan 2011, at 18:16, Sven Van Caekenberghe wrote:
>
>> Hi,
>>
>> Has anyone got the Squeak SSL plugin [1] to work on Mac OS X, more specifically for the Cog VM family, Pharo 1.1.1 or later and Mac OS X 10.6.5 ? If not, is there some how to guide on building plugins ?
>>
>> TIA,
>>
>> Sven
>>
>> [1] http://www.squeaksource.com/SqueakSSL
>
> I have found the Google project website for the plugin:
>
>        http://code.google.com/p/squeakssl/
>
> where binary versions of the plugin can be downloaded for Windows, Mac and Linux.
>
> I got this to work in a Cog VM on Mac OS X, however not without at least one problem:
>
> SqueakSSL>>#certState always returns -1 on Mac OS X simply because this is hardcoded in sqMacSSL.c:
>
> 248:    /* We are connected. Verify the cert. */
> 249:    ssl->state = SQSSL_CONNECTED;
> 250:    ssl->certFlags = -1;
>
> While on Linux, in in sqUnixOpenSSL.c:
>
> 292:      /* Check the result of verification */
> 293:      result = SSL_get_verify_result(ssl->ssl);
> 294:      if(ssl->loglevel) printf("sqAcceptSSL: SSL_get_verify_result = %d\n", result);
> 295:      /* FIXME: Figure out the actual failure reason */
> 296:      ssl->certFlags = result ? SQSSL_OTHER_ISSUE : SQSSL_OK;
>
> Still not a full implementation, but better (and others report SqueakSSL is working on Linux).
> The OpenSSL calls used on Linux seem to exist identically on Mac OS X.
> (BTW, there are two instances of this code in the C file.)
>
> Changing the example code in SqueakSSL class>>google: to skip the certState check:
>
>        "Verify that the cert is valid"
>        ssl certState = 0 ifFalse:[
>                self error: 'The certificate is invalid (code: ', ssl certState,')'.
>        ].
>
> Results in a working example.
>
> If I only knew how to recompile the plugin I could try to build a better one, I have however never done this (nor built a VM).
>
> Is there anybody else interested in helping out ?
>
> Sven
>
>
>
>
>
>
>



--
Best regards,
Igor Stasenko AKA sig.