From ca2048e54f0f9043682f50b7d527024c5405818d Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Sat, 21 Jul 2001 01:44:18 +0000
Subject: [PATCH] Added support for hack attempt sound file and email.can
 (filter file).

---
 src/sbbs3/ftpsrvr.c | 22 ++++++++++++++++++++--
 src/sbbs3/ftpsrvr.h |  2 +-
 2 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/src/sbbs3/ftpsrvr.c b/src/sbbs3/ftpsrvr.c
index 3080716c29..3abc298c20 100644
--- a/src/sbbs3/ftpsrvr.c
+++ b/src/sbbs3/ftpsrvr.c
@@ -2388,6 +2388,12 @@ static void ctrl_thread(void* arg)
 
 			sprintf(sys_pass,"%s:%s",user.pass,scfg.sys_pass);
 			if(!user.pass[0]) {	/* Guest/Anonymous */
+				if(trashcan(&scfg,password,"email")) {
+					lprintf("%04d Blocked e-mail address: %s",sock,password);
+					sockprintf(sock,"530 Password not accepted.");
+					user.number=0;
+					continue;
+				}
 				lprintf("%04d Guest: %s",sock,password);
 				putuserrec(&scfg,user.number,U_NETMAIL,LEN_NETMAIL,password);
 			}
@@ -3593,6 +3599,10 @@ static void ctrl_thread(void* arg)
 					lprintf("%04d !%s illegal filename attempt: %s"
 						,sock,user.alias,p);
 					hacklog(&scfg, "FTP", user.alias, cmd, host_name, &ftp.client_addr);
+#ifdef _WIN32
+					if(startup->hack_sound[0] && !(startup->options&FTP_OPT_MUTE)) 
+						PlaySound(startup->hack_sound, NULL, SND_ASYNC|SND_FILENAME);
+#endif
 				} else {
 					if(fexist(fname)) {
 						success=TRUE;
@@ -3746,6 +3756,10 @@ static void ctrl_thread(void* arg)
 						,sock,user.alias,p);
 					sockprintf(sock,"553 Illegal filename attempt");
 					hacklog(&scfg, "FTP", user.alias, cmd, host_name, &ftp.client_addr);
+#ifdef _WIN32
+					if(startup->hack_sound[0] && !(startup->options&FTP_OPT_MUTE)) 
+						PlaySound(startup->hack_sound, NULL, SND_ASYNC|SND_FILENAME);
+#endif
 					continue;
 				}
 				sprintf(fname,"%s%s",scfg.dir[dir]->path,p);
@@ -3909,9 +3923,13 @@ static void ctrl_thread(void* arg)
 
 		if(!strnicmp(cmd, "MKD", 3) || 
 			!strnicmp(cmd,"XMKD",4) || 
-			!strnicmp(cmd,"SITE EXEC",9)) 
+			!strnicmp(cmd,"SITE EXEC",9)) {
 			hacklog(&scfg, "FTP", user.alias, cmd, host_name, &ftp.client_addr);
-		
+#ifdef _WIN32
+					if(startup->hack_sound[0] && !(startup->options&FTP_OPT_MUTE)) 
+						PlaySound(startup->hack_sound, NULL, SND_ASYNC|SND_FILENAME);
+#endif
+		}		
 		sockprintf(sock,"500 Syntax error: '%s'",cmd);
 		lprintf("%04d !FTP: UNSUPPORTED COMMAND: '%s'",sock,cmd);
 	} /* while(1) */
diff --git a/src/sbbs3/ftpsrvr.h b/src/sbbs3/ftpsrvr.h
index 256c125298..b71d928d0b 100644
--- a/src/sbbs3/ftpsrvr.h
+++ b/src/sbbs3/ftpsrvr.h
@@ -85,7 +85,7 @@ typedef struct {
     char	reserved_path3[128];
 	char	answer_sound[128];
 	char	hangup_sound[128];
-    char	reserved_path2[128];
+    char	hack_sound[128];
     char	reserved_path1[128];
 
 } ftp_startup_t;
-- 
GitLab