git://git.exim.org
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Logging: add I= element to transport-defer lines. Bug 2675
[exim.git]
/
src
/
src
/
macro_predef.c
diff --git
a/src/src/macro_predef.c
b/src/src/macro_predef.c
index e133b8e1be9e4e048835ad79f30e206c0cc0a9b5..9c3d34a96338117fcaefb74b4ecd685ed149e0e3 100644
(file)
--- a/
src/src/macro_predef.c
+++ b/
src/src/macro_predef.c
@@
-2,7
+2,8
@@
* Exim - an Internet mail transport agent *
*************************************************/
* Exim - an Internet mail transport agent *
*************************************************/
-/* Copyright (c) Jeremy Harris 2017 */
+/* Copyright (c) Jeremy Harris 1995 - 2018 */
+/* Copyright (c) The Exim Maintainers 2020 */
/* See the file NOTICE for conditions of use and distribution. */
/* Create a static data structure with the predefined macros, to be
/* See the file NOTICE for conditions of use and distribution. */
/* Create a static data structure with the predefined macros, to be
@@
-21,19
+22,30
@@
uschar * syslog_facility_str;
/******************************************************************************/
void
/******************************************************************************/
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 ("static macro_item p%d = { ", mp_index);
if (mp_index == 0)
- printf("NULL,");
+ printf("
.next=
NULL,");
else
else
- printf("&p%d,", mp_index-1);
+ printf("
.next=
&p%d,", mp_index-1);
-printf(" FALSE, %d, \"%s\", \"y\" };\n", Ustrlen(name), 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++;
}
mp_index++;
}
-static void
+
+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, ...)
{
va_list ap;
spf(uschar * buf, int len, const uschar * fmt, ...)
{
va_list ap;
@@
-59,7
+71,6
@@
void
options_from_list(optionlist * opts, unsigned nopt,
const uschar * section, uschar * group)
{
options_from_list(optionlist * opts, unsigned nopt,
const uschar * section, uschar * group)
{
-int i;
const uschar * s;
uschar buf[64];
const uschar * s;
uschar buf[64];
@@
-70,12
+81,12
@@
of the macros list is in reverse-alpha (we prepend them) - so longer
macros that have substrings are always discovered first during
expansion. */
macros that have substrings are always discovered first during
expansion. */
-for (i = 0; i < nopt; i++) if (*(s = US opts[i].name) && *s != '*')
+for (i
nt i
= 0; i < nopt; i++) if (*(s = US opts[i].name) && *s != '*')
{
if (group)
{
if (group)
- spf(buf, sizeof(buf), "_OPT_%T_%T_%T", section, group, s);
+ spf(buf, sizeof(buf),
CUS
"_OPT_%T_%T_%T", section, group, s);
else
else
- spf(buf, sizeof(buf), "_OPT_%T_%T", section, s);
+ spf(buf, sizeof(buf),
CUS
"_OPT_%T_%T", section, s);
builtin_macro_create(buf);
}
}
builtin_macro_create(buf);
}
}
@@
-116,7
+127,7
@@
due to conflicts with other common macros. */
#ifdef USE_TCP_WRAPPERS
builtin_macro_create(US"_HAVE_TCPWRAPPERS");
#endif
#ifdef USE_TCP_WRAPPERS
builtin_macro_create(US"_HAVE_TCPWRAPPERS");
#endif
-#if
def SUPPORT
_TLS
+#if
ndef DISABLE
_TLS
builtin_macro_create(US"_HAVE_TLS");
# ifdef USE_GNUTLS
builtin_macro_create(US"_HAVE_GNUTLS");
builtin_macro_create(US"_HAVE_TLS");
# ifdef USE_GNUTLS
builtin_macro_create(US"_HAVE_GNUTLS");
@@
-136,6
+147,9
@@
due to conflicts with other common macros. */
#ifndef DISABLE_DKIM
builtin_macro_create(US"_HAVE_DKIM");
#endif
#ifndef DISABLE_DKIM
builtin_macro_create(US"_HAVE_DKIM");
#endif
+#ifdef SUPPORT_DMARC
+ builtin_macro_create(US"_HAVE_DMARC");
+#endif
#ifndef DISABLE_DNSSEC
builtin_macro_create(US"_HAVE_DNSSEC");
#endif
#ifndef DISABLE_DNSSEC
builtin_macro_create(US"_HAVE_DNSSEC");
#endif
@@
-148,6
+162,9
@@
due to conflicts with other common macros. */
#ifndef DISABLE_OCSP
builtin_macro_create(US"_HAVE_OCSP");
#endif
#ifndef DISABLE_OCSP
builtin_macro_create(US"_HAVE_OCSP");
#endif
+#ifndef DISABLE_PIPE_CONNECT
+ builtin_macro_create(US"_HAVE_PIPE_CONNECT");
+#endif
#ifndef DISABLE_PRDR
builtin_macro_create(US"_HAVE_PRDR");
#endif
#ifndef DISABLE_PRDR
builtin_macro_create(US"_HAVE_PRDR");
#endif
@@
-157,33
+174,36
@@
due to conflicts with other common macros. */
#ifdef SUPPORT_SOCKS
builtin_macro_create(US"_HAVE_SOCKS");
#endif
#ifdef SUPPORT_SOCKS
builtin_macro_create(US"_HAVE_SOCKS");
#endif
+#if defined(SUPPORT_SRS)
+ builtin_macro_create(US"_HAVE_NATIVE_SRS"); /* beware clash with _HAVE_SRS */
+#endif
#ifdef TCP_FASTOPEN
builtin_macro_create(US"_HAVE_TCP_FASTOPEN");
#endif
#ifdef TCP_FASTOPEN
builtin_macro_create(US"_HAVE_TCP_FASTOPEN");
#endif
-#ifdef EXPERIMENTAL_LMDB
- builtin_macro_create(US"_HAVE_LMDB");
-#endif
-#ifdef EXPERIMENTAL_SPF
+#ifdef SUPPORT_SPF
builtin_macro_create(US"_HAVE_SPF");
#endif
builtin_macro_create(US"_HAVE_SPF");
#endif
-#if
def EXPERIMENTAL_SRS
+#if
defined(EXPERIMENTAL_SRS_ALT) || defined(SUPPORT_SRS)
builtin_macro_create(US"_HAVE_SRS");
#endif
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_BRIGHTMAIL
builtin_macro_create(US"_HAVE_BRIGHTMAIL");
#endif
-#ifdef
EXPERIMENTAL
_DANE
+#ifdef
SUPPORT
_DANE
builtin_macro_create(US"_HAVE_DANE");
#endif
#ifdef EXPERIMENTAL_DCC
builtin_macro_create(US"_HAVE_DCC");
#endif
builtin_macro_create(US"_HAVE_DANE");
#endif
#ifdef EXPERIMENTAL_DCC
builtin_macro_create(US"_HAVE_DCC");
#endif
-#ifdef EXPERIMENTAL_DMARC
- builtin_macro_create(US"_HAVE_DMARC");
-#endif
#ifdef EXPERIMENTAL_DSN_INFO
builtin_macro_create(US"_HAVE_DSN_INFO");
#endif
#ifdef EXPERIMENTAL_DSN_INFO
builtin_macro_create(US"_HAVE_DSN_INFO");
#endif
+#ifndef DISABLE_TLS_RESUME
+ builtin_macro_create(US"_HAVE_TLS_RESUME");
+#endif
#ifdef LOOKUP_LSEARCH
builtin_macro_create(US"_HAVE_LOOKUP_LSEARCH");
#ifdef LOOKUP_LSEARCH
builtin_macro_create(US"_HAVE_LOOKUP_LSEARCH");
@@
-203,6
+223,13
@@
due to conflicts with other common macros. */
#ifdef LOOKUP_IBASE
builtin_macro_create(US"_HAVE_LOOKUP_IBASE");
#endif
#ifdef LOOKUP_IBASE
builtin_macro_create(US"_HAVE_LOOKUP_IBASE");
#endif
+#ifdef LOOKUP_LMDB
+ builtin_macro_create(US"_HAVE_LMDB");
+ builtin_macro_create(US"_HAVE_LOOKUP_LMDB");
+#endif
+#ifdef LOOKUP_LDAP
+ builtin_macro_create(US"_HAVE_LOOKUP_JSON");
+#endif
#ifdef LOOKUP_LDAP
builtin_macro_create(US"_HAVE_LOOKUP_LDAP");
#endif
#ifdef LOOKUP_LDAP
builtin_macro_create(US"_HAVE_LOOKUP_LDAP");
#endif
@@
-251,6
+278,12
@@
due to conflicts with other common macros. */
builtin_macro_create(US"_HAVE_TRANSPORT_APPEND_MBX");
# endif
#endif
builtin_macro_create(US"_HAVE_TRANSPORT_APPEND_MBX");
# endif
#endif
+
+#ifdef WITH_CONTENT_SCAN
+features_malware();
+#endif
+
+features_crypto();
}
}
@@
-261,6
+294,18
@@
options_main();
options_routers();
options_transports();
options_auths();
options_routers();
options_transports();
options_auths();
+options_logging();
+#ifndef DISABLE_TLS
+options_tls();
+#endif
+}
+
+static void
+params(void)
+{
+#ifndef DISABLE_DKIM
+params_dkim();
+#endif
}
}
@@
-270,7
+315,9
@@
main(void)
printf("#include \"exim.h\"\n");
features();
options();
printf("#include \"exim.h\"\n");
features();
options();
+params();
printf("macro_item * macros = &p%d;\n", mp_index-1);
printf("macro_item * mlast = &p0;\n");
printf("macro_item * macros = &p%d;\n", mp_index-1);
printf("macro_item * mlast = &p0;\n");
+exit(0);
}
}