summaryrefslogtreecommitdiff
path: root/mail/sendmail/files/patch-srvrsmtp.c
blob: 89dcdbd56d143817609163d40243f0e7f2d188d1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
--- sendmail/srvrsmtp.c.orig	2015-03-18 07:47:12.000000000 -0400
+++ sendmail/srvrsmtp.c	2016-06-12 18:36:01.372172000 -0400
@@ -832,6 +832,9 @@
 	int n_badrcpts_adj;
 #endif /* _FFR_BADRCPT_SHUTDOWN */
 
+#ifdef USE_BLACKLIST
+	int fd;
+#endif
 	SevenBitInput_Saved = SevenBitInput;
 	smtp.sm_nrcpts = 0;
 #if MILTER
@@ -1328,6 +1331,9 @@
 					  (int) tp.tv_sec +
 						(tp.tv_usec >= 500000 ? 1 : 0)
 					 );
+#ifdef USE_BLACKLIST
+				blacklist_notify(1, fd, "pre-greeting traffic");
+#endif
 			}
 		}
 	}
@@ -1723,6 +1729,10 @@
 			{
 				/* not SASL_OK or SASL_CONT */
 				message("535 5.7.0 authentication failed");
+#ifdef USE_BLACKLIST
+				fd = sm_io_getinfo(InChannel, SM_IO_WHAT_FD, NULL);
+				blacklist_notify(1, fd, "AUTH FAIL");
+#endif
 				if (LogLevel > 9)
 					sm_syslog(LOG_WARNING, e->e_id,
 						  "AUTH failure (%s): %s (%d) %s, relay=%.100s",
@@ -3524,6 +3534,10 @@
 			if (++n_badcmds > MAXBADCOMMANDS)
 			{
   stopattack:
+#ifdef USE_BLACKLIST
+				fd = sm_io_getinfo(InChannel, SM_IO_WHAT_FD, NULL);
+				blacklist_notify(1, fd, "too many bad commands");
+#endif
 				message("421 4.7.0 %s Too many bad commands; closing connection",
 					MyHostName);