1 /* Copyright (c) 2001 Matej Pfajfar. 2 * Copyright (c) 2001-2004, Roger Dingledine. 3 * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson. 4 * Copyright (c) 2007-2021, The Tor Project, Inc. */ 5 /* See LICENSE for licensing information */ 6 7 /** 8 * \file sigcommon.h 9 * \brief Header file for sigcommon.c. 10 **/ 11 12 #ifndef TOR_SIGCOMMON_H 13 #define TOR_SIGCOMMON_H 14 15 /* TODO: Rename all of these functions */ 16 int router_get_hash_impl(const char *s, size_t s_len, char *digest, 17 const char *start_str, const char *end_str, 18 char end_char, 19 digest_algorithm_t alg); 20 21 #define CST_NO_CHECK_OBJTYPE (1<<0) 22 struct directory_token_t; 23 MOCK_DECL(int, check_signature_token,(const char *digest, 24 ssize_t digest_len, 25 struct directory_token_t *tok, 26 crypto_pk_t *pkey, 27 int flags, 28 const char *doctype)); 29 30 int router_get_hash_impl_helper(const char *s, size_t s_len, 31 const char *start_str, 32 const char *end_str, char end_c, 33 int log_severity, 34 const char **start_out, const char **end_out); 35 int router_get_hashes_impl(const char *s, size_t s_len, 36 common_digests_t *digests, 37 const char *start_str, const char *end_str, 38 char end_char); 39 40 #ifdef SIGCOMMON_PRIVATE 41 MOCK_DECL(STATIC int, signed_digest_equals, 42 (const uint8_t *d1, const uint8_t *d2, size_t len)); 43 MOCK_DECL(STATIC int, router_compute_hash_final,(char *digest, 44 const char *start, size_t len, 45 digest_algorithm_t alg)); 46 #endif /* defined(SIGCOMMON_PRIVATE) */ 47 48 #endif /* !defined(TOR_SIGCOMMON_H) */ 49