Download raw body.
gotwebd no-config startup
On Fri, Jul 29, 2022 at 12:45:25PM +0200, Stefan Sperling wrote:
> The comments are lies, gotwebd doesn't work without a config file.
> It segfaults instead.
>
> ok?
>
> diff 06ba6b54c127173003258cd28d72fd0b8cf6ffbf 278d4be54018f28153a3fdb34575fee54075ed9e
> commit - 06ba6b54c127173003258cd28d72fd0b8cf6ffbf
> commit + 278d4be54018f28153a3fdb34575fee54075ed9e
> blob - e624bc6b2182b136d6389e4baad9c214e8c5c4fd
> blob + 9691c93542610a12b3f27d039d14910701d61348
> --- gotwebd/parse.y
> +++ gotwebd/parse.y
> @@ -815,21 +815,30 @@ closefile(struct file *xfile)
> free(xfile);
> }
>
> +static void
> +add_default_server(void)
> +{
> + new_srv = conf_new_server(D_SITENAME);
> + log_debug("%s: adding default server %s", __func__, D_SITENAME);
> +}
> +
> int
> parse_config(const char *filename, struct gotwebd *env)
> {
> struct sym *sym, *next;
>
> - file = newfile(filename, 0);
> - if (file == NULL)
> - /* just return, as we don't require a conf file */
> - return (0);
> -
> if (config_init(env) == -1)
> fatalx("failed to initialize configuration");
>
> gotwebd = env;
>
> + file = newfile(filename, 0);
> + if (file == NULL) {
> + add_default_server();
sockets_parse_sockets(env); must be called here
> + /* just return, as we don't require a conf file */
> + return (0);
> + }
> +
> yyparse();
> errors = file->errors;
> closefile(file);
> @@ -851,10 +860,8 @@ parse_config(const char *filename, struct gotwebd *env
> return (-1);
-------------------
>
> /* just add default server if no config specified */
> - if (gotwebd->server_cnt == 0) {
> - new_srv = conf_new_server(D_SITENAME);
> - log_debug("%s: adding default server %s", __func__, D_SITENAME);
> - }
> + if (gotwebd->server_cnt == 0)
> + add_default_server();
>
not needed
-------------------
> /* setup our listening sockets */
> sockets_parse_sockets(env);
>
otherwise ok
--
Tracey Emery
gotwebd no-config startup