summaryrefslogtreecommitdiff
path: root/mail/exim/files/patch-pass-fd-to-tcpwrappers
blob: 91911dd125694ce5c98cf0b7f472b786a52985ed (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
--- src/smtp_in.c.orig	2017-03-08 16:31:57.587957000 +0000
+++ src/smtp_in.c	2017-03-08 16:43:44.934346000 +0000
@@ -2246,6 +2246,9 @@
 #ifdef USE_TCP_WRAPPERS
 struct request_info tcpwrap_ri;
 #endif
+#ifdef USE_TCP_WRAPPERS
+struct request_info tcpwrap_ri;
+#endif
 
 smtp_connection_start = time(NULL);
 for (smtp_ch_index = 0; smtp_ch_index < SMTP_HBUFF_SIZE; smtp_ch_index++)
@@ -2602,11 +2605,14 @@
     log_write(0, LOG_MAIN|LOG_PANIC_DIE, "Expansion of \"%s\" "
       "(tcp_wrappers_name) failed: %s", string_printing(tcp_wrappers_name),
         expand_string_message);
-
-  if (!hosts_ctl(tcp_wrappers_name,
-         sender_host_name ? CS sender_host_name : STRING_UNKNOWN,
-         sender_host_address ? CS sender_host_address : STRING_UNKNOWN,
-         sender_ident ? CS sender_ident : STRING_UNKNOWN))
+    request_init(&tcpwrap_ri,
+         RQ_DAEMON, tcp_wrappers_name,
+         RQ_FILE, fileno(smtp_out),
+         RQ_CLIENT_NAME, (sender_host_name == NULL)? STRING_UNKNOWN : CS sender_host_name,
+         RQ_CLIENT_ADDR, (sender_host_address == NULL)? STRING_UNKNOWN : CS sender_host_address,
+         RQ_USER, (sender_ident == NULL)? STRING_UNKNOWN : CS sender_ident,
+         0);
+    if (!hosts_access(&tcpwrap_ri))
     {
     if (errno == 0 || errno == ENOENT)
       {