Re: Two issues with Netplex
Gerd Stolpmann <[email protected]> Sun, 10 Nov 2013 13:24:14 +0100
| Newsgroups | gmane.comp.lang.ocaml.lib.net.devel |
|---|---|
| Message-ID | <1384086254.7540.17.camel@e130> |
--===============3550739333501108187== Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="=-YLbjabcbV/rdnKuvBHLR" --=-YLbjabcbV/rdnKuvBHLR Content-Type: text/plain; charset="ISO-8859-15" Content-Transfer-Encoding: quoted-printable Am Donnerstag, den 07.11.2013, 19:34 +0100 schrieb Thomas Calderon: > Hi there, >=20 >=20 > I am having two issues with netplex at the moment. >=20 >=20 > The first one is related to rpc-ssl support. The netplex service is > configured with SSL enabled (TLSv1) and if you are connecting with a > client that forces newer TLS versions (openssl s_client -connect > host:port -tls1_1), an Ssl exception is raised. Well, the ocaml-ssl bindings only offer TLS-1.0, even if openssl supports more. That's basically a problem of the bindings. (Fyi, I'm currently implementing complete bindings for GnuTLS to overcome all limitations with ocaml-ssl.) > However, the container process still continues to run but is not able > to process any data, netplex then spawn a new child process to handle > subsequent connections.=20 > From the client side, the socket is closed and we end up not knowing > in which state the "zombie" container is. > We looked for a proper way to fix this in our code, but the exception > is caught from within rpc_netplex.ml (line 183), is there a proper way > to handle this case from our code or is it only a fix you can > provide ? You could close fd, and then call when_done() from the is_error callback. This is how it is indicated that the task is done. Probably this is really the best thing you can do here. When I programmed this I could probably not imagine what kind of things can go wrong at this spot, and hence opted to do nothing. > The second issue is related the function > "Netplex_cenv.system_shutdown()". This function can be used to > completely shutdown the service, I would like to know if it is > possible to restrict this function to be only callable from within the > controller instance ? This way a container process could not call this > function and stop the service and all the other containers from > running. Without modifying the sources, there is probably no way to get this effect. What's actually happening is that the controller accepts requests on the admin socket (which is a Unix domain socket visible in the filesystem), and if the container wants to do a system shutdown, is just connects to this socket, and invokes the right RPC. I don't see how you could prevent the container from doing so even if the connect code were removed from the netplex sources. Maybe the only way is to set a password on this service, and not telling the container the password. Out of curiosity, what's your concern with system shutdowns?=20 Gerd >=20 > Thanks. >=20 >=20 > Thomas C. >=20 >=20 > -------------------------------------------------------------------------= ----- > November Webinars for C, C++, Fortran Developers > Accelerate application performance with scalable programming models. Expl= ore > techniques for threading, error checking, porting, and tuning. Get the mo= st=20 > from the latest Intel processors and coprocessors. See abstracts and regi= ster > http://pubads.g.doubleclick.net/gampad/clk?id=3D60136231&iu=3D/4140/ostg.= clktrk > _______________________________________________ Ocamlnet-devel mailing li= st [email protected] https://lists.sourceforge.net/lists= /listinfo/ocamlnet-devel --=20 ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany [email protected] My OCaml site: http://www.camlcity.org Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------ --=-YLbjabcbV/rdnKuvBHLR Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQEcBAABAgAGBQJSf3ruAAoJEAaM4b9ZLB5TM00H/0WFDLfDb+8t/DQjNe44weI7 vpQKhVvkie0pkqMkHR8pW18FSi7zaiSx5qXgnmER1wPH75RMQ9+WiU241qOUvIL9 GfuHFjYuPz/CLfACbvffTQ80EFnnCCbQfmpCfqmvFkZ8eXL7noUUrAVpZCwqdQMD NEqq2WWSc5a0IrTHQKOQIoZWNQTGWgOt85UmYS1C+ZW2Nyb+hFROTY8QZoqWKfmD LiRbNF5eOtaq1GwV8qQsUCBm0+o/1AqStZqIT8teKj9EZ17EIl1LocQ6aH99NwnF KPGHoBswZ7PpImGE/nEHS18hrsDj20KlNJr3Y9vLnTxcHFTlNu+olmrOs+LOUJw= =rjBo -----END PGP SIGNATURE----- --=-YLbjabcbV/rdnKuvBHLR-- --===============3550739333501108187== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------------ November Webinars for C, C++, Fortran Developers Accelerate application performance with scalable programming models. Explore techniques for threading, error checking, porting, and tuning. Get the most from the latest Intel processors and coprocessors. See abstracts and register http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk --===============3550739333501108187== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Ocamlnet-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel --===============3550739333501108187==--