mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
Don't do a DNS lookup on a bridge line address
Fixes bug 10801; bugfix on 07bf274d in 0.2.0.1-alpha.
This commit is contained in:
+12
-4
@@ -1439,12 +1439,16 @@ is_internal_IP(uint32_t ip, int for_listening)
|
||||
* to the port.
|
||||
*
|
||||
* Don't do DNS lookups and don't allow domain names in the <ip> field.
|
||||
* Don't accept <b>addrport</b> of the form "<ip>" or "<ip>:0".
|
||||
*
|
||||
* If <b>default_port</b> is less than 0, don't accept <b>addrport</b> of the
|
||||
* form "<ip>" or "<ip>:0". Otherwise, accept those forms, and set
|
||||
* *<b>port_out</b> to <b>default_port</b>.
|
||||
*
|
||||
* Return 0 on success, -1 on failure. */
|
||||
int
|
||||
tor_addr_port_parse(int severity, const char *addrport,
|
||||
tor_addr_t *address_out, uint16_t *port_out)
|
||||
tor_addr_t *address_out, uint16_t *port_out,
|
||||
int default_port)
|
||||
{
|
||||
int retval = -1;
|
||||
int r;
|
||||
@@ -1458,8 +1462,12 @@ tor_addr_port_parse(int severity, const char *addrport,
|
||||
if (r < 0)
|
||||
goto done;
|
||||
|
||||
if (!*port_out)
|
||||
goto done;
|
||||
if (!*port_out) {
|
||||
if (default_port >= 0)
|
||||
*port_out = default_port;
|
||||
else
|
||||
goto done;
|
||||
}
|
||||
|
||||
/* make sure that address_out is an IP address */
|
||||
if (tor_addr_parse(address_out, addr_tmp) < 0)
|
||||
|
||||
Reference in New Issue
Block a user