Improve logging of m2crypto exceptions.
m2crypto's default SSLServer.handle_error function was just printing to stdout; that is an easy fix. However, what is hard is associating the Exception with a client_address due to the socket/M2Crypto.SSL.Connection abstraction abuse. Lots of stuff happens in Connection.accept(), and if an Exception is raised in there, no client_address is returned to the caller (i.e. handle_request()). m2crypto does a real disservice by overlaying the socket API and thus masking so many customization points that any real user would want to use.
Showing with 58 additions and 37 deletions