diff --git a/src/sbbs3/ftpsrvr.c b/src/sbbs3/ftpsrvr.c index ddf1d2c83111b737510d07dafabcd378c4ac4771..e53fbc0fb843821f285dba929c00486db981ebaf 100644 --- a/src/sbbs3/ftpsrvr.c +++ b/src/sbbs3/ftpsrvr.c @@ -4123,7 +4123,8 @@ static void ctrl_thread(void* arg) sockprintf(sock,"553 Insufficient access."); continue; } - if(strcspn(p,ILLEGAL_FILENAME_CHARS)!=strlen(p) + if(*p=='-' + || strcspn(p,ILLEGAL_FILENAME_CHARS)!=strlen(p) || trashcan(&scfg,p,"file")) { lprintf(LOG_WARNING,"%04d !ILLEGAL FILENAME ATTEMPT by %s: %s" ,sock,user.alias,p); @@ -4649,7 +4650,7 @@ void DLLCALL ftp_server(void* arg) return; } - lprintf(LOG_DEBUG,"%04d FTP socket opened",server_socket); + lprintf(LOG_DEBUG,"%04d FTP Server socket opened",server_socket); /*****************************/ /* Listen for incoming calls */ @@ -4782,6 +4783,10 @@ void DLLCALL ftp_server(void* arg) served++; } +#ifdef _DEBUG + lprintf(LOG_DEBUG,"0000 server_socket: %d",server_socket); + lprintf(LOG_DEBUG,"0000 terminate_server: %d",terminate_server); +#endif if(active_clients) { lprintf(LOG_DEBUG,"0000 Waiting for %d active clients to disconnect...", active_clients); start=time(NULL);