if(tcpsock == NULL)
return;
- if(sockgetremotename(sk, &addr, &addrlen) < 0)
+ if(sockgetremotename2(tcpsock, sk, &addr, &addrlen) < 0)
return;
if(addr->sa_family == AF_INET)
qstrf(sk, "$ConnectToMe %s %s|", nick, formataddress(addr, addrlen));
peer->direction = mydir;
if(peer->direction == TRNSD_UP)
{
+ if(confgetint("transfer", "ulquota") && hasupload(&dcnet, peer->wcsname))
+ {
+ freedcpeer(peer);
+ return;
+ }
transfer = newupload(peer->fn, &dcnet, peer->wcsname, &dctransfer, peer);
} else {
if((transfer = finddownload(peer->wcsname)) == NULL)
sendsupports(peer);
if((transfer = finddownload(peer->wcsname)) == NULL)
{
+ if(confgetint("transfer", "ulquota") && hasupload(&dcnet, peer->wcsname))
+ {
+ freedcpeer(peer);
+ return;
+ }
peer->direction = TRNSD_UP;
transfer = newupload(peer->fn, &dcnet, peer->wcsname, &dctransfer, peer);
} else {
addtobuf(sstr, 0);
if(tcpsock != NULL)
{
- if(sockgetremotename(fn->sk, &name, &namelen) < 0)
+ if(sockgetremotename2(udpsock, fn->sk, &name, &namelen) < 0)
{
flog(LOG_WARNING, "cannot get address of UDP socket");
} else {