Some of the options we specify in the Debian files conflict with ones already set in the official files. We should comment out, or even remove such conflicting declarations. Among those are:
av_scanner: defined in conf.d/main/00_vexim_listmacrosdefs by us and in conf.d/main/02_exim4-config_options by exim4-config (although commented out by default)
spamd_address: same as above
keep_environment: same as above, but not commented out by default
add_environment: same as above
MAIN_LOCAL_DOMAINS: by default, Debian sets it to @:localhost:local_domains, where the local_domains is a list list that may be configured via debconf, and may contain one or more colon-delimited domain names. We instead set this macro to our list of domains, selected from SQL. I'm not sure whether or not we should add our names to a potentially-preexisting list, but either way, even though it currently pretends to do that, it's actually broken: to redefine a macro, we should use == instead of =, but on the other hand, an undefined macro cannot be redefined, so, to define it the first time, we must use =. I think we'll have to use .ifndef to solve this: if a macro is not defined, we'll define it, and if it is defined, we'll redefined it by adding to it.
Another problem with this is that if we want to redefine (add to) the default macro, we have to put ours after it (otherwise the default definition will be skipped), but before it's being used as domainlist local_domains. I guess the only way to do this would be to put it into a file starting with 01_, but with a lower sort order than 01_exim4-config*
MAIN_RELAY_TO_DOMAINS: same as above
MAIN_HARDCODE_PRIMARY_HOSTNAME: I think we can just omit this option from our config. If the admin wants to define it, they can do so without our help. I can hardly think of a reason why anyone would want to accept emails without @domain_name from external servers today, so I don't think we need to advertise this option.
MAIN_TRUSTED_USERS: same as above, I guess. It's a commented out list of www-data by default, and I wonder if this option is really necessary. I just send myself two e-mails using Roundcube, one with this option enabled, and one without, and I can't see any difference in their headers Although it could be that I'm missing something.
MAIN_TLS_ENABLE: the only option that really makes sense for us to have.
Come to think of it, I think we should take .ifndef precaution whenever we are defining macros that are used by exim4-config, as these might already be defined elsewhere.
Some of the options we specify in the Debian files conflict with ones already set in the official files. We should comment out, or even remove such conflicting declarations. Among those are:
av_scanner
: defined inconf.d/main/00_vexim_listmacrosdefs
by us and inconf.d/main/02_exim4-config_options
byexim4-config
(although commented out by default)spamd_address
: same as abovekeep_environment
: same as above, but not commented out by defaultadd_environment
: same as aboveMAIN_LOCAL_DOMAINS
: by default, Debian sets it to@:localhost:local_domains
, where thelocal_domains
is a list list that may be configured via debconf, and may contain one or more colon-delimited domain names. We instead set this macro to our list of domains, selected from SQL. I'm not sure whether or not we should add our names to a potentially-preexisting list, but either way, even though it currently pretends to do that, it's actually broken: to redefine a macro, we should use==
instead of=
, but on the other hand, an undefined macro cannot be redefined, so, to define it the first time, we must use=
. I think we'll have to use.ifndef
to solve this: if a macro is not defined, we'll define it, and if it is defined, we'll redefined it by adding to it. Another problem with this is that if we want to redefine (add to) the default macro, we have to put ours after it (otherwise the default definition will be skipped), but before it's being used asdomainlist local_domains
. I guess the only way to do this would be to put it into a file starting with01_
, but with a lower sort order than01_exim4-config*
MAIN_RELAY_TO_DOMAINS
: same as aboveMAIN_HARDCODE_PRIMARY_HOSTNAME
: I think we can just omit this option from our config. If the admin wants to define it, they can do so without our help. I can hardly think of a reason why anyone would want to accept emails without @domain_name from external servers today, so I don't think we need to advertise this option.MAIN_TRUSTED_USERS
: same as above, I guess. It's a commented out list ofwww-data
by default, and I wonder if this option is really necessary. I just send myself two e-mails using Roundcube, one with this option enabled, and one without, and I can't see any difference in their headers Although it could be that I'm missing something.MAIN_TLS_ENABLE
: the only option that really makes sense for us to have.Come to think of it, I think we should take
.ifndef
precaution whenever we are defining macros that are used byexim4-config
, as these might already be defined elsewhere.