/mandos/trunk

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/trunk

« back to all changes in this revision

Viewing changes to DBUS-API

  • Committer: Teddy Hogeborn
  • Date: 2021-03-21 20:46:40 UTC
  • Revision ID: teddy@recompile.se-20210321204640-lpsyen8jr9lw1jma
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.

Show diffs side-by-side

added added

removed removed

Lines of Context:
27
27
    Removes a client
28
28
   
29
29
** Signals:
30
 
*** ClientNotFound(s: Fingerprint, s: Address)
31
 
    A client connected from Address using Fingerprint, but was
32
 
    rejected because it was not found in the server.  The fingerprint
 
30
*** ClientNotFound(s: KeyID, s: Address)
 
31
    A client connected from Address using KeyID, but was
 
32
    rejected because it was not found in the server.  The key ID
33
33
    is represented as a string of hexadecimal digits.  The address is
34
34
    an IPv4 or IPv6 address in its normal string format.
35
35
 
55
55
   
56
56
   | Name                    | Type | Access     | clients.conf        |
57
57
   |-------------------------+------+------------+---------------------|
58
 
   | ApprovedByDefault       | b    | Read/Write | approved_by_default |
59
58
   | ApprovalDelay (a)       | t    | Read/Write | approval_delay      |
60
59
   | ApprovalDuration (a)    | t    | Read/Write | approval_duration   |
61
60
   | ApprovalPending (b)     | b    | Read       | N/A                 |
 
61
   | ApprovedByDefault       | b    | Read/Write | approved_by_default |
62
62
   | Checker                 | s    | Read/Write | checker             |
63
63
   | CheckerRunning (c)      | b    | Read/Write | N/A                 |
64
64
   | Created (d)             | s    | Read       | N/A                 |
68
68
   | Fingerprint             | s    | Read       | fingerprint         |
69
69
   | Host                    | s    | Read/Write | host                |
70
70
   | Interval (a)            | t    | Read/Write | interval            |
 
71
   | KeyID                   | s    | Read       | key_id              |
71
72
   | LastApprovalRequest (g) | s    | Read       | N/A                 |
72
73
   | LastCheckedOK (h)       | s    | Read/Write | N/A                 |
73
74
   | LastCheckerStatus (i)   | n    | Read       | N/A                 |
130
131
 
131
132
* Copyright
132
133
 
133
 
    Copyright © 2010-2018 Teddy Hogeborn
134
 
    Copyright © 2010-2018 Björn Påhlsson
 
134
    Copyright © 2010-2020 Teddy Hogeborn
 
135
    Copyright © 2010-2020 Björn Påhlsson
135
136
  
136
137
** License:
137
138