Download raw body.
gotwebd.conf: remove fcgi_socket keyword
On Sat, Aug 20, 2022 at 05:08:36PM +0200, Omar Polo wrote:
> I had an issue with it: gotwebd binds the wrong port. I think there's
> an extra `htons' in the fcgiport rule. with that dropped, i can
> happily have gotwebd listen on localhost:9000.
Ah, thanks. I will take a look.
> > My end goal is to allow a server instance to listen on multiple ports
> > and/or addresses, like this:
> >
> > server "default" {
> > unix_socket_name "/run/gotweb.sock"
> > listen on 127.0.0.1 port 9000
> > listen on ::1 port 9000
> > listen on 192.168.1.1 port 9001
> > }
>
> would be nice to have
>
> listen on socket "/run/gotweb.sock"
>
> too for consistency while we're here. What do you think?
I prefer this syntax, too. ok stsp@
> diff /home/op/w/got
> commit - 438e87b74a836380405f370795b7846968f79212
> path + /home/op/w/got
> blob - 8f4ee1d28753902fcec64871a26da0743969ae6d
> file + gotwebd/parse.y
> --- gotwebd/parse.y
> +++ gotwebd/parse.y
> @@ -119,7 +119,7 @@ typedef struct {
> %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
> -%token UNIX_SOCKET UNIX_SOCKET_NAME SERVER CHROOT CUSTOM_CSS
> +%token UNIX_SOCKET SOCKET SERVER CHROOT CUSTOM_CSS
>
> %token <v.string> STRING
> %type <v.port> fcgiport
> @@ -159,7 +159,7 @@ fcgiport : NUMBER {
> yyerror("invalid port: %lld", $1);
> YYERROR;
> }
> - $$ = htons($1);
> + $$ = $1;
> }
> | STRING {
> int val;
> @@ -360,19 +360,19 @@ serveropts1 : REPOS_PATH STRING {
> | UNIX_SOCKET boolean {
> new_srv->unix_socket = $2;
> }
> - | UNIX_SOCKET_NAME STRING {
> + | LISTEN ON SOCKET STRING {
> n = snprintf(new_srv->unix_socket_name,
> sizeof(new_srv->unix_socket_name), "%s%s",
> strlen(gotwebd->httpd_chroot) ?
> - gotwebd->httpd_chroot : D_HTTPD_CHROOT, $2);
> + gotwebd->httpd_chroot : D_HTTPD_CHROOT, $4);
> if (n < 0 ||
> (size_t)n >= sizeof(new_srv->unix_socket_name)) {
> yyerror("%s: unix_socket_name truncated",
> __func__);
> - free($2);
> + free($4);
> YYERROR;
> }
> - free($2);
> + free($4);
> }
> ;
>
> @@ -442,8 +442,8 @@ lookup(char *s)
> { "site_link", SITE_LINK },
> { "site_name", SITE_NAME },
> { "site_owner", SITE_OWNER },
> + { "socket", SOCKET },
> { "unix_socket", UNIX_SOCKET },
> - { "unix_socket_name", UNIX_SOCKET_NAME },
> };
> const struct keywords *p;
>
>
>
gotwebd.conf: remove fcgi_socket keyword