parameterize the loudness of get_interface_address()

svn:r8358
This commit is contained in:
Roger Dingledine
2006-09-09 19:20:27 +00:00
parent 5f6351ceb3
commit 9af3175687
4 changed files with 11 additions and 9 deletions
+6 -4
View File
@@ -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;
}
+1 -1
View File
@@ -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);