Browse Source

Connect to the proxy URL and port if specified for stratum sockets instead of the pool directly.

nfactor-troky
Con Kolivas 11 years ago
parent
commit
8fa01556f2
  1. 14
      util.c

14
util.c

@ -1722,6 +1722,7 @@ bool auth_stratum(struct pool *pool) @@ -1722,6 +1722,7 @@ bool auth_stratum(struct pool *pool)
static bool setup_stratum_socket(struct pool *pool)
{
struct addrinfo servinfobase, *servinfo, *hints, pbase, *p;
char *sockaddr_url, *sockaddr_port;
int sockd;
mutex_lock(&pool->stratum_lock);
@ -1737,14 +1738,21 @@ static bool setup_stratum_socket(struct pool *pool) @@ -1737,14 +1738,21 @@ static bool setup_stratum_socket(struct pool *pool)
hints->ai_socktype = SOCK_STREAM;
servinfo = &servinfobase;
p = &pbase;
if (getaddrinfo(pool->sockaddr_url, pool->stratum_port, hints, &servinfo) != 0) {
if (pool->rpc_proxy) {
sockaddr_url = pool->sockaddr_proxy_url;
sockaddr_port = pool->sockaddr_proxy_port;
} else {
sockaddr_url = pool->sockaddr_url;
sockaddr_port = pool->stratum_port;
}
if (getaddrinfo(sockaddr_url, sockaddr_port, hints, &servinfo) != 0) {
if (!pool->probed) {
applog(LOG_WARNING, "Failed to resolve (?wrong URL) %s:%s",
pool->sockaddr_url, pool->stratum_port);
sockaddr_url, sockaddr_port);
pool->probed = true;
} else {
applog(LOG_INFO, "Failed to getaddrinfo for %s:%s",
pool->sockaddr_url, pool->stratum_port);
sockaddr_url, sockaddr_port);
}
return false;
}

Loading…
Cancel
Save