[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[or-cvs] r9168: Fix bug found by Keith Skinner: Treat malformed max-ports in (in tor/trunk: . src/common)
- To: or-cvs@xxxxxxxxxxxxx
- Subject: [or-cvs] r9168: Fix bug found by Keith Skinner: Treat malformed max-ports in (in tor/trunk: . src/common)
- From: nickm@xxxxxxxx
- Date: Wed, 20 Dec 2006 22:23:01 -0500 (EST)
- Delivered-to: archiver@seul.org
- Delivered-to: or-cvs-outgoing@seul.org
- Delivered-to: or-cvs@seul.org
- Delivery-date: Wed, 20 Dec 2006 22:23:15 -0500
- Reply-to: or-talk@xxxxxxxxxxxxx
- Sender: owner-or-cvs@xxxxxxxxxxxxx
Author: nickm
Date: 2006-12-20 22:22:59 -0500 (Wed, 20 Dec 2006)
New Revision: 9168
Modified:
tor/trunk/
tor/trunk/ChangeLog
tor/trunk/src/common/util.c
Log:
r11668@Kushana: nickm | 2006-12-20 22:22:53 -0500
Fix bug found by Keith Skinner: Treat malformed max-ports in address ranges as an error, and dont ignore errors with min-ports even if a max-port is present.
Property changes on: tor/trunk
___________________________________________________________________
svk:merge ticket from /tor/trunk [r11668] on c95137ef-5f19-0410-b913-86e773d04f59
Modified: tor/trunk/ChangeLog
===================================================================
--- tor/trunk/ChangeLog 2006-12-21 02:59:15 UTC (rev 9167)
+++ tor/trunk/ChangeLog 2006-12-21 03:22:59 UTC (rev 9168)
@@ -78,6 +78,7 @@
nameservers are configured in /etc/resolv.conf; instead, make the
user fix resolv.conf or specify nameservers explicitly. (Resolves
bug 363.)
+ - Stop accepting certain malformed ports in configured exit policies.
o Controller features:
- Have GETINFO dir/status/* work on hosts with DirPort disabled.
Modified: tor/trunk/src/common/util.c
===================================================================
--- tor/trunk/src/common/util.c 2006-12-21 02:59:15 UTC (rev 9167)
+++ tor/trunk/src/common/util.c 2006-12-21 03:22:59 UTC (rev 9168)
@@ -1755,15 +1755,16 @@
char *endptr = NULL;
*port_min_out = (uint16_t) tor_parse_long(port, 10, 1, 65535,
NULL, &endptr);
- if (*endptr == '-') {
+ if (*endptr == '-' && *port_min_out) {
port = endptr+1;
endptr = NULL;
*port_max_out = (uint16_t) tor_parse_long(port, 10, 1, 65535, NULL,
&endptr);
if (*endptr || !*port_max_out) {
log_warn(LD_GENERAL,
- "Malformed port %s on address range rejecting.",
+ "Malformed port %s on address range; rejecting.",
escaped(port));
+ return -1;
}
} else if (*endptr || !*port_min_out) {
log_warn(LD_GENERAL,