commit 925a5bc8e206d64186340b8d02dc397007e4e28a from: Omar Polo date: Sun Sep 25 22:13:16 2022 UTC use /* fallthrough */ to please the compiler commit - c423c56e242faa1814004d3b7d6a8fff46f96bfe commit + 925a5bc8e206d64186340b8d02dc397007e4e28a blob - 27db09714fdfc7d63a49e3b8c24311e607788ff7 blob + db835cb992ebf71e7fa0cf03cd4d5175f864d3e4 --- galileo.c +++ galileo.c @@ -58,7 +58,7 @@ static struct privsep_proc procs[] = { int privsep_process; -const char *conffile = CONF_FILE; +const char *conffile = GALILEO_CONF; static __dead void usage(void) @@ -291,6 +291,7 @@ parent_sig_handler(int sig, short ev, void *arg) break; case SIGCHLD: log_warnx("one child died, quitting."); + /* fallthrough */ case SIGTERM: case SIGINT: parent_shutdown(ps->ps_env); blob - d653b6377bcb5e3cbc543aac1b1a47e8969cac44 blob + c8ad88be1f19015518715adf699cd15298b9099e --- proxy.c +++ proxy.c @@ -39,6 +39,7 @@ #include #include +#include "config.h" #include "log.h" #include "proc.h" #include "tmpl.h" @@ -46,6 +47,12 @@ #include "galileo.h" #define MINIMUM(a, b) ((a) < (b) ? (a) : (b)) + +#if HAVE_LIBEVENT2 +# define G_TOUT(t) ((t).tv_sec) +#else +# define G_TOUT(t) (t) +#endif /* provided by OpenBSD' base libevent but not in any header? */ extern void bufferevent_read_pressure_cb(struct evbuffer *, size_t, @@ -519,6 +526,11 @@ done: proxy_tls_readcb, clt->clt_bev); event_set(&clt->clt_bev->ev_write, clt->clt_fd, EV_WRITE, proxy_tls_writecb, clt->clt_bev); + +#if HAVE_LIBEVENT2 + evbuffer_unfreeze(clt->clt_bev->input, 0); + evbuffer_unfreeze(clt->clt_bev->output, 1); +#endif } /* bufferevent_settimeout(); */ @@ -703,7 +715,7 @@ proxy_read(struct bufferevent *bev, void *d) fcgi_end_request(clt, 0); goto err; } - /* fallback */ + /* fallthrough */ default: if (proxy_start_reply(clt, 501, "text/html") == -1) goto err; @@ -834,7 +846,7 @@ proxy_tls_readcb(int fd, short event, void *arg) goto err; } - proxy_bufferevent_add(&bufev->ev_read, bufev->timeout_read); + proxy_bufferevent_add(&bufev->ev_read, G_TOUT(bufev->timeout_read)); len = EVBUFFER_LENGTH(bufev->input); if (bufev->wm_read.low != 0 && len < bufev->wm_read.low) @@ -851,7 +863,7 @@ proxy_tls_readcb(int fd, short event, void *arg) return; retry: - proxy_bufferevent_add(&bufev->ev_read, bufev->timeout_read); + proxy_bufferevent_add(&bufev->ev_read, G_TOUT(bufev->timeout_read)); return; err: @@ -901,7 +913,8 @@ proxy_tls_writecb(int fd, short event, void *arg) } if (EVBUFFER_LENGTH(bufev->output) != 0) - proxy_bufferevent_add(&bufev->ev_write, bufev->timeout_write); + proxy_bufferevent_add(&bufev->ev_write, + G_TOUT(bufev->timeout_write)); if (bufev->writecb != NULL && EVBUFFER_LENGTH(bufev->output) <= bufev->wm_write.low) @@ -909,7 +922,7 @@ proxy_tls_writecb(int fd, short event, void *arg) return; retry: - proxy_bufferevent_add(&bufev->ev_write, bufev->timeout_write); + proxy_bufferevent_add(&bufev->ev_write, G_TOUT(bufev->timeout_write)); return; err: