• last updated 4 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
bugfix: provide proper encoding for text phrases in email addresses

Previously, mails to addresses of the form

PHRASE <USER@HOST>

where PHRASE contains UTF-8 were sent without the required encoding.

One many systems, this was perfectly fine, but on some, these

where leading to mangled characters. Now, the "to_addr" adresseses

and the "from_addr" address of acs_mail_lite::send_immediately

are properly encoded. Note, that "to_addr" is a list of addresses.

Many thanks to Franz Penz for reporting this.

improve spelling

Properly escape "<" and ">" in api-doc documentation.

Since all documentation is rendered via HTML, the characters

"<" and ">" have to be HTML-quoted, otherwise strange things

(omission, unintended renderings) might occur.

E.g. the sentence

Define an interface between a page and an

ADP <include> similar to the page_contract.

was rendered as

Define an interface between a page and an

ADP similar to the page_contract.

which is incorrect.

  1. … 13 more files in changeset.
improve spelling

Reduce number of queries, improve documentation

Queries could be made even less e.g. by locking and querying the tuples in one statement. However, it would be trickyer to make the code portable.

  1. … 1 more file in changeset.
Simplify nsv idiom

Simplify documentation

Fix typo in doc

Deprecate util_ns_set_to_list: ns_set array is an equivalent oneliner

  1. … 5 more files in changeset.
fix for issue #3463

Many thanks to Tony Kirkham for the fix!

reduce public footprint

replace low-level cr_fs_path by higher level interface content::revision::get_cr_file_path

  1. … 8 more files in changeset.
Deprecate acs_mail_lite::message_interpolate in favor of 'string map'

Make api public, complies with acs-api-browser.graph__bad_calls automated test

  1. … 3 more files in changeset.
mark functions called only internally as private

  1. … 15 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. … 42 more files in changeset.
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. … 58 more files in changeset.
Replace limit (pg only) with fetch idiom, which should be portable on "modern" Oracle

  1. … 1 more file in changeset.
mprove spelling: move closer to the linux documentation recommendations

  1. … 21 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

  1. … 1 more file in changeset.