X-Git-Url: http://git.dolda2000.com/gitweb/?a=blobdiff_plain;f=daemon%2Ftransfer.c;h=32f3e2814cccf98c8171674c59315e1049c00ac9;hb=b38037ff5b7c2779469cffed81da6774114807ef;hp=b713f52e571c889190c93db79afe95057fb0d0e9;hpb=bd5d862e9745b6fb3c67ccb215c0e6aaa65bacf9;p=doldaconnect.git diff --git a/daemon/transfer.c b/daemon/transfer.c index b713f52..32f3e28 100644 --- a/daemon/transfer.c +++ b/daemon/transfer.c @@ -189,7 +189,10 @@ static void dataerr(struct socket *sk, int errno, struct transfer *transfer) transfer->localend = NULL; } } else { - resettransfer(transfer); + if(transfer->dir == TRNSD_DOWN) + resettransfer(transfer); + else if(transfer->dir == TRNSD_UP) + transfer->close = 1; } } @@ -325,7 +328,6 @@ void transfersetlocalend(struct transfer *transfer, struct socket *sk) { if(transfer->localend != NULL) putsock(transfer->localend); - socksetdebug(sk, 2, "localend"); getsock(transfer->localend = sk); sk->data = transfer; sk->readcb = (void (*)(struct socket *, void *))localread;