summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2006-09-09 19:20:27 +0000
committerRoger Dingledine <arma@torproject.org>2006-09-09 19:20:27 +0000
commit9af3175687686841f25cab2fe7e1ade0c66a1ff9 (patch)
tree1ab79e1904c1597180c5b6f72a025937fe0d3235 /src
parent5f6351ceb3d518a19fcf0a2927b140a6dc3d1cd3 (diff)
downloadtor-9af3175687686841f25cab2fe7e1ade0c66a1ff9.tar.gz
tor-9af3175687686841f25cab2fe7e1ade0c66a1ff9.zip
parameterize the loudness of get_interface_address()
svn:r8358
Diffstat (limited to 'src')
-rw-r--r--src/common/util.c10
-rw-r--r--src/common/util.h2
-rw-r--r--src/or/config.c4
-rw-r--r--src/or/connection.c4
4 files changed, 11 insertions, 9 deletions
diff --git a/src/common/util.c b/src/common/util.c
index fe48097fde..e1c8844e6b 100644
--- a/src/common/util.c
+++ b/src/common/util.c
@@ -1770,7 +1770,7 @@ is_plausible_address(const char *name)
* failure.
*/
int
-get_interface_address(uint32_t *addr)
+get_interface_address(int severity, uint32_t *addr)
{
int sock=-1, r=-1;
struct sockaddr_in target_addr, my_addr;
@@ -1782,7 +1782,8 @@ get_interface_address(uint32_t *addr)
sock = socket(PF_INET,SOCK_DGRAM,IPPROTO_UDP);
if (sock < 0) {
int e = tor_socket_errno(-1);
- log_warn(LD_NET, "unable to create socket: %s", tor_socket_strerror(e));
+ log_fn(severity, LD_NET, "unable to create socket: %s",
+ tor_socket_strerror(e));
goto err;
}
@@ -1796,14 +1797,15 @@ get_interface_address(uint32_t *addr)
if (connect(sock,(struct sockaddr *)&target_addr,sizeof(target_addr))<0) {
int e = tor_socket_errno(sock);
- log_warn(LD_NET, "connect() failed: %s", tor_socket_strerror(e));
+ log_fn(severity, LD_NET, "connect() failed: %s", tor_socket_strerror(e));
goto err;
}
/* XXXX Can this be right on IPv6 clients? */
if (getsockname(sock, (struct sockaddr*)&my_addr, &my_addr_len)) {
int e = tor_socket_errno(sock);
- log_warn(LD_NET, "getsockname() failed: %s", tor_socket_strerror(e));
+ log_fn(severity, LD_NET, "getsockname() failed: %s",
+ tor_socket_strerror(e));
goto err;
}
diff --git a/src/common/util.h b/src/common/util.h
index b5e104beba..a10e107724 100644
--- a/src/common/util.h
+++ b/src/common/util.h
@@ -200,7 +200,7 @@ int addr_mask_get_bits(uint32_t mask);
int tor_inet_ntoa(struct in_addr *in, char *buf, size_t buf_len);
char *tor_dup_addr(uint32_t addr) ATTR_MALLOC;
int is_plausible_address(const char *name);
-int get_interface_address(uint32_t *addr);
+int get_interface_address(int severity, uint32_t *addr);
/* Process helpers */
void start_daemon(void);
diff --git a/src/or/config.c b/src/or/config.c
index da0fae43f7..f81a3e1e82 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -1638,7 +1638,7 @@ resolve_my_address(int warn_severity, or_options_t *options,
log_fn(notice_severity, LD_CONFIG,
"Could not resolve guessed local hostname '%s'. "
"Trying something else.", hostname);
- if (get_interface_address(&interface_ip)) {
+ if (get_interface_address(warn_severity, &interface_ip)) {
log_fn(warn_severity, LD_CONFIG,
"Could not get local interface IP address. Failing.");
return -1;
@@ -1661,7 +1661,7 @@ resolve_my_address(int warn_severity, or_options_t *options,
"resolves to a private IP address (%s). Trying something "
"else.", hostname, tmpbuf);
- if (get_interface_address(&interface_ip)) {
+ if (get_interface_address(warn_severity, &interface_ip)) {
log_fn(warn_severity, LD_CONFIG,
"Could not get local interface IP address. Too bad.");
} else if (is_internal_IP(interface_ip, 0)) {
diff --git a/src/or/connection.c b/src/or/connection.c
index 6fc68263ba..88346f8aad 100644
--- a/src/or/connection.c
+++ b/src/or/connection.c
@@ -1999,7 +1999,7 @@ client_check_address_changed(int sock)
uint32_t *ip;
if (!last_interface_ip)
- get_interface_address(&last_interface_ip);
+ get_interface_address(LOG_INFO, &last_interface_ip);
if (!outgoing_addrs)
outgoing_addrs = smartlist_create();
@@ -2017,7 +2017,7 @@ client_check_address_changed(int sock)
/* Uh-oh. We haven't connected from this address before. Has the interface
* address changed? */
- if (get_interface_address(&iface_ip)<0)
+ if (get_interface_address(LOG_INFO, &iface_ip)<0)
return;
ip = tor_malloc(sizeof(uint32_t));
*ip = ip_out;