[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[or-cvs] r16543: {tor} Having a reject-all policy summarized with a lack of summary (in tor/trunk: doc/spec/proposals src/or)
Author: weasel
Date: 2008-08-14 08:37:50 -0400 (Thu, 14 Aug 2008)
New Revision: 16543
Modified:
tor/trunk/doc/spec/proposals/141-jit-sd-downloads.txt
tor/trunk/src/or/dirserv.c
tor/trunk/src/or/policies.c
tor/trunk/src/or/test.c
Log:
Having a reject-all policy summarized with a lack of summary is stupid. Explicitly mention them as reject 1-65535.
Modified: tor/trunk/doc/spec/proposals/141-jit-sd-downloads.txt
===================================================================
--- tor/trunk/doc/spec/proposals/141-jit-sd-downloads.txt 2008-08-14 12:37:42 UTC (rev 16542)
+++ tor/trunk/doc/spec/proposals/141-jit-sd-downloads.txt 2008-08-14 12:37:50 UTC (rev 16543)
@@ -233,19 +233,22 @@
at most two /8 networks).
An exit policy summary will be included in votes and consensus as a
- new line attached to each exit node. A lack of policy should indicate
- a non-exit policy. The line will have the format
+ new line attached to each exit node. The line will have the format
"p" <space> "accept"|"reject" <portlist>
where portlist is a comma seperated list of single port numbers or
- portranges (e.g. "22,80-88,1024-6000,6667"). Whether the summary
- shows the list of accepted ports or the list of rejected ports depends
- on which list is shorter (has a shorter string representation). In
- case of ties we choose the list of accepted ports. As an exception to
- this rule an allow-all policy is represented as "accept 1-65535"
- instead of "reject ". Summary items are compressed, that is instead
- of "80-88,89-100" there only is a single item of "80-100", similarly
- instead of "20,21" a summary will say "20-21".
+ portranges (e.g. "22,80-88,1024-6000,6667").
+ Whether the summary shows the list of accepted ports or the list of
+ rejected ports depends on which list is shorter (has a shorter string
+ representation). In case of ties we choose the list of accepted
+ ports. As an exception to this rule an allow-all policy is
+ represented as "accept 1-65535" instead of "reject " and a reject-all
+ policy is similarly given as "reject 1-65535".
+
+ Summary items are compressed, that is instead of "80-88,89-100" there
+ only is a single item of "80-100", similarly instead of "20,21" a
+ summary will say "20-21".
+
Port lists are sorted in ascending order.
The maximum allowed length of a policy summary (including the "accept "
Modified: tor/trunk/src/or/dirserv.c
===================================================================
--- tor/trunk/src/or/dirserv.c 2008-08-14 12:37:42 UTC (rev 16542)
+++ tor/trunk/src/or/dirserv.c 2008-08-14 12:37:50 UTC (rev 16543)
@@ -1974,15 +1974,13 @@
cp += strlen(cp);
summary = policy_summarize(desc->exit_policy);
- if (summary) {
- r = tor_snprintf(cp, buf_len - (cp-buf), "p %s\n", summary);
- if (r<0) {
- log_warn(LD_BUG, "Not enough space in buffer.");
- return -1;
- }
- cp += strlen(cp);
- tor_free(summary);
+ r = tor_snprintf(cp, buf_len - (cp-buf), "p %s\n", summary);
+ if (r<0) {
+ log_warn(LD_BUG, "Not enough space in buffer.");
+ return -1;
}
+ cp += strlen(cp);
+ tor_free(summary);
}
return 0;
Modified: tor/trunk/src/or/policies.c
===================================================================
--- tor/trunk/src/or/policies.c 2008-08-14 12:37:42 UTC (rev 16542)
+++ tor/trunk/src/or/policies.c 2008-08-14 12:37:50 UTC (rev 16543)
@@ -1139,7 +1139,7 @@
* that to build the result
*/
if (smartlist_len(accepts) == 0) { /* no exits at all */
- result = NULL;
+ result = tor_strdup("reject 1-65535");
goto cleanup;
}
if (smartlist_len(rejects) == 0) { /* no rejects at all */
Modified: tor/trunk/src/or/test.c
===================================================================
--- tor/trunk/src/or/test.c 2008-08-14 12:37:42 UTC (rev 16542)
+++ tor/trunk/src/or/test.c 2008-08-14 12:37:50 UTC (rev 16543)
@@ -3369,13 +3369,9 @@
test_assert(0 == policies_parse_exit_policy(&line, &policy, 0, NULL));
summary = policy_summarize(policy);
- if (expected_summary == NULL)
- test_assert(summary == NULL);
- else {
- test_assert(summary != NULL);
- test_streq(summary, expected_summary);
- tor_free(summary);
- };
+ test_assert(summary != NULL);
+ test_streq(summary, expected_summary);
+ tor_free(summary);
addr_policy_list_free(policy);
}
@@ -3474,7 +3470,7 @@
/* no exits */
test_policy_summary_helper("accept 11.0.0.0/9:80,"
"reject *:*",
- NULL);
+ "reject 1-65535");
/* port merging */
test_policy_summary_helper("accept *:80,"
"accept *:81,"