From b3a04ae18a42ed960c89cc81c209633da6976380 Mon Sep 17 00:00:00 2001 From: Kyle Meyer Date: Sun, 19 Apr 2020 20:13:32 -0400 Subject: watchmaildir: support multiple watchheader values The watchheader key supports only a single value. Supporting multiple watchheader values was mentioned in discussion [1] of 8d3e3bd8 (doc: explain publicinbox..watchheader, 2019-10-09), and it wasn't clear if there was a need. One scenario in which matching multiple headers would be convenient is when someone wants to set up public-inbox archives for some small projects but does _not_ want to run mailing lists for them, instead allowing others to follow the project by any of the pull mechanisms. Using a common underlying address, an address alias for each project is configured via a third-party email provider, with messages for each alias being exposed as a separate public-inbox archive. In this setup, messages for an inbox cannot be selected by a List-ID header but can be identified by the inbox's address in either the To or Cc header. To support such a use case, update the watchheader handling to consider multiple values, accepting a message if it matches any value. While selecting a message based on matching _any_ rather than _all_ values is motivated by the above scenario, it's worth noting that the "any" behavior is consistent with how multiple listid config values are handled. [1] https://public-inbox.org/meta/20191010085118.r3amey4cayazfycb@dcvr/ --- Documentation/public-inbox-config.pod | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'Documentation/public-inbox-config.pod') diff --git a/Documentation/public-inbox-config.pod b/Documentation/public-inbox-config.pod index 4c9994dc..708a785f 100644 --- a/Documentation/public-inbox-config.pod +++ b/Documentation/public-inbox-config.pod @@ -88,7 +88,8 @@ Default: none; only for L users watchheader = List-Id: If specified, L will only process mail matching -the given header. Multiple values are not currently supported. +the given header. If specified multiple times, mail will be processed +if it matches any of the values. Default: none; only for L users -- cgit v1.2.3-24-ge0c7