mirror of
https://github.com/docker-mailserver/docker-mailserver.git
synced 2025-08-15 07:22:33 +02:00
chore: fix various typos across codebase (#4552)
Some checks failed
Lint / lint (push) Waiting to run
Build, Test & Deploy / Build AMD64 Image (push) Has been cancelled
Documentation / Deploy Docs (push) Has been cancelled
Build, Test & Deploy / Test AMD64 Image (push) Has been cancelled
Build, Test & Deploy / Publish AMD64 and ARM64 Image (push) Has been cancelled
Documentation / Update `versions.json` if necessary (push) Has been cancelled
Documentation / update `latest` symlink if necessary (push) Has been cancelled
Some checks failed
Lint / lint (push) Waiting to run
Build, Test & Deploy / Build AMD64 Image (push) Has been cancelled
Documentation / Deploy Docs (push) Has been cancelled
Build, Test & Deploy / Test AMD64 Image (push) Has been cancelled
Build, Test & Deploy / Publish AMD64 and ARM64 Image (push) Has been cancelled
Documentation / Update `versions.json` if necessary (push) Has been cancelled
Documentation / update `latest` symlink if necessary (push) Has been cancelled
Co-authored-by: Georg Lauterbach <44545919+georglauterbach@users.noreply.github.com>
This commit is contained in:
parent
060bf9a474
commit
c1a5eabc94
29 changed files with 37 additions and 36 deletions
2
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
2
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
|
@ -20,7 +20,7 @@ body:
|
|||
id: context
|
||||
attributes:
|
||||
label: Context
|
||||
description: Tell us how your request is related to DMS, one of its components or another issue / PR. Also **link all conected issues and PRs here**!
|
||||
description: Tell us how your request is related to DMS, one of its components or another issue / PR. Also **link all connected issues and PRs here**!
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
|
|
2
.github/workflows/docs-production-deploy.yml
vendored
2
.github/workflows/docs-production-deploy.yml
vendored
|
@ -109,7 +109,7 @@ jobs:
|
|||
update-latest-symlink:
|
||||
permissions:
|
||||
contents: write
|
||||
name: 'update `latest` symlink if neccessary'
|
||||
name: 'update `latest` symlink if necessary'
|
||||
runs-on: ubuntu-22.04
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
needs: add-version-to-docs
|
||||
|
|
|
@ -29,6 +29,7 @@ All notable changes to this project will be documented in this file. The format
|
|||
- **Internal:**
|
||||
- The DMS _Config Volume_ (`/tmp/docker-mailserver`) will now ensure it's file tree is accessible for services when the volume was created with missing executable bit ([#4487](https://github.com/docker-mailserver/docker-mailserver/pull/4487))
|
||||
- Removed the build-time hostname workaround for Postfix as Debian has since patched their post-install script ([#4493](https://github.com/docker-mailserver/docker-mailserver/pull/4493))
|
||||
- Fixed various typos across codebase ([#4552](https://github.com/docker-mailserver/docker-mailserver/pull/4552))
|
||||
|
||||
### Updates
|
||||
|
||||
|
@ -161,7 +162,7 @@ The most noteworthy change of this release is the update of the container's base
|
|||
- Removed custom installations of Fail2Ban, getmail6 and Rspamd
|
||||
- Updated packages lists and added comments for maintainability
|
||||
- OpenDMARC upgrade: `v1.4.0` => `v1.4.2` ([#3841](https://github.com/docker-mailserver/docker-mailserver/pull/3841))
|
||||
- Previous versions of OpenDMARC would place incoming mail from domains announcing `p=quarantaine` (_that fail the DMARC check_) into the [Postfix "hold" queue](https://www.postfix.org/QSHAPE_README.html#hold_queue) until administrative intervention.
|
||||
- Previous versions of OpenDMARC would place incoming mail from domains announcing `p=quarantine` (_that fail the DMARC check_) into the [Postfix "hold" queue](https://www.postfix.org/QSHAPE_README.html#hold_queue) until administrative intervention.
|
||||
- [OpenDMARC v1.4.2 has disabled that feature by default](https://github.com/trusteddomainproject/OpenDMARC/issues/105), but it can be enabled again by adding the setting `HoldQuarantinedMessages true` to [`/etc/opendmarc.conf`](https://github.com/docker-mailserver/docker-mailserver/blob/v13.3.1/target/opendmarc/opendmarc.conf) (_provided from DMS_).
|
||||
- [Our `user-patches.sh` feature](https://docker-mailserver.github.io/docker-mailserver/latest/config/advanced/override-defaults/user-patches/) provides a convenient approach to updating that config file.
|
||||
- Please let us know if you disagree with the upstream default being carried with DMS, or the value of providing alternative configuration support within DMS.
|
||||
|
@ -336,11 +337,11 @@ DMS is now secured against the [recently published spoofing attack "SMTP Smuggli
|
|||
|
||||
- The test suite now uses `swaks` instead of `nc`, which has multiple benefits ([#3732](https://github.com/docker-mailserver/docker-mailserver/pull/3732)):
|
||||
- `swaks` handles pipelining correctly, hence we can now use `reject_unauth_pipelining` in Postfix's configuration.
|
||||
- `swaks` provides better CLI options that make many files superflous.
|
||||
- `swaks` provides better CLI options that make many files superfluous.
|
||||
- `swaks` can also replace `openssl s_client` and handles authentication on submission ports better.
|
||||
- **Postfix:**
|
||||
- We now defer rejection from unauthorized pipelining until the SMTP `DATA` command via `smtpd_data_restrictions` (_i.e. at the end of the mail transfer transaction_) ([#3744](https://github.com/docker-mailserver/docker-mailserver/pull/3744))
|
||||
- Prevously our configuration only handled this during the client and recipient restriction stages. Postfix will flag this activity when encountered, but the rejection now is handled at `DATA` where unauthorized pipelining would have been valid from this point.
|
||||
- Previously our configuration only handled this during the client and recipient restriction stages. Postfix will flag this activity when encountered, but the rejection now is handled at `DATA` where unauthorized pipelining would have been valid from this point.
|
||||
- If you had the Amavis service enabled (default), this restriction was already in place. Otherwise the concerns expressed with `smtpd_data_restrictions = reject_unauth_pipelining` from the security section above apply. We have permitted trusted clients (_`$mynetworks` or authenticated_) to bypass this restriction.
|
||||
|
||||
## [v13.1.0](https://github.com/docker-mailserver/docker-mailserver/releases/tag/v13.1.0)
|
||||
|
@ -571,7 +572,7 @@ Notable changes are:
|
|||
- Rspamd feature is promoted from preview status
|
||||
- Services no longer use `chroot`
|
||||
- Fail2Ban major version upgrade
|
||||
- ARMv7 platform is no longer suppoted
|
||||
- ARMv7 platform is no longer supported
|
||||
- TLS 1.2 is the minimum supported protocol
|
||||
- SMTP authentication on port 25 disabled
|
||||
- The value of `smtpd_sender_restrictions` for Postfix has replaced the value ([#3127](https://github.com/docker-mailserver/docker-mailserver/pull/3127)):
|
||||
|
|
|
@ -107,7 +107,7 @@ configs:
|
|||
# - Use an ECDSA cert that's been signed by a self-signed CA for TLS cert verification.
|
||||
# - This cert is only valid for mail.example.test, mail.destination.test, smtp.relay-service.test
|
||||
|
||||
# `swaks` run in the container will need to reference this CA cert file for successful verficiation (optional).
|
||||
# `swaks` run in the container will need to reference this CA cert file for successful verification (optional).
|
||||
tls-ca-cert:
|
||||
content: |
|
||||
-----BEGIN CERTIFICATE-----
|
||||
|
|
|
@ -142,7 +142,7 @@ This page provides a technical reference for account management in DMS.
|
|||
- A subaddress has a tag delimiter (_default: `+`_), followed by the tag: `<local-part>+<tag>@<domain-part>`
|
||||
- The subaddress `user+github@example.com` would deliver mail to the same mailbox as `user@example.com`.
|
||||
- Tags are dynamic. Anything between the `+` and `@` is understood as the tag, no additional configuration required.
|
||||
- Only the first occurence of the tag delimiter is recognized. Any additional occurences become part of the tag value itself.
|
||||
- Only the first occurrence of the tag delimiter is recognized. Any additional occurrences become part of the tag value itself.
|
||||
|
||||
??? tip "When is subaddressing useful?"
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@ While indexing is memory intensive, you can configure the plugin to limit the am
|
|||
# disable indexing of folders
|
||||
# fts_autoindex_exclude = \Trash
|
||||
|
||||
# Index attachements
|
||||
# Index attachments
|
||||
# fts_decoder = decode2text
|
||||
}
|
||||
|
||||
|
|
|
@ -733,7 +733,7 @@ Controls the spam score threshold for triggering an action on mail that has a hi
|
|||
|
||||
- **1** => will activate SpamAssassin short circuiting for bayes spam detection.
|
||||
|
||||
This will uncomment the respective line in `/etc/spamassasin/local.cf`
|
||||
This will uncomment the respective line in `/etc/spamassassin/local.cf`
|
||||
|
||||
!!! warning
|
||||
|
||||
|
@ -743,7 +743,7 @@ This will uncomment the respective line in `/etc/spamassasin/local.cf`
|
|||
|
||||
- **1** => will activate SpamAssassin short circuiting for bayes ham detection
|
||||
|
||||
This will uncomment the respective line in `/etc/spamassasin/local.cf`
|
||||
This will uncomment the respective line in `/etc/spamassassin/local.cf`
|
||||
|
||||
!!! warning
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ Enabling Fail2Ban support can be done via ENV, but also requires granting at lea
|
|||
--env ENABLE_FAIL2BAN=1
|
||||
```
|
||||
|
||||
!!! warning "Security risk of adding non-default capabilties"
|
||||
!!! warning "Security risk of adding non-default capabilities"
|
||||
|
||||
DMS bundles F2B into the image for convenience to simplify integration and deployment.
|
||||
|
||||
|
|
|
@ -374,7 +374,7 @@ DMS does not manage those concerns, verify they are not causing your delivery pr
|
|||
- [mail-tester](https://www.mail-tester.com/) can test your deliverability.
|
||||
- [helloinbox](https://www.helloinbox.email/) provides a checklist of things to improve your deliverability.
|
||||
|
||||
### SpamAssasin
|
||||
### SpamAssassin
|
||||
|
||||
#### How can I manage my custom SpamAssassin rules?
|
||||
|
||||
|
|
|
@ -73,7 +73,7 @@ function _bytes_to_human_readable_size() {
|
|||
echo '~'
|
||||
# Otherwise a value in KibiBytes (1024 bytes == 1k) is expected (Dovecots internal representation):
|
||||
elif [[ ${1:-} =~ ^[0-9]+$ ]]; then
|
||||
# kibibytes to bytes, converted to approproate IEC unit (eg: MiB):
|
||||
# kibibytes to bytes, converted to appropriate IEC unit (eg: MiB):
|
||||
echo $(( 1024 * ${1} )) | numfmt --to=iec
|
||||
else
|
||||
_exit_with_error "Supplied non-number argument '${1:-}' to '_bytes_to_human_readable_size()'"
|
||||
|
|
|
@ -256,7 +256,7 @@ EOF
|
|||
cp "${DEFAULT_CONFIG_FILE}" "${RSPAMD_OVERRIDE_D}/dkim_signing.conf"
|
||||
chown _rspamd:_rspamd "${DEFAULT_CONFIG_FILE}" "${RSPAMD_OVERRIDE_D}/dkim_signing.conf"
|
||||
|
||||
_log 'debug' 'Restarting Rspamd as initial DKIM configuration was suppplied'
|
||||
_log 'debug' 'Restarting Rspamd as initial DKIM configuration was supplied'
|
||||
supervisorctl restart rspamd
|
||||
fi
|
||||
}
|
||||
|
|
|
@ -74,7 +74,7 @@ ${ORANGE}EXAMPLES${RESET}
|
|||
to input a password afterwards since no password was supplied.
|
||||
|
||||
${LWHITE}setup config dkim keysize 2048 domain 'example.com,not-example.com'${RESET}
|
||||
Creates keys of length 2048 for the domains in comma-seperated list.
|
||||
Creates keys of length 2048 for the domains in comma-separated list.
|
||||
This is necessary when using LDAP as the required domains cannot be inferred.
|
||||
|
||||
${LWHITE}setup config dkim help${RESET}
|
||||
|
|
|
@ -83,7 +83,7 @@ function _install_packages() {
|
|||
|
||||
local ANTI_VIRUS_SPAM_PACKAGES=(
|
||||
clamav clamav-daemon
|
||||
# spamassassin is used only with amavisd-new, while pyzor + razor are used by spamassasin
|
||||
# spamassassin is used only with amavisd-new, while pyzor + razor are used by spamassassin
|
||||
amavisd-new spamassassin pyzor razor
|
||||
)
|
||||
|
||||
|
|
|
@ -56,7 +56,7 @@ function _manage_accounts_dovecotmaster_delete { _manage_accounts 'delete' "${DA
|
|||
#
|
||||
|
||||
# These validation helpers rely on:
|
||||
# - Exteral vars to be declared prior to calling them (MAIL_ACCOUNT, PASSWD, DATABASE).
|
||||
# - External vars to be declared prior to calling them (MAIL_ACCOUNT, PASSWD, DATABASE).
|
||||
# - Calling external method '__usage' as part of error handling.
|
||||
|
||||
# Also used by setquota, delquota
|
||||
|
|
|
@ -7,7 +7,7 @@ function _get_label_count() {
|
|||
}
|
||||
|
||||
# Sets HOSTNAME and DOMAINNAME globals used throughout the scripts,
|
||||
# and any subprocesses called that intereact with it.
|
||||
# and any subprocesses called that interact with it.
|
||||
function _obtain_hostname_and_domainname() {
|
||||
# Normally this value would match the output of `hostname` which mirrors `/proc/sys/kernel/hostname`,
|
||||
# However for legacy reasons, the system ENV `HOSTNAME` was replaced here with `hostname -f` instead.
|
||||
|
|
|
@ -93,7 +93,7 @@ function _trap_err_signal() {
|
|||
|
||||
# shellcheck disable=SC2317
|
||||
function __log_unexpected_error() {
|
||||
local MESSAGE="Unexpected error occured :: script = ${SCRIPT:-${0}} "
|
||||
local MESSAGE="Unexpected error occurred :: script = ${SCRIPT:-${0}} "
|
||||
MESSAGE+=" | function = ${1:-none (global)}"
|
||||
MESSAGE+=" | command = ${2:-?}"
|
||||
MESSAGE+=" | line = ${3:-?}"
|
||||
|
|
|
@ -8,7 +8,7 @@ function _setup_dhparam() {
|
|||
_log 'debug' "Setting up ${DH_SERVICE} dhparam"
|
||||
|
||||
if [[ -f ${DH_CUSTOM} ]]; then # use custom supplied dh params (assumes they're probably insecure)
|
||||
_log 'trace' "${DH_SERVICE} will use custom provided DH paramters"
|
||||
_log 'trace' "${DH_SERVICE} will use custom provided DH parameters"
|
||||
_log 'warn' "Using self-generated dhparams is considered insecure - unless you know what you are doing, please remove '${DH_CUSTOM}'"
|
||||
|
||||
cp -f "${DH_CUSTOM}" "${DH_DEST}"
|
||||
|
|
|
@ -9,7 +9,7 @@ function _register_setup_function() {
|
|||
|
||||
function _setup() {
|
||||
# Requires `shopt -s globstar` because of `**` which in
|
||||
# turn is required as we're decending through directories
|
||||
# turn is required as we're descending through directories
|
||||
for FILE in /usr/local/bin/setup.d/**/*.sh; do
|
||||
# shellcheck source=/dev/null
|
||||
source "${FILE}"
|
||||
|
|
|
@ -227,7 +227,7 @@ function __rspamd__setup_learning() {
|
|||
sedfile -i -E '/^}/d' /etc/dovecot/conf.d/90-sieve.conf
|
||||
cat >>/etc/dovecot/conf.d/90-sieve.conf << EOF
|
||||
|
||||
# From anyhwere to Junk
|
||||
# From anywhere to Junk
|
||||
imapsieve_mailbox1_name = Junk
|
||||
imapsieve_mailbox1_causes = COPY
|
||||
imapsieve_mailbox1_before = file:${SIEVE_PIPE_BIN_DIR}/learn-spam.sieve
|
||||
|
|
|
@ -30,7 +30,7 @@ function _wait_until_expected_count_is_matched() {
|
|||
}
|
||||
|
||||
# WARNING: Keep in mind it is a '>=' comparison.
|
||||
# If you provide an explict count to match, ensure it is not too low to cause a false-positive.
|
||||
# If you provide an explicit count to match, ensure it is not too low to cause a false-positive.
|
||||
function __has_expected_count() {
|
||||
# shellcheck disable=SC2317
|
||||
[[ $(__get_count) -ge "${EXPECTED_COUNT}" ]]
|
||||
|
|
|
@ -15,7 +15,7 @@ load "${REPOSITORY_ROOT}/test/helper/common"
|
|||
|
||||
# For certs actually provisioned from LetsEncrypt the Root CA cert should not need to be provided,
|
||||
# as it would already be available by default in `/etc/ssl/certs`, requiring only the cert chain (fullchain.pem).
|
||||
function _should_succesfully_negotiate_tls() {
|
||||
function _should_successfully_negotiate_tls() {
|
||||
local FQDN=${1}
|
||||
# shellcheck disable=SC2031
|
||||
local CA_CERT=${2:-${TEST_CA_CERT}}
|
||||
|
|
|
@ -2,7 +2,7 @@ load "${REPOSITORY_ROOT}/test/helper/setup"
|
|||
load "${REPOSITORY_ROOT}/test/helper/common"
|
||||
|
||||
BATS_TEST_NAME_PREFIX='[ClamAV + SA] (disabled) '
|
||||
CONTAINER_NAME='dms-test_clamav-spamassasin_disabled'
|
||||
CONTAINER_NAME='dms-test_clamav-spamassassin_disabled'
|
||||
|
||||
function setup_file() {
|
||||
_init_with_defaults
|
||||
|
|
|
@ -194,7 +194,7 @@ function __create_key() {
|
|||
local KEYSIZE=${4:-2048}
|
||||
local FORCE=${5:-}
|
||||
|
||||
# Not quoting is intended here as we would othewise provide
|
||||
# Not quoting is intended here as we would otherwise provide
|
||||
# the argument "''" (empty string), which would cause errors
|
||||
# shellcheck disable=SC2086
|
||||
_run_in_container setup config dkim ${FORCE} \
|
||||
|
|
|
@ -45,7 +45,7 @@ function _initial_setup() {
|
|||
|
||||
# Test that certificate files exist for the configured `hostname`:
|
||||
_should_have_valid_config "${TARGET_DOMAIN}" 'privkey.pem' 'fullchain.pem'
|
||||
_should_succesfully_negotiate_tls "${TARGET_DOMAIN}"
|
||||
_should_successfully_negotiate_tls "${TARGET_DOMAIN}"
|
||||
_should_not_support_fqdn_in_cert 'example.test'
|
||||
}
|
||||
|
||||
|
@ -65,7 +65,7 @@ function _initial_setup() {
|
|||
|
||||
#test domain has certificate files
|
||||
_should_have_valid_config "${TARGET_DOMAIN}" 'privkey.pem' 'fullchain.pem'
|
||||
_should_succesfully_negotiate_tls "${TARGET_DOMAIN}"
|
||||
_should_successfully_negotiate_tls "${TARGET_DOMAIN}"
|
||||
_should_not_support_fqdn_in_cert 'mail.example.test'
|
||||
}
|
||||
|
||||
|
@ -148,7 +148,7 @@ function _initial_setup() {
|
|||
# The difference in support is:
|
||||
# - `example.test` should no longer be valid.
|
||||
# - `mail.example.test` should remain valid, but also allow any other subdomain/hostname.
|
||||
_should_succesfully_negotiate_tls 'mail.example.test'
|
||||
_should_successfully_negotiate_tls 'mail.example.test'
|
||||
_should_support_fqdn_in_cert 'fake.example.test'
|
||||
_should_not_support_fqdn_in_cert 'example.test'
|
||||
}
|
||||
|
|
|
@ -198,7 +198,7 @@ function get_cipherlist() {
|
|||
local TLS_VERSION=$1
|
||||
|
||||
if [[ ${TLS_VERSION} == "TLSv1_3" ]]; then
|
||||
# TLS v1.3 cipher suites are not user defineable and not unique to the available certificate(s).
|
||||
# TLS v1.3 cipher suites are not user definable and not unique to the available certificate(s).
|
||||
# They do not support server enforced order either.
|
||||
echo '"TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256"'
|
||||
else
|
||||
|
|
|
@ -159,7 +159,7 @@ function _should_restart_when_killed() {
|
|||
|
||||
# Should kill the process successfully:
|
||||
# (which should then get restarted by supervisord)
|
||||
# NOTE: The process name from `pkill --echo` does not always match the equivalent processs name from `pgrep --list-full`.
|
||||
# NOTE: The process name from `pkill --echo` does not always match the equivalent process name from `pgrep --list-full`.
|
||||
# The oldest process returned (if multiple) should be the top-level process launched by supervisord,
|
||||
# the PID will verify the target process was killed correctly:
|
||||
local PID=$(_exec_in_container pgrep --full --oldest "${PROCESS}")
|
||||
|
|
|
@ -117,7 +117,7 @@ function teardown_file() { _default_teardown ; }
|
|||
assert_success
|
||||
|
||||
# NOTE: Sometimes the directory still exists, possibly from change detection
|
||||
# of the previous test (`email udpate`) triggering. Therefore, the function
|
||||
# of the previous test (`email update`) triggering. Therefore, the function
|
||||
# `wait_until_change_detection_event_completes was added to the
|
||||
# `setup.sh email update` test.
|
||||
_repeat_in_container_until_success_or_timeout 60 "${CONTAINER_NAME}" bash -c '[[ ! -d /var/mail/example.com/user ]]'
|
||||
|
|
|
@ -122,7 +122,7 @@ function setup_file() {
|
|||
|
||||
# Extra ENV needed to support specific test-cases:
|
||||
local ENV_SUPPORT=(
|
||||
# Required for openssl commands to be successul:
|
||||
# Required for openssl commands to be successful:
|
||||
# NOTE: snakeoil cert is created (for `docker-mailserver.invalid`) via Debian post-install script for Postfix package.
|
||||
# TODO: Use proper TLS cert
|
||||
--env SSL_TYPE='snakeoil'
|
||||
|
@ -404,7 +404,7 @@ function _should_exist_in_ldap_tables() {
|
|||
# Each LDAP config file sets `query_filter` to lookup a key in LDAP (values defined in `.ldif` test files)
|
||||
# `mail` (ldap-users), `mailAlias` (ldap-aliases), `mailGroupMember` (ldap-groups)
|
||||
# `postmap` is queried with the mail account address, and the LDAP service should respond with
|
||||
# `result_attribute` which is the LDAP `mail` value (should match what we'r'e quering `postmap` with)
|
||||
# `result_attribute` which is the LDAP `mail` value (should match what we'r'e querying `postmap` with)
|
||||
|
||||
_run_in_container postmap -q "${MAIL_ACCOUNT}" ldap:/etc/postfix/ldap-users.cf
|
||||
assert_success
|
||||
|
|
|
@ -68,7 +68,7 @@ function setup() {
|
|||
assert_output 'foo bar'
|
||||
}
|
||||
|
||||
@test 'checking sedfile substitude failure (strict)' {
|
||||
@test 'checking sedfile substitute failure (strict)' {
|
||||
# try to change 'baz' to 'something' and fail
|
||||
_run_in_container sedfile --strict -i 's|baz|something|' "${TEST_FILE}"
|
||||
assert_failure
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue