[sieve] Possible Issue in RFC6609, Include Extension

Tony G <tgravagno+ietf@gmail.com> Thu, 11 January 2024 01:11 UTC

Return-Path: <tgravagno@gmail.com>
X-Original-To: sieve@ietfa.amsl.com
Delivered-To: sieve@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BB517C14F6FB for <sieve@ietfa.amsl.com>; Wed, 10 Jan 2024 17:11:51 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.104
X-Spam-Level:
X-Spam-Status: No, score=-2.104 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id mxGPiRTDR7Ng for <sieve@ietfa.amsl.com>; Wed, 10 Jan 2024 17:11:48 -0800 (PST)
Received: from mail-lj1-x22e.google.com (mail-lj1-x22e.google.com [IPv6:2a00:1450:4864:20::22e]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1E1D6C14F5F4 for <sieve@ietf.org>; Wed, 10 Jan 2024 17:11:48 -0800 (PST)
Received: by mail-lj1-x22e.google.com with SMTP id 38308e7fff4ca-2ccb4adbffbso56909971fa.0 for <sieve@ietf.org>; Wed, 10 Jan 2024 17:11:47 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1704935505; x=1705540305; darn=ietf.org; h=to:subject:message-id:date:from:reply-to:mime-version:from:to:cc :subject:date:message-id:reply-to; bh=82lw7cR/GvZIWBrPwc761Gw8wl0JPBiFovV+JC/6+L0=; b=RklrFRj1ZlwQbksfEguvX5mS8f3G/yWUWUDjhlL0hNFmlOG7E63kkMtjtuSubnZl1H JvpJgO0NoxzORXHv6eh/Dctp28g1jnu3XZH/t5fi9rL9l5XYcu08hkfXLQ3vhQGFRg40 dS8UDQgIayOPD2xfeak3TtDi6gfOKznwOtzc+e3Ol8uM0n4rhySsvdmnzmeUkzXxA+PA GVDJJ7BM5tm/XyPZ7HIFwrJM6sTm34GC5KMmD1PbmBHExmwHEib9Ps5p3FEEGGT/sWO0 xjpsXVKT24LFTwgDOzmiDoPoInvaxwFnzYQGjjZFmqB4xzgevaDZuf7aMZtVZJsQldgC sFMQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1704935505; x=1705540305; h=to:subject:message-id:date:from:reply-to:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=82lw7cR/GvZIWBrPwc761Gw8wl0JPBiFovV+JC/6+L0=; b=aKylAh4nPkT4igHdr/+zXHvfldQxaVg6bmtAOPTy/jgOJwsgVKBnpROWawC2pcTZev 2/fvqOO2JB/hYp6jiDQSNqU24ss2tCueddrGwLZK3SwO/chnuRG+HeVxzhZ3aeNlj7Fs gXyzkZMrsOTILg9tTsVPJPK6LdSwkYbf6i1UsBnXfRFJoIPxzvBI8blKtrP8PQRXQ83f VYKDoNdkHjM5Up0cpO+odsewWn9vlnlFYjhe/tsrWeT+c4edTGNsBhyEt10BziwvBth0 XEck2mc6tvPlZ/e+J9vVv/S+eHynMzkFAoyZc+MflnFon+u45KzAH2PE7e6z1+BKbaWO 7CNQ==
X-Gm-Message-State: AOJu0YwnYo8ik/YCFHO9jKZLxEdVhAV/UjoOlYUv9k8+RIGr8ujzbJmM z2cgyIMtvuj/nBI46cawclp0jUP4Qk4Ayz6d0Dd+4YaVWakwnA==
X-Google-Smtp-Source: AGHT+IHQVffUMuGQSdpPcqMN5adKUsPRwKdDHcwBwXC8PUxOXrQuOx+LIFMSRadUTQSN0TIBFnlMSSv0QkN6715b2eI=
X-Received: by 2002:a2e:2e0c:0:b0:2cd:7940:7071 with SMTP id u12-20020a2e2e0c000000b002cd79407071mr194195lju.0.1704935505006; Wed, 10 Jan 2024 17:11:45 -0800 (PST)
MIME-Version: 1.0
Reply-To: tgravagno+ietf@gmail.com
From: Tony G <tgravagno+ietf@gmail.com>
Date: Wed, 10 Jan 2024 17:11:33 -0800
Message-ID: <CAD_xRwotXYWmXxBnt3Tx5CUY_BpHO52WraWfjaeLGQvfr7C+6g@mail.gmail.com>
To: sieve@ietf.org
Content-Type: multipart/alternative; boundary="000000000000241301060ea13b44"
Archived-At: <https://mailarchive.ietf.org/arch/msg/sieve/1sesUUjg_NLTEWFnJPSBjf6Mvtw>
Subject: [sieve] Possible Issue in RFC6609, Include Extension
X-BeenThere: sieve@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: SIEVE Working Group <sieve.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sieve>, <mailto:sieve-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/sieve/>
List-Post: <mailto:sieve@ietf.org>
List-Help: <mailto:sieve-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sieve>, <mailto:sieve-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 11 Jan 2024 01:13:31 -0000

 Ref RFC 6609 section 3.2
<https://datatracker.ietf.org/doc/html/rfc6609.html#section-3.2> Page 5:

> Note: It is RECOMMENDED that script authors
> and generators use the ":once" parameter only
> when including a script that performs general
> duties* such as declaring global variables* and
> making sanity checks of the environment.

To be clear:
- The text implies that we can Include a common script that sets global
variables for the current "including" script.
- In other words, by including a script that has a "global" statement, it
is implied that the global variables should be available to the current
script.
- Or stated a third way in case there is confusion: If we use the :once
parameter on an Include statement, if the expected "duty" of the included
script is to declare global variables, then we would expect those variables
to be available on return.

I don't believe that's correct, though I wish it were. This would allow us
to create a block of global statements once and then call to that common
definition from everywhere else.

But everything else about local and global variables seems to emphasize
that any variable not explicitly defined in the current script as global
must be treated as local.

Given the ambiguity here I'm guessing this is subject to interpretation for
each implementation.

Therefore, I'm wondering:
1) Does the Pidgeonhole Sieve Include Extension
<https://doc.dovecot.org/configuration_manual/sieve/extensions/include/>
support importing global variables through an Include, as that Note states?
2) Does any other implementation?
3) Is that text an error, or is this detail really left up to the
implementation?
4) Should the RFC be amended?

Thanks.