Handle GnuTLS errors and partial sends in gnutls "module".
* mandos (GnuTLS.E_INTERRUPTED, GnuTLS.E_AGAIN): New. (GnuTLS.Error): Set error code as "code" attribute. (GnuTLS.ClientSession.send): Handle partial sends with a loop. (GnuTLS._retry_on_error): New function. (GnuTLS.record_send, GnuTLS.handshake, GnuTLS.bye): Set "errcheck" attribute to "_retry_on_error". (ClientHandler.handle): Remove loop for handling partial sends; GnuTLS.ClientSession.send() will do that.
Watch this directory and add/remove/update clients?
65
70
+ Approve(False) -> Close client connection immediately
66
71
** TODO [#C] python-parsedatetime
67
72
** TODO Separate logging logic to own object
68
** TODO [#A] Limit approval_delay to max gnutls/tls timeout value
73
** TODO [#B] Limit approval_delay to max gnutls/tls timeout value
69
74
** TODO [#B] break the wait on approval_delay if connection dies
70
75
** TODO Generate Client.runtime_expansions from client options + extra
71
76
** TODO Allow %%(checker)s as a runtime expansion
72
77
** TODO Use python-tlslite?
73
78
** TODO D-Bus AddClient() method on server object
74
79
** TODO Use org.freedesktop.DBus.Method.NoReply annotation on async methods. :2:
75
** TODO Support [[http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-objectmanager][org.freedesktop.DBus.ObjectManager]] interface on server object :2: