]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Create directory.h
authorSebastian Hahn <sebastian@torproject.org>
Thu, 22 Jul 2010 09:54:50 +0000 (11:54 +0200)
committerSebastian Hahn <sebastian@torproject.org>
Tue, 27 Jul 2010 05:58:15 +0000 (07:58 +0200)
15 files changed:
src/or/circuitbuild.c
src/or/connection.c
src/or/control.c
src/or/directory.c
src/or/directory.h [new file with mode: 0644]
src/or/dirserv.c
src/or/dirvote.c
src/or/main.c
src/or/networkstatus.c
src/or/or.h
src/or/rendclient.c
src/or/rendservice.c
src/or/router.c
src/or/routerlist.c
src/test/test_dir.c

index a675d7dad8243cf1fe25439d888d9195eb706c51..1a189caabd954bce2dda7e81b3026c4afb85a110 100644 (file)
@@ -20,6 +20,7 @@
 #include "connection_edge.h"
 #include "connection_or.h"
 #include "control.h"
+#include "directory.h"
 #include "router.h"
 #include "routerlist.h"
 #include "crypto.h"
index ac8123cf37f68f7188caee1f86e4e5c8709993b1..f41578322b7642983e69b1a6454be93ebc41bb1a 100644 (file)
@@ -21,6 +21,7 @@
 #include "connection_or.h"
 #include "control.h"
 #include "cpuworker.h"
+#include "directory.h"
 #include "dnsserv.h"
 #include "geoip.h"
 #include "rendclient.h"
index 77ca085167d42b8b0a1d36570959a4c844edf7d7..e90134afcaca0e547cb84de67631ffc0f4a042e9 100644 (file)
@@ -19,6 +19,7 @@
 #include "connection.h"
 #include "connection_edge.h"
 #include "control.h"
+#include "directory.h"
 #include "dnsserv.h"
 #include "geoip.h"
 #include "router.h"
index 5fdae43094eecc3851633668c6ab062136e72779..41b27945d7a2efea12775196772c77aaf005b0e5 100644 (file)
@@ -10,6 +10,7 @@
 #include "connection.h"
 #include "connection_edge.h"
 #include "control.h"
+#include "directory.h"
 #include "geoip.h"
 #include "rendclient.h"
 #include "rendcommon.h"
diff --git a/src/or/directory.h b/src/or/directory.h
new file mode 100644 (file)
index 0000000..36b4cf2
--- /dev/null
@@ -0,0 +1,108 @@
+/* Copyright (c) 2001 Matej Pfajfar.
+ * Copyright (c) 2001-2004, Roger Dingledine.
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2010, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * \file directory.h
+ * \brief Header file for directory.c.
+ **/
+
+#ifndef _TOR_DIRECTORY_H
+#define _TOR_DIRECTORY_H
+
+int directories_have_accepted_server_descriptor(void);
+char *authority_type_to_string(authority_type_t auth);
+void directory_post_to_dirservers(uint8_t dir_purpose, uint8_t router_purpose,
+                                  authority_type_t type, const char *payload,
+                                  size_t payload_len, size_t extrainfo_len);
+void directory_get_from_dirserver(uint8_t dir_purpose, uint8_t router_purpose,
+                                  const char *resource,
+                                  int pds_flags);
+void directory_get_from_all_authorities(uint8_t dir_purpose,
+                                        uint8_t router_purpose,
+                                        const char *resource);
+void directory_initiate_command_routerstatus(routerstatus_t *status,
+                                             uint8_t dir_purpose,
+                                             uint8_t router_purpose,
+                                             int anonymized_connection,
+                                             const char *resource,
+                                             const char *payload,
+                                             size_t payload_len,
+                                             time_t if_modified_since);
+void directory_initiate_command_routerstatus_rend(routerstatus_t *status,
+                                                  uint8_t dir_purpose,
+                                                  uint8_t router_purpose,
+                                                  int anonymized_connection,
+                                                  const char *resource,
+                                                  const char *payload,
+                                                  size_t payload_len,
+                                                  time_t if_modified_since,
+                                                const rend_data_t *rend_query);
+
+int parse_http_response(const char *headers, int *code, time_t *date,
+                        compress_method_t *compression, char **response);
+
+int connection_dir_is_encrypted(dir_connection_t *conn);
+int connection_dir_reached_eof(dir_connection_t *conn);
+int connection_dir_process_inbuf(dir_connection_t *conn);
+int connection_dir_finished_flushing(dir_connection_t *conn);
+int connection_dir_finished_connecting(dir_connection_t *conn);
+void connection_dir_request_failed(dir_connection_t *conn);
+void directory_initiate_command(const char *address, const tor_addr_t *addr,
+                                uint16_t or_port, uint16_t dir_port,
+                                int supports_conditional_consensus,
+                                int supports_begindir, const char *digest,
+                                uint8_t dir_purpose, uint8_t router_purpose,
+                                int anonymized_connection,
+                                const char *resource,
+                                const char *payload, size_t payload_len,
+                                time_t if_modified_since);
+
+#define DSR_HEX       (1<<0)
+#define DSR_BASE64    (1<<1)
+#define DSR_DIGEST256 (1<<2)
+#define DSR_SORT_UNIQ (1<<3)
+int dir_split_resource_into_fingerprints(const char *resource,
+                                     smartlist_t *fp_out, int *compressed_out,
+                                     int flags);
+
+int dir_split_resource_into_fingerprint_pairs(const char *res,
+                                              smartlist_t *pairs_out);
+char *directory_dump_request_log(void);
+void note_request(const char *key, size_t bytes);
+int router_supports_extrainfo(const char *identity_digest, int is_authority);
+
+time_t download_status_increment_failure(download_status_t *dls,
+                                         int status_code, const char *item,
+                                         int server, time_t now);
+/** Increment the failure count of the download_status_t <b>dls</b>, with
+ * the optional status code <b>sc</b>. */
+#define download_status_failed(dls, sc)                                 \
+  download_status_increment_failure((dls), (sc), NULL,                  \
+                                    get_options()->DirPort, time(NULL))
+
+void download_status_reset(download_status_t *dls);
+static int download_status_is_ready(download_status_t *dls, time_t now,
+                                    int max_failures);
+/** Return true iff, as of <b>now</b>, the resource tracked by <b>dls</b> is
+ * ready to get its download reattempted. */
+static INLINE int
+download_status_is_ready(download_status_t *dls, time_t now,
+                         int max_failures)
+{
+  return (dls->n_download_failures <= max_failures
+          && dls->next_attempt_at <= now);
+}
+
+static void download_status_mark_impossible(download_status_t *dl);
+/** Mark <b>dl</b> as never downloadable. */
+static INLINE void
+download_status_mark_impossible(download_status_t *dl)
+{
+  dl->n_download_failures = IMPOSSIBLE_TO_DOWNLOAD;
+}
+
+#endif
+
index 80423381ef254a250c485f53de146bfcfb11f9b4..5eea9ce1abee73cc68d1a63f35fedb585fa867ee 100644 (file)
@@ -10,6 +10,7 @@
 #include "connection.h"
 #include "connection_or.h"
 #include "control.h"
+#include "directory.h"
 #include "router.h"
 #include "routerlist.h"
 
index 6e6bf8d08899a62c4f6c50294bb948636a2b2f7f..f24a91f8e80b0cff5fc49173b00a1afcc0c950bc 100644 (file)
@@ -6,6 +6,7 @@
 #define DIRVOTE_PRIVATE
 #include "or.h"
 #include "config.h"
+#include "directory.h"
 #include "router.h"
 #include "routerlist.h"
 
index 46ab044c34f382baea43cede0a17985dc6287e6c..4bd815a6f3ee66d4367755fee5a4fc07a7310442 100644 (file)
@@ -23,6 +23,7 @@
 #include "connection_or.h"
 #include "control.h"
 #include "cpuworker.h"
+#include "directory.h"
 #include "dnsserv.h"
 #include "geoip.h"
 #include "rendclient.h"
index 21774976cab0f6603212756c709e567c286fb58d..799d21f9d0aceec347d61322d3545b2aa40cdc2c 100644 (file)
@@ -15,6 +15,7 @@
 #include "config.h"
 #include "connection.h"
 #include "control.h"
+#include "directory.h"
 #include "router.h"
 #include "routerlist.h"
 
index f38567f539ffb49e5281d8d007381ee9ca95abb4..58339b291e791b983097328397534c629c75496c 100644 (file)
@@ -3166,101 +3166,11 @@ typedef enum {
 
 /********************************* directory.c ***************************/
 
-int directories_have_accepted_server_descriptor(void);
-char *authority_type_to_string(authority_type_t auth);
-void directory_post_to_dirservers(uint8_t dir_purpose, uint8_t router_purpose,
-                                  authority_type_t type, const char *payload,
-                                  size_t payload_len, size_t extrainfo_len);
-void directory_get_from_dirserver(uint8_t dir_purpose, uint8_t router_purpose,
-                                  const char *resource,
-                                  int pds_flags);
-void directory_get_from_all_authorities(uint8_t dir_purpose,
-                                        uint8_t router_purpose,
-                                        const char *resource);
-void directory_initiate_command_routerstatus(routerstatus_t *status,
-                                             uint8_t dir_purpose,
-                                             uint8_t router_purpose,
-                                             int anonymized_connection,
-                                             const char *resource,
-                                             const char *payload,
-                                             size_t payload_len,
-                                             time_t if_modified_since);
-void directory_initiate_command_routerstatus_rend(routerstatus_t *status,
-                                                  uint8_t dir_purpose,
-                                                  uint8_t router_purpose,
-                                                  int anonymized_connection,
-                                                  const char *resource,
-                                                  const char *payload,
-                                                  size_t payload_len,
-                                                  time_t if_modified_since,
-                                                const rend_data_t *rend_query);
-
-int parse_http_response(const char *headers, int *code, time_t *date,
-                        compress_method_t *compression, char **response);
-
-int connection_dir_is_encrypted(dir_connection_t *conn);
-int connection_dir_reached_eof(dir_connection_t *conn);
-int connection_dir_process_inbuf(dir_connection_t *conn);
-int connection_dir_finished_flushing(dir_connection_t *conn);
-int connection_dir_finished_connecting(dir_connection_t *conn);
-void connection_dir_request_failed(dir_connection_t *conn);
-void directory_initiate_command(const char *address, const tor_addr_t *addr,
-                                uint16_t or_port, uint16_t dir_port,
-                                int supports_conditional_consensus,
-                                int supports_begindir, const char *digest,
-                                uint8_t dir_purpose, uint8_t router_purpose,
-                                int anonymized_connection,
-                                const char *resource,
-                                const char *payload, size_t payload_len,
-                                time_t if_modified_since);
-
-#define DSR_HEX       (1<<0)
-#define DSR_BASE64    (1<<1)
-#define DSR_DIGEST256 (1<<2)
-#define DSR_SORT_UNIQ (1<<3)
-int dir_split_resource_into_fingerprints(const char *resource,
-                                     smartlist_t *fp_out, int *compressed_out,
-                                     int flags);
 /** A pair of digests created by dir_split_resource_info_fingerprint_pairs() */
 typedef struct {
   char first[DIGEST_LEN];
   char second[DIGEST_LEN];
 } fp_pair_t;
-int dir_split_resource_into_fingerprint_pairs(const char *res,
-                                              smartlist_t *pairs_out);
-char *directory_dump_request_log(void);
-void note_request(const char *key, size_t bytes);
-int router_supports_extrainfo(const char *identity_digest, int is_authority);
-
-time_t download_status_increment_failure(download_status_t *dls,
-                                         int status_code, const char *item,
-                                         int server, time_t now);
-/** Increment the failure count of the download_status_t <b>dls</b>, with
- * the optional status code <b>sc</b>. */
-#define download_status_failed(dls, sc)                                 \
-  download_status_increment_failure((dls), (sc), NULL,                  \
-                                    get_options()->DirPort, time(NULL))
-
-void download_status_reset(download_status_t *dls);
-static int download_status_is_ready(download_status_t *dls, time_t now,
-                                    int max_failures);
-/** Return true iff, as of <b>now</b>, the resource tracked by <b>dls</b> is
- * ready to get its download reattempted. */
-static INLINE int
-download_status_is_ready(download_status_t *dls, time_t now,
-                         int max_failures)
-{
-  return (dls->n_download_failures <= max_failures
-          && dls->next_attempt_at <= now);
-}
-
-static void download_status_mark_impossible(download_status_t *dl);
-/** Mark <b>dl</b> as never downloadable. */
-static INLINE void
-download_status_mark_impossible(download_status_t *dl)
-{
-  dl->n_download_failures = IMPOSSIBLE_TO_DOWNLOAD;
-}
 
 /********************************* dirserv.c ***************************/
 /** Maximum length of an exit policy summary. */
index 3665eb11829487efb490a4c860568a77788c9e6b..92d43bc1822c4bc4154da161f5d6a9b7484a88b0 100644 (file)
@@ -14,6 +14,7 @@
 #include "config.h"
 #include "connection.h"
 #include "connection_edge.h"
+#include "directory.h"
 #include "rendclient.h"
 #include "rendcommon.h"
 #include "routerlist.h"
index a7ed2007f56b1f027b15a1641ae618533886f080..5d72ef8c0ccc7083a85ab0fade2f36c8de60133b 100644 (file)
@@ -12,6 +12,7 @@
 #include "circuitlist.h"
 #include "circuituse.h"
 #include "config.h"
+#include "directory.h"
 #include "rendclient.h"
 #include "rendcommon.h"
 #include "rendservice.h"
index 722bb4da5f6748ab97d5a8dad2755c1145a94c86..8dd7ef8dc0682d150b59c3c02164a0933eafbdd3 100644 (file)
@@ -12,6 +12,7 @@
 #include "config.h"
 #include "connection.h"
 #include "control.h"
+#include "directory.h"
 #include "geoip.h"
 #include "router.h"
 #include "routerlist.h"
index a28415289c0720e954595efb5cf7fb3c74f1feb6..ca5d75dd7d946114a3738ffd5457bc1e48f2d27b 100644 (file)
@@ -16,6 +16,7 @@
 #include "config.h"
 #include "connection.h"
 #include "control.h"
+#include "directory.h"
 #include "geoip.h"
 #include "rendcommon.h"
 #include "rendservice.h"
index 5ea09d092fdbe6f0c6b6bcecdfe8fd16c5d6c4db..e01da1467d324fefe014229f4026a01e31114eec 100644 (file)
@@ -8,6 +8,7 @@
 #define DIRVOTE_PRIVATE
 #define ROUTER_PRIVATE
 #include "or.h"
+#include "directory.h"
 #include "router.h"
 #include "routerlist.h"
 #include "test.h"