Download raw body.
gotwebd.conf syntax change: "bind interface" -> "listen on"
On Mon, Aug 08, 2022 at 03:53:37PM +0000, Klemens Nanni wrote:
> On Sun, Aug 07, 2022 at 04:13:11PM +0200, Stefan Sperling wrote:
> > In gotwebd.conf, the argument for "bind interface" is a plain string.
> > The argument may in fact be an IP address or interface name. But the
> > syntax confused me into believing that only interface names could be used.
> >
> > I think if we used the same grammar as httpd.conf(8) is using, there
>
> Also bgpd.conf(5), smtpd.conf(5), relayd.conf(5), etc.
>
> > would be a lot less potential for confusion. Generally people will
> > be setting up httpd config and gotwebd.conf at the same time so it
> > would help if they used similar syntax.
> >
> > The gotwebd.cofn grammer even already contains an ON token, which
> > wasn't used yet.
> >
> > Lines such as these become a syntax error:
> >
> > bind interface em0
> > bind interface 127.0.0.1
> >
> > Instead, use:
> >
> > listen on em0
> > listen on 127.0.0.1
> >
> > ok?
> >
> > Currently, only one "listen on" statement is supported per gotwebd server.
> > This is a separate issue I intend to fix later, in order to allow configs
> > such as IPv4/IPv6 dual-stack server with specific addresses.
Yes, this is a good idea on the multiple listen statements, with this
change.
>
> OK kn
Same. ok.
>
> >
> > diff 6381f44ae3383b12443d44a7a6a73459a809b069 bf757836b294600e5e0667c2ac0fddd1f9f3dac5
> > commit - 6381f44ae3383b12443d44a7a6a73459a809b069
> > commit + bf757836b294600e5e0667c2ac0fddd1f9f3dac5
> > blob - ecce1768fa5b41babe7ad5226f47933e94aeaf64
> > blob + b533dd484371ccaf0bb075196a1d7009d4058083
> > --- gotwebd/parse.y
> > +++ gotwebd/parse.y
> > @@ -115,7 +115,7 @@ typedef struct {
> >
> > %}
> >
> > -%token BIND INTERFACE WWW_PATH MAX_REPOS SITE_NAME SITE_OWNER SITE_LINK LOGO
> > +%token LISTEN WWW_PATH MAX_REPOS SITE_NAME SITE_OWNER SITE_LINK LOGO
> > %token LOGO_URL SHOW_REPO_OWNER SHOW_REPO_AGE SHOW_REPO_DESCRIPTION
> > %token MAX_REPOS_DISPLAY REPOS_PATH MAX_COMMITS_DISPLAY ON ERROR
> > %token SHOW_SITE_OWNER SHOW_REPO_CLONEURL PORT PREFORK FCGI_SOCKET
> > @@ -381,7 +381,7 @@ serveropts2 : serveropts2 serveropts1 nl
> > | serveropts1 optnl
> > ;
> >
> > -socketopts1 : BIND INTERFACE STRING {
> > +socketopts1 : LISTEN ON STRING {
> > n = strlcpy(new_srv->fcgi_socket_bind, $3,
> > sizeof(new_srv->fcgi_socket_bind));
> > if (n >= sizeof(new_srv->fcgi_socket_bind)) {
> > @@ -409,7 +409,7 @@ socketopts2 : socketopts2 socketopts1 nl
> > | socketopts1 optnl
> > ;
> >
> > -socketopts3 : BIND INTERFACE STRING {
> > +socketopts3 : LISTEN ON STRING {
> > n = strlcpy(gotwebd->fcgi_socket_bind, $3,
> > sizeof(gotwebd->fcgi_socket_bind));
> > if (n >= sizeof(gotwebd->fcgi_socket_bind)) {
> > @@ -470,16 +470,16 @@ lookup(char *s)
> > {
> > /* This has to be sorted always. */
> > static const struct keywords keywords[] = {
> > - { "bind", BIND },
> > { "chroot", CHROOT },
> > { "custom_css", CUSTOM_CSS },
> > { "fcgi_socket", FCGI_SOCKET },
> > - { "interface", INTERFACE },
> > + { "listen", LISTEN },
> > { "logo", LOGO },
> > { "logo_url" , LOGO_URL },
> > { "max_commits_display", MAX_COMMITS_DISPLAY },
> > { "max_repos", MAX_REPOS },
> > { "max_repos_display", MAX_REPOS_DISPLAY },
> > + { "on", ON },
> > { "port", PORT },
> > { "prefork", PREFORK },
> > { "repos_path", REPOS_PATH },
> >
>
--
Tracey Emery
gotwebd.conf syntax change: "bind interface" -> "listen on"