[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [tor/master] Fix get_configured_bridge_by_addr_port_digest(., ., NULL)
commit e6590efaa77c8cf186ce92e6ebad175e9c6450d1
Author: rl1987 <rl1987@xxxxxxxxxxxxxxxx>
Date: Sun Dec 8 20:42:33 2013 +0200
Fix get_configured_bridge_by_addr_port_digest(.,.,NULL)
The old behavior was that NULL matched only bridges without known
identities; the correct behavior is that NULL should match all
bridges (assuming that their addr:port matches).
---
changes/bug9162 | 6 ++++++
src/or/entrynodes.c | 5 +++--
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/changes/bug9162 b/changes/bug9162
new file mode 100644
index 0000000..c1a247a
--- /dev/null
+++ b/changes/bug9162
@@ -0,0 +1,6 @@
+ o Minor bugfixes:
+ - Fix a get_configured_bridge_by_addr_port_digest() function so
+ that it would return a bridge with given address and port even
+ if bridge digest is not specified by caller. Fixes bug 9162;
+ bugfix on 0.2.0.3-alpha. Based on a patch from "rl1987".
+
diff --git a/src/or/entrynodes.c b/src/or/entrynodes.c
index ebbd85c..d463303 100644
--- a/src/or/entrynodes.c
+++ b/src/or/entrynodes.c
@@ -1657,7 +1657,8 @@ get_configured_bridge_by_orports_digest(const char *digest,
/** If we have a bridge configured whose digest matches <b>digest</b>, or a
* bridge with no known digest whose address matches <b>addr</b>:<b>/port</b>,
- * return that bridge. Else return NULL. */
+ * return that bridge. Else return NULL. If <b>digest</b> is NULL, check for
+ * address/port matches only. */
static bridge_info_t *
get_configured_bridge_by_addr_port_digest(const tor_addr_t *addr,
uint16_t port,
@@ -1667,7 +1668,7 @@ get_configured_bridge_by_addr_port_digest(const tor_addr_t *addr,
return NULL;
SMARTLIST_FOREACH_BEGIN(bridge_list, bridge_info_t *, bridge)
{
- if (tor_digest_is_zero(bridge->identity) &&
+ if ((tor_digest_is_zero(bridge->identity) || digest == NULL) &&
!tor_addr_compare(&bridge->addr, addr, CMP_EXACT) &&
bridge->port == port)
return bridge;
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits