184 lines
7.6 KiB
Plaintext
184 lines
7.6 KiB
Plaintext
|
module Test_Opendkim =
|
||
|
|
||
|
let simple_string_value = "ADSPAction discard\n"
|
||
|
test Opendkim.lns get simple_string_value =
|
||
|
{ "ADSPAction" = "discard" }
|
||
|
test Opendkim.lns put simple_string_value after
|
||
|
set "ADSPAction" "discard" = simple_string_value
|
||
|
|
||
|
let simple_integer_value = "AutoRestartCount 1\n"
|
||
|
test Opendkim.lns get simple_integer_value =
|
||
|
{ "AutoRestartCount" = "1" }
|
||
|
test Opendkim.lns put simple_integer_value after
|
||
|
set "AutoRestartCount" "1" = simple_integer_value
|
||
|
|
||
|
let simple_boolean_value = "AddAllSignatureResults true\n"
|
||
|
test Opendkim.lns get simple_boolean_value =
|
||
|
{ "AddAllSignatureResults" = "true" }
|
||
|
test Opendkim.lns put simple_boolean_value after
|
||
|
set "AddAllSignatureResults" "true" = simple_boolean_value
|
||
|
|
||
|
let yes_boolean_value= "AddAllSignatureResults yes\n"
|
||
|
test Opendkim.lns get yes_boolean_value =
|
||
|
{ "AddAllSignatureResults" = "yes" }
|
||
|
test Opendkim.lns put yes_boolean_value after
|
||
|
set "AddAllSignatureResults" "yes" = yes_boolean_value
|
||
|
|
||
|
let one_boolean_value= "AddAllSignatureResults 1\n"
|
||
|
test Opendkim.lns get one_boolean_value =
|
||
|
{ "AddAllSignatureResults" = "1" }
|
||
|
test Opendkim.lns put one_boolean_value after
|
||
|
set "AddAllSignatureResults" "1" = one_boolean_value
|
||
|
|
||
|
let one_boolean_value_uppercase_yes = "AutoRestart Yes\n"
|
||
|
test Opendkim.lns get one_boolean_value_uppercase_yes =
|
||
|
{ "AutoRestart" = "Yes" }
|
||
|
test Opendkim.lns put one_boolean_value_uppercase_yes after
|
||
|
set "AutoRestart" "Yes" = one_boolean_value_uppercase_yes
|
||
|
|
||
|
let one_boolean_value_uppercase_no = "AutoRestart No\n"
|
||
|
test Opendkim.lns get one_boolean_value_uppercase_no =
|
||
|
{ "AutoRestart" = "No" }
|
||
|
test Opendkim.lns put one_boolean_value_uppercase_no after
|
||
|
set "AutoRestart" "No" = one_boolean_value_uppercase_no
|
||
|
|
||
|
let one_boolean_value_uppercase_true = "AutoRestart True\n"
|
||
|
test Opendkim.lns get one_boolean_value_uppercase_true =
|
||
|
{ "AutoRestart" = "True" }
|
||
|
test Opendkim.lns put one_boolean_value_uppercase_true after
|
||
|
set "AutoRestart" "True" = one_boolean_value_uppercase_true
|
||
|
|
||
|
let one_boolean_value_uppercase_false = "AutoRestart False\n"
|
||
|
test Opendkim.lns get one_boolean_value_uppercase_false =
|
||
|
{ "AutoRestart" = "False" }
|
||
|
test Opendkim.lns put one_boolean_value_uppercase_false after
|
||
|
set "AutoRestart" "False" = one_boolean_value_uppercase_false
|
||
|
|
||
|
let string_value_starting_with_number = "AutoRestartRate 10/1h\n"
|
||
|
test Opendkim.lns get string_value_starting_with_number =
|
||
|
{ "AutoRestartRate" = "10/1h" }
|
||
|
test Opendkim.lns put string_value_starting_with_number after
|
||
|
set "AutoRestartRate" "10/1h" = string_value_starting_with_number
|
||
|
|
||
|
let string_value_containing_slash = "TrustAnchorFile /usr/share/dns/root.key\n"
|
||
|
test Opendkim.lns get string_value_containing_slash =
|
||
|
{ "TrustAnchorFile" = "/usr/share/dns/root.key" }
|
||
|
test Opendkim.lns put string_value_containing_slash after
|
||
|
set "TrustAnchorFile" "/usr/share/dns/root.key" = string_value_containing_slash
|
||
|
|
||
|
let logwhy_keyword_boolean = "LogWhy Yes\n"
|
||
|
test Opendkim.lns get logwhy_keyword_boolean =
|
||
|
{ "LogWhy" = "Yes" }
|
||
|
test Opendkim.lns put logwhy_keyword_boolean after
|
||
|
set "LogWhy" "Yes" = logwhy_keyword_boolean
|
||
|
|
||
|
let three_type_value = "AddAllSignatureResults false\nADSPAction discard\nAutoRestartCount 2\n"
|
||
|
test Opendkim.lns get three_type_value =
|
||
|
{ "AddAllSignatureResults" = "false" }
|
||
|
{ "ADSPAction" = "discard" }
|
||
|
{ "AutoRestartCount" = "2" }
|
||
|
|
||
|
test Opendkim.lns put "" after
|
||
|
set "AddAllSignatureResults" "false";
|
||
|
set "ADSPAction" "discard";
|
||
|
set "AutoRestartCount" "2" = three_type_value
|
||
|
|
||
|
let two_boolean_value = "AddAllSignatureResults false\nADSPNoSuchDomain true\n"
|
||
|
test Opendkim.lns get two_boolean_value =
|
||
|
{ "AddAllSignatureResults" = "false" }
|
||
|
{ "ADSPNoSuchDomain" = "true" }
|
||
|
|
||
|
test Opendkim.lns put "" after
|
||
|
set "AddAllSignatureResults" "false";
|
||
|
set "ADSPNoSuchDomain" "true" = two_boolean_value
|
||
|
|
||
|
let blank_line_between= "AddAllSignatureResults false\n\nADSPNoSuchDomain true\n"
|
||
|
test Opendkim.lns get blank_line_between =
|
||
|
{ "AddAllSignatureResults" = "false" }
|
||
|
{ }
|
||
|
{ "ADSPNoSuchDomain" = "true" }
|
||
|
|
||
|
test Opendkim.lns put "" after
|
||
|
set "AddAllSignatureResults" "false";
|
||
|
set "ADSPNoSuchDomain" "true" = "AddAllSignatureResults false\nADSPNoSuchDomain true\n"
|
||
|
|
||
|
let include_comment_line= "AddAllSignatureResults false\n#A comment\nADSPNoSuchDomain true\n"
|
||
|
test Opendkim.lns get include_comment_line =
|
||
|
{ "AddAllSignatureResults" = "false" }
|
||
|
{ "#comment" = "A comment" }
|
||
|
{ "ADSPNoSuchDomain" = "true" }
|
||
|
|
||
|
test Opendkim.lns put "" after
|
||
|
set "AddAllSignatureResults" "false";
|
||
|
set "#comment" "A comment";
|
||
|
set "ADSPNoSuchDomain" "true" = include_comment_line
|
||
|
|
||
|
let default_config_file = "# This is a basic configuration that can easily be adapted to suit a standard
|
||
|
# installation. For more advanced options, see opendkim.conf(5) and/or
|
||
|
# /usr/share/doc/opendkim/examples/opendkim.conf.sample.
|
||
|
|
||
|
# Log to syslog
|
||
|
Syslog yes
|
||
|
# Required to use local socket with MTAs that access the socket as a non-
|
||
|
# privileged user (e.g. Postfix)
|
||
|
UMask 002
|
||
|
|
||
|
# Sign for example.com with key in /etc/mail/dkim.key using
|
||
|
# selector '2007' (e.g. 2007._domainkey.example.com)
|
||
|
#Domain example.com
|
||
|
#KeyFile /etc/mail/dkim.key
|
||
|
#Selector 2007
|
||
|
|
||
|
# Commonly-used options; the commented-out versions show the defaults.
|
||
|
#Canonicalization simple
|
||
|
#Mode sv
|
||
|
#SubDomains no
|
||
|
#ADSPAction continue
|
||
|
|
||
|
# Always oversign From (sign using actual From and a null From to prevent
|
||
|
# malicious signatures header fields (From and/or others) between the signer
|
||
|
# and the verifier. From is oversigned by default in the Debian package
|
||
|
# because it is often the identity key used by reputation systems and thus
|
||
|
# somewhat security sensitive.
|
||
|
OversignHeaders From
|
||
|
|
||
|
# List domains to use for RFC 6541 DKIM Authorized Third-Party Signatures
|
||
|
# (ATPS) (experimental)
|
||
|
|
||
|
#ATPSDomains example.com
|
||
|
"
|
||
|
test Opendkim.lns get default_config_file =
|
||
|
{ "#comment" = "This is a basic configuration that can easily be adapted to suit a standard" }
|
||
|
{ "#comment" = "installation. For more advanced options, see opendkim.conf(5) and/or" }
|
||
|
{ "#comment" = "/usr/share/doc/opendkim/examples/opendkim.conf.sample." }
|
||
|
{ }
|
||
|
{ "#comment" = "Log to syslog" }
|
||
|
{ "Syslog" = "yes" }
|
||
|
{ "#comment" = "Required to use local socket with MTAs that access the socket as a non-" }
|
||
|
{ "#comment" = "privileged user (e.g. Postfix)" }
|
||
|
{ "UMask" = "002" }
|
||
|
{ }
|
||
|
{ "#comment" = "Sign for example.com with key in /etc/mail/dkim.key using" }
|
||
|
{ "#comment" = "selector '2007' (e.g. 2007._domainkey.example.com)" }
|
||
|
{ "#comment" = "Domain example.com" }
|
||
|
{ "#comment" = "KeyFile /etc/mail/dkim.key" }
|
||
|
{ "#comment" = "Selector 2007" }
|
||
|
{ }
|
||
|
{ "#comment" = "Commonly-used options; the commented-out versions show the defaults." }
|
||
|
{ "#comment" = "Canonicalization simple" }
|
||
|
{ "#comment" = "Mode sv" }
|
||
|
{ "#comment" = "SubDomains no" }
|
||
|
{ "#comment" = "ADSPAction continue" }
|
||
|
{ }
|
||
|
{ "#comment" = "Always oversign From (sign using actual From and a null From to prevent" }
|
||
|
{ "#comment" = "malicious signatures header fields (From and/or others) between the signer" }
|
||
|
{ "#comment" = "and the verifier. From is oversigned by default in the Debian package" }
|
||
|
{ "#comment" = "because it is often the identity key used by reputation systems and thus" }
|
||
|
{ "#comment" = "somewhat security sensitive." }
|
||
|
{ "OversignHeaders" = "From" }
|
||
|
{ }
|
||
|
{ "#comment" = "List domains to use for RFC 6541 DKIM Authorized Third-Party Signatures" }
|
||
|
{ "#comment" = "(ATPS) (experimental)" }
|
||
|
{ }
|
||
|
{ "#comment" = "ATPSDomains example.com" }
|