[squeak-dev] SqueakSSL fixes

Göran Krampe goran at krampe.se
Thu Feb 13 12:00:44 UTC 2014


Hey!

Ok, so I sat down and "packaged" some fixes to mainly iOS SqueakSSL that 
we have done here at 3DICC. We have no intention to keep stuff like this 
for ourselves, but daily we work using our own repos so it needs some 
attention and time to get it out there :)

Sorry if this email is long but I just wanted to make it easy for people 
to know how to integrate this.

The fixes span:

* A new SqueakSSL Monticello package, that has other fixes too done at 
3DICC. I haven't looked through them all in detail, so here a bit of 
manual cherry picking is needed. For example we removed some 
"compatibility code" for Squeak 4.2 causing us some problems.

* Modified platform files:
	platforms/Cross/plugins/SqueakSSL/SqueakSSL.h
	platforms/iOS/plugins/SqueakSSL/sqMacSSL.c
	platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c
	platforms/win32/plugins/SqueakSSL/sqWin32SSL.c

I have so far only tested the new sqMacSSL.c on iOS - OSX 10.8.5.
The changes in the other platforms are not complicated, its about being 
able to disable certificate check mainly so I don't think they should fail.

As of now SqueakSSL-Tests show 14 run, 3 passes, 8 expected failures and 
3 errors on my Mac. The errors still left are: testSSLSockets, 
testSocketAccept, testSocketConnect. AFAIK all these try to use a test 
certificate and Accept - and *that* I haven't implemented on Mac (well, 
ok, I started - there is a way to at least set a Mac test cert into the 
plugin - but I didn't go further).

New methods in the classes:

SqueakSSL,SecureSocketStream>>certVerify: aBoolean
	Now one can tell the plugin to verify certs or just skip that.

SqueakSSL,SecureSocketStream>>logLevel: anInteger
	Now one can set the logLevel in the plugin, 0 or 1 so far.


Attached ssl-fix.zip which contains:
.
├── platforms
│   ├── Cross
│   │   └── plugins
│   │       └── SqueakSSL
│   │           └── SqueakSSL.h
│   ├── iOS
│   │   └── plugins
│   │       └── SqueakSSL
│   │           └── sqMacSSL.c
│   ├── unix
│   │   └── plugins
│   │       └── SqueakSSL
│   │           └── sqUnixOpenSSL.c
│   └── win32
│       └── plugins
│           └── SqueakSSL
│               └── sqWin32SSL.c
├── SqueakSSL-Core-gk.36.mcz
├── SqueakSSL-Tests-ar.17.mcz
└── ssl-fix.patch

I threw in the latest SqueakSSL-Core and Tests that we have here at 
3DICC. The Tests package is the same as on SS. The Core has 4 more fixes 
from Ron I think, just look in "History" to see commit messages there.

ssl-fix.patch - this should show you what I have done in the platform 
files, and I produced it using git diff on those four files with this 
command:

git diff 83bce99715cddd8a82c3d94c487e45ec0213be19 
platforms/Cross/plugins/SqueakSSL/SqueakSSL.h 
platforms/iOS/plugins/SqueakSSL/sqMacSSL.c 
platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c 
platforms/win32/plugins/SqueakSSL/sqWin32SSL.c > ssl-fix.patch

The SHA is:

commit 83bce99715cddd8a82c3d94c487e45ec0213be19
Author: Camillo Bruni <camillobruni at gmail.com>
Date:   Fri Nov 15 12:24:11 2013 +0100

     fixed wrong path
------------------------------


...phew. Ok, let me know if you need anything more and ask questions.

regards, Göran

-------------- next part --------------
A non-text attachment was scrubbed...
Name: ssl-fix.zip
Type: application/zip
Size: 69628 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20140213/d7daeebb/ssl-fix.zip


More information about the Squeak-dev mailing list