mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2025-02-25 07:07:52 +01:00
Make tor_addr_is_internal log the calling function on error
This might make it a little easier to track down bug 7086.
This commit is contained in:
parent
9c605ecb7e
commit
8586611718
3 changed files with 12 additions and 4 deletions
4
changes/addr_is_internal_debug
Normal file
4
changes/addr_is_internal_debug
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
o Minor features:
|
||||||
|
- Log the call-site of a failed tor_addr_is_internal(), so that we
|
||||||
|
can learn who is calling it with AF_UNSPECIFIED and fix the
|
||||||
|
second (unrelated) part of bug 7086.
|
|
@ -305,7 +305,8 @@ tor_addr_lookup(const char *name, uint16_t family, tor_addr_t *addr)
|
||||||
* also treated as internal for now.)
|
* also treated as internal for now.)
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
tor_addr_is_internal(const tor_addr_t *addr, int for_listening)
|
tor_addr_is_internal_(const tor_addr_t *addr, int for_listening,
|
||||||
|
const char *filename, int lineno)
|
||||||
{
|
{
|
||||||
uint32_t iph4 = 0;
|
uint32_t iph4 = 0;
|
||||||
uint32_t iph6[4];
|
uint32_t iph6[4];
|
||||||
|
@ -355,8 +356,8 @@ tor_addr_is_internal(const tor_addr_t *addr, int for_listening)
|
||||||
|
|
||||||
/* unknown address family... assume it's not safe for external use */
|
/* unknown address family... assume it's not safe for external use */
|
||||||
/* rather than tor_assert(0) */
|
/* rather than tor_assert(0) */
|
||||||
log_warn(LD_BUG, "tor_addr_is_internal() called with a non-IP address of "
|
log_warn(LD_BUG, "tor_addr_is_internal() called from %s:%d with a "
|
||||||
"type %d", (int)v_family);
|
"non-IP address of type %d", filename, lineno, (int)v_family);
|
||||||
tor_fragile_assert();
|
tor_fragile_assert();
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -168,7 +168,10 @@ int tor_addr_compare_masked(const tor_addr_t *addr1, const tor_addr_t *addr2,
|
||||||
|
|
||||||
unsigned int tor_addr_hash(const tor_addr_t *addr);
|
unsigned int tor_addr_hash(const tor_addr_t *addr);
|
||||||
int tor_addr_is_v4(const tor_addr_t *addr);
|
int tor_addr_is_v4(const tor_addr_t *addr);
|
||||||
int tor_addr_is_internal(const tor_addr_t *ip, int for_listening);
|
int tor_addr_is_internal_(const tor_addr_t *ip, int for_listening,
|
||||||
|
const char *filename, int lineno);
|
||||||
|
#define tor_addr_is_internal(addr, for_listening) \
|
||||||
|
tor_addr_is_internal_((addr), (for_listening), _SHORT_FILE_, __LINE__)
|
||||||
|
|
||||||
/** Longest length that can be required for a reverse lookup name. */
|
/** Longest length that can be required for a reverse lookup name. */
|
||||||
/* 32 nybbles, 32 dots, 8 characters of "ip6.arpa", 1 NUL: 73 characters. */
|
/* 32 nybbles, 32 dots, 8 characters of "ip6.arpa", 1 NUL: 73 characters. */
|
||||||
|
|
Loading…
Add table
Reference in a new issue