You've already forked docker-mailserver
							
							
				mirror of
				https://github.com/docker-mailserver/docker-mailserver.git
				synced 2025-10-31 00:17:45 +02:00 
			
		
		
		
	chore: fix various typos across codebase (#4552)
Co-authored-by: Georg Lauterbach <44545919+georglauterbach@users.noreply.github.com>
This commit is contained in:
		
							
								
								
									
										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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user