From 7bd8dee46371063cd1e62661cd65ce9a35e776e5 Mon Sep 17 00:00:00 2001 From: Sebastian Hahn Date: Fri, 23 Jul 2010 20:51:25 +0200 Subject: Create policies.h --- src/or/policies.h | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 src/or/policies.h (limited to 'src/or/policies.h') diff --git a/src/or/policies.h b/src/or/policies.h new file mode 100644 index 000000000..b99ee797f --- /dev/null +++ b/src/or/policies.h @@ -0,0 +1,60 @@ +/* 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 policies.h + * \brief Header file for policy.c. + **/ + +#ifndef _TOR_POLICIES_H +#define _TOR_POLICIES_H + +/* (length of "accept 255.255.255.255/255.255.255.255:65535-65535\n" plus a + * NUL.) + */ +#define POLICY_BUF_LEN 52 + +int firewall_is_fascist_or(void); +int fascist_firewall_allows_address_or(const tor_addr_t *addr, uint16_t port); +int fascist_firewall_allows_or(routerinfo_t *ri); +int fascist_firewall_allows_address_dir(const tor_addr_t *addr, uint16_t port); +int dir_policy_permits_address(const tor_addr_t *addr); +int socks_policy_permits_address(const tor_addr_t *addr); +int authdir_policy_permits_address(uint32_t addr, uint16_t port); +int authdir_policy_valid_address(uint32_t addr, uint16_t port); +int authdir_policy_baddir_address(uint32_t addr, uint16_t port); +int authdir_policy_badexit_address(uint32_t addr, uint16_t port); + +int validate_addr_policies(or_options_t *options, char **msg); +void policy_expand_private(smartlist_t **policy); +int policies_parse_from_options(or_options_t *options); + +addr_policy_t *addr_policy_get_canonical_entry(addr_policy_t *ent); +int cmp_addr_policies(smartlist_t *a, smartlist_t *b); +addr_policy_result_t compare_tor_addr_to_addr_policy(const tor_addr_t *addr, + uint16_t port, const smartlist_t *policy); +addr_policy_result_t compare_addr_to_addr_policy(uint32_t addr, + uint16_t port, const smartlist_t *policy); +int policies_parse_exit_policy(config_line_t *cfg, smartlist_t **dest, + int rejectprivate, const char *local_address, + int add_default_policy); +void policies_set_router_exitpolicy_to_reject_all(routerinfo_t *exitrouter); +int exit_policy_is_general_exit(smartlist_t *policy); +int policy_is_reject_star(const smartlist_t *policy); +int getinfo_helper_policies(control_connection_t *conn, + const char *question, char **answer, + const char **errmsg); +int policy_write_item(char *buf, size_t buflen, addr_policy_t *item, + int format_for_desc); + +void addr_policy_list_free(smartlist_t *p); +void addr_policy_free(addr_policy_t *p); +void policies_free_all(void); + +char *policy_summarize(smartlist_t *policy); + +#endif + -- cgit v1.2.3 From da49a7267fee4e36cd1983158cbce7c1aa10e58a Mon Sep 17 00:00:00 2001 From: Linus Nordberg Date: Wed, 28 Jul 2010 17:42:33 +0200 Subject: Fix typos, make all \brief's conformant, end sentences with a period. --- src/or/circuitbuild.h | 2 +- src/or/dnsserv.h | 2 +- src/or/policies.h | 2 +- src/or/reasons.h | 2 +- src/or/rendclient.h | 2 +- src/or/rendcommon.h | 2 +- src/or/rendmid.h | 8 ++++---- src/or/rendservice.h | 2 +- src/or/rephist.h | 2 +- src/or/router.h | 2 +- src/or/routerlist.h | 2 +- src/or/routerparse.h | 2 +- 12 files changed, 15 insertions(+), 15 deletions(-) (limited to 'src/or/policies.h') diff --git a/src/or/circuitbuild.h b/src/or/circuitbuild.h index e19f3d940..3a02f0420 100644 --- a/src/or/circuitbuild.h +++ b/src/or/circuitbuild.h @@ -5,7 +5,7 @@ /* See LICENSE for licensing information */ /** - * \file geoip.h + * \file circuitbuild.h * \brief Header file for circuitbuild.c. **/ diff --git a/src/or/dnsserv.h b/src/or/dnsserv.h index f3b73d45a..5bf154ebb 100644 --- a/src/or/dnsserv.h +++ b/src/or/dnsserv.h @@ -6,7 +6,7 @@ /** * \file dnsserv.h - * \brief Header file for dnsserv functions + * \brief Header file for dnsserv.c. **/ #ifndef _TOR_DNSSERV_H diff --git a/src/or/policies.h b/src/or/policies.h index b99ee797f..dd46f4de9 100644 --- a/src/or/policies.h +++ b/src/or/policies.h @@ -6,7 +6,7 @@ /** * \file policies.h - * \brief Header file for policy.c. + * \brief Header file for policies.c. **/ #ifndef _TOR_POLICIES_H diff --git a/src/or/reasons.h b/src/or/reasons.h index 1400e8145..b87d36a77 100644 --- a/src/or/reasons.h +++ b/src/or/reasons.h @@ -6,7 +6,7 @@ /** * \file reasons.h - * \brief Header file for reasons.c + * \brief Header file for reasons.c. **/ #ifndef _TOR_REASONS_H diff --git a/src/or/rendclient.h b/src/or/rendclient.h index 4e6587b85..842fe0b8c 100644 --- a/src/or/rendclient.h +++ b/src/or/rendclient.h @@ -6,7 +6,7 @@ /** * \file rendclient.h - * \brief Header file for client rend functions + * \brief Header file for rendclient.c. **/ #ifndef _TOR_RENDCLIENT_H diff --git a/src/or/rendcommon.h b/src/or/rendcommon.h index 5d60c2258..00705022a 100644 --- a/src/or/rendcommon.h +++ b/src/or/rendcommon.h @@ -6,7 +6,7 @@ /** * \file rendcommon.h - * \brief Header file for common rend functions + * \brief Header file for rendcommon.c. **/ #ifndef _TOR_RENDCOMMON_H diff --git a/src/or/rendmid.h b/src/or/rendmid.h index 92df878fe..4d08d4c8b 100644 --- a/src/or/rendmid.h +++ b/src/or/rendmid.h @@ -5,12 +5,12 @@ /* See LICENSE for licensing information */ /** - * \file geoip.h - * \brief Header file for geoip functions + * \file rendmid.h + * \brief Header file for rendmid.c. **/ -#ifndef _TOR_GEOIP_H -#define _TOR_GEOIP_H +#ifndef _TOR_RENDMID_H +#define _TOR_RENDMID_H int rend_mid_establish_intro(or_circuit_t *circ, const char *request, size_t request_len); diff --git a/src/or/rendservice.h b/src/or/rendservice.h index 10874927e..f979a3941 100644 --- a/src/or/rendservice.h +++ b/src/or/rendservice.h @@ -6,7 +6,7 @@ /** * \file rendservice.h - * \brief Header file for rendservice functions + * \brief Header file for rendservice.c. **/ #ifndef _TOR_RENDSERVICE_H diff --git a/src/or/rephist.h b/src/or/rephist.h index 1720c9a9f..a84589221 100644 --- a/src/or/rephist.h +++ b/src/or/rephist.h @@ -6,7 +6,7 @@ /** * \file rephist.h - * \brief Header file for rephist functions + * \brief Header file for rephist.c. **/ #ifndef _TOR_REPHIST_H diff --git a/src/or/router.h b/src/or/router.h index c8a8506c4..d90a7cff9 100644 --- a/src/or/router.h +++ b/src/or/router.h @@ -6,7 +6,7 @@ /** * \file router.h - * \brief Header file for router functions + * \brief Header file for router.c. **/ #ifndef _TOR_ROUTER_H diff --git a/src/or/routerlist.h b/src/or/routerlist.h index bbb3c5fe0..e31b07aef 100644 --- a/src/or/routerlist.h +++ b/src/or/routerlist.h @@ -5,7 +5,7 @@ /** * \file routerlist.h - * \brief Header file for routerlist functions + * \brief Header file for routerlist.c. **/ #ifndef _TOR_ROUTERLIST_H diff --git a/src/or/routerparse.h b/src/or/routerparse.h index e246dbe9c..2313f68e0 100644 --- a/src/or/routerparse.h +++ b/src/or/routerparse.h @@ -6,7 +6,7 @@ /** * \file routerpase.h - * \brief Header file for router information parsing. + * \brief Header file for routerparse.c. **/ #ifndef _TOR_ROUTERPARSE_H -- cgit v1.2.3