On Sun, Mar 21, 2021 at 05:08:00PM GMT, Laurence Tratt wrote: > I wanted to use httpd's fastcgi "socket" and "strip" options and based upon > the man page's brief text: > > [no] fastcgi [option] > Enable FastCGI instead of serving files. Valid options are: > > tried "obvious" permutations such as: > > fastcgi strip 1 socket "..." > fastcgi socket "..." strip 1 > fastcgi socket "...", strip 1 > > but with each was greeted by a terse "syntax error". > > After hunting around in the relevant parse.y file, it transpires that the > grammar allows, roughly speaking, the following: > > fastcgi > fastcgi option > fastcgi { option ((',' '\n'? | '\n') option)* } > > In other words, if you want to use more than one option you *have* to use > the {...} notation, but there's more than one way for options inside curly > brackets to be separated. In my case I can specify: > > fastcgi { > socket "..." > strip 1 > } > > or: > > fastcgi { > socket "...", strip 1 > } > > or: > > fastcgi { > socket "...", > strip 1 > } > > This raised a couple of questions in my mind. > > First, stylistically, I'm not quite sure if having three slightly different > ways of separating multiple options is useful or not. That said, I assume > that some people might already be taking advantage of this flexibility, so > perhaps worrying about it now is pointless. > > Second, is it worthwhile giving users a hint about what to do when multiple > options need to be specified? For example, something like: > > [no] fastcgi [option] > Enable FastCGI instead of serving files. If more than option > is specified, they must be included inside { ... }, with each > option separated by a comma or newline. Valid options are: > > I'm happy to raise a patch if other people think this is worth fixing, > although I'm not entirely sure if we want to make people aware of the full > extent of the grammar, or something a little less complete such as the > suggestion above. > > > Laurie >
Hi Laurie, I'd simply use the existing wording, without getting into details. While there, "braces" dominate the manual page, with a single occurrence of "brackets" so let's change that too, for consistency. Regards, Raf Index: usr.sbin/httpd/httpd.conf.5 =================================================================== RCS file: /cvs/src/usr.sbin/httpd/httpd.conf.5,v retrieving revision 1.114 diff -u -p -r1.114 httpd.conf.5 --- usr.sbin/httpd/httpd.conf.5 29 Oct 2020 12:30:52 -0000 1.114 +++ usr.sbin/httpd/httpd.conf.5 21 Mar 2021 22:56:53 -0000 @@ -155,7 +155,7 @@ see .Xr patterns 7 . .El .Pp -Followed by a block of options that is enclosed in curly brackets: +Followed by a block of options that is enclosed in curly braces: .Bl -tag -width Ds .It Ic alias Ar name Specify an additional alias @@ -282,6 +282,7 @@ will neither display nor generate a dire .El .It Oo Ic no Oc Ic fastcgi Oo Ar option Oc Enable FastCGI instead of serving files. +Multiple options may be specified within curly braces. Valid options are: .Bl -tag -width Ds .It Ic socket Oo Cm tcp Oc Ar socket Oo Ar port Oc