diff options
author | Nick Mathewson <nickm@torproject.org> | 2010-11-02 11:45:14 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2010-11-10 16:02:02 -0500 |
commit | 089137f0112b0ad7c8ada8f2d5c7a967cfb87387 (patch) | |
tree | c7d22717364f8ebd1835c58df98fedc703e74d4f /src/or/routerparse.c | |
parent | bad609ae6b5505783034cd3951afd382c528c532 (diff) | |
download | tor-089137f0112b0ad7c8ada8f2d5c7a967cfb87387.tar tor-089137f0112b0ad7c8ada8f2d5c7a967cfb87387.tar.gz |
Fix a bug where seting allow_annotations==0 only ignores annotations, but does not block them
Diffstat (limited to 'src/or/routerparse.c')
-rw-r--r-- | src/or/routerparse.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/or/routerparse.c b/src/or/routerparse.c index aa1aba423..da08e4664 100644 --- a/src/or/routerparse.c +++ b/src/or/routerparse.c @@ -1177,10 +1177,16 @@ router_parse_entry_from_string(const char *s, const char *end, s = cp+1; } - if (allow_annotations && start_of_annotations != s) { - if (tokenize_string(area,start_of_annotations,s,tokens, - routerdesc_token_table,TS_NOCHECK)) { - log_warn(LD_DIR, "Error tokenizing router descriptor (annotations)."); + if (start_of_annotations != s) { /* We have annotations */ + if (allow_annotations) { + if (tokenize_string(area,start_of_annotations,s,tokens, + routerdesc_token_table,TS_NOCHECK)) { + log_warn(LD_DIR, "Error tokenizing router descriptor (annotations)."); + goto err; + } + } else { + log_warn(LD_DIR, "Found unexpected annotations on router descriptor not " + "loaded from disk. Dropping it."); goto err; } } |