-
Notifications
You must be signed in to change notification settings - Fork 100
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dkim_signature_apply_on needs to be explicitly set in robot.conf; the documented default doesn't apply #1739
Comments
I feel this is expected behavior: |
I disagree: the behavior is counterintuitive, and I wasted hours trying to figure out why DKIM signing wasn't happening because of it. Since |
I think also that enabling DKIM by robot makes sense. For some domains you might to want DKIM, but not for others. Even we don't change this, it would be good to have correct documentation. |
Ah I see, I never noticed that bug: The default value of Besides, in my opinion, the DKIM (or ARC) feature should be enabled if the relevant parameters (signer_domain, selector and private_key) are available. It is not often that we specify these parameters but do not want to use the feature. It is better to be able to specify |
Please check the PR above. |
PR1740 does fix the default behavior in the situation described in the bug report. However, if |
Ah yes, |
The second commit splits the string into an ARRAYREF for each robot, but do we need to be concerned that it would be a comma-separated string in the global (non-robot) context? |
I think we need to be concerned. In fact |
If no objection, I'll merge #1740 . |
Minor follow-up issue: if ($param->{'config_hash'}{'dkim_feature'} eq 'on') {
eval "require Mail::DKIM";
if ($EVAL_ERROR) {
$log->syslog('notice',
'Failed to load Mail::DKIM perl module ; setting "dkim_feature" to "off"'
);
$param->{'config_hash'}{'dkim_feature'} = 'off';
$number_of_missing_modules++;
}
} |
I had noticed it as well. This check is unnecessary as the equivalent is performed elsewhere, i.e. Not only in this example, if |
Default value of `dkim_signature_apply_on` in domain context was ignored (#1739)
With no DKIM directives in
sympa.conf
, and the following directives set inrobot.conf
:… you would expect that Sympa would perform DKIM signing on messages that contain a valid DKIM signature from the sender's MTA, but it doesn't. Rather, you must explicitly specify
dkim_signature_apply_on dkim_authenticated_messages, …
inrobot.conf
to make that happen.Version
6.2.66, but I believe the problematic code is the same in 6.2.72 and main
Installation method
Universe repo for Ubuntu 22.04: https://mirror.it.ubc.ca/ubuntu/pool/universe/s/sympa/sympa_6.2.66~dfsg-2_amd64.deb
Expected behavior
According to Sympa's documentation for DKIM / ARC,
dkim_signature_apply_on
defaults tomd5_authenticated_messages, smime_authenticated_messages, dkim_authenticated_messages, editor_validated_messages
, so I expect that it should not be necessary to explicitly setdkim_signature_apply_on …
inrobot.conf
.Actual behavior
DKIM signing does not happen. To make it happen, one must either specify
dkim_feature on
in the globalsympa.conf
or explicitly setdkim_signature_apply_on …
inrobot.conf
.Additional information
See
Conf::_infer_server_specific_parameter_values
(which is called from_load
in a server-wide context):If
sympa.conf
does not havedkim_feature on
, then this code setsdkim_signature_apply_on
to an empty list, clobbering the default. When loadingrobot.conf
, the empty value, rather than the documented default, is inherited.The text was updated successfully, but these errors were encountered: