static CNode* pnodeSync = NULL;
CAddress addrSeenByPeer(CService("0.0.0.0", nPortZero), nLocalServices);
uint64_t nLocalHostNonce = 0;
-boost::array<int, THREAD_MAX> vnThreadsRunning;
+array<int, THREAD_MAX> vnThreadsRunning;
static vector<SOCKET> vhListenSocket;
CAddrMan addrman;
// We now get our external IP from the IRC server first and only use this as a backup
bool GetMyExternalIP(CNetAddr& ipRet)
{
- struct sockaddr_in mapped;
+ struct sockaddr_in mapped = {};
auto rnd = GetRand(numeric_limits<uint64_t>::max());
const char *srv;
int rc = GetExternalIPbySTUN(rnd, &mapped, &srv);
#include <limits>
#include <deque>
#ifndef Q_MOC_RUN
-#include <boost/array.hpp>
#endif
#include <openssl/rand.h>
extern uint64_t nLocalServices;
extern uint64_t nLocalHostNonce;
extern CAddress addrSeenByPeer;
-extern boost::array<int, THREAD_MAX> vnThreadsRunning;
+extern array<int, THREAD_MAX> vnThreadsRunning;
extern CAddrMan addrman;
extern vector<CNode*> vNodes;
unsigned char reply_buf[1024];
fd_set rfds;
struct timeval to = { STUN_TIMEOUT, 0 };
- struct sockaddr_in src;
-#ifdef WIN32
- int srclen;
-#else
- socklen_t srclen;
-#endif
int res = stun_send(sock, server, req);
if(res < 0)
res = select(sock + 1, &rfds, NULL, NULL, &to);
if (res <= 0) /* timeout or error */
return -11;
- memset(&src, 0, sizeof(src));
- srclen = sizeof(src);
- /* XXX pass -1 in the size, because stun_handle_packet might
- * write past the end of the buffer.
- */
+ struct sockaddr_in src = {};
+ socklen_t srclen = sizeof(src);
+
+ // XXX pass -1 in the size, because stun_handle_packet might
+ // write past the end of the buffer.
res = recvfrom(sock, (char *)reply_buf, sizeof(reply_buf) - 1,
0, (struct sockaddr *)&src, &srclen);
if (res <= 0)
return -12;
- memset(mapped, 0, sizeof(struct sockaddr_in));
return stun_handle_packet(sock, &src, reply_buf, res, stun_get_mapped, mapped);
} // StunRequest2
if (hostinfo == NULL)
return -1;
- struct sockaddr_in server, client;
- memset(&server, 0, sizeof(server));
- memset(&client, 0, sizeof(client));
- server.sin_family = client.sin_family = AF_INET;
-
- server.sin_addr = *(struct in_addr*) hostinfo->h_addr;
- server.sin_port = htons(port);
-
SOCKET sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
if (sock == INVALID_SOCKET)
return -2;
+ struct sockaddr_in server = {}, client = {};
+
+ server.sin_family = client.sin_family = AF_INET;
+ server.sin_addr = *(struct in_addr*) hostinfo->h_addr;
+ server.sin_port = htons(port);
client.sin_addr.s_addr = htonl(INADDR_ANY);
int rc = -3;