History log of /lighttpd1.4/src/network.c (Results 1 – 25 of 181)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: lighttpd-1.4.69
# f0786a75 22-Jan-2023 Glenn Strauss <[email protected]>

[core] pass fdn to fdevent_sched_close,_unregister

remove issock flag; on _WIN32, select(), WSAPoll() work only on sockets


Revision tags: lighttpd-1.4.68
# 5e14db43 10-Dec-2022 Glenn Strauss <[email protected]>

[multiple] employ ck_calloc, ck_malloc shared code

employ ck_calloc(), ck_malloc() shared code to slightly reduce code size
(centralize the ck_assert() to check that memory allocation succeeded)


# c412bb59 08-Dec-2022 Glenn Strauss <[email protected]>

[multiple] employ ck_realloc_u32() shared code

employ ck_realloc_u32() shared code to slightly reduce code size


# 564d8983 01-Oct-2022 Glenn Strauss <[email protected]>

[core] keep sockets w/ server.graceful-restart-bg

always preserve sockets across graceful restart when
server.feature-flags += (server.graceful-restart-bg = "enabled")


Revision tags: lighttpd-1.4.67, lighttpd-1.4.66
# 93d64662 28-Jul-2022 Glenn Strauss <[email protected]>

[core] fix SIGUSR1 graceful restart w/ TLS (fixes #3164)

(thx oldium)

fix SIGUSR1 graceful restart with TLS sockets
(regression in lighttpd 1.4.65)

x-ref:
"Graceful restart starts sending 400 Ba

[core] fix SIGUSR1 graceful restart w/ TLS (fixes #3164)

(thx oldium)

fix SIGUSR1 graceful restart with TLS sockets
(regression in lighttpd 1.4.65)

x-ref:
"Graceful restart starts sending 400 Bad Request for SSL connection handshake"
https://redmine.lighttpd.net/issues/3164

show more ...


Revision tags: lighttpd-1.4.65
# 5c4cc9f5 31-May-2022 Glenn Strauss <[email protected]>

[core] avoid server.use-ipv6 warning after SIGUSR1


# da8025fb 26-May-2022 Glenn Strauss <[email protected]>

[core] reset internal flags after graceful restart

reset internal socket flags after graceful restart:
re-init srv->socket->sidx and srv_socket->is_ssl
after SIGUSR1 or systemd socket activation

[core] reset internal flags after graceful restart

reset internal socket flags after graceful restart:
re-init srv->socket->sidx and srv_socket->is_ssl
after SIGUSR1 or systemd socket activation

(thx jens-maus)

x-ref:
https://github.com/jens-maus/RaspberryMatic/pull/1847

show more ...


# f2610d23 03-May-2022 Glenn Strauss <[email protected]>

[multiple] use buffer_append_char()


# 14bfa016 27-Apr-2022 Glenn Strauss <[email protected]>

[core] sketch support for abstract sockets

(experimental; untested)

Note: abstract sockets do not require filesystem access and can not be
protected using filesystem permissions; abstract sockets a

[core] sketch support for abstract sockets

(experimental; untested)

Note: abstract sockets do not require filesystem access and can not be
protected using filesystem permissions; abstract sockets are accessible
by any process in the same network namespace on the same machine.

Abstract sockets can be passed to lighttpd via systemd socket activation
mechanism, via xinetd, or any other process which creates an abstract
socket and passes it to lighttpd. Abstract sockets can also be
configured in lighttpd.conf using a backslash-escaped double-quoted
string, where CTL and chars with high bit set are backslash-escaped into
"\\xFF", with "\\x" followed by two-byte hex encoding (e.g. "FF") for
each escaped char, e.g. "\\x00abstract-socket"

show more ...


# b1f7ccd7 15-Apr-2022 Glenn Strauss <[email protected]>

[multiple] limit scope of socket config options

warn if socket config options used only at startup are used outside
global scope or $SERVER["socket"] with '==' condition


# aa4d9b63 30-Mar-2022 Glenn Strauss <[email protected]>

[core] build fix for cygwin and lmingw


# 0e404df2 04-Mar-2022 Glenn Strauss <[email protected]>

[core] fill in un.sun_path after accept() (fixes #3147)

(thx fstelzer)

x-ref:
"mod_proxy breaks X-Forwarded-For on requests via unix sockets"
https://redmine.lighttpd.net/issues/3147


Revision tags: lighttpd-1.4.64
# 1e335b37 09-Jan-2022 Glenn Strauss <[email protected]>

[core] allow LISTEN_PID to be ppid if TRACEME (fixes #3137)

allow LISTEN_PID to be ppid (parent pid) if TRACEME set in environment
(e.g. for strace, gdb on Linux; valgrind starts lighttpd as LISTEN_

[core] allow LISTEN_PID to be ppid if TRACEME (fixes #3137)

allow LISTEN_PID to be ppid (parent pid) if TRACEME set in environment
(e.g. for strace, gdb on Linux; valgrind starts lighttpd as LISTEN_PID)

x-ref:
"TRACEME environment option in tests broken with LISTEN_PID"
https://redmine.lighttpd.net/issues/3137

show more ...


# 51e141c8 07-Jan-2022 Glenn Strauss <[email protected]>

[multiple] remove buffer_init_buffer()

remove (minor) convenience func; easy to replace

Like buffer_init_string(), buffer_init_buffer() was used in only a few
places at startup or in cold funcs, so

[multiple] remove buffer_init_buffer()

remove (minor) convenience func; easy to replace

Like buffer_init_string(), buffer_init_buffer() was used in only a few
places at startup or in cold funcs, so better off removed from buffer.c

show more ...


# 7eac25ac 03-Jan-2022 Glenn Strauss <[email protected]>

[core] hide bsd_accept_filter code on OpenBSD (fixes #3131)

(thx devnexen)

OpenBSD does not provide SO_ACCEPTFILTER

(This patch shows a good example of why cuddled-else should be avoided)

x-ref:

[core] hide bsd_accept_filter code on OpenBSD (fixes #3131)

(thx devnexen)

OpenBSD does not provide SO_ACCEPTFILTER

(This patch shows a good example of why cuddled-else should be avoided)

x-ref:
"Remove unneeded connection bsd filter handling for OpenBSD"
https://redmine.lighttpd.net/issues/3131

show more ...


Revision tags: lighttpd-1.4.63, lighttpd-1.4.62, lighttpd-1.4.61, lighttpd-1.4.60
# f99cb7d7 09-Sep-2021 Glenn Strauss <[email protected]>

[core] quiet coverity warnings


# ad8a27f3 29-Aug-2021 Glenn Strauss <[email protected]>

[core] cfg server.bindhost after $SERVER["socket"]

init global config for server.bindhost and server.port after
initializing $SERVER["socket"] so that if bindhost and port matches
another $SERVER["s

[core] cfg server.bindhost after $SERVER["socket"]

init global config for server.bindhost and server.port after
initializing $SERVER["socket"] so that if bindhost and port matches
another $SERVER["socket"], the $SERVER["socket"] config is used,
as the $SERVER["socket"] config inherits from the global scope and
can the be overridden.

x-ref:
"Activate SSL with lighttpd on a Raspberry Pi"
https://stackoverflow.com/questions/68939760/activate-ssl-with-lighttpd-on-a-raspberry-pi

show more ...


# 5a58f696 28-Jul-2021 Glenn Strauss <[email protected]>

[core] rename srv->max_conns -> srv->lim_conns

srv->lim_conns tracks remaining conns until limit is reached,
replacing (srv->max_conns - srv->conns.used)

srv->srvconf.max_conns is now updated at st

[core] rename srv->max_conns -> srv->lim_conns

srv->lim_conns tracks remaining conns until limit is reached,
replacing (srv->max_conns - srv->conns.used)

srv->srvconf.max_conns is now updated at startup, so
srv->srvconf.max_conns serves as srv->max_conns

show more ...


# af3df29a 09-Jun-2021 Glenn Strauss <[email protected]>

[multiple] reduce redundant NULL buffer checks

This commit is a large set of code changes and results in removal of
hundreds, perhaps thousands, of CPU instructions, a portion of which
are on hot co

[multiple] reduce redundant NULL buffer checks

This commit is a large set of code changes and results in removal of
hundreds, perhaps thousands, of CPU instructions, a portion of which
are on hot code paths.

Most (buffer *) used by lighttpd are not NULL, especially since buffers
were inlined into numerous larger structs such as request_st and chunk.

In the small number of instances where that is not the case, a NULL
check is often performed earlier in a function where that buffer is
later used with a buffer_* func. In the handful of cases that remained,
a NULL check was added, e.g. with r->http_host and r->conf.server_tag.

- check for empty strings at config time and set value to NULL if blank
string will be ignored at runtime; at runtime, simple pointer check
for NULL can be used to check for a value that has been set and is not
blank ("")
- use buffer_is_blank() instead of buffer_string_is_empty(),
and use buffer_is_unset() instead of buffer_is_empty(),
where buffer is known not to be NULL so that NULL check can be skipped
- use buffer_clen() instead of buffer_string_length() when buffer is
known not to be NULL (to avoid NULL check at runtime)
- use buffer_truncate() instead of buffer_string_set_length() to
truncate string, and use buffer_extend() to extend

Examples where buffer known not to be NULL:
- cpv->v.b from config_plugin_values_init is not NULL if T_CONFIG_BOOL
(though we might set it to NULL if buffer_is_blank(cpv->v.b))
- address of buffer is arg (&foo)
(compiler optimizer detects this in most, but not all, cases)
- buffer is checked for NULL earlier in func
- buffer is accessed in same scope without a NULL check (e.g. b->ptr)

internal behavior change:
callers must not pass a NULL buffer to some funcs.
- buffer_init_buffer() requires non-null args
- buffer_copy_buffer() requires non-null args
- buffer_append_string_buffer() requires non-null args
- buffer_string_space() requires non-null arg

show more ...


# 302d82a5 13-May-2021 Glenn Strauss <[email protected]>

[core] accept in network_server_handle_fdevent()

merge connection_accept() into network_server_handle_fdevent()

(possible since connection_accepted() was split out from
connection_accept() a long

[core] accept in network_server_handle_fdevent()

merge connection_accept() into network_server_handle_fdevent()

(possible since connection_accepted() was split out from
connection_accept() a long time ago)

show more ...


# 13ea2d88 28-Apr-2021 Glenn Strauss <[email protected]>

[core] consistent inclusion of sys-time.h


# 5c2f5577 06-Mar-2021 Glenn Strauss <[email protected]>

[core] save parsed listen addrs at startup

save parsed listen addrs at startup for reuse at runtime

srv_socket->srv_token is normalized at startup and contains IP and port.
save offset to colon, if

[core] save parsed listen addrs at startup

save parsed listen addrs at startup for reuse at runtime

srv_socket->srv_token is normalized at startup and contains IP and port.
save offset to colon, if present, or else length of string (unix socket)

At runtime, srv_token_colon can be quickly used as length of IP string
(without port) or, if not length of string, offset of stringified port
following the colon.

show more ...


# 086945bf 10-Feb-2021 Glenn Strauss <[email protected]>

[core] allow '*' in "*:80" socket spec


Revision tags: lighttpd-1.4.59
# ba290f18 02-Feb-2021 Glenn Strauss <[email protected]>

[core] quiet coverity warning

add arbitrary limit of 4096 fds to accept via systemd socket activation
(through environment variables)


# 048af4c5 01-Jan-2021 Glenn Strauss <[email protected]>

[core] fix crash at shutdown w/ certain config

If server.systemd-socket-activation = "enable" and one or more of the
sockets is not listed in lighttpd.conf, then when the server is shutting
down, a

[core] fix crash at shutdown w/ certain config

If server.systemd-socket-activation = "enable" and one or more of the
sockets is not listed in lighttpd.conf, then when the server is shutting
down, a buffer from the config file is free()d twice.

show more ...


12345678