SqueakSSL plugin v0.2.0 (was: Re: Fixes to the SqueakSSL Plugin)

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

SqueakSSL plugin v0.2.0 (was: Re: Fixes to the SqueakSSL Plugin)

Tobias Pape

Dear Smalltalkers

as a follow up to the SqueakSSL changes sent around yesterday…

On 21.04.2015, at 16:52, Tobias Pape <[hidden email]> wrote:

> Dear Smalltalkers
>
> Starting with Levente Uzonyi's patches to the Linux version
> of the SqueakSSL-Plugin, we (Marcel Taeumel and me) have
> ported this to the OS X and Windows version as well.
>
> Find three binaries[1] that can be used instead of
> the ones found on versions found on SqueakSSL's google code
> page.
> […]
> [1]: http://forum.world.st/file/n4820846/squeakssl.zip


… I'd like to thank Levente Uzonyi and Ron Teitelbaum for their
input and providing infrastructure.

I put together all files and have uploaded them to the new
(in the googlecode-export sense) SqueakSSL gitHub project:

        https://github.com/itsmeront/squeakssl/

And tagged a release as v0.2.0 with a Zip of all binaries (linux32/64,osx,windows)

        https://github.com/itsmeront/squeakssl/releases/tag/v0.2.0 

(scroll to bottom for the binaries zip: squeakssl_v0.2.0.zip)

I hope this comes in handy for anyone who wants to play around with that.

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

Re: SqueakSSL plugin v0.2.0 (was: Re: Fixes to the SqueakSSL Plugin)

Eliot Miranda-2
 
Hi Tobias, Levente and Marcel,

    I'm just integrating your v0.2.0 sources into Cog and I see that in sqDestroySSL at line 139 in the Cog version of sqUnixOpenSSL.c there's the line

    if(ssl->serverName) free(ssl->serverName);

but that's missing from the 0.2.0 version.  It looks to me like the Cog version is correct.  Is that a storage leak in 0.2.0 or am I misreading the code (sqSetStringPropertySSL), and the line should not be present?

On Wed, Apr 22, 2015 at 2:35 PM, <[hidden email]> wrote:

Dear Smalltalkers

as a follow up to the SqueakSSL changes sent around yesterday…

On 21.04.2015, at 16:52, Tobias Pape <[hidden email]> wrote:
> Dear Smalltalkers
>
> Starting with Levente Uzonyi's patches to the Linux version
> of the SqueakSSL-Plugin, we (Marcel Taeumel and me) have
> ported this to the OS X and Windows version as well.
>
> Find three binaries[1] that can be used instead of
> the ones found on versions found on SqueakSSL's google code
> page.
> […]
> [1]: http://forum.world.st/file/n4820846/squeakssl.zip


… I'd like to thank Levente Uzonyi and Ron Teitelbaum for their
input and providing infrastructure.

I put together all files and have uploaded them to the new
(in the googlecode-export sense) SqueakSSL gitHub project:

        https://github.com/itsmeront/squeakssl/

And tagged a release as v0.2.0 with a Zip of all binaries (linux32/64,osx,windows)

        https://github.com/itsmeront/squeakssl/releases/tag/v0.2.0

(scroll to bottom for the binaries zip: squeakssl_v0.2.0.zip)

I hope this comes in handy for anyone who wants to play around with that.

Best
        -Tobias



--
_,,,^..^,,,_
best, Eliot
Reply | Threaded
Open this post in threaded view
|

Re: SqueakSSL plugin v0.2.0 (was: Re: Fixes to the SqueakSSL Plugin)

Levente Uzonyi-2
 
Hi Eliot,

Yes, the github version lacks that line. My pull request[1] has this fix,
along with a few other fixes and improvments, but Tobias didn't like the
image-sided SAN certificate validation scheme, so none of those have been
merged.
In the meanwhile I've started rewriting a few things, like logging,
certificate serialization (so that it's accessible from the image), but
I still haven't finished domain name validation.

Levente

[1] https://github.com/itsmeront/squeakssl/pull/3/files

On Fri, 24 Jul 2015, Eliot Miranda wrote:

> Hi Tobias, Levente and Marcel,
>     I'm just integrating your v0.2.0 sources into Cog and I see that in sqDestroySSL at line 139 in the Cog version of sqUnixOpenSSL.c there's the line
>
>     if(ssl->serverName) free(ssl->serverName);
>
> but that's missing from the 0.2.0 version.  It looks to me like the Cog version is correct.  Is that a storage leak in 0.2.0 or am I misreading the code (sqSetStringPropertySSL), and the line should not be
> present?
>
> On Wed, Apr 22, 2015 at 2:35 PM, <[hidden email]> wrote:
>
>       Dear Smalltalkers
>
>       as a follow up to the SqueakSSL changes sent around yesterday…
>
>       On 21.04.2015, at 16:52, Tobias Pape <[hidden email]> wrote:
>       > Dear Smalltalkers
>       >
>       > Starting with Levente Uzonyi's patches to the Linux version
>       > of the SqueakSSL-Plugin, we (Marcel Taeumel and me) have
>       > ported this to the OS X and Windows version as well.
>       >
>       > Find three binaries[1] that can be used instead of
>       > the ones found on versions found on SqueakSSL's google code
>       > page.
>       > […]
>       > [1]: http://forum.world.st/file/n4820846/squeakssl.zip
>
>
>       … I'd like to thank Levente Uzonyi and Ron Teitelbaum for their
>       input and providing infrastructure.
>
>       I put together all files and have uploaded them to the new
>       (in the googlecode-export sense) SqueakSSL gitHub project:
>
>               https://github.com/itsmeront/squeakssl/
>
>       And tagged a release as v0.2.0 with a Zip of all binaries (linux32/64,osx,windows)
>
>               https://github.com/itsmeront/squeakssl/releases/tag/v0.2.0
>
>       (scroll to bottom for the binaries zip: squeakssl_v0.2.0.zip)
>
>       I hope this comes in handy for anyone who wants to play around with that.
>
>       Best
>               -Tobias
>
>
>
>
> --
> _,,,^..^,,,_
> best, Eliot
>
>
Reply | Threaded
Open this post in threaded view
|

Re: SqueakSSL plugin v0.2.0 (was: Re: Fixes to the SqueakSSL Plugin)

Eliot Miranda-2
 
Hi Levente,

On Fri, Jul 24, 2015 at 3:46 PM, Levente Uzonyi <[hidden email]> wrote:
Hi Eliot,

Yes, the github version lacks that line. My pull request[1] has this fix, along with a few other fixes and improvments, but Tobias didn't like the image-sided SAN certificate validation scheme, so none of those have been merged. In the meanwhile I've started rewriting a few things, like logging, certificate serialization (so that it's accessible from the image), but I still haven't finished domain name validation.

OK, I'll keep the version of sqUnixOpenSSL.c in Cog unchanged except for the use of SQSSL_VERSION for the version number.  Maybe you can integrate with the Cog version?  I like using %p instead of %lx, and the use of (long)aSqInt variable is I think unnecessary.  Whether sqInt is int or long it=ll get passed as a long to printf, so the noise is unnecessary.

Do you have installation instructions for LibreSSL and make flags for linux64 & linux32?



Levente

[1] https://github.com/itsmeront/squeakssl/pull/3/files


On Fri, 24 Jul 2015, Eliot Miranda wrote:

Hi Tobias, Levente and Marcel,
    I'm just integrating your v0.2.0 sources into Cog and I see that in sqDestroySSL at line 139 in the Cog version of sqUnixOpenSSL.c there's the line

    if(ssl->serverName) free(ssl->serverName);

but that's missing from the 0.2.0 version.  It looks to me like the Cog version is correct.  Is that a storage leak in 0.2.0 or am I misreading the code (sqSetStringPropertySSL), and the line should not be
present?

On Wed, Apr 22, 2015 at 2:35 PM, <[hidden email]> wrote:

      Dear Smalltalkers

      as a follow up to the SqueakSSL changes sent around yesterday…

      On 21.04.2015, at 16:52, Tobias Pape <[hidden email]> wrote:
      > Dear Smalltalkers
      >
      > Starting with Levente Uzonyi's patches to the Linux version
      > of the SqueakSSL-Plugin, we (Marcel Taeumel and me) have
      > ported this to the OS X and Windows version as well.
      >
      > Find three binaries[1] that can be used instead of
      > the ones found on versions found on SqueakSSL's google code
      > page.
      > […]
      > [1]: http://forum.world.st/file/n4820846/squeakssl.zip


      … I'd like to thank Levente Uzonyi and Ron Teitelbaum for their
      input and providing infrastructure.

      I put together all files and have uploaded them to the new
      (in the googlecode-export sense) SqueakSSL gitHub project:

              https://github.com/itsmeront/squeakssl/

      And tagged a release as v0.2.0 with a Zip of all binaries (linux32/64,osx,windows)

              https://github.com/itsmeront/squeakssl/releases/tag/v0.2.0

      (scroll to bottom for the binaries zip: squeakssl_v0.2.0.zip)

      I hope this comes in handy for anyone who wants to play around with that.

      Best
              -Tobias




--
_,,,^..^,,,_
best, Eliot




--
_,,,^..^,,,_
best, Eliot
Reply | Threaded
Open this post in threaded view
|

Re: SqueakSSL plugin v0.2.0 (was: Re: Fixes to the SqueakSSL Plugin)

David T. Lewis
 
On Fri, Jul 24, 2015 at 04:10:18PM -0700, Eliot Miranda wrote:

>  
> Hi Levente,
>
> On Fri, Jul 24, 2015 at 3:46 PM, Levente Uzonyi <[hidden email]> wrote:
>
> > Hi Eliot,
> >
> > Yes, the github version lacks that line. My pull request[1] has this fix,
> > along with a few other fixes and improvments, but Tobias didn't like the
> > image-sided SAN certificate validation scheme, so none of those have been
> > merged. In the meanwhile I've started rewriting a few things, like logging,
> > certificate serialization (so that it's accessible from the image), but I
> > still haven't finished domain name validation.
> >
>
> OK, I'll keep the version of sqUnixOpenSSL.c in Cog unchanged except for
> the use of SQSSL_VERSION for the version number.  Maybe you can integrate
> with the Cog version?  I like using %p instead of %lx, and the use of
> (long)aSqInt variable is I think unnecessary.  Whether sqInt is int or long
> it=ll get passed as a long to printf, so the noise is unnecessary.
>
> Do you have installation instructions for LibreSSL and make flags for
> linux64 & linux32?
>

Hi Eliot,

It should not be an issue for 32-bit Spur, but just as a heads up the
SqueakSSL plugin does not work for sizeof(sqInt) = 8. It does work for
a 64-bit VM with 32-bit image. I'm guessing that there are some variables
with default sqInt declarations that need to be explicitly declared int,
though I have not yet looked into it further.

Again, not an issue for Squeak 4.6/5.0 Cog and Spur VMs.

Dave

Reply | Threaded
Open this post in threaded view
|

Re: SqueakSSL plugin v0.2.0 (was: Re: Fixes to the SqueakSSL Plugin)

Tobias Pape
In reply to this post by Eliot Miranda-2

Hi all,

sorry for the late reply, there was university and family business :/

I now wade through the all yer (what's the explicit plural of your [think y'all])
mails and will reply individually.

Let's start:


On 24.07.2015, at 23:23, Eliot Miranda <[hidden email]> wrote:

> Hi Tobias, Levente and Marcel,
>
>     I'm just integrating your v0.2.0 sources into Cog and I see that in sqDestroySSL at line 139 in the Cog version of sqUnixOpenSSL.c there's the line
>
>     if(ssl->serverName) free(ssl->serverName);

Fixed in e2bd0d335a6c43d9cfd683a44a26ba916f5b92df
(https://github.com/itsmeront/squeakssl/commit/e2bd0d335a6c43d9cfd683a44a26ba916f5b92df)

Best regards
        -Tobias

>
> but that's missing from the 0.2.0 version.  It looks to me like the Cog version is correct.  Is that a storage leak in 0.2.0 or am I misreading the code (sqSetStringPropertySSL), and the line should not be present?
>
> On Wed, Apr 22, 2015 at 2:35 PM, <[hidden email]> wrote:
>
> Dear Smalltalkers
>
> as a follow up to the SqueakSSL changes sent around yesterday…
>
> On 21.04.2015, at 16:52, Tobias Pape <[hidden email]> wrote:
> > Dear Smalltalkers
> >
> > Starting with Levente Uzonyi's patches to the Linux version
> > of the SqueakSSL-Plugin, we (Marcel Taeumel and me) have
> > ported this to the OS X and Windows version as well.
> >
> > Find three binaries[1] that can be used instead of
> > the ones found on versions found on SqueakSSL's google code
> > page.
> > […]
> > [1]: http://forum.world.st/file/n4820846/squeakssl.zip
>
>
> … I'd like to thank Levente Uzonyi and Ron Teitelbaum for their
> input and providing infrastructure.
>
> I put together all files and have uploaded them to the new
> (in the googlecode-export sense) SqueakSSL gitHub project:
>
>         https://github.com/itsmeront/squeakssl/
>
> And tagged a release as v0.2.0 with a Zip of all binaries (linux32/64,osx,windows)
>
>         https://github.com/itsmeront/squeakssl/releases/tag/v0.2.0
>
> (scroll to bottom for the binaries zip: squeakssl_v0.2.0.zip)
>
> I hope this comes in handy for anyone who wants to play around with that.
>
> Best
>         -Tobias



Reply | Threaded
Open this post in threaded view
|

Re: SqueakSSL plugin v0.2.0 (was: Re: Fixes to the SqueakSSL Plugin)

Tobias Pape
In reply to this post by Levente Uzonyi-2

Hi Levente and all,
On 25.07.2015, at 00:46, Levente Uzonyi <[hidden email]> wrote:

> Hi Eliot,
>
> Yes, the github version lacks that line. My pull request[1] has this fix, along with a few other fixes and improvments, but Tobias didn't like the image-sided SAN certificate validation scheme, so none of those have been merged. In the meanwhile I've started rewriting a few things, like logging, certificate serialization (so that it's accessible from the image), but I still haven't finished domain name validation.
>

Levente, I have picket the fixes into
        300b15b https://github.com/itsmeront/squeakssl/commit/300b15b
and ced43a2 https://github.com/itsmeront/squeakssl/commit/ced43a2 

Probably It is a good Idea to keep PR #3 open until we have a new one with sAN for
everyone \o/

Best regards
        -Tobias

> Levente
>
> [1] https://github.com/itsmeront/squeakssl/pull/3/files
>
> On Fri, 24 Jul 2015, Eliot Miranda wrote:
>
>> Hi Tobias, Levente and Marcel,
>>     I'm just integrating your v0.2.0 sources into Cog and I see that in sqDestroySSL at line 139 in the Cog version of sqUnixOpenSSL.c there's the line
>>     if(ssl->serverName) free(ssl->serverName);
>> but that's missing from the 0.2.0 version.  It looks to me like the Cog version is correct.  Is that a storage leak in 0.2.0 or am I misreading the code (sqSetStringPropertySSL), and the line should not be
>> present?
>> On Wed, Apr 22, 2015 at 2:35 PM, <[hidden email]> wrote:
>>
>>      Dear Smalltalkers
>>
>>      as a follow up to the SqueakSSL changes sent around yesterday…
>>
>>      On 21.04.2015, at 16:52, Tobias Pape <[hidden email]> wrote:
>>      > Dear Smalltalkers
>>      >
>>      > Starting with Levente Uzonyi's patches to the Linux version
>>      > of the SqueakSSL-Plugin, we (Marcel Taeumel and me) have
>>      > ported this to the OS X and Windows version as well.
>>      >
>>      > Find three binaries[1] that can be used instead of
>>      > the ones found on versions found on SqueakSSL's google code
>>      > page.
>>      > […]
>>      > [1]: http://forum.world.st/file/n4820846/squeakssl.zip
>>
>>      … I'd like to thank Levente Uzonyi and Ron Teitelbaum for their
>>      input and providing infrastructure.
>>
>>      I put together all files and have uploaded them to the new
>>      (in the googlecode-export sense) SqueakSSL gitHub project:
>>
>>              https://github.com/itsmeront/squeakssl/
>>
>>      And tagged a release as v0.2.0 with a Zip of all binaries (linux32/64,osx,windows)
>>
>>              https://github.com/itsmeront/squeakssl/releases/tag/v0.2.0
>>
>>      (scroll to bottom for the binaries zip: squeakssl_v0.2.0.zip)
>>
>>      I hope this comes in handy for anyone who wants to play around with that.
>>
>>      Best
>>              -Tobias
>> --
>> _,,,^..^,,,_
>> best, Eliot


Reply | Threaded
Open this post in threaded view
|

Re: SqueakSSL plugin v0.2.0 (was: Re: Fixes to the SqueakSSL Plugin)

David T. Lewis
In reply to this post by Tobias Pape
 
On Wed, Jul 29, 2015 at 11:54:50PM +0200, Tobias Pape wrote:
>
> I now wade through the all yer (what's the explicit plural of your [think y'all])
> mails and will reply individually.

The plural of "y'all" is "all y'all".

  http://www.urbandictionary.com/define.php?term=all+y%27all
  https://en.wikipedia.org/wiki/Y%27all

Thus, "I now wade through all y'all's emails ..."

:-)

Reply | Threaded
Open this post in threaded view
|

Re: SqueakSSL plugin v0.2.0 (was: Re: Fixes to the SqueakSSL Plugin)

Tobias Pape
In reply to this post by Eliot Miranda-2

Hi all,
On 25.07.2015, at 01:10, Eliot Miranda <[hidden email]> wrote:

> Hi Levente,
>
> On Fri, Jul 24, 2015 at 3:46 PM, Levente Uzonyi <[hidden email]> wrote:
> Hi Eliot,
>
>> Yes, the github version lacks that line. My pull request[1] has this fix, along with a few other fixes and improvments, but Tobias didn't like the image-sided SAN certificate validation scheme, so none of those have been merged. In the meanwhile I've started rewriting a few things, like logging, certificate serialization (so that it's accessible from the image), but I still haven't finished domain name validation.
>
> OK, I'll keep the version of sqUnixOpenSSL.c in Cog unchanged except for the use of SQSSL_VERSION for the version number.

Reading the Cog sources, sqUnixOpenSSL.c:422 reads
                case SQSSL_PROP_VERSION: return 1;
which should be
                case SQSSL_PROP_VERSION: return SQSSL_VERSION;

Just to make sure, the version SQSSL_VERSION should be 2.

>  Maybe you can integrate with the Cog version?  I like using %p instead of %lx,

done in c4cad6e81dac6e2475de3426dc613ec50226b230
(sorry, I mixed that with \r\n -> \n conversion, very sorry)


> and the use of (long)aSqInt variable is I think unnecessary.  Whether sqInt is int or long it=ll get passed as a long to printf, so the noise is unnecessary.

Yet, I'd get warnings:
if sqInt is an int,
        printf("%ld", aSqInt)
gives a format waring
        warning: format '%ld' expects argument of type 'long int', but argument 2 has type 'int'
so I would use %d like the Cog version does.
Yet, then, if sqInt is a long,
        printf("%d", aSqInt)
gives a format warning again:
        warning: format '%d' expects argument of type 'int', but argument 2 has type 'long int'

So I'd tend to not change the
        printf("%ld", (long)aSqInt);
as it works correctly and without warnings in both cases.



>
> Do you have installation instructions for LibreSSL and make flags for linux64 & linux32?
>

I try to put that together tomorrow, I managed to reach 1:30 am again...

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

OT was: Re: [Vm-dev] SqueakSSL plugin v0.2.0 (was: Re: Fixes to the SqueakSSL Plugin)

Tobias Pape
In reply to this post by David T. Lewis


On 30.07.2015, at 01:05, David T. Lewis <[hidden email]> wrote:

>
> On Wed, Jul 29, 2015 at 11:54:50PM +0200, Tobias Pape wrote:
>>
>> I now wade through the all yer (what's the explicit plural of your [think y'all])
>> mails and will reply individually.
>
> The plural of "y'all" is "all y'all".
>
>  http://www.urbandictionary.com/define.php?term=all+y%27all
>  https://en.wikipedia.org/wiki/Y%27all
>
> Thus, "I now wade through all y'all's emails ..."
>
ah, probably y'all's would have worked?

> :-)


Reply | Threaded
Open this post in threaded view
|

Re: OT was: Re: [Vm-dev] SqueakSSL plugin v0.2.0 (was: Re: Fixes to the SqueakSSL Plugin)

David T. Lewis
 
On Thu, Jul 30, 2015 at 01:29:29AM +0200, Tobias Pape wrote:

>
>
> On 30.07.2015, at 01:05, David T. Lewis <[hidden email]> wrote:
>
> >
> > On Wed, Jul 29, 2015 at 11:54:50PM +0200, Tobias Pape wrote:
> >>
> >> I now wade through the all yer (what's the explicit plural of your [think y'all])
> >> mails and will reply individually.
> >
> > The plural of "y'all" is "all y'all".
> >
> >  http://www.urbandictionary.com/define.php?term=all+y%27all
> >  https://en.wikipedia.org/wiki/Y%27all
> >
> > Thus, "I now wade through all y'all's emails ..."
> >
> ah, probably y'all's would have worked?

Certainly not. We are going for a comfortable down-home style with
friendly melodic inflection and a slow welcoming drawl. There is no
point in economizing on keystrokes, you want to drag that phrase out,
letting it roll slowly off the tongue or keyboard ;-)

Dave

Reply | Threaded
Open this post in threaded view
|

Re: SqueakSSL plugin v0.2.0 (was: Re: Fixes to the SqueakSSL Plugin)

Eliot Miranda-2
In reply to this post by Tobias Pape
 


On Wed, Jul 29, 2015 at 4:28 PM, Tobias Pape <[hidden email]> wrote:
Hi all,
On 25.07.2015, at 01:10, Eliot Miranda <[hidden email]> wrote:

> Hi Levente,
>
> On Fri, Jul 24, 2015 at 3:46 PM, Levente Uzonyi <[hidden email]> wrote:
> Hi Eliot,
>
>> Yes, the github version lacks that line. My pull request[1] has this fix, along with a few other fixes and improvments, but Tobias didn't like the image-sided SAN certificate validation scheme, so none of those have been merged. In the meanwhile I've started rewriting a few things, like logging, certificate serialization (so that it's accessible from the image), but I still haven't finished domain name validation.
>
> OK, I'll keep the version of sqUnixOpenSSL.c in Cog unchanged except for the use of SQSSL_VERSION for the version number.

Reading the Cog sources, sqUnixOpenSSL.c:422 reads
                case SQSSL_PROP_VERSION: return 1;
which should be
                case SQSSL_PROP_VERSION: return SQSSL_VERSION;

Just to make sure, the version SQSSL_VERSION should be 2.

Right.  The fix is on deck, awaiting a commit.  I guess I can commit before fixing the build.  I'll do it now.
 

>  Maybe you can integrate with the Cog version?  I like using %p instead of %lx,

done in c4cad6e81dac6e2475de3426dc613ec50226b230
(sorry, I mixed that with \r\n -> \n conversion, very sorry)


> and the use of (long)aSqInt variable is I think unnecessary.  Whether sqInt is int or long it=ll get passed as a long to printf, so the noise is unnecessary.

Yet, I'd get warnings:
if sqInt is an int,
        printf("%ld", aSqInt)
gives a format waring
        warning: format '%ld' expects argument of type 'long int', but argument 2 has type 'int'
so I would use %d like the Cog version does.
Yet, then, if sqInt is a long,
        printf("%d", aSqInt)
gives a format warning again:
        warning: format '%d' expects argument of type 'int', but argument 2 has type 'long int'

So I'd tend to not change the
        printf("%ld", (long)aSqInt);
as it works correctly and without warnings in both cases.



>
> Do you have installation instructions for LibreSSL and make flags for linux64 & linux32?
>

I try to put that together tomorrow, I managed to reach 1:30 am again...

Best
        -Tobias



--
_,,,^..^,,,_
best, Eliot