Rename opaque internal GnuTLS structures named *_int to also start with underscore (_), as is the custom in Python programs.
Decode byte strings from UTF-8 where needed. (Fixing, among other things, all "DEBUG: GnuTLS" lines having a "b'" prefix in Python 3.)
Simplify calling C functions by: 1. Using the "_as_parameter_" attribute to store the ctypes object. 2. Creating and using helper classes to automatically create pointers or cast typed pointers to pointers to void. 3. Providing the "from_param()" method on relevant classes.
Remove "restype" attribute on C functions where "errcheck" attribute is already set.
* mandos (gnutls.session_int): Rename to start with "_". (gnutls.openpgp_crt_int): - '' - (gnutls.Error.__init__): Decode byte string from gnutls.strerror(). (gnutls.PointerTo): New helper class. (gnutls.CastToVoidPointer): - '' - (gnutls.With_from_param): - '' - (gnutls.Credentials): Inherit from "With_from_param" and store the ctypes object in the "_as_parameter_" attribute instead of "_c_object". (gnutls._error_code): Use "gnutls.E_SUCCESS" instead of the unadorned numerical constant "0". (gnutls._retry_on_error): - '' - (gnutls.priority_set_direct.argtypes): Use "ClientSession" instead of "session_t", and change all callers to match. (gnutls.init.argtypes): Use "PointerTo(ClientSession)" instead of "ctypes.POINTER(session_t)", and change all callers to match. (gnutls.set_default_priority.argtypes): Use "ClientSession" instead of "session_t", and change all callers to match. (gnutls.record_send.argtypes): - '' - (gnutls.certificate_allocate_credentials.argtypes): Use "PointerTo(Credentials)" instead of "ctypes.POINTER(certificate_credentials_t)", and change all callers to match. (gnutls.certificate_free_credentials.argtypes): Use "Credentials" instead of "certificate_credentials_t", and change all callers to match. (gnutls.handshake_set_private_extensions.argtypes): Use "ClientSession" instead of "session_t", and change all callers to match. (gnutls.credentials_set.argtypes): Use "CastToVoidPointer(Credentials)" instead of "ctypes.c_void_p", and change all callers to match. (gnutls.certificate_type_get.argtypes): Use "ClientSession" instead of "session_t", and change all callers to match. (gnutls.certificate_get_peers.argtypes): - '' - (gnutls.deinit.argtypes): - '' - (gnutls.handshake.argtypes): - '' - (gnutls.handshake.restype): Change from "_error_code" to "ctypes.c_int". (gnutls.transport_set_ptr.argtypes): Use "ClientSession" instead of "session_t", and change all callers to match. (gnutls.bye.argtypes): - '' - (gnutls.bye.restype): Change from "_error_code" to "ctypes.c_int". (gnutls.certificate_type_get2.argtypes): Use "ClientSession" instead of "session_t", and change all callers to match. (ClientHandler.handle): Decode "key_id" bytes to string before logging it in the debug log. (main.debug_gnutls): Decode GnuTLS log message from bytes to string before logging it in the debug log.
|| dpkg --compare-versions "$2" eq "1.8.0-1~bpo9+1"; then
71
if grep --quiet --regexp='^[[:space:]]*key_id[[:space:]]*=[[:space:]]*[Ee]3[Bb]0[Cc]44298[Ff][Cc]1[Cc]149[Aa][Ff][Bb][Ff]4[Cc]8996[Ff][Bb]92427[Aa][Ee]41[Ee]4649[Bb]934[Cc][Aa]495991[Bb]7852[Bb]855[[:space:]]*$' /etc/mandos/clients.conf; then