aboutsummaryrefslogtreecommitdiff
path: root/python/olm/utility.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/olm/utility.py')
-rw-r--r--python/olm/utility.py56
1 files changed, 0 insertions, 56 deletions
diff --git a/python/olm/utility.py b/python/olm/utility.py
deleted file mode 100644
index dac0225..0000000
--- a/python/olm/utility.py
+++ /dev/null
@@ -1,56 +0,0 @@
-from ._base import lib, c_void_p, c_size_t, c_char_p, \
- create_string_buffer, ERR, OlmError
-
-lib.olm_utility_size.argtypes = []
-lib.olm_utility_size.restype = c_size_t
-
-lib.olm_utility.argtypes = [c_void_p]
-lib.olm_utility.restype = c_void_p
-
-lib.olm_utility_last_error.argtypes = [c_void_p]
-lib.olm_utility_last_error.restype = c_char_p
-
-
-def utility_errcheck(res, func, args):
- if res == ERR:
- raise OlmError("%s: %s" % (
- func.__name__, lib.olm_utility_last_error(args[0])
- ))
- return res
-
-
-def utility_function(func, *types):
- func.argtypes = (c_void_p,) + types
- func.restypes = c_size_t
- func.errcheck = utility_errcheck
-
-utility_function(
- lib.olm_ed25519_verify,
- c_void_p, c_size_t, # key, key_length
- c_void_p, c_size_t, # message, message_length
- c_void_p, c_size_t, # signature, signature_length
-)
-
-
-class Utility(object):
- def __init__(self):
- self.buf = create_string_buffer(lib.olm_utility_size())
- self.ptr = lib.olm_utility(self.buf)
-
-_utility = None
-
-
-def ed25519_verify(key, message, signature):
- """ Verify an ed25519 signature. Raises an OlmError if verification fails.
- Args:
- key(bytes): The ed25519 public key used for signing.
- message(bytes): The signed message.
- signature(bytes): The message signature.
- """
- global _utility
- if not _utility:
- _utility = Utility()
- lib.olm_ed25519_verify(_utility.ptr,
- key, len(key),
- message, len(message),
- signature, len(signature))