summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2006-12-29 20:50:24 +0000
committerNick Mathewson <nickm@torproject.org>2006-12-29 20:50:24 +0000
commitc54b7c4d5666201e84d8b8a63b4165e528ac2d7b (patch)
tree14a2ef1c2dfa0231e888cf7a5a9df5d0f3ca5d6c
parent5a399840a6dd342920058483f70ec0d4abed3361 (diff)
downloadtor-c54b7c4d5666201e84d8b8a63b4165e528ac2d7b.tar.gz
tor-c54b7c4d5666201e84d8b8a63b4165e528ac2d7b.zip
r11761@Kushana: nickm | 2006-12-29 15:45:56 -0500
Another cleanup: expand_exit_policy_aliases was totally redundant with respect to router_parse_[private_]addr_policy_private. svn:r9219
-rw-r--r--src/or/policies.c66
-rw-r--r--src/or/routerparse.c9
2 files changed, 4 insertions, 71 deletions
diff --git a/src/or/policies.c b/src/or/policies.c
index 3af6523386..c011fb171e 100644
--- a/src/or/policies.c
+++ b/src/or/policies.c
@@ -12,8 +12,6 @@ const char policies_c_id[] = \
#include "or.h"
-static int expand_exit_policy_aliases(smartlist_t *entries, int assume_action);
-
static addr_policy_t *socks_policy = NULL;
static addr_policy_t *dir_policy = NULL;
static addr_policy_t *authdir_reject_policy = NULL;
@@ -52,10 +50,6 @@ parse_addr_policy(config_line_t *cfg, addr_policy_t **dest,
for (; cfg; cfg = cfg->next) {
smartlist_split_string(entries, cfg->value, ",",
SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0);
- if (expand_exit_policy_aliases(entries,assume_action)<0) {
- r = -1;
- continue;
- }
SMARTLIST_FOREACH(entries, const char *, ent,
{
log_debug(LD_CONFIG,"Adding new entry '%s'",ent);
@@ -450,65 +444,6 @@ append_exit_policy_string(addr_policy_t **policy, const char *more)
parse_addr_policy(&tmp, policy, -1);
}
-static int
-expand_exit_policy_aliases(smartlist_t *entries, int assume_action)
-{
- static const char *prefixes[] = {
- "0.0.0.0/8", "169.254.0.0/16",
- "127.0.0.0/8", "192.168.0.0/16", "10.0.0.0/8", "172.16.0.0/12",NULL };
- int i;
- char *pre=NULL, *post=NULL;
- int expanded_any = 0;
- pre = smartlist_join_strings(entries,",",0,NULL);
- for (i = 0; i < smartlist_len(entries); ++i) {
- char *v = smartlist_get(entries, i);
- const char *cp, *ports;
- const char *action;
- int prefix_idx;
- if (!strcasecmpstart(v, "accept")) {
- action = "accept ";
- cp = v+strlen("accept");
- } else if (!strcasecmpstart(v, "reject")) {
- action = "reject ";
- cp = v+strlen("reject");
- } else if (assume_action >= 0) {
- action = "";
- cp = v;
- } else {
- log_warn(LD_CONFIG,"Policy '%s' didn't start with accept or reject.", v);
- tor_free(pre);
- return -1;
- }
- cp = eat_whitespace(cp);
- if (strcmpstart(cp, "private"))
- continue; /* No need to expand. */
- cp += strlen("private");
- cp = eat_whitespace(cp);
- if (*cp && *cp != ':')
- continue; /* It wasn't "private" after all. */
- ports = cp;
- /* Okay. We're going to replace entries[i] with a bunch of new entries,
- * in order. */
- smartlist_del_keeporder(entries, i);
- for (prefix_idx = 0; prefixes[prefix_idx]; ++prefix_idx) {
- size_t replacement_len = 16+strlen(prefixes[prefix_idx])+strlen(ports);
- char *replacement = tor_malloc(replacement_len);
- tor_snprintf(replacement, replacement_len, "%s%s%s",
- action, prefixes[prefix_idx], ports);
- smartlist_insert(entries, i++, replacement);
- }
- tor_free(v);
- expanded_any = 1;
- --i;
- }
- post = smartlist_join_strings(entries,",",0,NULL);
- if (expanded_any)
- log_info(LD_CONFIG, "Expanded '%s' to '%s'", pre, post);
- tor_free(pre);
- tor_free(post);
- return expanded_any;
-}
-
/** Detect and excise "dead code" from the policy *<b>dest</b>. */
static void
exit_policy_remove_redundancies(addr_policy_t **dest)
@@ -598,7 +533,6 @@ exit_policy_remove_redundancies(addr_policy_t **dest)
* policy afterwards. If <b>rejectprivate</b> is true, prepend
* "reject private:*" to the policy. Return -1 if we can't parse cfg,
* else return 0.
- *
*/
int
policies_parse_exit_policy(config_line_t *cfg, addr_policy_t **dest,
diff --git a/src/or/routerparse.c b/src/or/routerparse.c
index 717cd2bea8..611eab08c7 100644
--- a/src/or/routerparse.c
+++ b/src/or/routerparse.c
@@ -155,8 +155,8 @@ static struct {
/* static function prototypes */
static int router_add_exit_policy(routerinfo_t *router,directory_token_t *tok);
static addr_policy_t *router_parse_addr_policy(directory_token_t *tok);
-static addr_policy_t *router_parse_private_addr_policy_private(
- directory_token_t *tok);
+static addr_policy_t *router_parse_addr_policy_private(directory_token_t *tok);
+
static int router_get_hash_impl(const char *s, char *digest,
const char *start_str, const char *end_str);
static void token_free(directory_token_t *tok);
@@ -1380,7 +1380,7 @@ router_parse_addr_policy(directory_token_t *tok)
arg = tok->args[0];
if (!strcmpstart(arg,"private"))
- return router_parse_private_addr_policy_private(tok);
+ return router_parse_addr_policy_private(tok);
newe = tor_malloc_zero(sizeof(addr_policy_t));
@@ -1408,9 +1408,8 @@ policy_read_failed:
* router descriptors until earlier versions are obsolete.
*/
static addr_policy_t *
-router_parse_private_addr_policy_private(directory_token_t *tok)
+router_parse_addr_policy_private(directory_token_t *tok)
{
- /* XXXX012 duplicated from config.c */
static const char *private_nets[] = {
"0.0.0.0/8", "169.254.0.0/16",
"127.0.0.0/8", "192.168.0.0/16", "10.0.0.0/8", "172.16.0.0/12",NULL };