On 12/18/2015 01:37 PM, Sven Van Caekenberghe wrote:
On 18 Dec 2015, at 18:33, Robert Withers <robert.w.withers@gmail.com> wrote:
Hi Sven, I personally had not looked at Zinc. That's looking good. Therefore, I have a question about how to modify for my own client. You see, I implement a secure protocol that is different than HTTPS/SSL. I think you support SSL. How could I replace your rendezvous handshake with mine? I am looking for the secure state-machine entry point. Have a look at ZdcSecureSocketStream from the Zodiac package, which is a standard part of Pharo too (http://zdc.stfx.eu in particular http://zdc.stfx.eu/zodiac-paper.html). I think you are looking for #connect and #accept which are the setup hooks for the client and server respectively doing the setup.
I am taking a look and I have several comments. Firstly, is it using plugin calls to accept:/connect:from:to:into: to test for connected, then looping on reading encrypted data? It seems bound to tcp. I desire to run traffic over different interfaces so either roll my own stack or modify the internals of Zodiak. It seems it rests upon the SSL plugin, though. I will definitely be doing several scans over my implementation to cleanup the control and interaction with the transport. I see I will be looking heavily at the class you've mentioned. Thank you for the information, robert
ANother concern was which size frag packet and which size RS encdding, now that that is getting integrated.
Many thanks, and for SmalltalkHub registation, as well. Robert
On 12/18/2015 12:21 PM, Sven Van Caekenberghe wrote:
On 18 Dec 2015, at 18:17, Denis Kudriashov <dionisiydk@gmail.com> wrote:
2015-12-18 16:43 GMT+01:00 phil@highoctane.be <phil@highoctane.be>: Hi Denis,
This makes me think about the VNC server, which is a TCP server.
The implementation of it is on top of another generic one.
http://www.smalltalkhub.com/#!/~PharoExtras/RFB
I will look at it to extract error handling logic. I not look at it too much for now. But when I do I will put nice tests for this cases. Which is very important to me. Not only loop implementation duplicated in every servers but tests too (and most times no tests exists) ZnServer and subclasses have a quite robust implementation of server socket to connection handler logic with extensive error handling. All there in the standard image. But I assume you already looked at it.
-- . .. .. ^,^ robert
-- . .. .. ^,^ robert