|
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 |
|
| #
33fd0db9 |
| 03-Dec-2022 |
Glenn Strauss <[email protected]> |
[core] remove libev fdevent option (ignore)
lighttpd directly uses native OS event handlers
|
|
Revision tags: lighttpd-1.4.67, lighttpd-1.4.66, lighttpd-1.4.65, lighttpd-1.4.64, lighttpd-1.4.63, lighttpd-1.4.62 |
|
| #
b7a8fd46 |
| 01-Nov-2021 |
Glenn Strauss <[email protected]> |
[core] fdevent_socket_nb_cloexec_init()
fdevent_socket_nb_cloexec_init() separate from fdevent_init()
|
| #
d361f9cc |
| 29-Oct-2021 |
Glenn Strauss <[email protected]> |
[core] clean up fdlog_st and log_error_st decls
typedef redefinitions may cause issues with older compilers
(The intention behind the decls and defines were done to reduce the number of unrelated
[core] clean up fdlog_st and log_error_st decls
typedef redefinitions may cause issues with older compilers
(The intention behind the decls and defines were done to reduce the number of unrelated lines modified for the transition to fdlog_st)
x-ref: https://trac.macports.org/ticket/63667 https://github.com/macports/macports-ports/pull/12658
show more ...
|
|
Revision tags: lighttpd-1.4.61, lighttpd-1.4.60, lighttpd-1.4.59, lighttpd-1.4.58, lighttpd-1.4.57, lighttpd-1.4.56 |
|
| #
cc2fcd3e |
| 24-Nov-2020 |
Glenn Strauss <[email protected]> |
[multiple] _WIN32 fdevent_pipe_cloexec()
Note: Under _WIN32, serious limitation in Windows APIs: select() and WSAPoll() operate only on sockets (not pipes) (directly affects mod_cgi; not current
[multiple] _WIN32 fdevent_pipe_cloexec()
Note: Under _WIN32, serious limitation in Windows APIs: select() and WSAPoll() operate only on sockets (not pipes) (directly affects mod_cgi; not currently handled)
show more ...
|
| #
9f62f1b1 |
| 21-Sep-2021 |
Glenn Strauss <[email protected]> |
[multiple] fdevent_mkostemp()
fdevent_mkostemp() with flags arg so that caller can pass O_APPEND
renamed from fdevent_mkstemp_append(), previously always O_APPEND
|
| #
7b615d5d |
| 12-Sep-2021 |
Glenn Strauss <[email protected]> |
[multiple] de-dup file and piped loggers (fixes #3101)
de-dup file and piped loggers for error logs and access logs
x-ref: "RFE: de-dup file and piped loggers" https://redmine.lighttpd.net/issu
[multiple] de-dup file and piped loggers (fixes #3101)
de-dup file and piped loggers for error logs and access logs
x-ref: "RFE: de-dup file and piped loggers" https://redmine.lighttpd.net/issues/3101
show more ...
|
| #
243510db |
| 11-Sep-2021 |
Glenn Strauss <[email protected]> |
[core] fdlog.[ch]; fdevent_*_logger_* -> fdlog_*
code move and rename fdevent_*_logger_*() to fdlog_*()
|
| #
309c1693 |
| 12-Jul-2021 |
Glenn Strauss <[email protected]> |
[multiple] Y2038 32-bit signed time_t mitigations
Most OS platforms have already provided solutions to Y2038 32-bit signed time_t 5 - 10 years ago (or more!) Notable exceptions are Linux i686 and Fr
[multiple] Y2038 32-bit signed time_t mitigations
Most OS platforms have already provided solutions to Y2038 32-bit signed time_t 5 - 10 years ago (or more!) Notable exceptions are Linux i686 and FreeBSD i386.
Since 32-bit systems tend to be embedded systems, and since many distros take years to pick up new software, this commit aims to provide Y2038 mitigations for lighttpd running on 32-bit systems with Y2038-unsafe 32-bit signed time_t
* Y2038: lighttpd 1.4.60 and later report Y2038 safety $ lighttpd -V + Y2038 support # Y2038-SAFE $ lighttpd -V - Y2038 support (unsafe 32-bit signed time_t) # Y2038-UNSAFE
* Y2038: general platform info * Y2038-SAFE: lighttpd 64-bit builds on platforms using 64-bit time_t - all major 64-bit platforms (known to this author) use 64-bit time_t * Y2038-SAFE: lighttpd 32-bit builds on platforms using 64-bit time_t - Linux x32 ABI (different from i686) - FreeBSD all 32-bit and 64-bit architectures *except* 32-bit i386 - NetBSD 6.0 (released Oct 2012) all 32-bit and 64-bit architectures - OpenBSD 5.5 (released May 2014) all 32-bit and 64-bit architectures - Microsoft Windows XP and Visual Studio 2005 (? unsure ?) Another reference suggests Visual Studio 2015 defaults to 64-bit time_t - MacOS 10.15 Catalina (released 2019) drops support for 32-bit apps * Y2038-SAFE: lighttpd 32-bit builds on platforms using 32-bit unsigned time_t - e.g. OpenVMS (unknown if lighttpd builds on this platform) * Y2038-UNSAFE: lighttpd 32-bit builds on platforms using 32-bit signed time_t - Linux 32-bit (including i686) - glibc 32-bit library support not yet available for 64-bit time_t - https://sourceware.org/glibc/wiki/Y2038ProofnessDesign - Linux kernel 5.6 on 32-bit platforms does support 64-bit time_t https://itsubuntu.com/linux-kernel-5-6-to-fix-the-year-2038-issue-unix-y2k/ - https://www.gnu.org/software/libc/manual/html_node/64_002dbit-time-symbol-handling.html "Note: at this point, 64-bit time support in dual-time configurations is work-in-progress, so for these configurations, the public API only makes the 32-bit time support available. In a later change, the public API will allow user code to choose the time size for a given compilation unit." - compiling with -D_TIME_BITS=64 currently has no effect - glibc recent (Jul 2021) mailing list discussion - https://public-inbox.org/bug-gnulib/[email protected]/T/ - FreeBSD i386 - DragonFlyBSD 32-bit
* Y2038 mitigations attempted on Y2038-UNSAFE platforms (32-bit signed time_t) * lighttpd prefers system monotonic clock instead of realtime clock in places where realtime clock is not required * lighttpd treats negative time_t values as after 19 Jan 2038 03:14:07 GMT * (lighttpd presumes that lighttpd will not encounter dates before 1970 during normal operation.) * lighttpd casts struct stat st.st_mtime (and st.st_*time) through uint64_t to convert negative timestamps for comparisions with 64-bit timestamps (treating negative timestamp values as after 19 Jan 2038 03:14:07 GMT) * lighttpd provides unix_time64_t (int64_t) and * lighttpd provides struct unix_timespec64 (unix_timespec64_t) (struct timespec equivalent using unix_time64_t tv_sec member) * lighttpd provides gmtime64_r() and localtime64_r() wrappers for platforms 32-bit platforms using 32-bit time_t and lighttpd temporarily shifts the year in order to use gmtime_r() and localtime_r() (or gmtime() and localtime()) from standard libraries, before readjusting year and passing struct tm to formatting functions such as strftime() * lighttpd provides TIME64_CAST() macro to cast signed 32-bit time_t to unsigned 32-bit and then to unix_time64_t
* Note: while lighttpd tries handle times past 19 Jan 2038 03:14:07 GMT on 32-bit platforms using 32-bit signed time_t, underlying libraries and underlying filesystems might not behave properly after 32-bit signed time_t overflows (19 Jan 2038 03:14:08 GMT). If a given 32-bit OS does not work properly using negative time_t values, then lighttpd likely will not work properly on that system.
* Other references and blogs - https://en.wikipedia.org/wiki/Year_2038_problem - https://en.wikipedia.org/wiki/Time_formatting_and_storage_bugs - http://www.lieberbiber.de/2017/03/14/a-look-at-the-year-20362038-problems-and-time-proofness-in-various-systems/
show more ...
|
| #
2d6c511d |
| 15-May-2021 |
Pavel Gulchuk <[email protected]> |
[core] fix kill workers and shutdown by signal
github: closes #105
|
| #
dde9df43 |
| 17-Mar-2021 |
Glenn Strauss <[email protected]> |
[multiple] mark addtl funcs attr returns_nonnull
|
| #
19bc8885 |
| 15-Mar-2021 |
Glenn Strauss <[email protected]> |
[multiple] add attrs from gcc -Wsuggest-attribute=
|
| #
29f50bde |
| 19-Nov-2020 |
Glenn Strauss <[email protected]> |
[multiple] fdevent_waitpid() wrapper
|
|
Revision tags: lighttpd-1.4.56-rc7, lighttpd-1.4.56-rc6, lighttpd-1.4.56-rc5, lighttpd-1.4.56-rc4, lighttpd-1.4.56-rc3, lighttpd-1.4.56-rc2, lighttpd-1.4.56-rc1 |
|
| #
2b4166fb |
| 09-Oct-2020 |
Glenn Strauss <[email protected]> |
[core] fdevent_dup_cloexec()
|
| #
771ebd39 |
| 08-Oct-2020 |
Glenn Strauss <[email protected]> |
[core] fdevent_load_file_bytes()
wrapper to load defined number of bytes from file at given offset
|
| #
be6da785 |
| 20-Jul-2020 |
Glenn Strauss <[email protected]> |
[mod_deflate] deflate.cache-dir compressed cache
(achieves feature parity with mod_compress)
|
| #
cc044687 |
| 02-Jul-2020 |
Glenn Strauss <[email protected]> |
[core] fdevent_load_file() shared code
|
|
Revision tags: lighttpd-1.4.55 |
|
| #
8588772c |
| 25-Dec-2019 |
Glenn Strauss <[email protected]> |
[core] isolate fdevent subsystem
fdevent.c no longer directly uses struct server *srv srv->srvconf.max_fds (if set) is used to set rlimits set max_conns in server.c after fdevent_init(), which sets
[core] isolate fdevent subsystem
fdevent.c no longer directly uses struct server *srv srv->srvconf.max_fds (if set) is used to set rlimits set max_conns in server.c after fdevent_init(), which sets srv->max_fds using srv->srvconf.max_fds (if set) as input hint
show more ...
|
| #
48004c6a |
| 21-Dec-2019 |
Glenn Strauss <[email protected]> |
[core] remove unused arg to fdevent_fcntl_set_nb*
|
| #
05cc88dd |
| 21-Dec-2019 |
Glenn Strauss <[email protected]> |
[multiple] omit passing srv to fdevent_handler
|
|
Revision tags: lighttpd-1.4.54 |
|
| #
a78404cf |
| 16-Mar-2019 |
Glenn Strauss <[email protected]> |
[core] fdevent_mkstemp_append() (shared)
|
| #
37bd124a |
| 11-Mar-2019 |
Glenn Strauss <[email protected]> |
[core] pass conf.follow_symlink in more places
|
| #
9113011d |
| 01-Mar-2019 |
Glenn Strauss <[email protected]> |
[core] pass (fdnode *) for registered fdevent fd
inline fdevent_fdnode_interest() avoid array lookup for (fdnode *) for various ops
|
| #
41384a36 |
| 25-Feb-2019 |
Glenn Strauss <[email protected]> |
[core] isolate fdevent processing
|
| #
800e9b73 |
| 23-Feb-2019 |
Glenn Strauss <[email protected]> |
[core] remove fde_ndx member outside fdevents
(isolated to fdevent framework internals)
|