[Bug 3726] `Include` in a file included in a Host-block

bugzilla-daemon at mindrot.org bugzilla-daemon at mindrot.org
Sun Sep 1 13:00:54 AEST 2024


https://bugzilla.mindrot.org/show_bug.cgi?id=3726

--- Comment #2 from Christoph Anton Mitterer <calestyo at scientia.org> ---
I agree that it's the most expressive handling.

But I still don't think it's obvious from the documentation what
actually happens.

As you quoted, the docs *do* say that the Include directive may appear
within Host/Match.

But semantically it's still only documented as "inclusion" - most
people will think of that as a literal copy&pasting of the included
file's contents to the location where it's included.

That means that for most people it will be clear that e.g. a directive
like User will be evaluated within the current Host/Match block.

But if the content would be literally copied and pasted, the Host/Match
block from the included file, would start a new such block - and not be
like a sub-block of the current one.

So I think that should merely be documented, i.e.
- telling that included Host/Match blocks will be like sub-blocks of
that block in which they are included
- perhaps indicating that one can always make a Host * block to get
inclusion on the top-level
- giving an example how a sub block would work (and that that is only
possible via inclusion, I guess), like in:
Host *.example.com
   Include foo.conf

foo.conf
Host *.example.org
   # will never match
Host foo.example.com
   # may match

Cheers,
Chris.

-- 
You are receiving this mail because:
You are watching someone on the CC list of the bug.
You are watching the assignee of the bug.


More information about the openssh-bugs mailing list