-
Notifications
You must be signed in to change notification settings - Fork 286
/
NEWS
4667 lines (4492 loc) · 231 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
====
NEWS
====
- 1.4.76 - 2024-04-12
* [core] add default to builtin mimetype.assign
* [core] add MPTCP support
* [core] disable MPTCP support by default
* [mod_expire] omit caching hdrs for 204 No Content
* [mod_staticfile] noinline cold func
* [core] GNU/Hurd preadv2() RWF_NOWAIT ENOTSUP
* [core] special value for Linux POLLRDHUP on SPARC
* [mod_openssl] define asn1 time w/ OPENSSL_NO_OCSP
* [h2] VU#421644 HTTP/2 CONTINUATION Flood
* [build] packdist.sh git archive; replace make dist
* [core] gw_network_backend_write_error() cold func
* [core] reduce syscalls in some backend connect
* [core] defer TCP_FIN propagate if connect()ing (fixes #3249)
* [ci] workaround some packaging issues in NetBSD 10
- 1.4.75 - 2024-03-13
* [mod_redirect] url.redirect-code = 308 new default
* [ls-hpack] more portability fixes for sys/queue.h
* [ls-hpack] update version to 2.3.3
* [TLS] default to stronger ciphers w/ PFS and AEAD
* [ci] apt-get install build-essential on Ubuntu
* [ci] /usr/local/opt keg-only pkgs on Darwin(macOS)
* [mod_authn_sasl] translate SASL_LOG_* to syslog
* [build] include src/compat/sys/queue.h in tarball
* [core] fdlog_openlog(), fdlog_closelog()
* [mod_accesslog] fdlog_openlog() if using syslog
* [cmake] fix LEMON_PATH with empty CMAKE_BUILD_TYPE
* [ci] limit github ci to specific branches
* [ci] prefer non-login shell for Cygwin CI build
* [ci] prefer dash for Cygwin and MSYS2 builds
* [mod_wstunnel] fix server.ping-interval w/ HTTP/2
* [mod_dirlisting] fix suffix display of '/' on file (fixes #3242)
* [mod_openssl] use internal asn1_time fn on 32-bit (fixes #3244)
* [mod_openssl] faster ASN1_TIME parse
* [mod_wolfssl] faster ASN1_TIME parse
* [doc] update TLS comment in sample lighttpd.conf
- 1.4.74 - 2024-02-19
* [mod_h2] send 500 if backend oversized resp hdrs
* [mod_h2] h2_send_1xx() lowercase field names (fixes #3233)
* [mod_dirlisting] smaller funcs to generate listing
* [mod_dirlisting] dir-listing.sort option (#3235)
* [mod_dirlisting] check for response stream bufmin
* [core] skip SIGUSR1 after clock jump if chroot'ed
* [mod_deflate] move bzip2 to end of priority list
* [mod_deflate] deflate.allowed-encodings default
* [core] cfg "if","elif","elsif","elseif","else if"
* [lemon] refresh LEMON parser to SQLite maint ver
* [core] add newlines to config parsing error trace
* [ls-hpack] sys/queue.h portability
* [scons] remove -std=gnu99 to use modern defaults
* [multiple] share code for upgrade: websocket
* [core] check for SOCK_CLOEXEC earlier in startup
* [autotools] report if ipv6 support disabled (fixes #3237)
* [core] simpler error page header
* [mod_status] simpler status page header
* [h2] quicker server graceful shutdown of idle h2
* [mod_openssl] kTLS: check for kernel tls offload
* [mod_gnutls] kTLS: check for kernel tls offload
* [core] quicker server graceful shutdown of websockets
* [build] -D_LARGEFILE64_SOURCE for musl sendfile64()
* [mod_setenv] code consistency
* [mod_expire] resp tag check
* [mod_expire] comment
* [core] use SF_NODISKIO with sendfile() on FreeBSD
* [core] chunk_file_pread_chunk()
* [mod_deflate] prefer reusable buffer to read file
* [core] reduce blocking I/O sending files to net
* [core] reduce network send file fallback path
* [core] try mmap() if not using sendfile()
* [mod_wolfssl] mod_wolfssl_write_err()
* [multiple] extend chunkqueue_peek_data() w/ nowait
* [core] preadv2 RWF_NOWAIT EOPNOTSUPP on tmpfs (?!)
* [build] type error in configure.ac sendfile probe (fixes #3238)
* [core] update ls-hpack
* [ls-hpack] sys/queue.h STAILQ_FOREACH portability
* [core] chunk_open_file_chunk() in chunk.h
* [multiple] use chunk_open_file_chunk()
* [core] remove chunkqueue_open_file_chunk()
* [core] use sendfile() with iovecs where available
* [scons] remove CheckFunc() incorrect header usage
* [core] spelling in comment in network_write.c
* [cmake] check for sendfile64 only on Linux
* [core] quiet compiler warning for NDEBUG redefined
* [autoconf] config test for mbedtls needs mbedx509
* [mod_h2] add con to job queue when wr alloc used
* [mod_h2] use different flag for disk I/O busy
* [crypto] use evp api for truncated sha-2 with libressl
* [mod_expire] smaller options parse func
* [mod_expire] check modification time to cur time
* [tests] t/test_mod_expire.c
* [tests] add mod_expire tests to tests/request.t
* [core] log trace with priority for syslog() (#3239)
* [core] avoid preprocessor use inside macros
* [core] log_pri() and log_pri_multiline() (#3239)
* [build] remove checks for sendfile64
* [tests] clean up memleak on test exit
* [build] quiet compiler warnings in LEMON parser
* [core] simplify connection_handle_write() err case
* [core] gw_host_get shared code
* [doc] update doc/config/conf.d/mime.conf
* [core] combine *BSD cond handling 0-len FILE_CHUNK
* [meson] portability improvements
* [core] DragonflyBSD portability
* [tests] quiet compiler warning
* [ci] enable github CI
* [ci] adjust .github/workflows/meson.yml
* [ci] quiet msys-clang32 stdcall compiler warning
* [ci] #undef _XOPEN_SOURCE on Solaris
* [core] fix recent solaris typo; compile failure
* [ci] _WIN32 portability
* [cmake,meson] skip tests/* under native Windows
* [tests] support platforms without cp -n
* [ci] cmake did not detect inet_pton on x86 _WIN32
* [ci] use latest GCC and clang
* [ci] adjust .github/workflows/meson.yml
* [ci] further simplify
* [ci] adjust NetBSD,OpenBSD tests .github/workflows
* [ci] add Windows-VisualStudio to .github/workflows
* [ci] add Solaris (disabled) to .github/workflows
* [ci] add Windows-MSYS2 to .github/workflows
* [ci] rename .github/workflows/meson.yml to pr.yml
* [tests] adjust shell syntax in tests/prepare.sh
* [tests] test_mod stub funcs for static builds
* [ci] adjust Windows tests in .github/workflows
* [mod_authn_dbi,mod_vhostdb_dbi] check for <dbi.h>
* [ci] tailor scripts/ci-build.sh for FreeBSD
* [ci] use set -e in .github/workflows run commands
* [debug] debug.log-timeouts for all timeout logging
* [debug] use log_debug_multiline() (#3239)
* [debug] use log_debug() instead of log_error() (#3239)
* [multiple] use log_warn() for config warnings (#3239)
* [core] use log_warn(),log_notice(),log_info() (fixes #3239)
* [ls-hpack] compat include of <sys/queue.h>
* [tests] skip deflate tests if zlib not available
* [core] ignore cc -Wcpp warning for <sys/cdefs.h>
* [ci] mechanism to disable wolfssl in ci-build.sh
* [ci] use Alpine Linux VMs to test additional arch
* [ci] skip 32-bit builds on Windows; save resources
* [tests] skip shutdown(SHUT_WR) in tests on s390x
* [ci] add s390x arch
* [meson] replace deprecated meson.build_root() use
* [ci] x86_64 and x86 featureful builds on ubuntu
* [ci] add x86_64 cmake ASAN build on ubuntu
* [ci] ci-build.sh add some NO_* options
* [ci] add Windows-Cygwin build
* [ci] fail fast if x86 build fails on alpine
* [ci] reduce some builds while maintaining coverage
* [ci] remove config not actually running x86 ubuntu
* [ci] more featureful build on macOS
* [doc] cert-staple.sh check staple newer than cert
* [ci] pr.yml format consistency
* [tests] remove repeated file in prepare.sh cp
* [wolfssl] renamed SSL_OP_NO_TICKET
* [ci] more featureful build on NetBSD
* [mod_authn_gssapi] ifndef GSS_KRB5_NT_PRINCIPAL_NAME
* [build] check 'lua54' before other lua variants
* [ci] OpenBSD CFLAGS LDFLAGS PKG_CONFIG_LIBDIR
* [ci] more featureful build on OpenBSD
* [ci] use bash on DragonflyBSD instead of csh
* [ci] special-cases for running tests under MSYS2
* [ci] basic build and run tests under MSYS2
* [tests] remove stray comment from test_mod_expire
* [ci] ci-build.sh NO_DBI option
* [ci] ci-build.sh NO_UUID option
* [ci] ci-build.sh NO_GNUTLS option
* [ci] ci-build.sh NO_MYSQL option
* [core] _WIN32 define PROT_WRITE to PAGE_READWRITE
* [mod_authn_sasl] use HOSTNAME for fqdn on _WIN32
* [ci] more featureful build on MSYS2
* [mod_authn_sasl] fix typo
* [ci] use cygwin test repos for latest packages
* [ci] vmactions usesh: true
* [ci] fix cmake generator path for MSVC
* [mod_wstunnel] read and discard HTTP/1.1 req body
* [core] use log_notice() for conn limit notice (#3239)
* [core] gw_upgrade_policy() shared code
* [mod_wstunnel] handle large kernel socket recv buf
* [core] stat_cache.c replace assert w/ error codes
* [core] remove dev assert in http_chunk_append_mem
* [core] ck_static_assert()
* [core] remove asserts from gw_status_get_counter()
* [core] configparser.y combine assert, remove debug
* [core] remove assert from sock_addr.c
* [mod_fastcgi] check env w/ cond instead of assert
* [core] shared code chunkqueue_close_tempchunk()
* [core] buffer.c combine asserts
* [core] array require nonnull for insert,replace
* [core] li_tohex*() no longer adds '\0'
* [core] accept 65536 in config for ushort values
* [ci] add missing intermediate dep for Cygwin
* [core] clarify configfile parse comment
* [core] fix crash with invalid lighttpd.conf syntax
* [core] lighttpd.conf detect,err if consecutive str
* [mod_magnet] lighty.r.req_body.unspecified_len
* [mod_proxy] handle HTTP/1.0 unspecified req len
* [core] unset Upgrade if downgrade HTTP/1.1 to 1.0
* [mod_magnet] interface to downgrade HTTP/1.1 to 1.0
* [mod_magnet] expand guidance in error message (#3240)
* [debug] use log_debug() instead of log_error() (#3239)
* [mod_wstunnel] use log_warn(),log_notice(),log_info() (#3239)
* [multiple] gw_backend_error_trace() (fixes #1406)
* [mod_webdav] webdav_uuid_v4() to supplant libuuid (#1056)
* [build] remove libuuid dependency (fixes #1056)
* [mod_wstunnel] quiet coverity warning
* [doc] fix typos in doc/config/lighttpd.conf
* [mod_h2] send 502 if backend oversized resp hdrs
- 1.4.73 - 2023-10-30
* [core] add .mkv to mimetype.assign builtin defaults
* [core] warn if out-of-range value for config short
* [mod_openssl] set default curves for ossl < 1.1.0
* [mod_h2] parse HEADERS flags sooner
* [mod_h2] check send window before defer frame rd
* [mod_h2] send GOAWAY to excessive request flood
* [mod_h2] h2_parse_headers_frame() adjust args
* [mod_h2] h2_recv_headers() parse trailers earlier
* [mod_h2] send GOAWAY to excessive request flood
* [mod_h2] discard new streams after GOAWAY sent
* [mod_h2] h2_discard_headers() to HPACK-decode hdrs
* [core] parse entire server.http-parseopts list
* [mod_wstunnel] Sec-WebSocket-Protocol only if req hdr
* [mod_h2] disable h2proto if mod_h2 was not found
* [core] omit dlopen trace for mod_h2, mod_deflate
* [mod_h2] defer input parsing if large output queue
* [mod_h2] defer frame handling if stream pend close
* [mod_h2] detect and log HTTP/2 rapid reset attack
* [core] honor MBEDTLS_USE_PSA_CRYPTO for hash,rand
* [mod_mbedtls] honor MBEDTLS_USE_PSA_CRYPTO for rand
* [core] comment out li_rand_bytes() (unused)
* [mod_mbedtls] handle mbedtls 3.x partial write
* [mod_h2] detect and log HTTP/2 rapid reset attack
* [mod_h2] detect and log HTTP/2 rapid reset attack
* [mod_openssl] warn if openssl version < 3.0.0
* [mod_openssl] include openssl/hmac.h for boringssl
- 1.4.72 - 2023-10-06
* [core] save config read from stdin across restart
* [core] warn if daemonize w/o absolute config path
* [mod_dirlisting] send Link w/ external css or js
* [mod_dirlisting] fix missing header/readme (fixes #3211)
* [core] ignore coverity warning
* [core] ignore coverity warning
* [core] reqpool.c:request_set_con()
* [core] request_init_data() minor optim
* [core] request.c:request_pool_{push,pop}
* Revert "[core] h2 http_request_parse_header() tweak"
* [core] enable config conditions on HTTP/2 PRI
* [mod_webdav] extend symlink support (non-standard)
* [mod_extforward] fix extforward.params config opt
* [mod_authn_ldap] fix config auth.require group=... (fixes #3216)
* [core] set CON_STATE_READ_POST for HTTP/2 reqbody
* [core] chunkqueue_read_squash() returns cq->first
* [core] get body from cq at offset in chunk
* [doc] update stbuehler address
* [tests] use sha crypt for fastcgi auth environment tests
* [tests] drop des-crypt and crypt-md5 auth tests - deprecated/not available on various platforms
* [core] code size: xxhash XXH_NO_STREAM
* [core] fdevent_sh_exec()
* [mod_dirlisting] http_dirlist_auto_layout_early_hints()
* [mod_dirlisting] send 103 w/ external css or js
* [mod_dirlisting] json output for /<path>/?json
* [mod_dirlisting] include ETag with cached result
* [core] import xxHash v0.8.2
* [tests] move %ENV modifications into forked child
* [mod_ssi] init hctx->wq to init alt cq tempdirs
* [tests] initialize request_st cqs in tests
* [core] chunkqueue_env_tmpdir()
* [core] config_set_defaults() reduce code size
* [tests] use current perl interpreter path for env.PERL in lighttpd.conf
* [mod_deflate] code reuse to create temp file
* [core] skip pwrite() to temp file if 0 len write
* [core] store cq->tempdirs in stack var
* [core] remove tempdirs ptr from struct chunkqueue
* [core] treat upload_temp_file_size=0 as default sz
* [core] hide unused var on _WIN32 compiler warning
* [mod_nss] nspr include prefix portability(attempt)
* [CI] scripts/ci-build.sh arg consistency;add meson
* [CI] remove wolfssl from autobuild; let rest build
* [CI] remove NSS from autobuild; let rest build
* [CI] remove mbedtls from autobuild; let rest build
* [mod_nss] nspr include prefix portability(attempt)
* [CI] ci-build.sh: adjust meson; add pam, maxminddb
* [CI] ci-build.sh: fix typo --with-pam
* [CI] remove maxminddb from autobuild,cmake; let rest build
* [CI] ci-build.sh re-enable additional dependencies
* [core] optimize for non-Range requests
* [core] allow larger number of Ranges if sorted
* [tests] test_http_range.c
* [core] attempt to quiet coverity warning
* [build] packdist.sh now produces .md for www.l.n
* [core] disable keep-alive if HTTP/1.1 CL and TE
* [core] reject empty Content-Length for HTTP/1.x
* [core] reject uppercase in unrecognized HTTP/2 hdr
* [core] warn dynamic mods listed before staticfile
* [core] dev-only internal request state debugging
* [core] short-circuit connection_state_machine_loop
* [core] reset connection-level state at con level
* [core] optim for non-throttle writes
* [core] remove connection_handle_write HTTP/1.x opt
* [core] yield writing large HTTP/1.x on slow device
* [core] tighten h2_process_streams()
* [core] h2_process_streams() simpler loop to retire
* [core] http_response_physical_pathinfo()
* [core] http_response_prepare() tweaks
* [meson] Fix 'getoption' meson typo
* [core] use different getxattr() prototype on MacOS
* [mod_deflate] do not compress any 1xx status
* [core] http_response_304(), http_response_412()
* [core] add config option to reject pathinfo
* [core] expand mimetype.assign builtin defaults
* [core] mark some cold routines noinline
* [core] add config opt to send GOAWAY for bad auth
* [core] show_features() show inotify or kqueue
* [core] stat_cache_refresh_entry()
* [core] splaytree: use all 32-bits of hash value
* [core] splaytree: compare keys directly
* [core] splaytree: splaytree_splay_nonnull()
* [core] stat_cache: stat_cache_sptree_ndx()
* [multiple] use splaytree_splay_nonnull()
* [h2] comment struct h2con h2_sid member is unused
* [mod_openssl] disable DH auto if DHParameters set
* [mod_openssl] replace deprecated openssl funcs
* [core] splaytree: splaytree_delete_splayed_node()
* [multiple] use splaytree_delete_splayed_node()
* [core] splaytree: splaytree_insert_splayed()
* [multiple] use splaytree_insert_splayed()
* [core] _WIN32 fs_win32_readlinkUTF8() (#3223)
* [mod_magnet] lighty.c.readlink() (fixes #3223)
* [core] add config option to reject pathinfo
* [mod_dirlisting] send 103 Early Hints only for h2+
* [mod_webdav] reject non-identity Content-Encoding
* [scons] include mod_h2 in static builds (fixes #3224)
* [core] http_request_validate_pseudohdrs comment
* [core] comment out redundant code
* [core] reset addtl state b4 dynamic error handler
* [core] reject Connection hdr in h2 as soon as seen
* [mod_h2] process headers for debug
* [mod_h2] comments and behavior for h2spec tests
* [multiple] mark func __attribute_returns_nonnull__
* [core] expand mimetype.assign builtin defaults
* [core] warn if IPv6 socket not supported
* [mod_simple_vhost,mod_evhost] check host strict
* [mod_simple_vhost,mod_evhost] minor code transform
* [mod_magnet] quiet 32-bit compiler warning
- 1.4.71 - 2023-05-27
* [mod_h2] HTTP/2 separate module; no longer builtin
* [mod_magnet] fix static build using autoconf (fixes #3203)
* [core] fix new use of posix_spawn with some glibc (fixes #3201)
* [core] _WIN32 quiet compiler warnings 32-bit build
* [core] check getaddrinfo EAI_ADDRFAMILY w/ glibc
* [core] quiet lemon.c clang C2x warnings
* [core] compile w/o posix_spawn() on iOS
* [core] fix crash due to missing initialization (fixes #3207)
* [core] request_init() separate static func
* [multiple] remove some unused/redundant includes
* [core] server.modules s/mod_compress/mod_deflate/
* [core] preproc consistency #pragma GCC diagnostic
* [core] update ls-hpack
* [core] use empty value in srvconf.config_touched
* [core] provide mimetype.assign default if unset
* [mod_vhostdb_mysql] MySQL missing mysql_get_socket (fixes #3208)
* [core] clarify comment
- 1.4.70 - 2023-05-10
* [autotools] chmod u+w configparser.c for lemon
* [build] skip build separate modules for built-ins
* [core] cache format secs for high prec errlog
* [mod_maxminddb] check remote IP each request (fixes #3191)
* [multiple] store ptrs to remote addr in request_st (#3192)
* [mod_extforward] manage remote addr per request (fixes #3192)
* [core] use C23 memset_explicit() were available
* [mod_accesslog] %{mask}a to mask/anonymize IP
* [core] cast to fix compiler error in prior commit
* [scons] fix static build to include builtin_mods
* [core] h2_recv_headers() tweak to reduce code size
* [core] h2_get_stream_req() code reuse
* [core] h2: remove obsolete comment
* [core] h2 mark :status matching lsxpack enum value
* [core] h2 match w/ lsxpack pseudo-header key only
* [core] limit server.max-request-field-size <=65535
* [core] permit shell HERE docs to specify config
* [core] add members to http_header_parse_ctx
* [mod_extforward] typo in comment
* [mod_openssl] SSL_CTX_set_options() takes uint64_t
* [core] reorder enum handler_t
* [core] connection_handle_request_start_state()
* [core] check chunk file open early in mmap viewadj (fixes #3197)
* [core] h2 http_request_parse_header() tweak
* [mod_extforward] recognize unix domain sockets (fixes #3198)
* [mod_magnet] support ./configure --with-lua=luajit (#3199)
* [core] remove instance of devel debug code
* [core] quiet coverity warning
* [core] connection_check_upgrade() h2_upgrade_h2c()
* [core] CON_STATE_REQUEST_END transient state
* [core] expose request_set_state() for internal use
* [core] h2_send_goaway_graceful()
* [core] h2_check_timeout()
* [core] h2_process_streams()
* [core] h2_recv_reqbody()
* [core] HTTP_VERSION_3 enum value
* [core] r->x union w/ structs for r->x.{h1}
* [core] r->x union w/ structs for r->x.{h1,h2}
* [core] http_dispatch[] tables for HTTP proto vers
* [core] hxcon "base class" for h2con
* [mod_h2] HTTP/2 module: mod_h2
* [multiple] optimistic client read only if HTTP/1.x
* [core] _WIN32 port compatibility headers
* [core] _WIN32 impl of setenv(), unsetenv()
* [multiple] _WIN32 protect code w/ HAVE_SYSLOG_H
* [multiple] _WIN32 protect code w/ HAVE_FORK
* [core] _WIN32 protect code w/ HAVE_IPV6
* [multiple] _WIN32 protect code w/ HAVE_SYS_UN_H
* [multiple] _WIN32 stat() compat sys-stat.h
* [core] _WIN32 uid, gid compat
* [core] _WIN32 signal-related compat
* [multiple] _WIN32 misc compat
* [core] _WIN32 minimal glob() impl for configfile.c
* [core] _WIN32 use gmtime_s(), localtime_s()
* [mod_dirlisting] _WIN32 Find*File()
* [multiple] _WIN32 Find*File() sys-dirent.h
* [core] _WIN32 sys-unistd.h to wrap <unistd.h>
* [core] _WIN32 sys-wait.h to wrap <sys/wait.h>
* [core] _WIN32 implementation of socketpair()
* [core] _WIN32 fdevent_createprocess()
* [core] _WIN32 socket-compat, filesystem-compat
* [core] _WIN32 check WSAGetLastError() w/ sockets
* [mod_cgi] _WIN32 use socketpair instead of pipe
* [core] _WIN32 clock ticks and time
* [core] _WIN32 alternative fdarray for Windows
* [core] _WIN32 basic (very limited) getopt() impl
* [tests] _WIN32 fcgi-responder.c, scgi-responder.c
* [core] _WIN32 rename __WIN32 to _WIN32
* [core] _WIN32 casts to quiet some VS warnings
* [tests] _WIN32 use TMPDIR (or TEMP) for test files
* [build] _WIN32 mingw build
* [multiple] __MINGW32__ missing strftime() "%F %T"
* [tests] _WIN32 adjustments in LightyTest.pm
* [core] _WIN32 reset std streams at startup
* [core] _WIN32 log_perror() with GetLastError()
* [core] _WIN32 log_serror() for WSAGetLastError()
* [core] _WIN32 use log_serror() for WSAGetLastError
* [core] _WIN32 use rand_s() to init pseudo RNG
* [core] _WIN32 fdevent_kill()
* [multiple] _WIN32 use fdevent_kill()
* [core] _WIN32 stat(), '/' and '\\' adjustments
* [tests] _WIN32 cygwin test support
* [mod_deflate] _WIN32 disable deflate.cache-dir
* [mod_dirlisting] _WIN32 close files before unlink
* [tests] _WIN32 close files before unlink
* [core] _WIN32 close chunk temp files before unlink
* [core] _WIN32 prefer WSAPoll()
* [core] _WIN32 lighttpd winsvc
* [core] _WIN32 custom fs funcs on UTF-8 paths
* [core] _WIN32 scream UTF-8 at MS (does not matter)
* [cmake] _WIN32 build more mods with BUILD_STATIC
* [cmake] _WIN32 remove older build config
* [core] _WIN32 use WSASend for writev-equiv on sock
* [meson] static build option under cygwin
* [build] _WIN32 __declspec(dllexport) *_plugin_init
* [build] _WIN32 shared dll build (autotools, cmake)
* [tests] _WIN32 skip time-sensitive tests during CI
* [core] use posix_spawn() where available
* [mod_cgi] comment about caching target dirname
* [meson] update comment with build flags
* [meson] check FORCE_{WOLFSSL,MBEDTLS}_CRYPTO
* [mod_auth] warn if auth.require path never matches
* [core] h1.[ch] collect some HTTP/1.x specific code
* [core] noinline connection shutdown, reset
* [TLS] $SERVER["socket"] inherit global ssl.engine
* [mod_proxy] match "map-host-response" "-" w/ Host
* [core] noinline stat_cache_sptree_find()
* [core] rename http_kv funcs, reorder http_versions
* [mod_cgi] move fd count to cgi_create_env()
* [mod_cgi] reduce code size
* [mod_cgi] do not issue trace if CGI closes input
* [mod_cgi] cgi_create_err() cold err handling func
* [core] always decr fd count upon socket close()
* [mod_mbedtls] check MBEDTLS_DEBUG_C for debug func
* [core] return pid_t from fdevent_waitpid()
* [core] _WIN32 compile fix
* [meson] build fix for builtin_mods
* [core] move some shared funcs to call from modules
* [build] move some files to call from modules
* [mod_cgi] doubly-linked list of CGI pids
* [mod_cgi] reuse fd already opened to /dev/null
* [mod_cgi] reset upload_temp_file_size in CGI close
* [tests] copy confs for running tests in alt dir
* [scons] avoid dup mod_h2 module in static build
* [autoconf] include fs_win32.h in hdrs for dpkg
* [build] ifdef _WIN32 before include fs_win32.h
* [mod_openssl] SSL_OP_ENABLE_KTLS_TX_ZEROCOPY_SENDFILE
* [mod_dirlisting] _WIN32 fix fstat() after close()
* [core] quiet coverity warning
* [mod_openssl] FreeBSD: check "kern.ipc.tls.enable"
* [core] fix HTTP/2 use of http_response_loop()
* [mod_openssl] check kernel support for KTLS
* [core] posix_spawnattr_setcwd_np() on QNX
* [core] posix_spawn_file_actions_addclosefrom_np()
* [core] Mac OS POSIX_SPAWN_CLOEXEC_DEFAULT
* [core] modify use of posix_spawnattr_setsigdefault
* [mod_dirlisting] _WIN32 compile fix
* [core] fdevent_load_file() check if limit exceeded
* [tests] tests/prepare.sh comment w/ alt build root
* [core] treat mod_h2 as built-in module (for now)
- 1.4.69 - 2023-02-10
* [meson] remove t/test_mod_evasive.c
* [doc] remove references to removed modules
* [cmake] add doc/CMakeLists.txt to dist tar ball (#3181)
* [meson] add meson.build to install man pages (fixes #3181)
* [meson] fix typo in sbindir
* [core] update ls-hpack
* [cmake] remove -I/usr/include/mysql for mysql.h (#3181)
* [cmake] add -DWITH_LUA_VERSION= to specify lua ver (#3181)
* [cmake] use mysql_config cflags and ldflags (#3181)
* [cmake] do not link with fam if inotify or kqueue
* [TLS] fix spurious warning trace (fixes #3182)
* [multiple] codespell: correct spelling in comments
* [multiple] spelling: github action check-spelling
* [lemon] upgrade LEMON parser to SQLite maint ver
* [build] modify arguments to updated LEMON parser
* [core] build configparser.y w/ -Werror workarounds
* [lemon] fix -Wpendantic warnings for bad casts
* [core] avoid accept4() on ARM unless detected
* [cmake] use CMAKE_CURRENT_SOURCE_DIR
* [cmake] SERVER_SRC variable
* [multiple] quiet some coverity false positives
* [cmake] use LIGHTTPD_MODULES_DIR as relative path (fixes #3185)
* [core] add missed h2 state transition (fixes #3186)
* [core] remove cygwin O_NOFOLLOW workaround
* [multiple] clang -Wstrict-prototypes for C2x
* [core] reset SIGUSR1 to SIG_DFL before execve()
* [mod_webdav] modify OPTIONS response if no db cfg
* [mod_webdav] MOD_WEBDAV_BUILD_MINIMAL preproc opt
* [core] pass fdn to fdevent_sched_close,_unregister
* [core] disable sendfile() on TARGET_OS_IPHONE
* [core] iOS does not provide netinet/tcp_fsm.h
* [core] move headers to help isolate fdevent layer
* [core] avoid select() FD_ISSET repeat on active fds
* [core] gw_backend more precise backend env alloc
* [core] fdevent_poll_poll avoid potential race
* [tests] quickly exit tests/request.t if GET / fail
* [tests] adjust outdated opt in tests/lighttpd.conf
* [autotools] add mod_evhost to static build list
* [autotools] skip modules build if LIGHTTPD_STATIC
* [mod_cgi] cygwin supports CGI file I/O redirection
* [mod_dirlisting] use fdevent_rename() wrapper
* [core] path-info in debug trace may be unset
* [core] reset path-info for cgi.local-redir
* [autotools] fix typo in -I used --with-pcre2=/path (fixes #3190)
* [mod_webdav] send 409 Conflict if PUT miss parent
* [core] fix HTTP/2 HEADERS frame parsing bug
* [core] remove extra HTTP/2 HEADERS frame len check
- 1.4.68 - 2023-01-03
* [cmake] compile lemon with native cc for x-compile
* [cmake] install man pages with CMake
* [cmake] let CMake handle the version number
* [cmake] set LIGHTTPD_VERSION_ID per version
* [meson] set LIGHTTPD_VERSION_ID per version
* [meson] add missing meson_version
* [meson] use feature options
* [meson] turn pcre into a combo option
* [meson] simplify header checking
* [meson] add wrapdb instructions
* [lighttpd-angel] waitpid after HUP before restart
* [core] use inotify_init() if missing IN_* defines
* [core] keep sockets w/ server.graceful-restart-bg
* [TLS] ssl.openssl.ssl-conf-cmd "DHParameters"
* [mod_wolfssl] check for cert must_staple
* [mod_mbedtls] config renegotiation;not recommended
* [mod_alias] fix typo in config error message
* [mod_proxy,mod_cgi] fix dummy Sec-WebSocket-Key
* [mod_wolfssl] cast to fix compile error
* [TLS] try DER format if reading PEM format fails
* [mod_openssl] libressl 3.6.0 ASN1_TIME_cmp_time_t
* [mod_deflate] skip cache for Cache-Control: private,no-store
* [mod_webdav] minor cleanups and adjustments
* [core] http_response_body_clear clears body flags
* [core] ignore server.max-worker = 1
* [doc/scripts/cert-staple.sh] *BSD date portability
* [doc/scripts/cert-staple.sh] short-circuit checks
* [doc/scripts/cert-staple.sh] add copyright header
* [meson] fix wrong array
* [meson] replace most has_function calls with loop
* [meson] use non string true/false
* [meson] use files()
* [meson] remove use of non-existent win32 xgetopt.c
* [meson] update comment for opts w/ type 'feature'
* [core] fix crash for invalid lighttpd.conf (fixes #3175)
* [build] do not check for pthread.h
* [cmake] use find_package() to include the PkgConfig module
* [cmake] use GNUInstallDirs to set defaults for several directories
* [cmake] use FindOpenSSL cmake module to search for OpenSSL
* [cmake] remove wolfssl code that would already be handled by CMake
* [cmake] improve searching for PostgreSQL
* [cmake] remove needless arguments from xconfig macro
* [cmake] prefer libpcre.pc over pcre-config
* [cmake] use CMake's provided FindZLIB
* [cmake] use CMake's provided FindBZip2
* [cmake] remove path hints where CMake searches by default
* [cmake] remove use of non-existent win32 xgetopt.c
* [mod_openssl] mod_openssl_write_err() shared code
* [mod_openssl] use SSL_sendfile() if KTLS available
* [mod_gnutls] use gnutls_record_send_file() if KTLS
* [TLS] handle '+' on ssl-conf-cmd "Options"
* [TLS] upgrade default cipher list to stronger set
* [TLS] simplify TLS config; remove deprecated opts
* [multiple] remove deprecated modules
* [mod_magnet] remove lighty.r.req_attr["response.*"]
* [core] remove libev fdevent option (ignore)
* [core] _WIN32 impl of plugins_load()
* [core] check for built-in plugins before dlopen
* [core] build core modules into lighttpd executable
* [core] reduce M_TOP_PAD to default on small system
* [multiple] mark mod_*_plugin_init() funcs cold
* [core] check ifndef NDEBUG before setting NDEBUG
* [core] server_main_setup_signals() separate func
* [core] server_main_setup_workers() separate func
* [core] server_main_setup() variable scoping
* [core] ck_calloc() ck_malloc() ck_realloc_u32()
* [multiple] employ ck_realloc_u32() shared code
* [core] mark gw_proc_free() cold
* [core] use data_config_list for config
* [build] omit unused vector.[ch] from build
* [mod_wstunnel] store value in tmp before byteswap
* [core] log_buffer_vsprintf tweaks
* [multiple] employ ck_calloc, ck_malloc shared code
* [core] create non-inlined vector_resize()
* [lighttpd-angel] remove unused includes
* [core] chunk.c tweaks
* [core] config_check_cond_nocache_eval() tweak
* [mod_openssl] CLOSE_NOTIFY handling with KTLS
* [mod_wolfssl] match mod_openssl CLOSE_NOTIFY
* [core] ignore config dir-listing.* if not enabled
* [doc] default lighttpd.conf: omit server.use-ipv6
* [lighttpd-angel] simplify
* [tests] disable auth.delay-invalid-creds for tests
* [mod_deflate] "deflate" should include zlib header
* [tests] fix "deflate" tests for added zlib header
* [tests] disable Nagle on client, remove sleeps
* [core] save ptr to avoid static analyzer realloc warn
* [core] wrap server_main_setup_workers w/ HAVE_FORK
* [core] temporarily disable O_NOFOLLOW on Cygwin
- 1.4.67 - 2022-09-17
* Update comment about TCP_INFO on OpenBSD
* [mod_ajp13] fix crash with bad response headers (fixes #3170)
* [core] handle RDHUP when collecting chunked body
* [core] tweak streaming request body to backends
* [core] handle ENOSPC with pwritev() (#3171)
* [core] manually calculate off_t max (fixes #3171)
* [autoconf] force large file support (#3171)
* [multiple] quiet coverity warnings using casts
* [meson] add license keyword to project declaration
- 1.4.66 - 2022-08-07
* [core] h2: optim: send window update in 16k units
* [mod_magnet] reset for http-response-send-file
* [multiple] fix json encoding
* [core] buffer_append_bs_escaped_json()
* [autoconf] update ax_prog_cc_for_build.m4
* [doc] add libdeflate to INSTALL
* [mod_webdav] cold func if xml reqbody w/o db conf
* [mod_webdav] check reqbody Content-Type is XML
* [doc] more consistent use of vars in examples
* [core] do not load indexfile, dirlisting if unused
* [mod_dirlisting] send ETag, Cache-Control w/ cache
* [mod_openssl] compile compat w/ openssl < 1.1.0
* [mod_webdav] webdav_reqbody_type_xml() fixes
* [core] clarify server.username = "root" error msg
* [mod_wolfssl] compat with older wolfssl versions
* [core] fix li_base64_dec() on whitespace
* [core] perf tweak buffer_eq_icase_ssn()
* [mod_deflate] fix use of libdeflate for files>128k (fixes #3161)
* [core] fix buffer_substr_replace() extend (fixes #3160)
* [mod_webdav] build with Android NDK
* [core] check r->http_status before handling Range
* [core] preprocessor option to force crypto lib
* [core] fix SIGUSR1 graceful restart w/ TLS (fixes #3164)
* [mod_authn_gssapi] warn if no confidentiality flag (fixes #3163)
* [mod_wstunnel] fix crash with bad hybivers (fixes #3165)
* [core] perf: adjust max h2 stream send increment
* [core] fix HTTP/2 downloads >= 4GiB (fixes #3166)
- 1.4.65 - 2022-06-07
* [build] meson: fix typo in variable name
* [build] autoconf: report if building with zstd
* [build] meson -Dlua_version=... to specify lua ver
* [core] avoid CCRandomGenerateBytes on MacOS <10.12 (fixes #3140)
* [core] use diff var name w/ CCRandomGenerateBytes (fixes #3141)
* [core] parse conf cmds with SHELL or /bin/sh
* [core] fix HMAC with openssl 3.0
* [mod_webdav] no COPYFILE_CLONE_FORCE on OSX <10.12 (fixes #3142)
* [mod_deflate] fix to return 304 with If-None-Match (fixes #3143)
* [core] Illumos epoll incompatible w/ lighttpd impl
* [core] feature flag to allow Range w/ HTTP/1.0
* [mod_mbedtls] set usekeysize for mbedtls 3.2.0+
* [mod_deflate] collect mmap code
* [mod_deflate] prototype using libdeflate w/ mmap
* [mod_deflate] --with-libdeflate to use libdeflate
* [mod_deflate] mark input bytes const
* [core] sys-setjmp.[ch]
* [mod_magnet] check lighty.result.content b4 setjmp
* [core] include guard consistency in sys-time.h
* [core] network_write_file_chunk_remap separate fn
* [multiple] use new sys_setjmp_eval3() interface
* [multiple] pedantic chunk.c checks for 0-len chunk
* [multiple] shared code for struct chunk and mmap
* [mod_deflate] use pread if available
* [mod_deflate] improve loop compressing file chunk
* [core] prep server_tag at startup for h2 resp hdr
* [mod_magnet] defer req_env init unless needed
* [mod_magnet] reset after error attaching content
* [mod_magnet] lua_tointegerx() avoids raising error
* [mod_mbedtls] use newer mbedtls 3.2.0+ interfaces
* [mod_magnet] adjust hot path for more inlining
* [mod_magnet] collect chk for magnet lua_State init
* [mod_magnet] use type returned from lua_getfield()
* [core] chunk_file_pread() to wrap pread()
* [core] disable keep-alive if forcing HTTP/1.0 resp
* [mod_magnet] use lua_getextraspace() to store r
* [core] fall back to getauxval(AT_RANDOM), if avail
* [mod_magnet] keep message handler on stack
* [doc] update external links
* [mod_magnet] pass lighty table index, defer pops
* [mod_magnet] clear and reuse script-env table
* [mod_magnet] clear stack when reloading script
* [mod_magnet] use lua_isnoneornil() in interfaces
* [mod_magnet] fix lighty.c.cookie_tokens()
* [mod_magnet] fix lighty.c.urldec_query()
* [mod_magnet] remove duplicated NULL checks
* [mod_magnet] adjust magnet_lighty_result_get()
* [mod_magnet] magnet_tmpbuf_acquire(),release()
* [mod_magnet] lighty.c.quotedenc(),dec() funcs
* [mod_magnet] fix header,content legacy table clear
* [mod_cgi] cgi.local-redir request_reset thru fnptr
* [core] isolate plugins_*() funcs to main server
* [mod_wolfssl] wolfssl v5.0.0 defines DH_set0_pqg()
* [mod_auth] save letter-case diff in require config
* [mod_magnet] magnet_push_quoted_string shared code
* [mod_magnet] lighty.c.header_tokens convenience fn
* [core] fill in un.sun_path after accept() (fixes #3147)
* [mod_extforward] adjust trust check for HTTP/2
* [mod_proxy] adjust handling of legacy X-* headers
* [core] permit env w/ blank value (fix regression)
* [TLS] consistent debug.log-ssl-noise config type
* [mod_magnet] allow removal of req_env elt via nil
* [core] compiler workarounds for very old gcc,glibc
* [mod_mbedtls] use newer mbedtls 3.2.0+ interfaces
* [mod_ssi] check http_chunk_transfer_cqlen for err
* [core] chunkqueue_steal() handle unexpected 0 len
* [core] discard DATA from REFUSED_STREAM at h2 init
* [multiple] WebSockets over HTTP/2 (fixes #3151)
* [multiple] immed connect to backend for streaming
* [core] ensure socket ready before checking connect
* [core] reduce trace on Upgrade backend connection
* [core] adjust when TCP_CORK used on TLS connection
* [mod_cgi] disable input optim if might Upgrade
* [mod_cgi] immed start CGI if Upgrade
* [mod_wolfssl] wolfssl v5.0.0 adds ASN1_TIME_diff()
* [mod_openssl] libressl v3.5.0 adds ASN1_TIME_diff
* [TLS] warn if leaf cert read is inactive/expired
* [core] stricter conformance w/ upcoming HTTP/2 rev
* [build] -D_DEFAULT_SOURCE consistency in builds
* [mod_extforward] support addtl IPv6 syntax w/ "[]"
* [core] build fix for cygwin and lmingw
* [core] short-circuit earlier parsing h2 trailers
* [core] reformat h2.h for cleaner enum additions
* [core] consolidate trace for log-state-handling
* [core] request_config bitmasks for smaller struct
* [core] prefix (=^), suffix (=$) config conditions (fixes #3153)
* [core] tighten config parsing loop
* [core] convert simple config cond regex to pre/sfx
* [tests] able to run tests when built w/o pcre
* [core] allow redirect,rewrite ext subst w/o pcre
* [mod_sockproxy] reset http vers, avoid rare crash (fixes #3152)
* [core] HTTP/2 PRIORITY_UPDATE frame (experimental)
* [core] send HTTP/2 SETTINGS_NO_RFC7540_PRIORITIES
* [core] stricter check of HTTP/2 GOAWAY frame size
* [mod_mbedtls] use newer mbedtls 3.2.0+ interfaces
* [mod_webdav] opt for partial PUT via copy/rename
* [core] quiet compiler warning
* [multiple] recognize HTTP QUERY method
* [multiple] limit scope of socket config options
* [core] fix config typo reading large int from str
* [core] h2 prio sort urgency, incr, then stream id
* [core] send Priority resp hdr w/ .css, .js re-prio
* [multiple] reset http vers, avoid rare crash (fixes #3152)
* [core] delay response to http auth invalid creds
* [core] connection_state_machine_h2 only if con->h2
* [core] default server.max-keep-alive-requests 1000
* [mod_magnet] set script env in func first upvalue
* [mod_magnet] rewrite lighty.r as table of userdata
* [mod_status] con->h2 instead of r->http_version
* [mod_setenv] cleanup user-provided hdr sloppiness
* [core] remove func decls duplicated in plugin.h
* [mod_status] fix counting of HTTP/2 bytes written
* [mod_magnet] no local server port on unix domain
* [mod_extforward] unix domain socket pedantic chks
* [core] sketch support for abstract sockets
* [mod_magnet] magnet_plugin_stats_table() fn
* [mod_magnet] magnet_script_setup_global_state() fn
* [mod_magnet] lighty.server.* table w/ new function
* [mod_accesslog] do not double-count hdr len in %I
* [mod_magnet] reduce magnet_env_get_id() scanning
* [mod_magnet] tighten magnet_env_get_buffer_by_id()
* [mod_status] reusable code for r->state strings
* [core] reusable code for r->state strings
* [mod_magnet] expose r->state to lua scripts
* [mod_magnet] tighten magnet_env_set()
* [mod_magnet] lighty.r.req_item[] accessors
* [mod_magnet] expose r->keep_alive to lua scripts
* [mod_magnet] lighty.c.hrtime high-resolution time
* [mod_magnet] lighty.r.resp_body.get
* [mod_magnet] deprecate r.req_attr["response.*]
* [mod_magnet] separate funcs for uri_path_raw
* [mod_magnet] lighty.c.stat high precision time
* [mod_magnet] format multiline err traceback
* [mod_magnet] adjust p->conf.stage checks
* [mod_magnet] further isolate legacy API result tbl
* [core] buffer_append_char() convenience func
* [mod_accesslog] accesslog.escaping = "json"
* [multiple] use buffer_append_char()
* [mod_accesslog] remove begin/end tags from %{}t
* [core] fix configparser_simplify_regex() comment
* [multiple] simplify bytes_in/bytes_out accounting
* [mod_accesslog] reorder fields in switch()
* [core] remove unused srv->con_* counters
* [mod_magnet] read-only access to r->server_name
* [core] buffer_append_bs_escaped()
* [core] buffer_append_string_c_escaped ASCII optim
* [mod_magnet] backspace-escape encode/decode
* [mod_status] display HTTP/2 control stream w/ reqs
* [multiple] use preferred syntax for Content-Type
* [doc] regenerate doc/config/conf.d/mime.conf
* [multiple] rename status_counter -> plugin_stats
* [core] feature-flag server.metrics-high-precision
* [mod_magnet] quiet coverity false positive
* [mod_wolfssl] compile fix for OpenWRT
* [mod_webdav] If-None-Match: * on non-existent
* [mod_magnet] r.req_body .collect .get .set .add
* [mod_cgi] fix detection of failing error handler (fixes #3157)
* [core] "url-invalid-utf8-reject" normalization opt
* [mod_magnet] skip req body collect warn if modsec3
* [build] update descriptions to remove old lua ver
* [core] use current dir if context->basedir blank
* [multiple] application/javascript text/javascript
* [core] reset internal flags after graceful restart
* [TLS] inherit ssl.engine from global scope
* [core] avoid server.use-ipv6 warning after SIGUSR1
* [mod_webdav] alt handling PROPFIND on collection
* [mod_mbedtls] fix crt chain construction logic
* [core] h2 SETTINGS_INITIAL_WINDOW_SIZE 64k (fixes #3089)
* [core] increase session window size to 256k
* [core] h2: avoid sending small WINDOW_UPDATE frames
* [core] h2: avoid sending tiny DATA frames
* [core] update cached tables with Priority header
* [tests] test stubs for http_header.c and http_kv.c
- 1.4.64 - 2022-01-19
* [core] fix trace issued for loading mod_auth (fixes #3121)
* [meson] need -lrt with glibc < 2.17 (fixes #3120)
* [core] adjust time jump detection (fixes #3123)
* [core] make setrlimit() warn, not fatal
* [core] add remote IP to some error msgs (fixes #3122)
* [mod_webdav] If-None-Match on non-existent entity
* [build] check getxattr before attr_get and -lattr
* [doc] SELinux: setsebool -P httpd_setrlimit on
* [build] create sha512sum file with release
* [build] CI builds now use make -j 2
* [core] http_response_send_file() takes const path
* [core] use ETag response header to check cachable
* [core] add more const to stat_cache_update_entry()
* [multiple] remove r->physical.etag
* [mod_magnet] interface to http_response_send_file
* [build] add headers for sendfile() detect on MacOS
* [core] http_response_write_prepare optimization
* [core] define static_assert for uClibc (fixes #3127)
* [build] -Wno-implicit-fallthrough for ls-hpack
* [core] ignore pcre2 "bad JIT option" warning
* [build] pcre2: use pkg-config before pcre2-config
* [core] http_response_has_error_handler()
* [core] consolidate request restart loop check
* [core] defer retrieving Last-Modified until needed
* [mod_dirlisting] fix logic inversion in cache
* [core] mark expect cond in http_response_send_file
* [core] connection_handle_read_state() tweak
* [core] connection_state_machine_loop() tweaks
* [core] connection_state_machine_h2() tweaks
* [core] quiet coverity noise
* [core] use lower limit for max-fds if !setrlimit
* [build] do not check for prctl; HAVE_PRCTL unused
* [core] server.core-files support on FreeBSD (fixes #3128)
* [mod_extforward] support longer PROXY v2 TLV vec
* [mod_webdav] detect truncated copy_file_range()
* [mod_webdav] copy_file_range() new in FreeBSD 13
* [mod_webdav] copy_file_range() new in FreeBSD 13
* [build] feature consistency between build types
* [build] cmake build now defaults to C11
* [core] CCRandomGenerateBytes() for rand on macOS (fixes #3129)
* [multiple] remove long-deprecated modules
* [build] default --with-pcre2 unless --with-pcre
* [core] "server.graceful-shutdown-timeout" => 8
* [build] adjust trace for regex-conditionals
* [build] update tests/SConscript
* [core] errno_t detection on Illumos
* [build] cmake build now defaults to C11
* [build] meson: find pcre2 w/o pkg-config
* [core] define __EXTENSIONS__ on Illumos
* [build] cmake,meson socket libs for win32, Illumos (fixes #3130)
* [core] hide bsd_accept_filter code on OpenBSD (fixes #3131)
* [core] errno_t and rsize_t detection on Illumos
* [mod_webdav] copy acceleration
* [mod_webdav] define HAVE_RENAMEAT2 earlier
* [build] meson misdetects mempcpy on some platforms
* [build] cmake: skip "-Wl,-export-dynamic" Illumos
* [build] adjust .gitignore for macOS
* [build] meson crypt and dl detection on *BSD (fixes #3133)
* [core] /dev/null is a symlink on Illumos (fixes #3132)
* [core] server.core-files support for solaris (fixes #3135)
* [build] feature consistency between build types
* [build] Haiku build fix (fixes #3136)
* [lemon] silence coverity warnings
* [cmake] raise minimum version to 3.7
* [cmake] add address/undefined sanitize compile options
* [asan tests] fix memory leaks
* [array] use speaking names for array "fn" vtables for better debugging experience
* [ci] add cmake-asan build type
* [core] buffer_copy_string() use "" if s is NULL
* [mod_authn_gssapi] code reuse: fdevent_mkostemp()
* [mod_authn_gssapi] reduce KRB5CCNAME mem alloc
* [build] adjust help strings for pcre2 default
* [core] (const char *) for srvconf.modules_dir
* [multiple] remove buffer_init_string()
* [multiple] remove buffer_init_buffer()
* [mod_extforward] fix out-of-bounds (OOB) write (fixes #3134)
* [build] use -fstack-protector-strong w/ extra warn
* [build] collect Sun-specific headers and funcs
* [build] collect Sun-specific headers and funcs
* [build] rm redundant check for -lnetwork on Haiku
* [build] check headers before some funcs
* [core] allow LISTEN_PID to be ppid if TRACEME (fixes #3137)
* [core] allow tests/tmp/bind.conf override (#3137)
* [mod_webdav] no sys/ioctl.h on _WIN32
* [tests] _WIN32 adjustments in LightyTest.pm
* [tests] revert _WIN32 adjustments in LightyTest.pm
* [mod_gnutls] lift size check out of DN loop
* [mod_mbedtls] lift size check out of DN loop
* [mbedtls] save (mbedtls_ssl_config *) in hctx
* [multiple] permit UTF-8 in SSL_CLIENT_S_DN_*
* [mod_openssl] do not esc UTF-8 in cert subject
* [mod_mbedtls] reconstruct SSL_CLIENT_S_DN
* [mod_mbedtls] changes to build with mbedtls 3.0.0
* [mod_mbedtls] remove use of out_left in mbedtls 3
* [mod_mbedtls] mbedtls_ssl_conf_groups for 3.1.0
- 1.4.63 - 2021-12-04
* [core] import xxHash v0.8.1
* [core] isolate use of sys/filio.h
* [core] fix reqpool mem corruption in 1.4.62 (fixes #3118)
- 1.4.62 - 2021-12-01
* [mod_alias] fix use-after-free bug (fixes #3114)
* [core] clean up fdlog_st and log_error_st decls
* [core] 'struct log_error_st' -> 'log_error_st'
* [core] remove redundant asserts
* [core] explicitly include sys/cdefs.h
* [tests] t/test_mod_ssi
* [core] fdevent_socket_nb_cloexec_init()
* [core] fdevent_impl.c separate from fdevent.c
* [core] merge fdevent impls into fdevent_impl.c
* [core] fdevent_fdnode.c separate from fdevent.c
* [core] close backend socket fds more quickly
* [core] use TCP_CORK w/ TLS if cq length > 16k
* [core] warn if dynamic modules before mod_auth
* [mod_cgi] check fd-to-cgi not -1 before close
* [core] libev EV_ERROR conflicts with kqueue
* [tests] disable test_mod_ssi in cmake (temporary)
* [tests] disable test_mod_ssi in cmake (temporary)
* [tests] reenable test_mod_ssi in cmake
* [core] run plugin cleanup hooks in reverse
* [core] fix removal of server.pid-file when testing (fixes #3115)
* [doc] improve sample configs
* [doc] expand vhosts.template
* [doc] improve sample configs
* [core] use ck_assert() in vector.[ch]
* [tests] mod_ssi tests moved to src/t/test_mod_ssi
* [mod_ssi] 0-init ssi_val_t in ssi_ctx_t
* [mod_ssi] fix ancient bugs; replace cond parser
* [mod_ssi] remove mod_ssi parser generator file
* [mod_ssi] merge mod_ssi_expr.c into mod_ssi.c