| 1247 |  |  | Teddy Hogeborn | 3 years ago |  |   | 
| 1246 |  |  | Teddy Hogeborn | 3 years ago |  |   | 
| 1245 |  |  | Teddy Hogeborn | 3 years ago |  |   | 
| 1244 |  |  | Teddy Hogeborn | 3 years ago |  |   | 
| 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 | 4 years ago |  |   | 
| 1242 |  |  | Teddy Hogeborn | 4 years ago |  |   | 
| 1241 |  |  | Teddy Hogeborn | 4 years ago |  |   | 
| 1240 |  |  | Teddy Hogeborn | 4 years ago |  |   | 
| 1239 |  |  | Teddy Hogeborn | 4 years ago |  |   | 
| 1238 |  |  | Teddy Hogeborn | 4 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 | 4 years ago |  |   | 
| 1236 |  |  | Teddy Hogeborn | 4 years ago |  |   | 
| 1235 |  |  | Teddy Hogeborn | 4 years ago |  |   | 
| 1234 |  |  | Teddy Hogeborn | 4 years ago |  |   | 
| 1233 |  |  | Teddy Hogeborn | 4 years ago |  |   | 
| 1232 |  |  | Teddy Hogeborn | 4 years ago |  |   | 
| 1231 |  |  | Teddy Hogeborn | 4 years ago |  |   | 
| 1230 |  |  | Teddy Hogeborn | 4 years ago |  |   | 
| 1229 |  |  | teddy at recompile | 4 years ago |  |   | 
| 1228 |  |  | Teddy Hogeborn | 4 years ago |  |   |