dircache.h 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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-2019, The Tor Project, Inc. */
  5. /* See LICENSE for licensing information */
  6. /**
  7. * \file dircache.h
  8. * \brief Header file for dircache.c.
  9. **/
  10. #ifndef TOR_DIRCACHE_H
  11. #define TOR_DIRCACHE_H
  12. int directory_handle_command(dir_connection_t *conn);
  13. #ifdef DIRCACHE_PRIVATE
  14. MOCK_DECL(STATIC int, directory_handle_command_get,(dir_connection_t *conn,
  15. const char *headers,
  16. const char *req_body,
  17. size_t req_body_len));
  18. MOCK_DECL(STATIC int, directory_handle_command_post,(dir_connection_t *conn,
  19. const char *headers,
  20. const char *body,
  21. size_t body_len));
  22. STATIC int handle_post_hs_descriptor(const char *url, const char *body);
  23. enum compression_level_t;
  24. STATIC enum compression_level_t choose_compression_level(ssize_t n_bytes);
  25. struct get_handler_args_t;
  26. STATIC int handle_get_hs_descriptor_v3(dir_connection_t *conn,
  27. const struct get_handler_args_t *args);
  28. STATIC int parse_http_url(const char *headers, char **url);
  29. STATIC int parse_hs_version_from_post(const char *url, const char *prefix,
  30. const char **end_pos);
  31. STATIC unsigned parse_accept_encoding_header(const char *h);
  32. #endif
  33. void dircache_pirserver_reply_params(dir_connection_t *conn,
  34. const char *params, size_t params_len);
  35. #endif /* !defined(TOR_DIRCACHE_H) */