Only encode IPv4 addresses in IRC nicks

This commit is contained in:
Pieter Wuille 2012-05-13 15:06:16 +02:00
parent 9fc0a15cd4
commit 8f737d28a6

View file

@ -246,11 +246,12 @@ void ThreadIRCSeed2(void* parg)
return; return;
} }
CNetAddr addrIPv4("1.2.3.4"); // arbitrary IPv4 address to make GetLocal prefer IPv4 addresses
CService addrLocal; CService addrLocal;
string strMyName; string strMyName;
if (GetLocal(addrLocal, &addrConnect)) if (GetLocal(addrLocal, &addrIPv4))
strMyName = EncodeAddress(GetLocalAddress(&addrConnect)); strMyName = EncodeAddress(GetLocalAddress(&addrConnect));
else if (strMyName == "")
strMyName = strprintf("x%u", GetRand(1000000000)); strMyName = strprintf("x%u", GetRand(1000000000));
Send(hSocket, strprintf("NICK %s\r", strMyName.c_str()).c_str()); Send(hSocket, strprintf("NICK %s\r", strMyName.c_str()).c_str());