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
Builtin macros for OpenSSL options
[exim.git]
/
src
/
src
/
readconf.c
diff --git
a/src/src/readconf.c
b/src/src/readconf.c
index fbf6d6b493f17ed7a0f31c1aae4a46e53f444477..b4474757a7d70d7699ed6d028e4363e205e7296b 100644
(file)
--- a/
src/src/readconf.c
+++ b/
src/src/readconf.c
@@
-15,6
+15,9
@@
implementation of the conditional .ifdef etc. */
# include "macro_predef.h"
#endif
# include "macro_predef.h"
#endif
+#define READCONF_DEBUG if (FALSE) /* Change to TRUE to enable */
+
+
static uschar * syslog_facility_str;
static void fn_smtp_receive_timeout(const uschar *, const uschar *);
static uschar * syslog_facility_str;
static void fn_smtp_receive_timeout(const uschar *, const uschar *);
@@
-409,6
+412,19
@@
for (ai = auths_available; ai->driver_name[0]; ai++)
}
}
}
}
+void
+options_logging(void)
+{
+bit_table * bp;
+uschar buf[64];
+
+for (bp = log_options; bp < log_options + log_options_count; bp++)
+ {
+ spf(buf, sizeof(buf), US"_LOG_%T", bp->name);
+ builtin_macro_create(buf);
+ }
+}
+
#else /*!MACRO_PREDEF*/
#else /*!MACRO_PREDEF*/
@@
-614,7
+630,7
@@
macro_create(const uschar * name, const uschar * val, BOOL command_line)
{
macro_item * m = store_get(sizeof(macro_item));
{
macro_item * m = store_get(sizeof(macro_item));
-/* fprintf(stderr, "%s: '%s' '%s'\n", __FUNCTION__, name, val); */
+READCONF_DEBUG fprintf(stderr, "%s: '%s' '%s'\n", __FUNCTION__, name, val);
m->next = NULL;
m->command_line = command_line;
m->namelen = Ustrlen(name);
m->next = NULL;
m->command_line = command_line;
m->namelen = Ustrlen(name);
@@
-807,7
+823,7
@@
if (*s) for (m = *s == '_' ? macros : macros_user; m; m = m->next)
{
int moveby;
{
int moveby;
-/* fprintf(stderr, "%s: matched '%s' in '%s'\n", __FUNCTION__, m->name, ss); */
+ READCONF_DEBUG fprintf(stderr, "%s: matched '%s' in '%s'\n", __FUNCTION__, m->name, ss);
/* Expand the buffer if necessary */
while (*newlen - m->namelen + m->replen + 1 > big_buffer_size)
/* Expand the buffer if necessary */
while (*newlen - m->namelen + m->replen + 1 > big_buffer_size)
@@
-2410,7
+2426,7
@@
if (!ol)
/* Non-admin callers cannot see options that have been flagged secure by the
"hide" prefix. */
/* Non-admin callers cannot see options that have been flagged secure by the
"hide" prefix. */
-if (!admin_user && ol->type & opt_secure)
+if (!
f.
admin_user && ol->type & opt_secure)
{
if (no_labels)
printf("%s\n", hidden);
{
if (no_labels)
printf("%s\n", hidden);
@@
-2769,7
+2785,7
@@
if (!type)
if (Ustrcmp(name, "config") == 0)
{
if (Ustrcmp(name, "config") == 0)
{
- print_config(admin_user, no_labels);
+ print_config(
f.
admin_user, no_labels);
return TRUE;
}
return TRUE;
}
@@
-2870,7
+2886,7
@@
else if (Ustrcmp(type, "macro") == 0)
{
/* People store passwords in macros and they were previously not available
for printing. So we have an admin_users restriction. */
{
/* People store passwords in macros and they were previously not available
for printing. So we have an admin_users restriction. */
- if (!admin_user)
+ if (!
f.
admin_user)
{
fprintf(stderr, "exim: permission denied\n");
return FALSE;
{
fprintf(stderr, "exim: permission denied\n");
return FALSE;
@@
-2880,6
+2896,8
@@
else if (Ustrcmp(type, "macro") == 0)
{
if (names_only)
printf("%s\n", CS m->name);
{
if (names_only)
printf("%s\n", CS m->name);
+ else if (no_labels)
+ printf("%s\n", CS m->replacement);
else
printf("%s=%s\n", CS m->name, CS m->replacement);
if (name)
else
printf("%s=%s\n", CS m->name, CS m->replacement);
if (name)
@@
-3275,7
+3293,7
@@
if (Uchdir("/") < 0)
/* Check the status of the file we have opened, if we have retained root
privileges and the file isn't /dev/null (which *should* be 0666). */
/* Check the status of the file we have opened, if we have retained root
privileges and the file isn't /dev/null (which *should* be 0666). */
-if (trusted_config && Ustrcmp(filename, US"/dev/null"))
+if (
f.
trusted_config && Ustrcmp(filename, US"/dev/null"))
{
if (fstat(fileno(config_file), &statbuf) != 0)
log_write(0, LOG_MAIN|LOG_PANIC_DIE, "failed to stat configuration file %s",
{
if (fstat(fileno(config_file), &statbuf) != 0)
log_write(0, LOG_MAIN|LOG_PANIC_DIE, "failed to stat configuration file %s",
@@
-4401,7
+4419,7
@@
void
readconf_save_config(const uschar *s)
{
save_config_line(string_sprintf("# Exim Configuration (%s)",
readconf_save_config(const uschar *s)
{
save_config_line(string_sprintf("# Exim Configuration (%s)",
- running_in_test_harness ? US"X" : s));
+
f.
running_in_test_harness ? US"X" : s));
}
static void
}
static void