Avoid doing logging in signal-handlers. Bug 1007
[exim.git] / src / src / local_scan.c
1 /*************************************************
2 *     Exim - an Internet mail transport agent    *
3 *************************************************/
4
5 /* Copyright (c) University of Cambridge 1995 - 2009 */
6 /* See the file NOTICE for conditions of use and distribution. */
7
8
9 /******************************************************************************
10 This file contains a template local_scan() function that just returns ACCEPT.
11 If you want to implement your own version, you should copy this file to, say
12 Local/local_scan.c, and edit the copy. To use your version instead of the
13 default, you must set
14
15 HAVE_LOCAL_SCAN=yes
16 LOCAL_SCAN_SOURCE=Local/local_scan.c
17
18 in your Local/Makefile. This makes it easy to copy your version for use with
19 subsequent Exim releases.
20
21 For a full description of the API to this function, see the Exim specification.
22 ******************************************************************************/
23
24
25 /* This is the only Exim header that you should include. The effect of
26 including any other Exim header is not defined, and may change from release to
27 release. Use only the documented interface! */
28
29 #include "local_scan.h"
30
31
32 /* This is a "do-nothing" version of a local_scan() function. The arguments
33 are:
34
35   fd             The file descriptor of the open -D file, which contains the
36                    body of the message. The file is open for reading and
37                    writing, but modifying it is dangerous and not recommended.
38
39   return_text    A pointer to an unsigned char* variable which you can set in
40                    order to return a text string. It is initialized to NULL.
41
42 The return values of this function are:
43
44   LOCAL_SCAN_ACCEPT
45                  The message is to be accepted. The return_text argument is
46                    saved in $local_scan_data.
47
48   LOCAL_SCAN_REJECT
49                  The message is to be rejected. The returned text is used
50                    in the rejection message.
51
52   LOCAL_SCAN_TEMPREJECT
53                  This specifies a temporary rejection. The returned text
54                    is used in the rejection message.
55 */
56
57 int
58 local_scan(int fd, uschar **return_text)
59 {
60 fd = fd;                      /* Keep picky compilers happy */
61 return_text = return_text;
62 return LOCAL_SCAN_ACCEPT;
63 }
64
65 /* End of local_scan.c */