From 9b230009225d688ca002152c8747c96e83951397 Mon Sep 17 00:00:00 2001 From: Jeremy Harris Date: Thu, 12 Dec 2019 11:24:16 +0000 Subject: [PATCH 1/1] Docs: more notes for local_scan/dlfunc --- doc/doc-docbook/spec.xfpt | 7 ++++++- src/src/local_scan.h | 6 ++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/doc/doc-docbook/spec.xfpt b/doc/doc-docbook/spec.xfpt index 5e4822123..8be9b7121 100644 --- a/doc/doc-docbook/spec.xfpt +++ b/doc/doc-docbook/spec.xfpt @@ -33648,7 +33648,12 @@ directory, so you might set HAVE_LOCAL_SCAN=yes LOCAL_SCAN_SOURCE=Local/local_scan.c .endd -for example. The function must be called &[local_scan()]&. It is called by +for example. The function must be called &[local_scan()]&; +.new +the source file(s) for it should first #define LOCAL_SCAN +and then #include "local_scan.h". +.wen +It is called by Exim after it has received a message, when the success return code is about to be sent. This is after all the ACLs have been run. The return code from your function controls whether the message is actually accepted or not. There is a diff --git a/src/src/local_scan.h b/src/src/local_scan.h index 548f70dbd..23da01b2b 100644 --- a/src/src/local_scan.h +++ b/src/src/local_scan.h @@ -2,14 +2,16 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2018 */ +/* Copyright (c) University of Cambridge 1995 - 2019 */ /* See the file NOTICE for conditions of use and distribution. */ /* This file is the header that is the only Exim header to be included in the source for the local_scan.c() function. It contains definitions that are made -available for use in that function, and which are documented. +available for use in that function, and which are documented. That source +should first #define LOCAL_SCAN This API is also used for functions called by the ${dlfunc expansion item. +Source for those should first #define DLFUNC_IMPL and then include this file. Coders of dlfunc routines should read the notes on tainting at the start of store.c */ -- 2.30.2