X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=daemon%2Ffnet-dc.c;h=b3b9afe0bf001abd1f69bfca7f31cda41b6980b5;hb=186031535760dcfde374afa84946ec24fcf5bb3e;hp=a3ee35e6f5ee15151b887906f7b68a2407eff141;hpb=9b5acc1839783ffd02cb3e8909e9815755167ff7;p=doldaconnect.git diff --git a/daemon/fnet-dc.c b/daemon/fnet-dc.c index a3ee35e..b3b9afe 100644 --- a/daemon/fnet-dc.c +++ b/daemon/fnet-dc.c @@ -1017,7 +1017,7 @@ static void cmd_forcemove(struct socket *sk, struct fnetnode *fn, char *cmd, cha } else { freeargs = 0; } - if((newfn = fnetinitconnect(L"dc", args, NULL)) != NULL) + if((newfn = fnetinitconnect(L"dc", fn->owner, args, NULL)) != NULL) { linkfnetnode(newfn); putfnetnode(newfn); @@ -1545,6 +1545,11 @@ static void cmd_direction(struct socket *sk, struct dcpeer *peer, char *cmd, cha 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) @@ -1591,6 +1596,11 @@ static void cmd_peerlock(struct socket *sk, struct dcpeer *peer, char *cmd, char 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 {