X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fsrc%2Fmacro_predef.c;h=32c05a8073796eb3217823d4a07229d2e4829806;hb=0d0ace194a602607133e569319652c7b7b8f0e22;hp=502bfc7ee8dd7f8f713b0baa97a8ed6df748acb2;hpb=55b583f6c31af475f329da97cd160a8ab2e8df8c;p=exim.git diff --git a/src/src/macro_predef.c b/src/src/macro_predef.c index 502bfc7ee..32c05a807 100644 --- a/src/src/macro_predef.c +++ b/src/src/macro_predef.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) Jeremy Harris 2017 */ +/* Copyright (c) Jeremy Harris 1995 - 2018 */ /* See the file NOTICE for conditions of use and distribution. */ /* Create a static data structure with the predefined macros, to be @@ -21,18 +21,29 @@ uschar * syslog_facility_str; /******************************************************************************/ void -builtin_macro_create(const uschar * name) +builtin_macro_create_var(const uschar * name, const uschar * val) { printf ("static macro_item p%d = { ", mp_index); if (mp_index == 0) - printf("NULL,"); + printf(".next=NULL,"); else - printf("&p%d,", mp_index-1); + printf(".next=&p%d,", mp_index-1); -printf(" FALSE, %d, 1, US\"%s\", US\"y\" };\n", Ustrlen(name), CS name); +printf(" .command_line=FALSE, .namelen=%d, .replen=%d," + " .name=US\"%s\", .replacement=US\"%s\" };\n", + Ustrlen(name), Ustrlen(val), CS name, CS val); mp_index++; } + +void +builtin_macro_create(const uschar * name) +{ +builtin_macro_create_var(name, US"y"); +} + + +/* restricted snprintf */ void spf(uschar * buf, int len, const uschar * fmt, ...) { @@ -163,16 +174,19 @@ due to conflicts with other common macros. */ #ifdef EXPERIMENTAL_LMDB builtin_macro_create(US"_HAVE_LMDB"); #endif -#ifdef EXPERIMENTAL_SPF +#ifdef SUPPORT_SPF builtin_macro_create(US"_HAVE_SPF"); #endif #ifdef EXPERIMENTAL_SRS builtin_macro_create(US"_HAVE_SRS"); #endif +#ifdef EXPERIMENTAL_ARC + builtin_macro_create(US"_HAVE_ARC"); +#endif #ifdef EXPERIMENTAL_BRIGHTMAIL builtin_macro_create(US"_HAVE_BRIGHTMAIL"); #endif -#ifdef EXPERIMENTAL_DANE +#ifdef SUPPORT_DANE builtin_macro_create(US"_HAVE_DANE"); #endif #ifdef EXPERIMENTAL_DCC @@ -251,6 +265,12 @@ due to conflicts with other common macros. */ builtin_macro_create(US"_HAVE_TRANSPORT_APPEND_MBX"); # endif #endif + +#ifdef WITH_CONTENT_SCAN +features_malware(); +#endif + +features_crypto(); } @@ -263,6 +283,14 @@ options_transports(); options_auths(); } +static void +params(void) +{ +#ifndef DISABLE_DKIM +params_dkim(); +#endif +} + int main(void) @@ -270,6 +298,7 @@ main(void) printf("#include \"exim.h\"\n"); features(); options(); +params(); printf("macro_item * macros = &p%d;\n", mp_index-1); printf("macro_item * mlast = &p0;\n");