From 430ca38f706be08e0df0c1cf025786cb25e46172 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Sun, 30 Sep 2018 23:08:25 -0500 Subject: Split the authority-cert and signature/hash code from routerparse --- src/feature/dirparse/sigcommon.h | 48 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 src/feature/dirparse/sigcommon.h (limited to 'src/feature/dirparse/sigcommon.h') diff --git a/src/feature/dirparse/sigcommon.h b/src/feature/dirparse/sigcommon.h new file mode 100644 index 0000000000..5f25817cdb --- /dev/null +++ b/src/feature/dirparse/sigcommon.h @@ -0,0 +1,48 @@ +/* Copyright (c) 2001 Matej Pfajfar. + * Copyright (c) 2001-2004, Roger Dingledine. + * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson. + * Copyright (c) 2007-2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/** + * \file sigcommon.h + * \brief Header file for sigcommon.c. + **/ + +#ifndef TOR_SIGCOMMON_H +#define TOR_SIGCOMMON_H + +/* TODO: Rename all of these functions */ +int router_get_hash_impl(const char *s, size_t s_len, char *digest, + const char *start_str, const char *end_str, + char end_char, + digest_algorithm_t alg); + +#define CST_NO_CHECK_OBJTYPE (1<<0) +struct directory_token_t; +int check_signature_token(const char *digest, + ssize_t digest_len, + struct directory_token_t *tok, + crypto_pk_t *pkey, + int flags, + const char *doctype); + +int router_get_hash_impl_helper(const char *s, size_t s_len, + const char *start_str, + const char *end_str, char end_c, + int log_severity, + const char **start_out, const char **end_out); +int router_get_hashes_impl(const char *s, size_t s_len, + common_digests_t *digests, + const char *start_str, const char *end_str, + char end_char); + +#ifdef SIGCOMMON_PRIVATE +MOCK_DECL(STATIC int, signed_digest_equals, + (const uint8_t *d1, const uint8_t *d2, size_t len)); +MOCK_DECL(STATIC int, router_compute_hash_final,(char *digest, + const char *start, size_t len, + digest_algorithm_t alg)); +#endif + +#endif /* !defined(TOR_SIGCOMMON_H) */ -- cgit v1.2.3-54-g00ecf