[SQUEAKVM] SqueakSSL support code updated on squeakvm.org SVN repository

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

[SQUEAKVM] SqueakSSL support code updated on squeakvm.org SVN repository

David T. Lewis
 
Hi Ian,

Tobias Pape (with others) has done a significant update of the SqueakSSL
plugin support code in the opensmalltalk-vm git repository. I have moved
his updates into the squeakvm SVN repository. Version history for your
original sqUnixOpenSSL.c is preserved with an SVN move to sqUnixOpenSSL.inc,
and new files are copied without modification. The config.cmake file is
merged and set up to use Tobias' new dynamic lookup mechanism, which handles
some issues with inconsistent libraries on some Linux distributions.

With these changes, the portable VM (aka interpreter VM) now works with
recent images that require https secure connections to servers such as
source.squeak.org and squeaksource.org.

Cheers,
Dave

Reply | Threaded
Open this post in threaded view
|

Re: [SQUEAKVM] SqueakSSL support code updated on squeakvm.org SVN repository

stes
 

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256


I've emailed some patches a while ago to Ian Piumarta but had no response.

01-aio.patch                    04-sunproversion.patch
02-sqUnixSoundPulseAudio.patch  05-installdoc.patch
03-sqUnixSoundSun.patch

I use those patches to compile with SunPRO cc compiler squeak-4 on Solaris 11.

Those are minor patches;  anyway it is a good thing that the subversion
(SVN) repository remains only for reference how the squeak-4 sources were.

Just to be able to compare to the old sources the SVN repo is really nice ...

David Stes

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJfq87BAAoJEAwpOKXMq1Ma+CoIAIM96azxWsadClIAG7cv2K+O
RU542mP8DWeu7T7nEthmL0EpVb/z2tBmug0JteLQrlxTFHSknmoYp2LBh9m7RerE
r+irS2Ar2ELP+SKJ8Nb+Ba9vZpRin46bZ64idiJgxi2ak9keyQMnWSzb3bjltrtF
Fm1M4ivPIPEeVwTiBOo3Iz9baCGiJaYscqjWWr9aGpsVFKXp6Lh10vBU2tqsdH2A
lUK7wRB3/p9zaQES7zUCAmoj4picUYdvXgYR09lEAiDgvcnvukVSyPviLdqZF6if
blChKZPkmCaTVHjgQ02OhvnjATygDZZKlbIHfK4KiLmkU6IL1EUyzXOCkvsNlnY=
=cnQl
-----END PGP SIGNATURE-----
Reply | Threaded
Open this post in threaded view
|

Re: [SQUEAKVM] SqueakSSL support code updated on squeakvm.org SVN repository

David T. Lewis
 
On Wed, Nov 11, 2020 at 12:47:28PM +0100, [hidden email] wrote:

>
> I've emailed some patches a while ago to Ian Piumarta but had no response.
>
> 01-aio.patch                    04-sunproversion.patch
> 02-sqUnixSoundPulseAudio.patch  05-installdoc.patch
> 03-sqUnixSoundSun.patch
>
> I use those patches to compile with SunPRO cc compiler squeak-4 on Solaris 11.
>
> Those are minor patches;  anyway it is a good thing that the subversion
> (SVN) repository remains only for reference how the squeak-4 sources were.
>
> Just to be able to compare to the old sources the SVN repo is really nice ...
>

Hi David,

Could you please post those five patch files here to the list? I'll see
if I can get them applied.

I do recall committing one one of your Solaris sound fixes a while ago:
http://squeakvm.org/cgi-bin/viewvc.cgi/squeak/trunk/platforms/unix/vm-sound-Sun/sqUnixSoundSun.c?r1=2595&r2=3778

Thanks,
Dave

Reply | Threaded
Open this post in threaded view
|

Re: [SQUEAKVM] SqueakSSL support code updated on squeakvm.org SVN repository

stes
In reply to this post by stes
 

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256


You can find the patches for squeak-4 (subversion sources) at:

  https://github.com/OpenIndiana/oi-userland/tree/oi/hipster/components/runtime/squeak4/patches

The patch for pulseaudio would be very useful to apply:

 02-sqUnixSoundPulseAudio.patch

Also the 01-aio.patch is important because otherwise you can't do much,
since the default action on Solaris System V UNIX is to sigkill on SIGIO
or SIGPIPE (so without the 01-aio.path the VM runs, but is killed pretty soon).

In some sense 01-aio.patch is optional as the VM compiles without it,
so 01-aio.patch is perhaps not required to add to the Squeak VM svn repo.

 The 04-sunproversion.patch is required to compile with SunPRO cc (C compiler).

The 05-installdoc.patch is something that I use, but perhaps not required to
add to the Squeak VM.

All of those patches can be either incorporated in the mainline (upstream)
Squeak VM sources OR I can just continue to apply those patches when a package,
is built (as external patches, which also works fine).

Anyway you get the entire package (manifest + patches) by :

  git clone https://github.com/OpenIndiana/oi-userland 

The patches are in components/runtime/squeak4/patches (in the oi-userland, cd).

OpenIndiana is an OpenSolaris derived system, which has the squeak-4
and squeak-5 + squeak-5c packages in their repository.

The same patches also are used on Solaris 11.4  (the Oracle product).
The packages squeak-4 etc. are also available for Oracle Solaris 11.4.

By the way the folks at OpenIndiana host the documentation as well:

  http://docs.openindiana.org/handbook/community/

There are installation instructions at :

  http://docs.openindiana.org/handbook/community/squeak/index.html

Which explains how to use IPS (Image Packet System) to install squeak-4
and/or squeak-5 the stack-spur or squeak-5c the cog-spur VM.

Regards,
David Stes

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJfsTJTAAoJEAwpOKXMq1MaGOMH/AzUQY6Md6PnpAO4rOvq+h/b
9b2kyEi2/Dao/xv9N5MubRNYGBEgfv1ibdDirHA/c41DHGUdYqOkSJPvDPhOjPrK
zopmGISImyBhyDxQB30J7dwz8PA4JysBnXquvZuj/UemVL2JVc2ezvJN6juowg38
wEzH362wlP8vwtVEJ3KS1aRsliXsjCeItgiv1U/JeEI3Xla+cD+mb0DNl20fdIpP
+lRPe8fIenWtu4KpgK4EgHjUlDO+DjzSregujCCYQ5223gQmY4ugylzvts8P0ZFB
SBuM6p9S6Qx6+S6PJok/dsj/s+MoOR7iNnauU01WC42XVveIzAlQ/BLNqRINAcI=
=up9Y
-----END PGP SIGNATURE-----
Reply | Threaded
Open this post in threaded view
|

Re: [SQUEAKVM] SqueakSSL support code updated on squeakvm.org SVN repository

David T. Lewis
 
Thanks David,

I added/merged your updates into SVN trunk with the following changes:

01-aio.patch: generalized for all platforms because sigaction is portable,
so the #ifdef __sun__ is not required.

02-sqUnixSoundPulseAudio.patch: Added, no changes.

03-sqUnixSoundSun.patch: I had applied this already back in May or so,
so no new update needed.

04-sunproversion.patch: For the compiler version string fix, use
${CMAKE_C_COMPILER_VERSION} for all compilers. No need for a SunPro variant
because cmake does the right thing for all compilers including gnu and llvm.

05-installdoc.patch: I did not include this patch for adding the LICENSE file
because I'm worried that it might cause confusion with the various build
VM systems, and because it's probably not needed for most users.

With these updates, I think that you will be able to use the latest SVN
platforms without further patching, except for the LICENSE patch that
you will probably want to keep using in your environment.

If possible I would suggest that you move forward to latest platform
sources because they include recent updates by Tobias Pape that make
the SSL connections to source.squeak.org and squeaksource.com work
correctly.

Thanks,
Dave


On Sun, Nov 15, 2020 at 02:52:41PM +0100, [hidden email] wrote:

>  
>
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
>
>
> You can find the patches for squeak-4 (subversion sources) at:
>
>   https://github.com/OpenIndiana/oi-userland/tree/oi/hipster/components/runtime/squeak4/patches
>
> The patch for pulseaudio would be very useful to apply:
>
>  02-sqUnixSoundPulseAudio.patch
>
> Also the 01-aio.patch is important because otherwise you can't do much,
> since the default action on Solaris System V UNIX is to sigkill on SIGIO
> or SIGPIPE (so without the 01-aio.path the VM runs, but is killed pretty soon).
>
> In some sense 01-aio.patch is optional as the VM compiles without it,
> so 01-aio.patch is perhaps not required to add to the Squeak VM svn repo.
>
>  The 04-sunproversion.patch is required to compile with SunPRO cc (C compiler).
>
> The 05-installdoc.patch is something that I use, but perhaps not required to
> add to the Squeak VM.
>
> All of those patches can be either incorporated in the mainline (upstream)
> Squeak VM sources OR I can just continue to apply those patches when a package,
> is built (as external patches, which also works fine).
>
> Anyway you get the entire package (manifest + patches) by :
>
>   git clone https://github.com/OpenIndiana/oi-userland 
>
> The patches are in components/runtime/squeak4/patches (in the oi-userland, cd).
>
> OpenIndiana is an OpenSolaris derived system, which has the squeak-4
> and squeak-5 + squeak-5c packages in their repository.
>
> The same patches also are used on Solaris 11.4  (the Oracle product).
> The packages squeak-4 etc. are also available for Oracle Solaris 11.4.
>
> By the way the folks at OpenIndiana host the documentation as well:
>
>   http://docs.openindiana.org/handbook/community/
>
> There are installation instructions at :
>
>   http://docs.openindiana.org/handbook/community/squeak/index.html
>
> Which explains how to use IPS (Image Packet System) to install squeak-4
> and/or squeak-5 the stack-spur or squeak-5c the cog-spur VM.
>
> Regards,
> David Stes
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v2
>
> iQEcBAEBCAAGBQJfsTJTAAoJEAwpOKXMq1MaGOMH/AzUQY6Md6PnpAO4rOvq+h/b
> 9b2kyEi2/Dao/xv9N5MubRNYGBEgfv1ibdDirHA/c41DHGUdYqOkSJPvDPhOjPrK
> zopmGISImyBhyDxQB30J7dwz8PA4JysBnXquvZuj/UemVL2JVc2ezvJN6juowg38
> wEzH362wlP8vwtVEJ3KS1aRsliXsjCeItgiv1U/JeEI3Xla+cD+mb0DNl20fdIpP
> +lRPe8fIenWtu4KpgK4EgHjUlDO+DjzSregujCCYQ5223gQmY4ugylzvts8P0ZFB
> SBuM6p9S6Qx6+S6PJok/dsj/s+MoOR7iNnauU01WC42XVveIzAlQ/BLNqRINAcI=
> =up9Y
> -----END PGP SIGNATURE-----
Reply | Threaded
Open this post in threaded view
|

Re: [SQUEAKVM] SqueakSSL support code updated on squeakvm.org SVN repository

stes
In reply to this post by stes
 

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256


Great.

For the aio patch where I replaced signal() by sigaction() it's
because I think the SIGPOLL (=SIGIO on Solaris) requires to reinstall the
handler, which signal() doesn't do on some SVR4 Unix type systems,
whereas when using POSIX sigaction() which was designed to address this,
the VM does not abort all the time on 'Pollable Event' (which indicates
SIGPOLL is not caught by a handler), so that was broken on Solaris in the past.

In Squeak5 (Git OpenSmalltalk) somebody implemented a sigaction() based system,
so for Squeak5 that was not a problem because it didn't use signal().

I checked out with subversion revision 3790 on Solaris 11.3 and it builds ok.

Following the instructions from http://wiki.squeak.org/squeak/6354

The following 'make' compiles both 32bit and 64bit :

$ make O=.. S=./src P=./platforms install

I can open Squeak4.6-15102.image (format 6504) with that VM and,
in the about squeak dialog :

Unix built on Nov 16 2020 10:12:41 Compiler: 5.15.0
platform sources revision 3790
VMMaker versionString 4.19.2

When I select from the menu "Update Squeak" it downloads a bunch of updates,
and then I save the (updated) image.

The SqueakMap catalog browser seems to work.

When I go to the Test Runner and select "SqueakSSL-Tests",
in the left pane I have one test SqueakSSLTest.

It seems to run 14 tests:

14 run, 14 passes, 0 expected failures, 0 failures, 0 errors, 0 unexpected passes

That's already good.  I suspect to further test Tobias Pape's SSL module
(on Solaris 11) with the updated VM I can try to connect with a "Monticello"
browser or similar that uses the new/updated SSL code.

But it seems fine.  I'll update the OpenIndiana and Solaris packages
to use subversion revision 3790 instead of revision 3775;
it definitely seems not worse than the older squeak4 VM, on the contrary.

in revision 3775 : platforms/unix/plugins/SqueakSSL/
config.cmake     sqUnixOpenSSL.c

in revisision 3790: platforms/unix/plugins/SqueakSSL/
config.cmake        sqUnixLibreSSL.inc  sqUnixSSL.c
openssl_overlay.h   sqUnixOpenSSL.inc

I had sent a few emails to Ian Piumarta but never had a reply;

I'm pretty sure back in the days 1995-1998 Ian (and maybe others) had access
to SunOS machines for early version of the Squeak VM (Unix version).

Regards,
David Stes

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJfskuMAAoJEAwpOKXMq1Ma1PsIAJJ8Vm3wDhu8FPp+fco50kHL
RlLuWgw5hL2NSu0Pb4eleYRZYL5oRvQgFzjVF7uGVfS9ig4Wb5EQVNnSic/bLD0H
PK4BrFKddcrFoW3kQJM+QUiXARj8+XK8z/3IUZVgdf+jrtwrBvdK+7d7tpopyH08
BLelDmWCu8dQe3VrrhWF1CRhamrLTEfKfih/TCy1Yuz2dNy3pCjqBR2aikHdDXTD
3RXKMP/i/WoPr8oiAdijGnexjhzDky5e4y2iGFGvvYepVKrrPtzWNBkPX0/skrLZ
Nbal0ZTmeRT2TF6Pa8wLmH3Kad9/gFgNPDJMOdHoC6l2/D7arA+8i15TQJe3xWE=
=gvh5
-----END PGP SIGNATURE-----