1243
|
|
Some cleanup of GnuTLS interface
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.
|
Teddy Hogeborn |
3 years ago
|
|
|
1242
|
|
|
Teddy Hogeborn |
3 years ago
|
|
|
1241
|
|
|
Teddy Hogeborn |
3 years ago
|
|
|
1240
|
|
|
Teddy Hogeborn |
3 years ago
|
|
|
1239
|
|
|
Teddy Hogeborn |
3 years ago
|
|
|
1238
|
|
|
Teddy Hogeborn |
3 years ago
|
|
|
1237
|
|
mandos-ctl: Fix bad test for command.Remove and related minor issues
The test for command.Remove removes all clients from the spy server, and then loops over all clients, looking for the corresponding Remove command as recorded by the spy server. But since since there aren't any clients left after they were removed, no assertions are made, and the test therefore does nothing. Fix this.
In tests for command.Approve and command.Deny, add checks that clients were not somehow removed by the command (in which case, likewise, no assertions are made).
Add related checks to TestPropertySetterCmd.runTest; i.e. test that a sequence is not empty before looping over it and making assertions.
* mandos-ctl (TestBaseCommands.test_Remove): Save a copy of the original "clients" dict, and loop over those instead. Add assertion that all clients were indeed removed. Also fix the code which looks for the Remove command, which now needs to actually work. (TestBaseCommands.test_Approve, TestBaseCommands.test_Deny): Add assertion that there are still clients before looping over them. (TestPropertySetterCmd.runTest): Add assertion that the list of values to get is not empty before looping over them. Also add check that there are still clients before looping over clients.
|
Teddy Hogeborn |
3 years ago
|
|
|
1236
|
|
|
Teddy Hogeborn |
3 years ago
|
|
|
1235
|
|
|
Teddy Hogeborn |
3 years ago
|
|
|
1234
|
|
|
Teddy Hogeborn |
3 years ago
|
|
|
1233
|
|
|
Teddy Hogeborn |
3 years ago
|
|
|
1232
|
|
|
Teddy Hogeborn |
3 years ago
|
|
|
1231
|
|
|
Teddy Hogeborn |
3 years ago
|
|
|
1230
|
|
|
Teddy Hogeborn |
3 years ago
|
|
|
1229
|
|
|
teddy at recompile |
3 years ago
|
|
|
1228
|
|
|
Teddy Hogeborn |
3 years ago
|
|
|
1227
|
|
|
teddy at recompile |
3 years ago
|
|
|
1226
|
|
|
teddy at recompile |
3 years ago
|
|
|
1225
|
|
|
Teddy Hogeborn |
3 years ago
|
|
|
1224
|
|
|
teddy at recompile |
4 years ago
|
|
|