From 9e493f95d2f36d3363d0dec7a88f4ebd07022a6b Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Thu, 12 Jun 2003 08:35:09 +0000 Subject: [PATCH] Implemented support for directory exemption ARS (finally). --- src/sbbs3/ftpsrvr.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/sbbs3/ftpsrvr.c b/src/sbbs3/ftpsrvr.c index 6cca49757c..5483d737f0 100644 --- a/src/sbbs3/ftpsrvr.c +++ b/src/sbbs3/ftpsrvr.c @@ -1335,6 +1335,7 @@ static void send_thread(void* arg) ulong dur; ulong cps; ulong length; + BOOL exempt; BOOL error=FALSE; FILE* fp; file_t f; @@ -1552,9 +1553,13 @@ static void send_thread(void* arg) if(xfer.credits) { xfer.user->dls=(ushort)adjustuserrec(&scfg, xfer.user->number,U_DLS,5,1); xfer.user->dlb=adjustuserrec(&scfg, xfer.user->number,U_DLB,10,total); - if(xfer.dir>=0 && !(scfg.dir[xfer.dir]->misc&DIR_FREE) - /* && !chk_ar(&scfg, scfg.dir[xfer.dir]->ex_ar, xfer.user) */ - && !(xfer.user->exempt&FLAG('D'))) + exempt=FALSE; + if(xfer.user->exempt&FLAG('D')) + exempt=TRUE; + if(scfg.dir[xfer.dir]->ex_ar[0]!=0 + && chk_ar(&scfg, scfg.dir[xfer.dir]->ex_ar, xfer.user)) + exempt=TRUE; + if(xfer.dir>=0 && !(scfg.dir[xfer.dir]->misc&DIR_FREE) && !exempt) subtract_cdt(&scfg, xfer.user, xfer.credits); } if(!xfer.tmpfile && !xfer.delfile) -- GitLab