• last updated 15 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
mark functions called only internally as private

  1. … 12 more files in changeset.
improve listing of test coverage

  1. … 8 more files in changeset.
Add default to avoid empty values. Fixes 'acs_mail_lite_inbound_procs_check' test case

make listing of tested procs more complete

  1. … 6 more files in changeset.
Handle to_addr specified as "DisplayName <email>": keep the display name in the header value and strip it in the RCPT TO

make end of options explicit

  1. … 41 more files in changeset.
Fix typos

Fix priority check in 'acs_mail_lite_inbound_procs_check' test case

warn about unexpected entries (typos) in EmailDeliveryMode

Add a second period to new lines starting with one ('dot-stuffing'), as defined by RFC 5321 section 4.5.2, before sending mail via nssmptd.

According to the RFC:

- "Before sending a line of mail text, the SMTP client checks the

first character of the line. If it is a period, one additional period is inserted at

the beginning of the line."

- "When a line of mail text is received by the SMTP server, it checks the line. If the

line is composed of a single period, it is treated as the end of mail indicator. If

the first character is a period and there are other characters on the line, the first

character is deleted."

This change adds the second period at the beginning of a line suggested in the first

paragraph, preventing nssmptd from deleting dots by acting as mentioned in the second one.

In the case of lines comprised of just a single period, '::mime::qp_encode' already takes

care of them by converting the '.' into '=2E', so they are not affected by this.

Prefer 'namespace which' over 'info commands', as it is faster (on local tests, around 2x) and returns a single value. Many thanks to Nathan Coulter.

  1. … 57 more files in changeset.
Use only 100 objects for the test, as in large instances this can take several minutes

Improve sql portability

Replace limit (pg only) with fetch idiom, which should be portable on "modern" Oracle

mprove spelling: move closer to the linux documentation recommendations

  1. … 18 more files in changeset.
improve wording for package parameters

  1. … 1 more file in changeset.
add EmailDeliveryMode 'ignore'. Similar to 'log' but less verbose.

use 'ignore' in case 'redirect' is set wihout a value for EmailRedirectTo

  1. … 1 more file in changeset.
fall back to 'log' mode, when EmailDeliveryMode "redirect" is used without "EmailRedirectTo" value

Fix parameter name in acs-mail-lite

- acs_mail_lite::send_immediately: new switch for "-force_delivery_mode"

to force delivery mode for a single call (ignoring package parameter

"EmailDeliveryMode")

- New potential value for "EmailDeliveryMode": "nssmtpd"

When this parameter is specified, the behavior is like

"smtp", but the code tries use the SMTP implementation

of the nssmtpd NaviServer module.

- It is also possible to combine "nssmtpd" with the delivery methods

"filter" or "redirect" simply by writing e.g. "filter nssmtpd"

- some refactoring to avoid repeated code

  1. … 1 more file in changeset.
Use optionally nssmtpd as different mail delivery agent

when the "-experimental" flag is provided to

acs_mail_lite::send_immediately, and the NaviServer

nssmtpd modules is installed.

whitespace changes

Rename 'random', 'randomInit' and 'randomRange' procs to something compliant to OpenACS naming convention, replace occurrences, create deprecated wrapper

  1. … 6 more files in changeset.
Rename build_mime_message to ad_build_mime_message to comply with naming convention, replace occurrences, create deprecated wrapper

  1. … 5 more files in changeset.
moved "safe_eval" under the "ad_" prefix and marked the original function as deprecated

  1. … 2 more files in changeset.
improve spelling

  1. … 7 more files in changeset.
Prefer '==' over 'eq' on numeric comparison

  1. … 2 more files in changeset.
Keep accepting empty values as proper ids, as deprecated ad_var_type_check_integer_p would have done

replace deprecated functions ad_var_type_check_integerlist_p and ad_var_type_check_number_p