summaryrefslogtreecommitdiff
path: root/src/or/or.h
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2005-09-15 14:39:05 +0000
committerNick Mathewson <nickm@torproject.org>2005-09-15 14:39:05 +0000
commite72e76cad62fb971a047582381354a083baa220a (patch)
treebfc98dd9bab0b0fe76eba222f3f2856f3911308c /src/or/or.h
parented21abfe8792a7180c63d5c0243ebd182a66be3b (diff)
downloadtor-e72e76cad62fb971a047582381354a083baa220a.tar.gz
tor-e72e76cad62fb971a047582381354a083baa220a.zip
Make authdirs smarter. Reject/invalidate by key and IP. Remember that not every authdir has to be a naming authdir.
svn:r5074
Diffstat (limited to 'src/or/or.h')
-rw-r--r--src/or/or.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/or/or.h b/src/or/or.h
index a554057678..030ed64f69 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -1178,7 +1178,10 @@ typedef struct {
int DirPort; /**< Port to listen on for directory connections. */
int AssumeReachable; /**< Whether to publish our descriptor regardless. */
int AuthoritativeDir; /**< Boolean: is this an authoritative directory? */
- int V1AuthoritativeDir; /**< Boolean: is this an authoritative directory? */
+ int V1AuthoritativeDir; /**< Boolean: is this an authoritative directory?
+ * for version 1 directories? */
+ int NamingAuthoritativeDir; /**< Boolean: is this an authoritative directory
+ * that's willing to bind names? */
int ClientOnly; /**< Boolean: should we never evolve into a server role? */
int NoPublish; /**< Boolean: should we never publish a descriptor? */
int ConnLimit; /**< Requested maximum number of simultaneous connections. */
@@ -1243,6 +1246,10 @@ typedef struct {
config_line_t *RedirectExit; /**< List of config lines for simple
* addr/port redirection */
smartlist_t *RedirectExitList; /**< List of exit_redirect_t */
+ config_line_t *AuthDirReject; /**< Address policy for descriptors to
+ * reject. */
+ config_line_t *AuthDirInvalid; /**< Address policy for descriptors to
+ * never mark as valid. */
char *AccountingStart; /**< How long is the accounting interval, and when
* does it start? */
uint64_t AccountingMax; /**< How many bytes do we allow per accounting
@@ -1711,6 +1718,7 @@ void free_dir_policy(void);
/********************************* dirserv.c ***************************/
+void parse_authdir_policy(void);
int dirserv_add_own_fingerprint(const char *nickname, crypto_pk_env_t *pk);
int dirserv_parse_fingerprint_file(const char *fname);
void dirserv_free_fingerprint_list(void);