Changes for version 0.15

  • Implemented stronger number generator (Crypt::Random). This module will be used instead of perl's built-in rand() if it's available.
  • Fixed a potential bug that was introduced in version 0.14 that might have stopped the test script (although not the module) from succeeding on BSD systems.
  • Test suite will now (nicely) refuse to run under Win32 as opposed to the fiasco that happened before. Keep in mind that the module itself should work okay under win32, the problem was only with the test script trying to act as both a client and server without being able to fork() or use alarm(). Testing could be done manually bu the /util/client.pl and /util/server.pl scripts.
  • Implemented a (weak) internal encryption routine that will be used to encrypt the password hash and encryption keys in transit, as a last resort in case no encryption modules were found.
  • Fixed some warnings that might have been generated by use strict/warnings. Thanks to Michael Krause
  • Implemented more secure communications when using symmetric encryption modules by utilizing the "password" paramater as part of the non-broadcastable encryption key. This should dramatically increase the security of symmetric encryption, however it's still no match for As-symmetric encryption modules such as Crypt::RSA.
  • Implemented an optional parameter to be passed to the start() method (a coderef). If supplied, the code will be called every loop. This could be used to allow you to do other things concurrently while a server's running (comparable to the do_one_loop() philosophy).
  • Added to the handshake phase the comparison of the version of the Storable module as which would produce the same error as compression/encryption module version mismatches. This can (also) be turned off by supplying the donotcheckversion constructor option.

Modules

Easily create secure, bandwidth-friendly TCP/IP clients and servers