NEWS 190 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804
  1. ====
  2. NEWS
  3. ====
  4. - 1.4.64 - 2022-01-19
  5. * [core] fix trace issued for loading mod_auth (fixes #3121)
  6. * [meson] need -lrt with glibc < 2.17 (fixes #3120)
  7. * [core] adjust time jump detection (fixes #3123)
  8. * [core] make setrlimit() warn, not fatal
  9. * [core] add remote IP to some error msgs (fixes #3122)
  10. * [mod_webdav] If-None-Match on non-existent entity
  11. * [build] check getxattr before attr_get and -lattr
  12. * [doc] SELinux: setsebool -P httpd_setrlimit on
  13. * [build] create sha512sum file with release
  14. * [build] CI builds now use make -j 2
  15. * [core] http_response_send_file() takes const path
  16. * [core] use ETag response header to check cachable
  17. * [core] add more const to stat_cache_update_entry()
  18. * [multiple] remove r->physical.etag
  19. * [mod_magnet] interface to http_response_send_file
  20. * [build] add headers for sendfile() detect on MacOS
  21. * [core] http_response_write_prepare optimization
  22. * [core] define static_assert for uClibc (fixes #3127)
  23. * [build] -Wno-implicit-fallthrough for ls-hpack
  24. * [core] ignore pcre2 "bad JIT option" warning
  25. * [build] pcre2: use pkg-config before pcre2-config
  26. * [core] http_response_has_error_handler()
  27. * [core] consolidate request restart loop check
  28. * [core] defer retrieving Last-Modified until needed
  29. * [mod_dirlisting] fix logic inversion in cache
  30. * [core] mark expect cond in http_response_send_file
  31. * [core] connection_handle_read_state() tweak
  32. * [core] connection_state_machine_loop() tweaks
  33. * [core] connection_state_machine_h2() tweaks
  34. * [core] quiet coverity noise
  35. * [core] use lower limit for max-fds if !setrlimit
  36. * [build] do not check for prctl; HAVE_PRCTL unused
  37. * [core] server.core-files support on FreeBSD (fixes #3128)
  38. * [mod_extforward] support longer PROXY v2 TLV vec
  39. * [mod_webdav] detect truncated copy_file_range()
  40. * [mod_webdav] copy_file_range() new in FreeBSD 13
  41. * [mod_webdav] copy_file_range() new in FreeBSD 13
  42. * [build] feature consistency between build types
  43. * [build] cmake build now defaults to C11
  44. * [core] CCRandomGenerateBytes() for rand on macOS (fixes #3129)
  45. * [multiple] remove long-deprecated modules
  46. * [build] default --with-pcre2 unless --with-pcre
  47. * [core] "server.graceful-shutdown-timeout" => 8
  48. * [build] adjust trace for regex-conditionals
  49. * [build] update tests/SConscript
  50. * [core] errno_t detection on Illumos
  51. * [build] cmake build now defaults to C11
  52. * [build] meson: find pcre2 w/o pkg-config
  53. * [core] define __EXTENSIONS__ on Illumos
  54. * [build] cmake,meson socket libs for win32, Illumos (fixes #3130)
  55. * [core] hide bsd_accept_filter code on OpenBSD (fixes #3131)
  56. * [core] errno_t and rsize_t detection on Illumos
  57. * [mod_webdav] copy acceleration
  58. * [mod_webdav] define HAVE_RENAMEAT2 earlier
  59. * [build] meson misdetects mempcpy on some platforms
  60. * [build] cmake: skip "-Wl,-export-dynamic" Illumos
  61. * [build] adjust .gitignore for macOS
  62. * [build] meson crypt and dl detection on *BSD (fixes #3133)
  63. * [core] /dev/null is a symlink on Illumos (fixes #3132)
  64. * [core] server.core-files support for solaris (fixes #3135)
  65. * [build] feature consistency between build types
  66. * [build] Haiku build fix (fixes #3136)
  67. * [lemon] silence coverity warnings
  68. * [cmake] raise minimum version to 3.7
  69. * [cmake] add address/undefined sanitize compile options
  70. * [asan tests] fix memory leaks
  71. * [array] use speaking names for array "fn" vtables for better debugging experience
  72. * [ci] add cmake-asan build type
  73. * [core] buffer_copy_string() use "" if s is NULL
  74. * [mod_authn_gssapi] code reuse: fdevent_mkostemp()
  75. * [mod_authn_gssapi] reduce KRB5CCNAME mem alloc
  76. * [build] adjust help strings for pcre2 default
  77. * [core] (const char *) for srvconf.modules_dir
  78. * [multiple] remove buffer_init_string()
  79. * [multiple] remove buffer_init_buffer()
  80. * [mod_extforward] fix out-of-bounds (OOB) write (fixes #3134)
  81. * [build] use -fstack-protector-strong w/ extra warn
  82. * [build] collect Sun-specific headers and funcs
  83. * [build] collect Sun-specific headers and funcs
  84. * [build] rm redundant check for -lnetwork on Haiku
  85. * [build] check headers before some funcs
  86. * [core] allow LISTEN_PID to be ppid if TRACEME (fixes #3137)
  87. * [core] allow tests/tmp/bind.conf override (#3137)
  88. * [mod_webdav] no sys/ioctl.h on _WIN32
  89. * [tests] _WIN32 adjustments in LightyTest.pm
  90. * [tests] revert _WIN32 adjustments in LightyTest.pm
  91. * [mod_gnutls] lift size check out of DN loop
  92. * [mod_mbedtls] lift size check out of DN loop
  93. * [mbedtls] save (mbedtls_ssl_config *) in hctx
  94. * [multiple] permit UTF-8 in SSL_CLIENT_S_DN_*
  95. * [mod_openssl] do not esc UTF-8 in cert subject
  96. * [mod_mbedtls] reconstruct SSL_CLIENT_S_DN
  97. * [mod_mbedtls] changes to build with mbedtls 3.0.0
  98. * [mod_mbedtls] remove use of out_left in mbedtls 3
  99. * [mod_mbedtls] mbedtls_ssl_conf_groups for 3.1.0
  100. - 1.4.63 - 2021-12-04
  101. * [core] import xxHash v0.8.1
  102. * [core] isolate use of sys/filio.h
  103. * [core] fix reqpool mem corruption in 1.4.62 (fixes #3118)
  104. - 1.4.62 - 2021-12-01
  105. * [mod_alias] fix use-after-free bug (fixes #3114)
  106. * [core] clean up fdlog_st and log_error_st decls
  107. * [core] 'struct log_error_st' -> 'log_error_st'
  108. * [core] remove redundant asserts
  109. * [core] explicitly include sys/cdefs.h
  110. * [tests] t/test_mod_ssi
  111. * [core] fdevent_socket_nb_cloexec_init()
  112. * [core] fdevent_impl.c separate from fdevent.c
  113. * [core] merge fdevent impls into fdevent_impl.c
  114. * [core] fdevent_fdnode.c separate from fdevent.c
  115. * [core] close backend socket fds more quickly
  116. * [core] use TCP_CORK w/ TLS if cq length > 16k
  117. * [core] warn if dynamic modules before mod_auth
  118. * [mod_cgi] check fd-to-cgi not -1 before close
  119. * [core] libev EV_ERROR conflicts with kqueue
  120. * [tests] disable test_mod_ssi in cmake (temporary)
  121. * [tests] disable test_mod_ssi in cmake (temporary)
  122. * [tests] reenable test_mod_ssi in cmake
  123. * [core] run plugin cleanup hooks in reverse
  124. * [core] fix removal of server.pid-file when testing (fixes #3115)
  125. * [doc] improve sample configs
  126. * [doc] expand vhosts.template
  127. * [doc] improve sample configs
  128. * [core] use ck_assert() in vector.[ch]
  129. * [tests] mod_ssi tests moved to src/t/test_mod_ssi
  130. * [mod_ssi] 0-init ssi_val_t in ssi_ctx_t
  131. * [mod_ssi] fix ancient bugs; replace cond parser
  132. * [mod_ssi] remove mod_ssi parser generator file
  133. * [mod_ssi] merge mod_ssi_expr.c into mod_ssi.c
  134. * [core] uint_fast32_t tweaks
  135. * [core] better asm for binary num to ascii string
  136. * [tests] t/test_mod now runs all t/test_mod_*.c
  137. * [tests] t/test_mod_alias.c
  138. * [tests] remove unused mod from tests/lighttpd.conf
  139. * [mod_evasive] smaller funcs for testing
  140. * [tests] t/test_mod_evasive.c
  141. * [mod_evasive] update comment to add references
  142. * [tests] combine tests into test_common.c
  143. * [core] get_http_method_key() tweak
  144. * [mod_dirlisting] check for disabled cache at start
  145. * [core] buffer_append_string_encoded_json()
  146. * [mod_dirlisting] (experimental) json (disabled)
  147. * [tests] t/test_mod needs -ldl on Debian
  148. * [core] save config regex captures only if used
  149. * [core] save pcre result state in config_pcre_match
  150. * [core] use stack w/ pcre_exec unless save captures
  151. * [core] extend pcre_keyvalue_ctx to pass more state
  152. * [core] pcre2 support (--with-pcre2)
  153. * [core] allocate one fewer cond_match_t, if needed
  154. * [core] allocate pcre output vector on demand
  155. * [build] configure.ac with AC_PROG_CC_C99 (fixes #3116)
  156. * [build] CI builds now use pcre2 (upgrade pcre)
  157. * [core] fix compiler warning in 32-bit build
  158. * [build] fix CMake pcre2 detection
  159. * [mod_auth] RFC7616 HTTP Digest username* userhash
  160. * [mod_dirlisting] fix bug not showing HEADER.txt
  161. * [tests] t/test_mod_ssi adjust to follow symlinks
  162. * [mod_auth] quiet coverity warning
  163. * [doc] refresh/update dependency lists in doc
  164. * [core] fix crash when using lighttpd -1 with pipes (fixes #3117)
  165. - 1.4.61 - 2021-10-28
  166. * [core] define __BEGIN_DECLS, __END_DECLS if needed
  167. * [core] Y2038: error log high-precision timestamps
  168. * [multiple] __attribute_nonnull__ now takes params
  169. * [core] bounds check while url-decoding
  170. * [mod_magnet] prefer lua_newuserdatauv() w/ lua 5.4
  171. * [core] earlier macOS need define for errno_t (fixes #3107)
  172. * [tests] force POSIX::WNOHANG() autovivification (fixes #3110)
  173. * [mod_dirlisting] sort "../" to top (fixes #3109)
  174. * [tests] force Fcntl::F_SETFD() autovivification (#3110)
  175. * [core] avoid repeated typedef for fdlog_st
  176. * [doc] update INSTALL
  177. * [mod_extforward] keep remote IP thru request reset
  178. * [core] fix HTTP/2 upload > 64k w/ max-request-size (fixes #3108)
  179. * [mod_auth] fix Basic auth passwd cache (fixes #3112)
  180. * [mod_ajp13,mod_fastcgi] comment: no response body
  181. * [mod_webdav] ignore PROPFIND Depth for files
  182. * [core] add comment to ck_memeq_const_time()
  183. * [core] accept up to 5 digit port num in host cond
  184. * [core] expose chunkqueue_remove_empty_chunks()
  185. * [core] short-circuit if response body recv w/ hdrs (fixes #3111)
  186. * [core] resched HTTP/2 streams w/ pending data (#3111)
  187. * [core] separate func for gw_authorizer_ok()
  188. * [core] make ck_memeq_const_time() more generic (#3112)
  189. * [mod_auth] revert adjustment to auth passwd cache (#3112)
  190. * [core] thwart h2c smuggling when Upgrade enabled
  191. * [core] separate funcs to check for valid chars
  192. * [core] thwart h2 request tunnelling
  193. * [core] clear shared log buffer after writes
  194. * [mod_nss] quiet trace for PR_END_OF_FILE_ERROR
  195. * [core] allow debug.log-state-handling in condition
  196. * [core] combine more dup header processing code
  197. * [mod_ajp13,mod_fastcgi] check resp w/ content len
  198. * [mod_proxy] Length Req if proxy forcing HTTP/1.0
  199. * [core] restart dead proc on connect error if local
  200. * [mod_ajp13,mod_fastcgi] recv_parse smaller funcs
  201. * [multiple] warn deprecated mods slated for removal
  202. * [core] remove redundant checks in same context
  203. * [core] tighten chunkqueue_steal* code; better asm
  204. * [build] check for preadv(), pwritev()
  205. * [core] pwritev w/ chunkqueue_steal_with_tempfiles
  206. * [core] tighten chunkqueue_mark_written; better asm
  207. * [doc] uncomment mod_auth load in conf.d/auth.conf
  208. * [core] tighten chunkqueue_small_resp_optim()
  209. * [core] chunkqueue_small_resp_optim if resp < 16k
  210. * [mod_auth] clear crypt() output if len >= 13
  211. * [multiple] add assert after malloc in two spots
  212. * [core] add HTTP/2 check resp finished w/ empty cq (#3111)
  213. * [core] chunkqueue_small_resp_optim() comment
  214. - 1.4.60 - 2021-10-03
  215. * [meson] add with_zstd to meson_options.txt
  216. * [mod_magnet] reject stat() of empty string (fixes #3064)
  217. * [mod_magnet] avoid infinite loop in atpanic (fixes #3065)
  218. * [mod_magnet] do not call luaL_error outside pcall (#3065)
  219. * [core] 101 upgrade fails if Content-Length incl (fixes #3063)
  220. * [mod_gnutls,mod_mbedtls] recog common cipherstring
  221. * [tests] remove stray option in test lighttpd.conf
  222. * [mod_auth] close HTTP/2 connection after bad pass
  223. * [build] fix SCons pkg-config err handling (fixes #3066)
  224. * [core] inline funcs to decode h2 framing nums (fixes #3067)
  225. * [build] use -pipe with gcc and clang
  226. * [mod_mbedtls] preproc wrap ssl_parse_client_hello
  227. * [build] augment configure.ac msgs to remove FAM (#3068)
  228. * [core] allow '*' in "*:80" socket spec
  229. * [core] rename local var
  230. * [core] mark config registration funcs cold
  231. * [core] fix -fsanitize=undefined pedantic warning (fixes #3069)
  232. * [core] algo_hmac.[ch] wrapper (portability)
  233. * [mod_secdownload] use algo_hmac.[ch]
  234. * [mod_secdownload] use http_auth_const_time_memeq()
  235. * [autoconf] add ajp13 to build msgs
  236. * [mod_auth] send 401 if digest algo not supported
  237. * [mod_deflate] do not cache 206 Partial Content
  238. * [core] chunkqueue_append_cq_range()
  239. * [core] http_range.[ch] RFC 7233 Range handling
  240. * [core] RFC 7233 Range handling for non-streaming
  241. * [TLS] fix crash for (broken) nested $SERVER[] cfg
  242. * [core] ignore server.event-handler = "libev"
  243. * [mod_openssl] use newer openssl 3.0.0 interfaces
  244. * [core] quiet coverity warning
  245. * [core] http_cgi_local_redir() rename
  246. * [core] http_cgi.[ch] CGI interfaces (RFC 3875)
  247. * [core] save parsed listen addrs at startup
  248. * [core] http_cgi_encode_varname()
  249. * [core] add some ifdefs in algo_hmac.c
  250. * [core] use epoll_create1() if available
  251. * [core] adjust stat_cache_get_entry() conditions
  252. * [core] _WIN32 impl of read-only mmap(), munmap()
  253. * [core] remove stream.[ch]
  254. * [multiple] use binary '|' to reconstruct ts
  255. * [core] check EAGAIN if unix socket connect() delay
  256. * [multiple] prefer monotonic time for internal use
  257. * [core] optimize buffer_urldecode_path()
  258. * [mod_openssl] skip cert chain build if self-issued
  259. * [mod_nss] avoid NSS crash w/ config file error
  260. * [multiple] prefer monotonic time for internal use
  261. * [core] http_response_handle_cachable() optim
  262. * [core] fix chunkqueue_small_resp_optim partial rd
  263. * [core] defer pcre_compile until after config parse
  264. * [multiple] PCRE w/ PCRE_STUDY_JIT_COMPILE (fixes #2361)
  265. * [mod_dirlisting, mod_trigger_b4_dl] use keyvalue
  266. * [multiple] add attrs from gcc -Wsuggest-attribute=
  267. * [mod_gnutls] quiet clang warning
  268. * [core] http_response_physical_path_error()
  269. * [multiple] buffer_has_slash_suffix()
  270. * [core] modify path in-place checking for path-info
  271. * [multiple] optimize primitives, buffer_extend()
  272. * [multiple] do not clear physical.path if finished
  273. * [core] http_kv.[ch] perf tuning
  274. * [core] remove bad prototype from algo_splaytree.h
  275. * [multiple] mark addtl funcs attr returns_nonnull
  276. * [TLS] init STEK even if time is 1970 (fixes #3075)
  277. * [core] restart if large large clock jump detected (#3075)
  278. * [core] copy string and len directly from tmp_buf
  279. * [core] move special case for Content-Type CGI hdr
  280. * [mod_ssi] inline some buffers in ssi plugin_data
  281. * [core] use monotonic secs for piped loggers start
  282. * [mod_cml] use cached time from log_epoch_secs
  283. * [mod_dirlisting] limit buffer use for large dirs
  284. * [multiple] http_header APIs to reduce str copies
  285. * [mod_userdir] use stat_cache_path_isdir()
  286. * [mod_indexfile] reduce copying of base path
  287. * [TLS] https_add_ssl_client_verify_err()
  288. * [TLS] use stack for SSL_CLIENT_S_DN_* tag
  289. * [core] buffer_append_strftime() perf annotations
  290. * [mod_userdir] use 2-element cache
  291. * [mod_magnet] use http_chunk_* APIs
  292. * [mod_accesslog] reformat numeric timestamp
  293. * [mod_accesslog] strftime %z for numeric timestamp
  294. * [mod_accesslog] reformat numeric timestamp code
  295. * [multiple] strftime %F and %T
  296. * [mod_trigger_b4_dl] gdbm_reorganize once a day
  297. * [mod_status] double-buffer large output to tmpfile
  298. * [mod_ssi] shared code to wrap strftime()
  299. * [mod_ssi] use intermediate chunkqueue to aggregate
  300. * [multiple] pass len when copying constant strings
  301. * [core] short-circuit encoding if nothing to encode
  302. * [build] check for mempcpy()
  303. * [core] buffer_append_* aggregates
  304. * [core] config_vars_init()
  305. * [multiple] use buffer_append_* aggregates
  306. * [core] define __attribute_nonnull__
  307. * [core] mark select buffer.[ch] funcs attr nonnull
  308. * [core] mark select http_kv.[ch] funcs attr nonnull
  309. * [core] mark some chunk.h funcs attr cold
  310. * [core] remove an excess check
  311. * [core] mark debug path unlikely
  312. * [core] ignore empty headers unless pseudo-headers
  313. * [multiple] buffer_copy_path_len2() aggregate
  314. * [mod_dirlisting] process dir in subrequest handler
  315. * [mod_dirlisting] restructure and keep state
  316. * [mod_dirlisting] read dir in pieces; less blocking
  317. * [mod_dirlisting] upper limit on parallel dirlist
  318. * [mod_dirlisting] parse query string in javascript
  319. * [mod_dirlisting] dir-listing.cache option
  320. * [mod_webdav] webdav_log_xml_response()
  321. * [mod_webdav] limit mem use under extreme condition
  322. * [core] vector.h tweaks
  323. * [mod_proxy] send HTTP/1.0 to backend if no Host
  324. * [build] fix zstd option in meson (fixes #3076)
  325. * [multiple] more reuse of http_date_time_to_str()
  326. * [TLS] rename ssl.verifyclient.ca-*file options
  327. * [mod_openssl] issue error trace if < openssl 1.1.1
  328. * [mod_webdav] always define webdav_mmap_file_chunk
  329. * [mod_dirlisting] ignore error if include file fail
  330. * [multiple] quiet coverity warnings
  331. * [scons] link lighttpd with pcre for fullstatic
  332. * [scons] link lighttpd with pcre for static build
  333. * [core] exit 0 upon shutdown if no connections open
  334. * [mod_nss] define TLSv1_3 as bitflag
  335. * [core] update ls-hpack
  336. * [core] discard some HTTP/2 DATA after response (fixes #3078)
  337. * [mod_expires,mod_webdav] fix truncated date string
  338. * [mod_expire] accept time labels without plural 's'
  339. * [mod_webdav] accept alt syntax in webdav.opts
  340. * [core] recognize "enabled"/"disabled" for bool
  341. * [mod_expire] check for default if mime not found
  342. * [core] move timegm() impl inline in sys-time.h
  343. * [mod_expire] send only Cache-Control to >=HTTP/1.1
  344. * [mod_webdav] quiet pedantic compiler warning
  345. * [core] reuse code to parse backend response
  346. * [core] consistent inclusion of sys-time.h
  347. * [mod_authn_file] wipe password/digest after use
  348. * [TLS] ALPN h2 policy
  349. * [core] tolerate dup array config values if match
  350. * [multiple] static file optimization; reuse cache
  351. * [mod_staticfile] move cold paths to separate func
  352. * [build] --with-nss add test for /usr/include/nspr4
  353. * [core] li_base64_decode similar to li_to_base64
  354. * [core] li_base64_decode mark cold code path
  355. * [core] li_to_base64 alt code to add padding
  356. * [core] buffer_append_base64_encode_opt()
  357. * [core] base64_charset enum supports only 2 tables
  358. * [core] consolidate overflow checks in li_to_base64
  359. * [mod_auth] include unistd.h for crypt() on Mac OS
  360. * [core] tighten code in request_check_hostname()
  361. * [core] merge http_response_send_file 0-size case
  362. * [mod_extforward] shared mod_extforward_bad_request
  363. * [core] http_response_send_file() mark cold paths
  364. * [core] improve HTTP/2 behavior w/ max-request-size
  365. * [tests] disable secdownload HMAC tests for NSS
  366. * [core] check for Upgrade before h2 upgrade check
  367. * [core] remove buffer_is_equal_right_len()
  368. * [core] buffer_is_equal_string -> buffer_eq_slen
  369. * [core] mark cold paths in http_response_config
  370. * [core] http_response_prepare() OPTIONS *, CONNECT
  371. * [core] mark some likely hot paths (better asm)
  372. * [core] simplify buffer_path_simplify()
  373. * [core] remove excess assertions in buffer_commit()
  374. * [core] quiet coverity noise
  375. * [mod_auth] include unistd.h for crypt() on *nix
  376. * [cmake] improve cmake detection of timegm
  377. * [cmake] update src/config.h.cmake
  378. * [core] adjust r->http_host ptr caching
  379. * [core] merge uri_raw and uri_clean hooks
  380. * [core] reorder hook enum for better mem locality
  381. * [core] remove redundant check for max_conns
  382. * [multiple] mark con->srv_socket a const ptr
  383. * [core] accept in network_server_handle_fdevent()
  384. * [mod_*_dbi] fix sqlite3_dbdir spelling in comments
  385. * [core] remove HANDLER_UNSET enum value
  386. * [core] add option to read config file from stdin
  387. * [mod_flv_streaming] check range before sending FLV
  388. * [mod_magnet] use http_chunk_append_file_ref_range
  389. * [core] range chk http_chunk_append_file_ref_range
  390. * [core] remove some (now) unused http_chunk APIs
  391. * [core] document error edge case for HTTP/1.0
  392. * [core] fix kill workers and shutdown by signal
  393. * [core] store int* ptr to common gw status counters
  394. * [tests] quite coverity warning in test_request.c
  395. * [core] tighter OS event poll loops (better asm)
  396. * [core] omit fdevent select() code if poll() avail
  397. * [core] adjust some array code (better asm)
  398. * [core] base64 encode round-up for required space
  399. * [core] base64 encode w/ reduced data dependencies
  400. * [core] merge base64 encoding to li_base64_enc()
  401. * [core] li_base64_dec() on 4 bytes at a time
  402. * [core] load padding char from base64_table
  403. * [core] remove size maint in algo_splaytree
  404. * [core] remove excess counts from print config
  405. * [core] consolidate config printing code
  406. * [core] move data_{array,integer,string} to array.c
  407. * [core] define __attribute_unused__ if needed
  408. * [core] ck.[ch] - C11 Annex K wrappers
  409. * [multiple] use thread-safe strerror where avail
  410. * [multiple] move const time cmp funcs to ck.[ch]
  411. * [multiple] rename safe_memclear() -> ck_memzero()
  412. * [multiple] http_auth_digest_hex2bin -> li_hex2bin
  413. * [mod_auth,mod_vhostdb] move helper funcs to mods
  414. * [mod_auth*] rename http_auth.* -> mod_auth_api.*
  415. * [mod_vhostdb*] rename http_vhostdb->mod_vhostdb_api
  416. * [core] comment out ck_getenv_s() (unused)
  417. * [mod_secdownload] include algo_hmac.c in mod
  418. * [core] make insert_dup an optional array method
  419. * [core] return entry from array_insert_data_at_pos
  420. * [core] network_write optimizations
  421. * [core] network_write prefer writev() over write()
  422. * [core] connection_handle_read_state mark hot case
  423. * [core] buffer_commit() optim; better asm
  424. * [TLS] write_cq_ssl defer remove_finished_chunks
  425. * [core] compare entire "/bin/sh" "-c" after execve
  426. * [core] reduce repeated work in http_cgi_headers()
  427. * [core] code reuse with array_match_value_prefix()
  428. * [build] adjustments for autotools on Mac OS X
  429. * [build] autoupdate; still autoconf 2.60 compatible
  430. * [build] MacOS linker compat
  431. * [core] http_header_hkey_get() perf (better asm)
  432. * [TLS] reset stek_rotate_ts if clock moves backward
  433. * [core] sock_addr_from_buffer_hints_numeric unused
  434. * [core] tweaks writing response header (better asm)
  435. * [core] adjust buffer use for hdr name for lshpack
  436. * [core] comment out unused part of http_etag_remix
  437. * [core] inline fam_dir_entry buffer 'name' member
  438. * [multiple] reduce redundant NULL buffer checks
  439. * [core] calculate backend host gw_hash at startup
  440. * [core] gw_host_get() comment out devel debugging
  441. * [core] request_config_reset()
  442. * [mod_magnet] inline name and etag buffers in cache
  443. * [mod_magnet] sync script load w/ stat_cache
  444. * [core] clear etag in stat_cache_get_entry_open()
  445. * [mod_auth] merge some repeated code; code reuse
  446. * [core] add iovec wrappers to sys-crypto-md.h
  447. * [core] li_base64_dec()
  448. * [multiple] use <algo>_iov() digest funcs
  449. * [mod_auth] mod_auth_digest_get()
  450. * [mod_auth] mod_auth_algorithm_parse() w/ algo len
  451. * [mod_authn_dbi] copy strings before escaping
  452. * [mod_auth] refactor mod_auth_check_digest()
  453. * [mod_auth] refactor mod_auth_check_basic()
  454. * [build] look for memcpy and define HAVE_MEMCPY
  455. * [core] buffer_path_simplify() quick(er) path
  456. * [core] reduce memcmp in http_request_parse_header
  457. * [build] look for port.h on Solaris, not sys/port.h
  458. * [core] buffer_realloc() using power-2 realloc
  459. * [core] lowercase r->http_host, r->uri.authority
  460. * [multiple] buffer_copy_string_len_lc()
  461. * [mod_magnet] cache script objects at config time
  462. * [core] move backtrace and assert macros to ck.[ch]
  463. * [core] allocate initial request pool w/ srv->conns
  464. * [mod_extforward] inline some more data structures
  465. * [mod_access] remove excess trace
  466. * [multiple] reduce use of BUFFER_INTLEN_PTR
  467. * [multiple] inline struct in con->dst_addr_buf
  468. * [core] reset large path buffers from long URLs
  469. * [core] construct file path after docroot hook
  470. * [core] avoid inlining buffer_eq_icase_ssn()
  471. * [core] order gw_proc members for packing and usage
  472. * [core] order gw_host members for packing and usage
  473. * [mod_proxy] proxy_response_headers load v earlier
  474. * [core] proxy_create_env() tweaks
  475. * [core] write_all() simpler loop; better asm
  476. * [core] http_date_time_append() convenience macro
  477. * [core] reduce excess cc inlining in http_chunk.c
  478. * [core] const buffer * in config_check_cond_nocache
  479. * [core] parse $HTTP["remote-ip"] CIDR mask at start
  480. * [core] reduce $HTTP["host"] compare str scanning
  481. * [multiple] http_method_buf()
  482. * [core] config_check_cond_nocache() xor return code
  483. * [core] refactor config_check_cond_nocache() flow
  484. * [mod_deflate] use deflate.allowed-encodings order
  485. * [mod_deflate] use ZSTD_c_strategy w/ compress lvl
  486. * [mod_deflate] deflate.params per-encoder params
  487. * [mod_deflate] use brotli quality 5 by default
  488. * [mod_deflate] improve compress.*->deflate.* remap
  489. * [mod_auth] detect and skip BWS (bad whitespace)
  490. * [core] better trace if TLS received on clear port
  491. * [core] replace strncasecmp w/ buffer_eq_icase_ssn
  492. * [tests] use generated date in HTTP If conditionals
  493. * [tests] update t/test_request.c
  494. * [tests] mv tests from request.t to test_request.c
  495. * [tests] t/test_mod_staticfile
  496. * [tests] combine *.t using tests/lighttpd.conf
  497. * [tests] combine *.t using tests/condition.conf
  498. * [tests] speed up mod-fastcgi and mod-scgi tests
  499. * [core] report Y2038 support in lighttpd -V
  500. * [autoconf] add AC_SYS_LARGEFILE for lfs
  501. * [multiple] Y2038 32-bit signed time_t mitigations
  502. * [mod_deflate] use http_header_str_contains_token
  503. * [core] tune http_response_process_headers()
  504. * [core] use CLOCK_MONOTONIC_COARSE where available
  505. * [core] log_clock_gettime->clock_gettime for 64-bit
  506. * [core] Y2038: use _TIME_BITS=64 on 32-bit glibc
  507. * [core] define _DEFAULT_SOURCE in first.h
  508. * [build] check for sys/filio.h in CMake and meson
  509. * [core] quiet compiler warnings
  510. * [mod_openssl] no ALPN fatal error w/ mod_sockproxy (fixes #3081)
  511. * [core] make missing mod_deflate not a fatal error
  512. * [core] store time for last r/w to a backend socket
  513. * [core] gw_backend_error() shared code
  514. * [core] connect, write, read timeouts on backends (fixes #3086)
  515. * [doc] https://wiki.lighttpd.net/Docs_Performance
  516. * [core] tweak buffer merging to reduce mem
  517. * [core] chunkqueue_append_buffer always clears buf
  518. * [core] http_response_append_{buffer,mem}()
  519. * [core] improve handling of suboptimal backend wr
  520. * [core] http_response_read() indicate resp finished
  521. * [mod_cgi] cgi.limits "read-timeout" "write-timeout" (#3086)
  522. * [core] clarify error message in gw_backend.c
  523. * [core] set min srv->max_fds = 32 (sanity check)
  524. * [core] adjust server overload check
  525. * [core] free fdwaitqueue list when empty
  526. * [core] adjust srv->srvconf.max_conns at startup
  527. * [core] conns_pool separate from conns list (#3084)
  528. * [build] update ax_prog_cc_for_build.m4
  529. * [core] add wolfssl-specific include
  530. * [core] rename srv->max_conns -> srv->lim_conns
  531. * [core] change srv->conns to doubly-linked-list
  532. * [core] change con joblist to singly-linked-list
  533. * [core] remove connection_list_append()
  534. * [core] clear request,connection pools every 64 sec (#3084)
  535. * [mod_wolfssl] wolfSSL_sk_X509_NAME_push change
  536. * [core] clarify an error message
  537. * [core] reduce optim inline of cold funcs
  538. * [core] remove HANDLER_WAIT_FOR_FD
  539. * [mod_cgi] reuse chunk buffers
  540. * [mod_cgi] use linked list for process list
  541. * [mod_uploadprogress] use splay_tree for req list
  542. * [multiple] remove base.h include where not used
  543. * [mod_indexfile] section into subroutines
  544. * [mod_extforward] HAProxy PROXY env PP2_UNIQUE_ID
  545. * [mod_magnet] reuse lighty lua table
  546. * [core] li_hmac_sha512()
  547. * [mod_magnet] expose md and hmac funcs to lua
  548. * [mod_magnet] allow modification of request headers
  549. * [mod_magnet] lighty.stat now returns userdata obj
  550. * [mod_magnet] protect and control lighty table mod
  551. * [mod_magnet] expose enc/dec str funcs to lua
  552. * [mod_magnet] look up env id by strlen, then strcmp
  553. * [core] reuse some cold duplicate hdr match code
  554. * [core] use mod name in trace instead of mod_gw
  555. * [mod_magnet] lighty.r.* interfaces to request
  556. * [core] refuse excess h2 streams at con start (fixes #3093)
  557. * [mod_magnet] lighty.c.cookie_tokens
  558. * [mod_magnet] lighty.c.readdir
  559. * [mod_magnet] use blank str for nil (do not panic)
  560. * [mod_magnet] rename magnet_cgi_ to magnet_envvar_
  561. * [mod_magnet] reset config cache for uri components
  562. * [mod_magnet] reset config cache for remote addr
  563. * [core] sock_addr_set_port()
  564. * [mod_magnet] attrs for remote port and server port
  565. * [mod_magnet] detect MAGNET_RESTART_REQUEST loops
  566. * [mod_magnet] ignore 1xx return in response start
  567. * [mod_echo] test module to echo request as response
  568. * [core] base64url pad char is '='; change from '.'
  569. * [mod_cgi] improve CGI offloading
  570. * [mod_openssl] default disable client renegotiation
  571. * [core] log_error_multiline()
  572. * [tests] t/test_mod_indexfile
  573. * [tests] IO::Socket::INET->new( Timeout => 1 )
  574. * [mod_indexfile] update path with buffer path funcs
  575. * [tests] move tests/docroot/www contents up 1 level
  576. * [build] look for malloc.h and mallopt()
  577. * [core] config mallopt(M_ARENA_MAX, 2) (#3084)
  578. * [core] periodically malloc_trim() to release mem (fixes #3084)
  579. * [build] propagate HAVE_DLFCN_H in builds
  580. * [core] cfg server.bindhost after $SERVER["socket"]
  581. * [core] TCP_CORK w/ MEM_CHUNK then FILE_CHUNK
  582. * [core] remove server.upload-temp-file-size limit
  583. * [core] expose ck_bt() for debugging
  584. * [core] change backtrace format to put addr first
  585. * [core] reduce stack use in main()
  586. * [core] write all cq MEM_CHUNK if spill to tempfile
  587. * [core] realloc buffer power-2 size + 1 for '\0'
  588. * [mod_cgi] cgi.limits "tcp-fin-propagate" => "SIG"
  589. * [core] consolidate more gw_host, gw_proc init code
  590. * [core] mark cold more gateway maintenance code
  591. * [core] reduce wait time in gw_spawn_connection()
  592. * [core] remove redundant waitpid() on each backend
  593. * [multiple] quiet coverity warnings
  594. * [build] define rsize_t on FreeBSD
  595. * [core] quiet coverity warnings
  596. * [tests] skip time-sensitive test during CI testing
  597. * [core] clear buffer after backend dechunk
  598. * [core] update comment about server.max-write-idle
  599. * [core] fdlog.[ch]; fdevent_*_logger_* -> fdlog_*
  600. * [multiple] de-dup file and piped loggers (fixes #3101)
  601. * [multiple] prefer r->tmp_buf to p->tmp_buf
  602. * [core] shared temp buffer for log_*error*()
  603. * [core] refuse excess initial streams only if block (fixes #3100)
  604. * [core] quiet coverity warnings
  605. * [core] reject HTTP/2 pseudo-header in trailers (#3102)
  606. * [core] remove redundant check in h2_recv_headers()
  607. * [core] reduce oversized mem alloc for backends
  608. * [core] HTTP/2 GOAWAY after timeout before read (fixes #3102)
  609. * [core] default backend "connect-timeout" to 8 (#3086)
  610. * [core] HTTP/2 GOAWAY after timeout before read (#3102)
  611. * [core] mark attr malloc, returns nonnull
  612. * [core] separate mem pool for FILE_CHUNK reuse
  613. * [core] retain largest chunk on oversized chunk lst
  614. * [core] improve chunk buffer reuse from backends
  615. * [multiple] internal control for backend read bytes
  616. * [core] option: errorlog high precision timestamps
  617. * [core] create temp file name in chunk buffer
  618. * [core] chunkqueue_get_append_newtempfile()
  619. * [core] remove redundant checks for tempfile chunk
  620. * [multiple] fdevent_mkostemp()
  621. * [build] check for pread(), pwrite(), splice()
  622. * [multiple] _WIN32 fdevent_pipe_cloexec()
  623. * [core] _WIN32 impl of fdevent_mkostemp()
  624. * [multiple] check feature flags funcs; code reuse
  625. * [multiple] avoid empty chunks in chunkqueue
  626. * [core] splice() data from backends to tempfiles
  627. * [core] fix chunked decoding from backend (#3044, #3046)
  628. * [core] remove obsolete comment about r->gw_dechunk
  629. * [core] improve chunk buffer reuse from backends
  630. * [mod_cgi] improve chunk buffer reuse from backends
  631. * [core] disable streaming response with authorizer (fixes #3106)
  632. * [multiple] clarify error msg when no cert avail
  633. * [core] disable server.graceful-restart-bg if spawn
  634. * [tests] ignore SIGINT, SIGUSR1 in fcgi-responder
  635. * [core] cap size of data framed for HTTP/2 response
  636. * [core] fix typo in h2_send_cqdata()
  637. * [core] use pread() to skip lseek()
  638. * [core] h2_send_cqdata() returns how much data sent
  639. * [core] allow up to 32k of data frames per stream
  640. * [core] limit initial response header backend read
  641. * [core] read files into mem when framed for HTTP/2
  642. * [core] chunkqueue_mmap_chunk_len() for code reuse
  643. * [core] chunkqueue_peek_data() mmap experiment
  644. * [core] quiet coverity warnings
  645. * [core] portability tweaks for various platforms/cc
  646. * [core] fix chunked decoding from backend (#3044, #3046)
  647. * [doc] update config files
  648. * [mod_openssl] boringssl compat
  649. * [core] adjust indent for clarity
  650. - 1.4.59 - 2021-02-02
  651. * [mod_webdav] hide unused funcs depending on build
  652. * [mod_mbedtls] include mbedtls/platform_util.h
  653. * [mod_mbedtls] use local strncmp_const()
  654. * [mod_gnutls] use local strncmp_const()
  655. * [mod_dirlisting] place vars closer to where used
  656. * [autotools] autoupdate; subst deprecated/obsolete
  657. * [autoconf] update ax_prog_cc_for_build.m4
  658. * [core] fix crash at shutdown w/ certain config
  659. * [tests] use ephemeral ports in tests
  660. * [mod_wolfssl] minor updates for wolfSSL v4.6.0
  661. * [doc] create-mime.conf.pl improve case handling
  662. * [mod_openssl] extend ssl.openssl.ssl-conf-cmd
  663. * [mod_extforward] config warning for module order
  664. * [mod_extforward] fix extforward.headers defaults (fixes #3051)
  665. * [multiple] use HTTP_HEADER_* enum before strcmp
  666. * [multiple] replace buffer_is_equal_caseless_string
  667. * [mod_dirlisting] quiet coverity false positive
  668. * [doc] create-mime.conf.pl improve case handling
  669. * [autoconf] fix LT_INIT syntax
  670. * [doc] create-mime.conf.pl -v for warnings
  671. * [core] fix crash in error trace if backend is down (fixes #3052)
  672. * [doc] create-mime.conf.pl -v silent for mult vnd
  673. * [mod_openssl] update LIBRESSL_VERSION_NUMBER check
  674. * [multiple] fix: honor CipherString for alt TLS lib
  675. * [mod_openssl] set Ciphersuites once API available
  676. * [mod_dirlisting] use fdopendir(), fstatat()
  677. * [mod_deflate] support Accept-Encoding: zstd
  678. * [mod_deflate] use zstd streaming API
  679. * [mod_dirlisting] hide unused variable on MacOS
  680. * [doc] add --with-zstd to INSTALL
  681. * [mod_access] mark mod_access_check attribute pure
  682. * [core] add decls in connections.h
  683. * [build] update scripts/ci-build.sh
  684. * [core] check ifdef WOLFSSL_SHA512 for SHA512 avail
  685. * [build] scripts/ci-build.sh --with-nettle
  686. * [mod_openssl] update LIBRESSL_VERSION_NUMBER check
  687. * [build] scripts/ci-build.sh w/o --with-wolfssl
  688. * [build] scripts/ci-build.sh adjustments
  689. * [build] fix typo in src/CMakeLists.txt
  690. * [build] adjust mbedtls vars in src/CMakeLists.txt
  691. * [build] scripts/ci-build.sh adjustments
  692. * [build] adjust crypto vars in src/CMakeLists.txt
  693. * [core] avoid multiple definition of SHA512_CTX
  694. * [build] adjust crypto vars in src/CMakeLists.txt
  695. * [mod_alias] modify r->physical.path in place
  696. * [build] scripts/ci-build.sh add --with-maxminddb
  697. * build] scripts/ci-build.sh remove --with-maxminddb
  698. * [mod_deflate] use zstd typedefs (minor cleanup)
  699. * [mod_deflate] compat with zstd < v1.4.0
  700. * [multiple] fix coverity warnings
  701. * [multiple] fix TLS config string parsing
  702. * [mod_gnutls] fix ssl.ca_dn_file data access
  703. * [mod_wolfssl] wipe ssl_pemfile_pkey before free()
  704. * [mod_wolfssl] fix syntax errors
  705. * [multiple] fix TLS config string parsing
  706. * [mod_gnutls] fix alt code for coverity
  707. * [core] check more carefully after SSL_WANT_WRITE
  708. * [core] fix 100% CPU spin if traffic limit hit
  709. * [core] skip interest in POLLRDHUP after POLLRDHUP (#3059)
  710. * [TLS] detect expired stapling file at startup (fixes #3056)
  711. * [multiple] avoid duplicate parsing in trigger func (#3056)
  712. * [multiple] quiet some clang-analyzer warnings
  713. * [core] enable HTTP/2 by default
  714. * [mod_ajp13] AJPv13 Tomcat connector for lighttpd
  715. * [core] const data_unset *array_get_element_klen()
  716. * [core] tighten struct data_config and related code
  717. * [core] fix merging large headers across mult reads (fixes #3059)
  718. * [mod_gnutls,mod_mbedtls] recog common cipherstring
  719. * [build] fix typo in SConstruct (fixes #3061)
  720. * [mod_wolfssl] wolfSSL might repeat SNI_Callback()
  721. * [TLS] fix invalid cfg warning
  722. * [mod_openssl] fix acme-tls/1 challenge bootstrap
  723. * [TLS] set r->uri.authority empty str upon accept()
  724. * [mod_gnutls] fix acme-tls/1 challenge bootstrap
  725. * [mod_nss] fix acme-tls/1 challenge bootstrap
  726. * [mod_wolfssl] copy stapling buf for OCSP resp
  727. * [mod_mbedtls] fix acme-tls/1 challenge bootstrap
  728. * [mod_mbedtls] fix acme-tls/1 challenge bootstrap
  729. * [mod_cgi] fix assert if empty X-Sendfile path (fixes #3062)
  730. * [mod_mbedtls] restore ALPN chk after client hello
  731. * [core] re-validate h2 CONTINUATION frame len in cq
  732. * [mod_mbedtls] remove redundant condition check
  733. * [core] quiet coverity warning
  734. - 1.4.58 - 2020-12-27
  735. * [mod_wolfssl] use wolfSSL TLS version defines
  736. * [mod_wolfssl] compile with earlier wolfSSL vers
  737. * [tests] collect code for "die-at-end" tests
  738. * [tests] remove FastCGI test dependency on libfcgi
  739. * [core] prefer IPv6+IPv4 func vs IPv4-specific func
  740. * [tests] remove FastCGI test dependency on PHP
  741. * [core] reuse large mem chunks (fix mem usage) (fixes #3033)
  742. * [core] add comment for FastCGI mem use in hctx->rb (#3033)
  743. * [mod_proxy] fix sending of initial reqbody chunked
  744. * [multiple] fdevent_waitpid() wrapper
  745. * [core] sys-time.h - localtime_r,gmtime_r macros
  746. * [core] http_date.[ch] encapsulate HTTP-date parse
  747. * [core] specialized strptime() for HTTP date fmts
  748. * [multiple] employ http_date.h, sys-time.h
  749. * [core] http_date_timegm() (portable timegm())
  750. * buffer_append_path_len() to join paths
  751. * [core] inet_ntop_cache -> sock_addr_cache
  752. * [tests] slight speed up checking for server ready
  753. * [tests] load required modules in alt .conf tests
  754. * [multiple] etag.[ch] -> http_etag.[ch]; better imp
  755. * [core] fix crash after specific err in config file
  756. * [core] fix bug in FastCGI uploads (#3033)
  757. * [tests] OpenBSD crypt() support limited to bcrypt
  758. * [core] http_response_match_if_range()
  759. * [mod_webdav] typedef off_t loff_t for FreeBSD
  760. * [multiple] chunkqueue_write_chunk()
  761. * [build] add GNUMAKEFLAGS=--no-print-directory
  762. * [tests] consolidate some tests/ content
  763. * [core] fix bug in read retry found by coverity
  764. - 1.4.57 - 2020-12-17
  765. * [core] attempt to quiet some coverity warnings
  766. * [mod_webdav] compile fix for Mac OSX/11
  767. * [core] handle U+00A0 in config parser
  768. * [core] fix lighttpd -1 one-shot with pipes
  769. * [core] quiet start/shutdown trace in one-shot mode
  770. * [core] allow keep-alives in one-shot mode (#3042)
  771. * [mod_webdav] define _ATFILE_SOURCE if AT_FDCWD
  772. * [core] setsockopt IPV6_V6ONLY if server.v4mapped
  773. * [build] fix meson.build when building all TLS mods
  774. * [core] prefer inet_aton() over inet_addr()
  775. * [build] fix SCons build when building all TLS mods
  776. * [core] add missing mod_wolfssl to ssl compat list
  777. * [mod_openssl] remove ancient preprocessor logic
  778. * [core] SHA512_Init, SHA512_Update, SHA512_Final
  779. * [mod_wolfssl] add complex preproc logic for SNI
  780. * [core] wrap a macro value with parens
  781. * [core] fix handling chunked response from backend (fixes #3044)
  782. * [core] always set file.fd = -1 on FILE_CHUNK reset (fixes #3044)
  783. * [core] skip some trace if backend Upgrade (#3044)
  784. * [TLS] cert-staple.sh POSIX sh compat (fixes #3043)
  785. * [core] portability fix if st_mtime not defined
  786. * [mod_nss] portability fix
  787. * [core] warn if mod_authn_file needed in conf
  788. * [core] fix chunked decoding from backend (fixes #3044)
  789. * [core] reject excess data after chunked encoding (#3046)
  790. * [core] track chunked encoding state from backend (fixes #3046)
  791. * [core] li_restricted_strtoint64()
  792. * [core] track Content-Length from backend (fixes #3046)
  793. * [core] enhance config parsing debugging (#3047)
  794. * [core] reorder srv->config_context to match ndx (fixes #3047)
  795. * [mod_proxy] proxy.header = ("force-http10" => ...)
  796. * [mod_authn_ldap] fix crash (fixes #3048)
  797. * [mod_authn_ldap, mod_vhostdb_ldap] default cafile
  798. * [core] fix array_copy_array() sorted[]
  799. * [multiple] replace fall through comment with attr
  800. * [core] fix crash printing trace if backend is down
  801. * [core] fix decoding chunked from backend (fixes #3049)
  802. * [core] attempt to quiet some coverity warnings
  803. - 1.4.56 - 2020-11-29
  804. * [core] perf: request processing
  805. * [core] http_header_str_contains_token()
  806. * [mod_flv_streaming] parse query string w/o copying
  807. * [mod_evhost] use local array to split values
  808. * [core] remove srv->split_vals
  809. * [core] add User-Agent to http_header_e enum
  810. * [core] store struct server * in struct connection
  811. * [core] use func rc to indicate done reading header
  812. * [core] replace connection_set_state w/ assignment
  813. * [core] do not pass srv to http header parsing func
  814. * [core] cold buffer_string_prepare_append_resize()
  815. * [core] chunkqueue_compact_mem()
  816. * [core] connection_chunkqueue_compact()
  817. * [core] pass con around request, not srv and con
  818. * [core] reduce use of struct parse_header_state
  819. * [core] perf: HTTP header parsing using \n offsets
  820. * [core] no need to pass srv to connection_set_state
  821. * [core] perf: connection_read_header_more()
  822. * [core] perf: connection_read_header_hoff() hot
  823. * [core] inline connection_read_header()
  824. * [core] pass ptr to http_request_parse()
  825. * [core] more 'const' in request.c prototypes
  826. * [core] handle common case of alnum or - field-name
  827. * [mod_extforward] simplify code: use light_isxdigit
  828. * [core] perf: array.c performance enhancements
  829. * [core] mark some data_* funcs cold
  830. * [core] http_header.c internal inline funcs
  831. * [core] remove unused array_reset()
  832. * [core] prefer uint32_t to size_t in base.h
  833. * [core] uint32_t for struct buffer sizes
  834. * [core] remove unused members of struct server
  835. * [core] short-circuit path to clear request.headers
  836. * [core] array keys are non-empty in key-value list
  837. * [core] keep a->data[] sorted; remove a->sorted[]
  838. * [core] __attribute_returns_nonnull__
  839. * [core] differentiate array_get_* for ro and rw
  840. * [core] (const buffer *) in (struct burl_parts_t)
  841. * [core] (const buffer *) for con->server_name
  842. * [core] perf: initialize con->conf using memcpy()
  843. * [core] run config_setup_connection() fewer times
  844. * [core] isolate data_config.c, vector.c
  845. * [core] treat con->conditional_is_valid as bitfield
  846. * [core] http_header_hkey_get() over const array
  847. * [core] inline buffer as part of DATA_UNSET key
  848. * [core] inline buffer key for *_patch_connection()
  849. * [core] (data_unset *) from array_get_element_klen
  850. * [core] inline buffer as part of data_string value
  851. * [core] add const to callers of http_header_*_get()
  852. * [core] inline array as part of data_array value
  853. * [core] const char *op in data_config
  854. * [core] buffer string in data_config
  855. * [core] streamline config_check_cond()
  856. * [core] keep a->data[] sorted (REVERT)
  857. * [core] array a->sorted[] as ptrs rather than pos
  858. * [core] inline header and env arrays into con
  859. * [mod_accesslog] avoid alloc for parsing cookie val
  860. * [core] simpler config_check_cond()
  861. * [mod_redirect,mod_rewrite] store context_ndx
  862. * [core] const char *name in struct plugin
  863. * [core] srv->plugin_slots as compact list
  864. * [core] rearrange server_config, server members
  865. * [core] macros CONST_LEN_STR and CONST_STR_LEN
  866. * [core] struct plugin_data_base
  867. * [core] improve condition caching perf
  868. * [core] config_plugin_values_init() new interface
  869. * [mod_access] use config_plugin_values_init()
  870. * [core] (const buffer *) from strftime_cache_get()
  871. * [core] mv config_setup_connection to connections.c
  872. * [core] use (const char *) in config file parsing
  873. * [mod_staticfile] use config_plugin_values_init()
  874. * [mod_skeleton] use config_plugin_values_init()
  875. * [mod_setenv] use config_plugin_values_init()
  876. * [mod_alias] use config_plugin_values_init()
  877. * [mod_indexfile] use config_plugin_values_init()
  878. * [mod_expire] use config_plugin_values_init()
  879. * [mod_flv_streaming] use config_plugin_values_init()
  880. * [mod_magnet] use config_plugin_values_init()
  881. * [mod_usertrack] use config_plugin_values_init()
  882. * [mod_userdir] split policy from userdir path build
  883. * [mod_userdir] use config_plugin_values_init()
  884. * [mod_ssi] use config_plugin_values_init()
  885. * [mod_uploadprogress] use config_plugin_values_init()
  886. * [mod_status] use config_plugin_values_init()
  887. * [mod_cml] use config_plugin_values_init()
  888. * [mod_secdownload] use config_plugin_values_init()
  889. * [mod_geoip] use config_plugin_values_init()
  890. * [mod_evasive] use config_plugin_values_init()
  891. * [mod_trigger_b4_dl] use config_plugin_values_init()
  892. * [mod_accesslog] use config_plugin_values_init()
  893. * [mod_simple_vhost] use config_plugin_values_init()
  894. * [mod_evhost] use config_plugin_values_init()
  895. * [mod_vhostdb*] use config_plugin_values_init()
  896. * [mod_mysql_vhost] use config_plugin_values_init()
  897. * [mod_maxminddb] use config_plugin_values_init()
  898. * [mod_auth*] use config_plugin_values_init()
  899. * [mod_deflate] use config_plugin_values_init()
  900. * [mod_compress] use config_plugin_values_init()
  901. * [core] add xsendfile* check if xdocroot is NULL
  902. * [mod_cgi] use config_plugin_values_init()
  903. * [mod_dirlisting] use config_plugin_values_init()
  904. * [mod_extforward] use config_plugin_values_init()
  905. * [mod_webdav] use config_plugin_values_init()
  906. * [core] store addtl data in pcre_keyvalue_buffer
  907. * [mod_redirect] use config_plugin_values_init()
  908. * [mod_rewrite] use config_plugin_values_init()
  909. * [mod_rrdtool] use config_plugin_values_init()
  910. * [multiple] gw_backends config_plugin_values_init()
  911. * [core] config_get_config_cond_info()
  912. * [mod_openssl] use config_plugin_values_init()
  913. * [core] use config_plugin_values_init()
  914. * [core] collect more config logic into configfile.c
  915. * [core] config_plugin_values_init_block()
  916. * [core] gw_backend config_plugin_values_init_block
  917. * [core] remove old config_insert_values_*() funcs
  918. * [multiple] plugin.c handles common FREE_FUNC code
  919. * [core] run all trigger and sighup handlers
  920. * [mod_wstunnel] change DEBUG_LOG to use log_error()
  921. * [core] stat_cache_path_contains_symlink use errh
  922. * [core] isolate use of data_config, configfile.h
  923. * [core] split cond cache from cond matches
  924. * [mod_auth] inline arrays in http_auth_require_t
  925. * [core] array_init() arg for initial size
  926. * [core] gw_exts_clear_check_local()
  927. * [core] gw_backend less pointer chasing
  928. * [core] connection_handle_errdoc() separate func
  929. * [multiple] prefer (connection *) to (srv *)
  930. * [core] create http chunk header on the stack
  931. * [multiple] connection hooks no longer get (srv *)
  932. * [multiple] plugin_stats array
  933. * [core] read up-to fixed size chunk before fionread
  934. * [core] default chunk size 8k (was 4k)
  935. * [core] pass con around gw_backend instead of srv
  936. * [core] log_error_multiline_buffer()
  937. * [multiple] reduce direct use of srv->cur_ts
  938. * [multiple] extern log_epoch_secs
  939. * [multiple] reduce direct use of srv->errh
  940. * [multiple] stat_cache singleton
  941. * [mod_expire] parse config into structured data
  942. * [multiple] generic config array type checking
  943. * [multiple] rename r to rc rv rd wr to be different
  944. * [core] (minor) config_plugin_keys_t data packing
  945. * [core] inline buffer in log_error_st errh
  946. * [multiple] store srv->tmp_buf in tb var
  947. * [multiple] quiet clang compiler warnings
  948. * [core] http_status_set_error_close()
  949. * [core] http_request_host_policy w/ http_parseopts
  950. * [multiple] con->proto_default_port
  951. * [core] store log filename in (log_error_st *)
  952. * [core] separate log_error_open* funcs
  953. * [core] fdevent uses uint32_t instead of size_t
  954. * [mod_webdav] large buffer reuse
  955. * [mod_accesslog] flush file log buffer at 8k size
  956. * [core] include settings.h where used
  957. * [core] static buffers for mtime_cache
  958. * [core] convenience macros to check req methods
  959. * [core] support multiple error logs
  960. * [multiple] omit passing srv to fdevent_handler
  961. * [core] remove unused arg to fdevent_fcntl_set_nb*
  962. * [core] slightly simpify server_(over)load_check()
  963. * [core] isolate fdevent subsystem
  964. * [core] isolate stat_cache subsystem
  965. * [core] remove include base.h where unused
  966. * [core] restart dead piped loggers every 64 sec
  967. * [mod_webdav] use copy_file_range() if available
  968. * [core] perf: buffer copy and append
  969. * [core] copy some srv->srvconf into con->conf
  970. * [core] move keep_alive flag into request_st
  971. * [core] pass scheme port to http_request_parse()
  972. * [core] pass http_parseopts around request.c
  973. * [core] rename specific_config to request_config
  974. * [core] move request_st,request_config to request.h
  975. * [core] pass (request_st *) to request.c funcs
  976. * [core] remove unused request_st member 'request'
  977. * [core] rename content_length to reqbody_length
  978. * [core] t/test_request.c using (request_st *)
  979. * [core] (const connection *) in http_header_*_get()
  980. * [mod_accesslog] log_access_record() fmt log record
  981. * [core] move request start ts into (request_st *)
  982. * [core] move addtl request-specific struct members
  983. * [core] move addtl request-specific struct members
  984. * [core] move plugin_ctx into (request_st *)
  985. * [core] move addtl request-specific struct members
  986. * [core] move request state into (request_st *)
  987. * [core] store (plugin *) in p->data
  988. * [core] store subrequest_handler instead of mode
  989. * [multiple] copy small struct instead of memcpy()
  990. * [multiple] split con, request (very large change)
  991. * [core] r->uri.path always set, though might be ""
  992. * [core] C99 restrict on some base funcs
  993. * [tests] stub out config funcs in test_mod_*
  994. * [tests] t/test_mod_userdir
  995. * [core] dispatch handler in handle_request func
  996. * [core] http_request_parse_target()
  997. * [mod_magnet] modify r->target with "uri.path-raw"
  998. * [core] remove r->uri.path_raw; generate as needed
  999. * [core] http_response_comeback()
  1000. * [core] http_response_config()
  1001. * [tests] use buffer_eq_slen() for str comparison
  1002. * [core] http_status_append() short-circuit 200 OK
  1003. * [core] mark some chunk.c funcs as pure
  1004. * [core] use uint32_t in http_header.[ch]
  1005. * [core] perf: tighten some code in some hot paths
  1006. * [core] parse header label before end of line
  1007. * [doc] add link to wiki in doc/outdated/ssl.txt
  1008. * [doc] src/t/README
  1009. * [mod_auth] "nonce_secret" option to validate nonce (fixes #2976)
  1010. * [build] fix build on MacOS X Tiger
  1011. * [doc] lighttpd.conf: lighttpd choose event-handler
  1012. * [config] blank server.tag if whitespace-only
  1013. * [mod_proxy] stream request using HTTP/1.1 chunked (fixes #3006)
  1014. * [multiple] correct misspellings in comments
  1015. * [multiple] fix some cc warnings in 32-bit, powerpc
  1016. * [tests] fix skip count in mod-fastcgi w/o php-cgi
  1017. * [multiple] ./configure --with-nettle to use Nettle
  1018. * [core] skip excess close() when FD_CLOEXEC defined
  1019. * [mod_cgi] remove redundant calls to set FD_CLOEXEC
  1020. * [core] return EINVAL if stat_cache_get_entry w/o /
  1021. * [mod_webdav] define PATH_MAX if not defined
  1022. * [mod_accesslog] process backslash-escapes in fmt
  1023. * [mod_openssl] disable cert vrfy if ALPN acme-tls/1
  1024. * [core] add seed before openssl RAND_pseudo_bytes()
  1025. * [mod_mbedtls] mbedTLS option for TLS
  1026. * [core] prefer getxattr() instead of get_attr()
  1027. * [multiple] use *(unsigned char *) with ctypes
  1028. * [mod_openssl] do not log ECONNRESET unless debug
  1029. * [mod_openssl] SSL_R_UNEXPECTED_EOF_WHILE_READING
  1030. * [mod_gnutls] GnuTLS option for TLS (fixes #109)
  1031. * [mod_openssl] rotate session ticket encryption key
  1032. * [mod_openssl] set cert from callback in 1.0.2+ (fixes #2842)
  1033. * [mod_openssl] set chains from callback in 1.0.2+ (#2842)
  1034. * [core] RFC-strict parse of Content-Length
  1035. * [build] point ./configure --help to support forum
  1036. * [core] stricter parse of numerical digits
  1037. * [multiple] add summaries to top of some modules
  1038. * [core] sys-crypto-md.h w/ inline message digest fn
  1039. * [mod_openssl] enable read-ahead, if set, after SNI
  1040. * [mod_openssl] issue warning for deprecated options
  1041. * [mod_openssl] use SSL_OP_NO_RENEGOTIATION if avail
  1042. * [mod_openssl] use openssl feature define for ALPN
  1043. * [mod_openssl] update default DH params
  1044. * [core] SecureZeroMemory() on _WIN32
  1045. * [core] safe memset calls memset() through volatile
  1046. * [doc] update comments in doc/config/modules.conf
  1047. * [core] more precise check for request stream flags
  1048. * [mod_openssl] rotate session ticket encryption key
  1049. * [mod_openssl] ssl.stek-file to specify encrypt key
  1050. * [mod_mbedtls] ssl.stek-file to specify encrypt key
  1051. * [mod_gnutls] ssl.stek-file to specify encrypt key
  1052. * [mod_openssl] disable session cache; prefer ticket
  1053. * [mod_openssl] compat with LibreSSL
  1054. * [mod_openssl] compat with WolfSSL
  1055. * [mod_openssl] set SSL_OP_PRIORITIZE_CHACHA
  1056. * [mod_openssl] move SSL_CTX curve conf to new func
  1057. * [mod_openssl] basic SSL_CONF_cmd for alt TLS libs
  1058. * [mod_openssl] OCSP stapling (fixes #2469)
  1059. * [TLS] cert-staple.sh - refresh OCSP responses (#2469)
  1060. * [mod_openssl] compat with BoringSSL
  1061. * [mod_gnutls] option to override GnuTLS priority
  1062. * [mod_gnutls] OCSP stapling (#2469)
  1063. * [mod_extforward] config warning for module order
  1064. * [mod_webdav] store webdav.opts as bitflags
  1065. * [mod_webdav] limit webdav_propfind_dir() recursion
  1066. * [mod_webdav] unsafe-propfind-follow-symlink option
  1067. * [mod_webdav] webdav.opts "propfind-depth-infinity"
  1068. * [mod_openssl] detect certs marked OCSP Must-Staple
  1069. * [mod_gnutls] detect certs marked OCSP Must-Staple
  1070. * [mod_openssl] default to set MinProtocol TLSv1.2
  1071. * [mod_nss] NSS option for TLS (fixes #1218)
  1072. * [core] fdevent_load_file() shared code
  1073. * [mod_openssl,mbedtls,gnutls,nss] fdevent_load_file
  1074. * [core] error if s->socket_perms chmod() fails
  1075. * [mod_openssl] prefer some WolfSSL native APIs
  1076. * quiet clang analyzer scan-build warnings
  1077. * [core] uint32_t is plenty large for path names
  1078. * [mod_mysql_vhost] deprecated; use mod_vhostdb_mysql
  1079. * [core] splaytree_djbhash() in splaytree.h (reuse)
  1080. * [cmake] update deps for src/t/test_*
  1081. * [cmake] update deps for src/t/test_*
  1082. * [build] remove tests/mod-userdir.t from builds
  1083. * [build] fix typo in src/Makefile.am EXTRA_DIST
  1084. * [core] remove unused mbedtls_enabled flag
  1085. * [core] store fd in srv->stdin_fd during setup
  1086. * [multiple] address coverity warnings
  1087. * [mod_webdav] fix theoretical NULL dereference
  1088. * [mod_webdav] update rc for PROPFIND allprop
  1089. * [mod_webdav] build fix: ifdef live_properties
  1090. * [multiple] address coverity warnings
  1091. * [meson] fix libmariadb dependency
  1092. * [meson] add missing libmaxminddb section
  1093. * [mod_auth,mod_vhostdb] add caching option (fixes #2805)
  1094. * [mod_authn_ldap,mod_vhostdb_ldap] add timeout opt (#2805)
  1095. * [mod_auth] accept "nonce-secret" & "nonce_secret"
  1096. * [mod_openssl] fix build warnings on MacOS X
  1097. * [core] Nettle assert()s if buffer len > digest sz
  1098. * [mod_authn_dbi] authn backend employing DBI
  1099. * [mod_authn_mysql,file] use crypt() to save stack
  1100. * [mod_vhostdb_dbi] allow strings and ints in config
  1101. * add ci-build.sh
  1102. * move ci-build.sh to scripts
  1103. * [build] build fixes for AIX
  1104. * [mod_deflate] Brotli support
  1105. * [build] bzip2 default to not-enabled in build
  1106. * [mod_deflate] fix typo in config option
  1107. * [mod_deflate] propagate errs from internal funcs
  1108. * [mod_deflate] deflate.cache-dir compressed cache
  1109. * [mod_deflate] mod_deflate subsumes mod_compress
  1110. * [doc] mod_compress -> mod_deflate
  1111. * [tests] mod_compress -> mod_deflate
  1112. * [mod_compress] remove mod_compress
  1113. * [build] add --with-brotli to CI build
  1114. * [core] server.feature-flags extensible config
  1115. * [core] con layer plugin_ctx separate from request
  1116. * [multiple] con hooks store ctx in con->plugin_ctx
  1117. * [core] separate funcs to reset (request_st *)
  1118. * [multiple] rename connection_reset hook to request
  1119. * [mod_nss] func renames for consistency
  1120. * [core] detect and reject TLS connect to cleartext
  1121. * [mod_deflate] quicker check for Content-Encoding
  1122. * [mod_openssl] read secret data w/ BIO_new_mem_buf
  1123. * [core] decode Transfer-Encoding: chunked from gw
  1124. * [mod_fastcgi] decode Transfer-Encoding: chunked
  1125. * [core] stricter parsing of POST chunked block hdr
  1126. * [mod_proxy] send HTTP/1.1 requests to backends
  1127. * [tests] test_base64.c clear buf vs reset
  1128. * [core] http_header_remove_token()
  1129. * [mod_webdav] fix inadvertent string truncation
  1130. * [core] add some missing standard includes
  1131. * [mod_extforward] attempt to quiet Coverity warning
  1132. * [mod_authn_dbi,mod_authn_mysql] fix coverity issue
  1133. * [build] fix SCons build for detection of brotli
  1134. * [build] SCons build with brotli needs -lm on *BSD
  1135. * [build] SCons build mod_deflate w/ libm for brotli
  1136. * [build] SCons brotli needs pkg-config --static
  1137. * [build] avoid accept_filter_arg compiler warning
  1138. * [build] SCons fix space/tabs inconsistency
  1139. * scons: fix check environment
  1140. * Add avahi service file under doc/avahi/
  1141. * [mod_webdav] fix fallback if linkat() fails
  1142. * [mod_proxy] do not forward Expect: 100-continue
  1143. * [core] chunkqueue_compact_mem() must upd cq->last
  1144. * [core] dlsym for FAMNoExists() for compat w/ fam
  1145. * [core] disperse settings.h to appropriate headers
  1146. * [core] inline buffer_reset()
  1147. * [mod_extforward] save proto per connection
  1148. * [mod_extforward] skip after HANDLER_COMEBACK
  1149. * [core] server.feature-flags to enable h2
  1150. * [core] HTTP_VERSION_2
  1151. * [multiple] allow TLS ALPN "h2" if "server.h2proto"
  1152. * [mod_extforward] preserve changed addr for h2 con
  1153. * [core] do not send Connection: close if h2
  1154. * [core] lowercase response hdr field names for h2
  1155. * [core] recognize status: 421 Misdirected Request
  1156. * [core] parse h2 pseudo-headers
  1157. * [core] request_headers_process()
  1158. * [core] connection_state_machine_loop()
  1159. * [core] reset connection counters per connection
  1160. * [mod_accesslog,mod_rrdtool] HTTP/2 basic accounting
  1161. * [core] connection_set_fdevent_interest()
  1162. * [core] HTTP2-Settings
  1163. * [core] adjust http_request_headers_process()
  1164. * [core] http_header_parse_hoff()
  1165. * [core] move http_request_headers_process()
  1166. * [core] reqpool.[ch] for (request_st *)
  1167. * [multiple] modules read reqbody via fn ptr
  1168. * [multiple] isolate more con code in connections.c
  1169. * [core] isolate more resp code in response.c
  1170. * [core] h2.[ch] with stub funcs (incomplete)
  1171. * [core] alternate between two joblists
  1172. * [core] connection transition to HTTP/2; incomplete
  1173. * [core] mark some error paths with attribute cold
  1174. * [core] discard 100 102 103 responses from backend
  1175. * [core] skip write throttle for 100 Continue
  1176. * [core] adjust (disabled) debug code
  1177. * [core] update comment
  1178. * [core] link in ls-hpack (EXPERIMENTAL)
  1179. * [core] HTTP/2 HPACK using LiteSpeed ls-hpack
  1180. * [core] h2_send_headers() specialized for resp hdrs
  1181. * [core] http_request_parse_header() specialized
  1182. * [core] comment possible future ls-hpack optimize
  1183. * [mod_status] separate funcs to print request table
  1184. * [mod_status] adjust to print HTTP/2 requests
  1185. * [core] redirect to dir using relative-path
  1186. * [core] ignore empty field-name from backends
  1187. * [build] fix meson build
  1188. * [mod_auth] fix crash if auth.require misconfigured (fixes #3023)
  1189. * [core] fix 1-char trunc of default server.tag
  1190. * [core] request_acquire(), request_release()
  1191. * [core] keep pool of (request_st *) for HTTP/2
  1192. * [mod_status] dedicated funcs for r->state labels
  1193. * [core] move connections_get_state to connections.c
  1194. * [core] fix crash on master after graceful restart
  1195. * [core] defer optimization to read small files
  1196. * [core] do not require '\0' term for k,v hdr parse
  1197. * [scripts] cert-staple.sh enhancements
  1198. * [core] document algorithm used in lighttpd etag
  1199. * [core] ls-hpack optimizations
  1200. * [core] fix crash on master if blank line request
  1201. * [build] fix typo in option description for wolfSSL
  1202. * [core] use djbhash in gw_backend to choose host
  1203. * [core] rename md5.[ch] to algo_md5.[ch]
  1204. * [core] move djbhash(), dekhash() to algo_md.h
  1205. * [core] rename splaytree.[ch] to algo_splaytree.[ch]
  1206. * [core] import xxHash v0.8.0
  1207. * [build] modify build, includes for xxHash v0.8.0
  1208. * [build] remove ls-hpack/deps
  1209. * [core] xxhash no inline hints; let compiler choose
  1210. * [mod_dirlisting] fix config parsing crash
  1211. * [mod_openssl] clarify trace w/ deprecated options
  1212. * [doc] refresh doc/config/*/*
  1213. * [core] code size: disable XXH64(), XXH3()
  1214. * [doc] update README and INSTALL
  1215. * [build] add to autogen.sh hint listing reqd pkgs
  1216. * [core] combine Cookie request headers with ';'
  1217. * [core] log stream id with debug.log-state-handling
  1218. * [core] set r->state in h2.c
  1219. * [mod_ssi] update chunk after shell output redirect
  1220. * [mod_webdav] preserve bytes_out when chunks merged
  1221. * [multiple] inline chunkqueue_length()
  1222. * [core] cold h2_log_response_header*() funcs
  1223. * [core] update HTTP status codes list from IANA
  1224. * [mod_wolfssl] standalone module
  1225. * [core] Content-Length in http_response_send_file()
  1226. * [core] adjust response header prep for common case
  1227. * [core] light_isupper(), light_islower()
  1228. * [core] tst,set,clr macros for r->{rqst,resp}_htags
  1229. * [core] separate http_header_e from _htags bitmask
  1230. * [core] http_header_hkey_get_lc() for HTTP/2
  1231. * [core] array.[ch] using uint32_t instead of size_t
  1232. * [core] extend (data_string *) to store header id
  1233. * [multiple] extend enum http_header_e list
  1234. * [core] http_header_e <=> lshpack_static_hdr_idx
  1235. * [core] skip ls-hpack decode work unused by lighttpd
  1236. * [TLS] error if inherit empty TLS cfg from globals
  1237. * [core] connection_check_expect_100()
  1238. * [core] support multiple 1xx responses from backend
  1239. * [core] reload c after chunkqueue_compact_mem()
  1240. * [core] relay 1xx from backend over HTTP/2
  1241. * [core] relay 1xx from backend over HTTP/1.1
  1242. * [core] chunkqueue_{peek,read}_data(), squash
  1243. * [multiple] TLS modules use chunkqueue_peek_data()
  1244. * [mod_magnet] magnet.attract-response-start-to
  1245. * [multiple] code reuse chunkqueue_peek_data()
  1246. * [core] reuse r->start_hp.tv_sec for r->start_ts
  1247. * [core] config_plugin_value_tobool() accept "0","1"
  1248. * [core] graceful and immediate restart option
  1249. * [mod_ssi] init status var before waitpid()
  1250. * [core] graceful shutdown timeout option
  1251. * [core] lighttpd -1 supports pipes (e.g. netcat)
  1252. * [core] perf adjustments to avoid load miss
  1253. * [multiple] use sock_addr_get_family in more places
  1254. * [multiple] inline chunkqueue where always alloc'd
  1255. * [core] propagate state after writing
  1256. * [core] server_run_con_queue()
  1257. * [core] defer handling FDEVENT_HUP and FDEVENT_ERR
  1258. * [core] handle unexpected EOF reading FILE_CHUNK
  1259. * [core] short-circuit connection_write_throttle()
  1260. * [core] walk queue in connection_write_chunkqueue()
  1261. * [core] connection_joblist global
  1262. * [core] be more precise checking streaming flags
  1263. * [core] fdevent_load_file_bytes()
  1264. * [TLS] use fdevent_load_file_bytes() for STEK file
  1265. * [core] allow symlinks under /dev for rand devices
  1266. * [multiple] use light_btst() for hdr existence chk
  1267. * [mod_deflate] fix potential NULL deref in err case
  1268. * [core] save errno around close() if fstat() fails
  1269. * [mod_ssi] use stat_cache_open_rdonly_fstat()
  1270. * [core] fdevent_dup_cloexec()
  1271. * [core] dup FILE_CHUNK fd when splitting FILE_CHUNK
  1272. * [core] stat_cache_path_isdir()
  1273. * [multiple] use stat_cache_path_isdir()
  1274. * [mod_mbedtls] quiet CLOSE_NOTIFY after conn reset
  1275. * [mod_gnutls] quiet CLOSE_NOTIFY after conn reset
  1276. * [core] limit num ranges in Range requests
  1277. * [core] remove unused r->content_length
  1278. * [core] http_response_parse_range() const file sz
  1279. * [core] pass open fd to http_response_parse_range
  1280. * [core] stat_cache_get_entry_open()
  1281. * [core,mod_deflate] leverage cache of open fd
  1282. * [doc] comment out config disabling Range for .pdf
  1283. * [core] coalesce nearby ranges in Range requests
  1284. * [tests] simulate slow, small packets more quickly
  1285. * [mod_fastcgi] decode chunked is cold code path
  1286. * [core] fix chunkqueue_compact_mem w/ partial chunk
  1287. * [core] alloc optim reading file, sending chunked
  1288. * [core] reuse chunkqueue_compact_mem*()
  1289. * [mod_cgi] use splice() to send input to CGI
  1290. * [multiple] ignore openssl 3.0.0 deprecation warns
  1291. * [mod_openssl] migrate ticket cb to openssl 3.0.0
  1292. * [mod_openssl] construct OSSL_PARAM on stack
  1293. * [mod_openssl] merge ssl_tlsext_ticket_key_cb impls
  1294. * [multiple] openssl 3.0.0 digest interface migrate
  1295. * [tests] detect multiple SSL/TLS/crypto providers
  1296. * [core] sys-crypto-md.h consistent interfaces
  1297. * [wolfssl] wolfSSL_CTX_set_mode differs from others
  1298. * [multiple] use NSS crypto if no other crypto avail
  1299. * [multiple] stat_cache_path_stat() for struct st
  1300. * [TLS] ignore empty "CipherString" in ssl-conf-cmd
  1301. * [multiple] remove chunk file.start member
  1302. * [core] modify use of getrlimit() to not be fatal
  1303. * [mod_webdav] add missing update to cq accounting
  1304. * [mod_webdav] update defaults after worker_init
  1305. * [mod_openssl] use newer openssl 3.0.0 func
  1306. * [core] config_plugin_value_to_int32()
  1307. * [core] minimize pause during graceful restart
  1308. * [mod_deflate] use large mmap chunks to compress
  1309. * [core] stat_cache_entry reference counting
  1310. * [core] FILE_CHUNK can hold stat_cache_entry ref
  1311. * [core] http_chunk_append_file_ref_range()
  1312. * [multiple] use http_chunk_append_file_ref()
  1313. * [core] always lseek() with shared fd
  1314. * [core] silence coverity warnings (false positives)
  1315. * [core] silence coverity warnings in ls-hpack
  1316. * [core] silence coverity warnings (another try)
  1317. * [core] fix fd sharing when splitting file chunk
  1318. * [mod_mbedtls] quiet unused variable warning
  1319. * [core] use inline funcs in sys-crypto-md.h
  1320. * [core] add missing declaration for NSS rand
  1321. * [core] init NSS lib for basic crypto algorithms
  1322. * [doc] change mod_compress refs to mod_deflate
  1323. * [doc] replace bzip2 refs with brotli
  1324. * [build] remove svnversion from versionstamp rule
  1325. * [doc] /var/run -> /run
  1326. * [multiple] test for nss includes
  1327. * [mod_nss] more nss includes fixes
  1328. * [build] more portable autogen.sh shell script
  1329. * [mod_webdav] define _NETBSD_SOURCE on NetBSD
  1330. * [core] silence coverity warnings (another try)
  1331. * [mod_mbedtls] newer mbedTLS vers support TLSv1.3
  1332. * [mod_accesslog] update defaults after cycling log
  1333. * [multiple] add some missing config cleanup
  1334. * [core] fix (startup) mem leaks in configparser.y
  1335. * [core] STAILQ_* -> SIMPLEQ_* on OpenBSD
  1336. * [tests] OpenBSD crypt() support limited to bcrypt
  1337. * [build] mark dependencies on crypto lib for MD5()
  1338. * [build] use pkg-config with wolfssl
  1339. * [mod_wolfssl] use more wolfssl/options.h defines
  1340. * [mod_wolfssl] cripple SNI if not built OPENSSL_ALL
  1341. * [mod_wolfssl] need to build --enable-alpn for ALPN
  1342. * [mod_secdownload] fix compile w/ NSS on FreeBSD
  1343. * [build] fix lib paths for GnuTLS, NSS
  1344. * [build] add --with-brotli to meson.build
  1345. * [build] CMake mod_openssl, mod_wolfssl can coexist
  1346. * [build] CMake use pkg_check_modules() w/ wolfssl
  1347. * [build] detect nss3/nss.h or nss/nss.h for NSS
  1348. * [build] WITHOUT_LIB_CRYPTO option in code
  1349. * [build] adjust meson.build for use by OpenWRT
  1350. * [mod_mbedtls] wrap addtl code in preproc defines
  1351. * [TLS] server.feature-flags "ssl.session-cache"
  1352. * [core] workaround fragile code in wolfssl types.h
  1353. * [core] move misplaced error trace to match option
  1354. * [core] adjust wolfssl workaround for another case
  1355. * [multiple] consistent order for crypto lib select
  1356. * [multiple] include mbedtls/config.h after select
  1357. * [multiple] include wolfssl/options.h after select
  1358. * [core] set NSS_VER_INCLUDE after crypto lib select
  1359. * [core] use system xxhash lib if available
  1360. * [build] fix typo in configure.ac
  1361. * [build] option to use system-provided libxxhash
  1362. * [build] meson --with-xxhash option
  1363. * [doc] refresh doc/config/conf.d/mime.conf
  1364. * [meson] add matching -I for lua lib version
  1365. * [build] prepend search for lua version 5.4
  1366. * [core] use inotify in stat_cache.[ch] on Linux
  1367. * [build] detect inotify header <sys/inotify.h>
  1368. * [mod_nss] update session ticket NSS devel comment
  1369. * [core] set last_used on rd/wr from backend (fixes #3029)
  1370. * [core] cold func for gw_recv_response error case
  1371. * [core] use kqueue() instead of FAM/gamin on *BSD
  1372. * [core] no graceful-restart-bg on OpenBSD, NetBSD
  1373. * [mod_openssl] add LIBRESSL_VERSION_NUMBER checks
  1374. * [core] use struct kevent on stack in stat_cache
  1375. * [core] stat_cache preprocessor paranoia
  1376. * [mod_openssl] adjust LIBRESSL_VERSION_NUMBER check
  1377. * [mod_maxminddb] fix config validation typo
  1378. * [tests] allow LIGHTTPD_EXE_PATH override
  1379. * [multiple] handle NULL val as empty in *_env_add (fixes #3030)
  1380. * [core] accept "HTTP/2.0", "HTTP/3.0" from backends (fixes #3031)
  1381. * [build] check for xxhash in more ways
  1382. * [core] accept "HTTP/2.0", "HTTP/3.0" from backends (#3031)
  1383. * [core] http_response_buffer_append_authority()
  1384. * [core] define SHA*_DIGEST_LENGTH macros if missing
  1385. * [doc] update optional pkg dependencies in INSTALL
  1386. * [mod_alias] validate given order, not sorted order
  1387. * [core] filter out duplicate modules
  1388. * [mod_cgi] fix crash if initial write to CGI fails
  1389. * [mod_cgi] ensure tmp file open() before splice()
  1390. * [multiple] add back-pressure gw data pump (fixes #3033)
  1391. * [core] fix bug when HTTP/2 frames span chunks
  1392. * [multiple] more forgiving config str to boolean (fixes #3036)
  1393. * [core] check for __builtin_expect() availability
  1394. * [core] quiet more request parse errs unless debug
  1395. * [core] consolidate chunk size checks
  1396. * [mod_flv_streaming] use stat_cache_get_entry_open
  1397. * [mod_webdav] pass full path to webdav_unlinkat()
  1398. * [mod_webdav] fallbacks if _ATFILE_SOURCE not avail
  1399. * [mod_fastcgi] move src/fastcgi.h into src/compat/
  1400. * [mod_status] add additional HTML-encoding
  1401. * [core] server.v4mapped option
  1402. * [mod_webdav] workaround for gvfs dir redir bug
  1403. - 1.4.55 - 2020-01-31
  1404. * [core] fix compile error on Solaris (fixes #2959)
  1405. * [core] __attribute_pure__
  1406. * [core] array-specialized buffer_caseless_compare()
  1407. * [core] specialized buffer_eq_*() for short strings
  1408. * [core] mark some more funcs w/ __attribute_pure__
  1409. * [core] use buffer_eq_icase* funcs
  1410. * [multiple] replace strcasecmp() on short strings
  1411. * [core] mark some more funcs w/ __attribute_pure__
  1412. * [mod_webdav] fix startup crash w/ multiple conds (fixes #2958)
  1413. * [core] cold func http_response_omit_header()
  1414. * [core] use buffer_eq_icase_ssn func
  1415. * [core] use buffer_eq_icase_ssn func
  1416. * [core] correct __attribute_pure__ syntax
  1417. * [core] allocate unix socket paths with SUN_LEN()+1 (fixes #2962)
  1418. * Use explicit_memset from NetBSD if available for safe_memclear (fixes #2971)
  1419. * Also use explicit_memset (NetBSD) with cmake, scons and meson
  1420. * [cmake]: enable CMAKE_POSITION_INDEPENDENT_CODE by default
  1421. * [core] improve http_headers[] data struct packing
  1422. * [core] fdevent_poll() is effective periodic timer
  1423. * [core] move con state handling to connections*.c
  1424. * [core] issue config error for invalid ':' (fixes #2980)
  1425. * [mod_deflate] fix choose encoding parse error (fixes #2981)
  1426. * [core] retry on some fdevent set/del temporary err
  1427. * [core] disable stat_cache FAM if FAM conn closed
  1428. * [mod_auth] http_auth_const_time_memeq improvement
  1429. * [build] prefer pkg-config for postgres (fixes #2965)
  1430. * [mod_authn_gssapi] 500 if fail to delegate creds (#2967)
  1431. * [mod_authn_gssapi] option to store delegated creds (fixes #2967)
  1432. * [mod_webdav] fix file uploads > 128M (fixes #2970)
  1433. * [mod_auth] do not use quoted-string for algorithm
  1434. * [mod_auth] require digest uri= match original URI
  1435. * [mod_auth] Authentication-Info: nextnonce=...
  1436. * [mod_auth] http_auth_const_time_memeq_pad()
  1437. * [mod_auth] http_auth_const_time_memeq() (#2975, #2976)
  1438. * [build] PGSQL_CFLAGS with pkg-config for postgres (#2965)
  1439. * [build] PGSQL_CFLAGS with pkg-config for postgres (#2965)
  1440. * [core] avoid freeaddrinfo() on NULL ptr (fixes #2984)
  1441. * [core] reject WS following header field-name (fixes #2985)
  1442. * [core] reject Transfer-Encoding + Content-Length (#2985)
  1443. * [mod_openssl] reject invalid ALPN
  1444. * [mod_accesslog] parse multiple cookies (fixes #2986)
  1445. * [core] Oracle Solaris does not have POLLRDHUP
  1446. * [multiple] address coverity warnings
  1447. * [core] preserve %2b and %2B in query string (fixes #2999)
  1448. * [core] fall back to accept() if accept4() EPERM (fixes #2998)
  1449. * [mod_auth] close connection after bad password
  1450. * [core] do not accept() > server.max-connections
  1451. * [core] save errno before logging if execve() fails
  1452. * [config] update /var/run -> /run for systemd
  1453. * [core] Solaris has getloadavg in sys/loadavg.h
  1454. * [build] Fix build when using nested CMake
  1455. * [core] fix one-byte OOB read (underflow)
  1456. - 1.4.54 - 2019-05-27
  1457. * [mod_evhost] handle IPv6 literal addr; add tests
  1458. * [core] separate server_main_loop() func, mark hot
  1459. * [core] mark startup/shutdown funcs cold
  1460. * [core] some server_main_loop() cleanup
  1461. * [core] fdevent_process()
  1462. * [core] srv->max_fds_lowat and srv->max_fds_hiwat
  1463. * [core] remove server.h
  1464. * [mod_staticfile] search ext array if not empty
  1465. * [core] store joblist pointer on stack
  1466. * [core] quickly clear request buffer for reuse
  1467. * [core] helper funcs for connection_state_machine()
  1468. * [core] perf: optimize connection_read_header()
  1469. * [core] parse request in connection_read_header()
  1470. * [core] log_request_header_on_error in one place
  1471. * [core] copy request only if might need for logging
  1472. * [core] make parse_request,request.request same buf
  1473. * [core] prefer buffer_caseless_compare()
  1474. * [core] pass req hdrs buffer to http_request_parse
  1475. * [core] replace con->response.keep_alive
  1476. * [core] mark log_error_write*() funcs cold
  1477. * [core] http_request_parse() mark error paths cold
  1478. * [core] lift code out of request line parse loop
  1479. * [core] get_http_method_key() match by strlen first
  1480. * [core] RFC7230 HTTP-version parse
  1481. * [mod_accesslog] attempt to reconstruct req line
  1482. * [multiple] minor: remove duplicated conditions
  1483. * [mod_deflate] honor request for x-gzip, x-bzip2
  1484. * [mod_auth] minor: adjust config validation
  1485. * [core] discard oversized trailers
  1486. * [core] no keep-alive if POLLRDHUP,empty read queue
  1487. * [core] fix gw_backend spelling of directive in err
  1488. * [multiple] reduce code dup in list resizing
  1489. * [core] con->is_ssl_sock
  1490. * [core] connection_handle_write() updates con state
  1491. * [core] skip plugins_call_cleanup if not init'ed
  1492. * [core] simpler loops to run plugin hooks
  1493. * [core] fix mixed use of srv->split_vals array (fixes #2932)
  1494. * [core] dispatch events from within event framework
  1495. * [core] don't call fd event handlers more than once, they might already be gone (fixes segfault)
  1496. * [core] poll: fdarray uses fd as index, not fde_ndx
  1497. * [core] map FDEVENT_* to OS system event frameworks
  1498. * [core] prefer memchr() over strchr()
  1499. * [core] use openssl to read,discard request body
  1500. * [mod_openssl] inherit cipherlist from global scope
  1501. * [mod_openssl] default: ssl.cipher-list = "HIGH"
  1502. * [mod_proxy] pass Content-Length to backend if > 0
  1503. * [core] config option to allow GET w/ request body
  1504. * [core] some fdevent code streamlining
  1505. * [core] remove fde_ndx member outside fdevents
  1506. * [core] remove redundant check for allow_http11
  1507. * [mod_openssl] use 16k static buffer instead of 64k
  1508. * [core] pull server load checks out of main loop
  1509. * [core] isolate fdevent processing
  1510. * [core] release empty chunk buf when nothing read
  1511. * [core] perf: pass (fdnode *) to epoll and kqueue
  1512. * [core] modify config parser to handle multiple }
  1513. * [core] pass (fdnode *) for registered fdevent fd
  1514. * [mod_auth] http_auth_digest_hex2bin()
  1515. * [mod_auth] http_auth_info_t digest abstraction
  1516. * [mod_auth] pass http_auth_require_t for 401 Unauth
  1517. * [core] no SOCK_NONBLOCK on QNX 7.0
  1518. * [mod_auth] HTTP Auth Digest algorithm=SHA-256
  1519. * [core] silence coverity warning
  1520. * [mod_magnet] fix invalid script return-type crash (fixes #2938)
  1521. * [build] remove -Wdeclaration-after-statement
  1522. * [core] pass conf.follow_symlink in more places
  1523. * [core] fix assertion with server.error-handler (fixes #2941)
  1524. * [core] extend dir redirection to take HTTP status
  1525. * [doc] minor adjust create-mime.conf.pl regex match (#2942)
  1526. * [core] __attribute__((fallthrough)) for GCC 7.0
  1527. * [core] fdevent_mkstemp_append() (shared)
  1528. * [core] off_t upload_temp_file_size
  1529. * [core] clear FDEVENT_RDHUP if no POLLRDHUP
  1530. * [mod_wstunnel] fix ping-interval for big-endian (fixes #2944)
  1531. * [core] fix abort in http-parseopts (fixes #2945)
  1532. * [core] remove repeated slashes in http-parseopts
  1533. * [core] fix 1.4.52 regression in mem use with POST (fixes #2948)
  1534. * [multiple] cleaner calloc use in SETDEFAULTS_FUNC
  1535. * [core] add const to some etag prototypes
  1536. * [core] __attribute__((format ...))
  1537. * [core] struct log_error_st for error logging
  1538. * [core] log_error, log_perror using printf-like fmt
  1539. * [core] new worker_init hook to follow parent fork
  1540. * [core] replace open() with fdevent_open_cloexec()
  1541. * [mod_webdav] major rewrite (fixes #1818)
  1542. * [core] 200 for OPTIONS /non-existent/path HTTP/1.1 (fixes #2939)
  1543. * [mod_webdav] surround Lock-Token with "<...>"
  1544. * [mod_webdav] fix uuid detection macro
  1545. * [mod_webdav] fix misbehavior on blank nodes in PROPPATCH
  1546. * [mod_webdav] clean up resources after do{}while(0)
  1547. * [mod_webdav] check If-Match, If-Unmodified-Since (#1818)
  1548. * [mod_webdav] deprecated unsafe partial PUT compat
  1549. * [mod_webdav] provide ETag in more responses
  1550. * [mod_webdav] platform portability fixes
  1551. * [mod_webdav] disable elftc_copyfile() on FreeBSD
  1552. * [mod_webdav] special-case If: (<DAV:no-lock>)
  1553. * [mod_webdav] check If-None-Match (#1818)
  1554. * [stat_cache] separate func for symlink policy chk
  1555. * [stat_cache] separate symlink pol from data struct
  1556. * [stat_cache] store entries without trailing slash
  1557. * [stat_cache] pass age param for stat cache cleanup
  1558. * [stat_cache] remove splaytree ins/del debug code
  1559. * [stat_cache] FAM: reduce string copying
  1560. * [stat_cache] FAM: check FAMNextEvent() return code
  1561. * [stat_cache] FAM: use entry hash index as userdata
  1562. * [stat_cache] FAM: improve handling modified file
  1563. * [stat_cache] FAM: ignore follow-symlink config
  1564. * [stat_cache] FAM: check hash collision before add
  1565. * [stat_cache] FAM: ignore event with no valid match
  1566. * [stat_cache] FAM: funcs to invalidate entries
  1567. * [stat_cache] interfaces to invalidate entries
  1568. * [mod_webdav] update stat_cache after file mod
  1569. * [core] use high precision stat timestamp in etag
  1570. * [scons] adjustment for static build under CentOS
  1571. * [core] emit trace using path before clearing path
  1572. * [core] http_chunk_append_file_fd()
  1573. * [multiple] open target file earlier in some cases
  1574. * [stat_cache] no longer stat() and open() for stat
  1575. * [stat_cache] FAM: improve monitoring, cache 16 sec
  1576. * [stat_cache] FAM: separate routine for FDEVENT_IN
  1577. * [stat_cache] FAM: whitespace-only change
  1578. * [mod_webdav] quiet coverity warnings
  1579. * [doc] highlight relevance of module load order (fixes #2946)
  1580. * [core] behavior change: stricter URL normalization
  1581. * [stat_cache] fix compilation error for cmake
  1582. * [cmake] help cmake on FreeBSD find sys/event.h
  1583. * [scons] help scons on FreeBSD find sys/event.h
  1584. * [build] detect FreeBSD elftc_copyfile()
  1585. * [mod_openssl] use SSL_CTX_set_client_hello_cb()
  1586. * [core] support weak etags with If-None-Match
  1587. * [core] store log_state_handling flag on stack
  1588. * [core] check if splay_tree NULL before invalidate
  1589. * [mod_webdav] workaround Microsoft-WebDAV-MiniRedir
  1590. * [mod_webdav] doc Microsoft-WebDAV-MiniRedir bugs
  1591. * [mod_webdav] invalidate parent dir in stat_cache
  1592. * [doc] systemd socket activation config example
  1593. * [core] chunkqueue perf: code reuse
  1594. * [core] chunkqueue perf: specialized buffer.h funcs
  1595. * [core] chunkqueue perf: skip opening 0-length file
  1596. * [core] chunkqueue perf: read small files into mem
  1597. * [core] buffer_reset() should not be passed NULL
  1598. * [tests] has_feature() helper func
  1599. * [tests] skip mod-secdownload HMAC-SHA1,HMAC-SHA256
  1600. * [core] use high precision stat timestamp on OS X
  1601. * [mod_magnet] expose server addr (local IP) to lua
  1602. * [core] adjust http_chunk read() retry loop
  1603. * [mod_maxminddb] MaxMind GeoIP2 support
  1604. * [mod_authn_ldap] ldap_set_option LDAP_OPT_RESTART (fixes #2940)
  1605. - 1.4.53 - 2019-01-27
  1606. * [mod_cml,mod_flv_streaming] fix NULL ptr deref
  1607. * [mod_simple_vhost] t/test_mod_simple_vhost
  1608. * [mod_evhost] split uri handler func for testing
  1609. * [mod_evhost] restructure for unit tests
  1610. * [mod_evhost] t/test_mod_evhost
  1611. * [mod_access] restructure for unit tests
  1612. * [mod_access] t/test_mod_access
  1613. * [tests] include first.h and NDEBUG early
  1614. * [core] use kill_signal for gw_proc_kill()
  1615. * [tests] t/test_keyvalue
  1616. * [tests] some test config cleanup
  1617. * [tests] update skip count in mod-fastcgi.t
  1618. * [multiple] reduce initial buffer sz if large POST (fixes #2922)
  1619. * [mod_fastcgi] fix NULL ptr deref from bugfix #2922 (fixes #2923)
  1620. * [tests] more test config cleanup
  1621. * [core] perf: incremental hash of pathname w/o copy
  1622. * [core] perf: reuse buffer to redirect to directory
  1623. * [core] do not free() reused buffer
  1624. * [core] use connected sock port in dir redirect
  1625. * [core] http_response_buffer_append_authority()
  1626. * [core] use con->server_name for dir redir
  1627. * [core] memeq compare rounded to 64, not next 1M
  1628. * [core] define MD5_DIGEST_LENGTH 16
  1629. * [mod_auth] permit additional auth backends to load
  1630. * [core] send Connection: close if reqbody not read (fixes #2924)
  1631. * [core] cache rev DNS for localhost for dir redir
  1632. * [doc/conf] resolve some mime type conflicts from debian buster, regenerate mime.conf
  1633. * [core] move winsock init to network_init()
  1634. * [core] move /dev/stdin graceful restart handling
  1635. * [core] network_srv_sockets_append() shared code
  1636. * [core] systemd socket activation support
  1637. * [build] autotools: try mysqlclient.pc and mariadb.pc (fixes #2925)
  1638. * [mod_expire] look up expire fallback "" explicitly
  1639. * [multiple] calloc match ptr type (clang --analyze)
  1640. * [multiple] quiet clang --analyze where trivial
  1641. * [mod_webdav] compare COPY, MOVE Destination scheme
  1642. * [core] con->uri.scheme is maintained lowercase
  1643. * [mod_openssl] ALPN and acme-tls/1 (fixes #2931)
  1644. * [core] Fix recursive include_shell invocations
  1645. * [mod_openssl] ssl.privkey directive (optional)
  1646. - 1.4.52 - 2018-11-28
  1647. * [mysql] MySQL 8 deprecates my_bool
  1648. * [core] typo in trace
  1649. * [build] Fix unportable test(1) operator
  1650. * [core] perf: call connection_reset() fewer times
  1651. * [core] perf: array_reset_data_strings()
  1652. * [core] perf: buffer_free_ptr() __attribute__ cold
  1653. * [core] perf: one-element cache for host normalize
  1654. * [core] perf: buffer_copy_string_len()
  1655. * [core] perf: skip redundant prepare copy calls
  1656. * [core] perf: buffer_align_size() identity if align
  1657. * [core] perf: size write buffers for reuse
  1658. * [core] perf: prepend headers directly into write q
  1659. * [core] perf: copy small strings; better buf reuse
  1660. * [core] perf: copy small strings; extend last chunk
  1661. * [core] perf: specialized func for array sorting
  1662. * [core] perf: append response directly into write q
  1663. * [core] perf: better buf reuse reading from backend
  1664. * [core] chunk.c code reuse
  1665. * [multiple] perf: write headers to backend write cq
  1666. * [multiple] perf: power-2 alloc large headers
  1667. * [multiple] perf: use larger initial backend buffer
  1668. * [core] permit env vars to be set with blank value
  1669. * [mod_fastcgi] perf: reduce data copies
  1670. * [mod_fastcgi] perf: reduce data copies
  1671. * [core] perf: chunk.c chunk pool
  1672. * [multiple] perf: reuse large buffers w/ backend
  1673. * [multiple] better packing of struct chunk
  1674. * [core] perf: inline buffer_append_string_buffer()
  1675. * [core] slightly simpler flag append to string
  1676. * [mod_cgi] perf: reuse buffers for creating CGI env
  1677. * [mod_fastcgi,mod_scgi] perf: env accumulation
  1678. * [core] Don't call RAND_cleanup with OpenSSL 1.1.x
  1679. * [mod_openssl] move SSL_shutdown() to separate func
  1680. * [mod_openssl] SSL_read before second SSL_shutdown
  1681. * [mod_cgi] perf: use stat_cache for cgi handler
  1682. * [mod_openssl] prefer using TLS_server_method()
  1683. * [mod_webdav] return 403 if file should exist
  1684. * [core] perf: chunkqueue buffers already sized up
  1685. * [core] perf: simpler buffer_string_space()
  1686. * [multiple] dynamic handlers hint backend header sz
  1687. * [core] use chunk_buf_sz instead of hard-coded num
  1688. * [multiple] perf: simplify chunkqueue_get_memory()
  1689. * [mod_wstunnel] perf: reuse large buffers
  1690. * [mod_cgi] perf: cache getenv() results at start up
  1691. * [core] fix 301 -> 302 overwrite with Location (fixes #2918)
  1692. * [core] fix setting of headers previously reset (fixes #2919)
  1693. * [mod_webdav] quiet coverity false positive
  1694. * [core] server.compat-module-load = "disable"
  1695. * [core] server.chunkqueue-chunk-sz = 4096
  1696. * [core] perf: simpler buffer_string_space() (fixed)
  1697. * [core] perf: faster HTTP pipelined requests
  1698. * [core] perf: simpler buffer_string_space() (tests)
  1699. * [mod_cgi] reset reused buffer on internal redir
  1700. * [core] clear chunk buffer upon release
  1701. * [mod_fastcgi] minor: copy packet without padding
  1702. * [mod_redirect,mod_rewrite] use server_name
  1703. * [mod_fastcgi] transfer chunks minus packet padding
  1704. * [core] separate func to reset FILE_CHUNK
  1705. * [core] perf: simple, quick buffer_clear()
  1706. * [core] perf: small improvement to encoding CGI var
  1707. * [core] perf: small improvement buffer_string_space
  1708. * [core] simpler physical path concatenation
  1709. * [mod_webdav] fix LOCK on incorrect URI path
  1710. * [mod_webdav] one fewer buffer copy for COPY,MOVE
  1711. * [core] perf: simplify buffer_move()
  1712. * [mod_cml] parse query string without modifying it
  1713. * [core] perf: buffer optimizations
  1714. * [mod_wstunnel] use buffer_string_length()
  1715. * [core] perf: inline buffer_copy_buffer()
  1716. * [core] cygwin helper func for getcwd
  1717. * [core] cygwin sample to run lighttpd under NSSM
  1718. * [core] limit con->uri.authority < 1024 octets
  1719. * [mod_webdav] separate func for each request method
  1720. * [core] reject decoded url-path without leading '/'
  1721. * [multiple] validate UTF-8 in url-decoded paths
  1722. * [mod_proxy] silence coverity false positive
  1723. * [core] fix typo
  1724. * [core] buffer_append_path_len()
  1725. * [core] quiet indexfile warning if mod not loaded
  1726. - 1.4.51 - 2018-10-14
  1727. * [core] split parsing header line into separate function
  1728. * [core] explicitly return 0 instead of constant result
  1729. * [core] header parsing: use goto for error handling
  1730. * [core,security] process headers after combining folded headers
  1731. * [core] replace folding whitespace with a single space
  1732. * [buffer] fix duplicate assert and comment
  1733. * [core] redo HTTP header line folding
  1734. * [core] parse header line strings before copying
  1735. * [core] abstraction to insert/modify response hdrs
  1736. * [core] code reuse with array_insert_key_value()
  1737. * [core] simplify parsing hdr key whitespace then :
  1738. * [core] http_request_parse_reqline() separate func
  1739. * [core] abstraction layer for HTTP header manip
  1740. * [core] code reuse with http_response_body_clear()
  1741. * [mod_proxy] fix proxy.forwarded and proxy.replace-http-host (fixes #2902)
  1742. * [mod_rewrite] fix url.rewrite-repeat and url.rewrite-if-not-file (fixes #2908)
  1743. * [core] fastcgi.h link to Open Market License (OML) (fixes #2901)
  1744. * [mod_proxy,mod_wstunnel] copy full plugin_config (fixes #2903)
  1745. * [mod_fastcgi,mod_scgi] error on oversized request (fixes #2905)
  1746. * [mod_auth] send 401 for mismatch HTTP auth scheme (fixes #2906)
  1747. * [core] code reuse array_match_*() routines
  1748. * [mod_skeleton] review and simplify
  1749. * [multiple] code reuse: employ array_match_*()
  1750. * [doc] lighttpd.service uses network-online.target
  1751. * [mod_flv_streaming] code simplifications
  1752. * [mod_authn_pam] mod_auth PAM support (fixes #688)
  1753. * [mod_sockproxy] add to build
  1754. * [core] fix include_shell on inline shell commands (fixes #2910)
  1755. * [multiple] code reuse: using array_*() funcs
  1756. * [tests] t/test_array.c
  1757. * [core] array_get_int_ptr()
  1758. * [core] more memory-efficient fn table for data_*
  1759. * [tests] #undef NDEBUG before assert.h in t/test_*
  1760. * [core] inline status_counter routines
  1761. * [core] log_failed_assert() __attribute__((cold))
  1762. * [core] http_status_append()
  1763. * [core] http_method_append()
  1764. * [core] prefer buffer_append_string_len()
  1765. * [build] fix SCons build for mod_authn_pam
  1766. * [mod_userdir] security: skip username "." and ".."
  1767. * [mod_deflate] null-check to quiet coverity warning
  1768. * [core] quiet coverity false positive
  1769. * [multiple] quiet compiler warnings --without-pcre
  1770. * [mod_secdownload] support if HMAC() is a macro
  1771. * [TLS] sys-crypto.h abstraction
  1772. * [TLS] sys-crypto.h abstraction
  1773. * [build] put request.c in common src
  1774. * [meson] build fixes for libmariadb and libsasl2
  1775. * [core] PATH_INFO calculation when basedir is "/" (fixes #2911)
  1776. * [core] better consistency in buffer_is_equal*()
  1777. * [core] fix missing param from prev commit
  1778. * [mod_openssl] no renegotiation in TLS 1.3 (fixes #2912)
  1779. * [core] reject Transfer-Encoding from proxy (#2913)
  1780. * [mod_auth] use SHA1_Init,Update,Final
  1781. * [mod_openssl] add support for wolfSSL
  1782. * [build] automake support for wolfSSL
  1783. * [build] SCons support for wolfSSL
  1784. * [build] meson support for wolfSSL
  1785. * [build] CMake support for wolfSSL
  1786. * [core] perf: buffer.c internal inlines
  1787. * [mod_openssl] wolfSSL does not support SSLv2
  1788. * [core] perf: buffer_string_append_len()
  1789. * [core] permit server.error_handler to static file
  1790. - 1.4.50 - 2018-08-13
  1791. * [mod_extforward] allow explicit IPs to be untrusted (#2860)
  1792. * [core] fix crash if 'host' empty in config (fixes #2876)
  1793. * [mod_magnet] fix regression in lighty.stat (fixes #2877)
  1794. * [core] minor code cleanup in gw_recv_response()
  1795. * [core] fix rare race condition from backends (fixes #2878)
  1796. * [mod_proxy] fix segfault in Set-Cookie reverse map (fixes #2879)
  1797. * [core] fdevent_accept_listenfd() nonblock cloexec
  1798. * [build] remove m4 AC_PATH_PROG for PKG_CONFIG
  1799. * [core] some header cleanup
  1800. * [mod_wstunnel] better Sec-WebSocket-Protocol parse
  1801. * [mod_magnet] code reuse
  1802. * [mod_magnet] reduce buffer copies
  1803. * [mod_fastcgi,mod_scgi] fastcgi.balance,scgi.balance (fixes #2882)
  1804. * [core] check if SOCK_NONBLOCK is ignored (fixes #2883)
  1805. * [core] buffer_append_string_encoded_hex_lc()
  1806. * [core] more efficient hex2int()
  1807. * [mod_secdownload] compare bin MAC instead of hex
  1808. * [core] li_tohex_lc() explicitly uses lc hex chars
  1809. * [core] buffer_append_uint_hex_lc() uses lc hex
  1810. * [core] buffer_append_string_encoded() uc hex
  1811. * [tests] reduce test_base64 brute force tests
  1812. * [tests] remove test_buffer output, except on error
  1813. * [core] check for continuation in server.tag
  1814. * [core] CONNECT must be handled before fs hooks
  1815. * [mod_redirect, mod_rewrite] code reuse (sharing)
  1816. * [core] data_config_pcre_compile,exec()
  1817. * [tests] test_request unit tests
  1818. * [core] http_kv.[ch] method, status, version str
  1819. * [core] remove unused get_http_status_body_name()
  1820. * [core] remove proc_open.[ch], reduce stdio.h use
  1821. * [tests] move src/test_*.c to src/t/
  1822. * [core] server.http-parseopts URL normalization opt (fixes #1720)
  1823. * [core] inline some buffer.[ch] routines
  1824. * [core] remove some duplicative code in log.c
  1825. * [core] debug server.log-request-header-on-error
  1826. * [mod_redirect,mod_rewrite] short-circuit earlier
  1827. * [core] fix buffer_to_upper()
  1828. * [mod_cgi] handle CGI partial response header write
  1829. * [mod_redirect,mod_rewrite] pass request URI info
  1830. * [mod_redirect,mod_rewrite] encoding options (fixes #443, fixes #911)
  1831. * [mod_redirect,mod_rewrite] fix segfault w/ invalid syntax (fixes #2892)
  1832. * [mod_fastcgi] fix memleak with FastCGI auth,resp (fixes #2894)
  1833. * [mod_alias] security: potential path traversal with specific configs
  1834. * [mod_wstunnel] quiet 32-bit compiler warnings
  1835. * [core] POLLRDHUP handling for transparent proxying
  1836. * [mod_redirect,mod_rewrite] support up to 19 match
  1837. * [core] add missing includes to quiet compiler warn
  1838. * [mod_redirect,mod_rewrite] base64url encoding opt
  1839. * [mod_rewrite] require rewrite result to begin '/'
  1840. * [core] security: use-after-free invalid Range req
  1841. * [core] reset var if FAMMonitorDirectory() fails
  1842. * [core] option to propagate TCP FIN to backend host
  1843. * mod_sockproxy - socket forwarding
  1844. * [core] workaround Coverity cov-build bug with gcc7
  1845. * [build] add missing file for test_burl
  1846. * [core] quell insignificant coverity warning
  1847. * [core] extend server.http-parseopts
  1848. * [mod_alias] security: path traversal in mod_alias (in some use cases) (fixes #2898)
  1849. * [core] security: use-after-free after invalid Range request (fixes #2899)
  1850. - 1.4.49 - 2018-03-11
  1851. * [core] adjust offset if response header blank line
  1852. * [mod_accesslog] %{canonical,local,remote}p (fixes #2840)
  1853. * [core] support POLLRDHUP, where available (#2743)
  1854. * [mod_proxy] basic support for HTTP CONNECT method (#2060)
  1855. * [mod_deflate] fix deflate of file > 2MB w/o mmap
  1856. * [core] fix segfault if tempdirs fill up (fixes #2843)
  1857. * [mod_compress,mod_deflate] try mmap MAP_PRIVATE
  1858. * [core] discard from socket using recv MSG_TRUNC
  1859. * [core] report to stderr if errorlog path ENOENT (fixes #2847)
  1860. * [core] fix base64 decode when char is unsigned (fixes #2848)
  1861. * [mod_authn_ldap] fix mem leak when ldap auth fails (fixes #2849)
  1862. * [core] warn if mod_indexfile after dynamic handler
  1863. * [core] do not reparse request if async cb
  1864. * [core] non-blocking write() to piped loggers
  1865. * [mod_openssl] minor code cleanup; reduce var scope
  1866. * [mod_openssl] elliptic curve auto selection (fixes #2833)
  1867. * [core] check for path-info forward down path
  1868. * [mod_authn_ldap] auth with ldap referrals (fixes #2846)
  1869. * [core] code cleanup: separate physical path sub
  1870. * [core] merge redirect/rewrite pattern substitution
  1871. * [core] fix POST with chunked request body (fixes #2854)
  1872. * [core] remove unused func
  1873. * [doc] minor update to *outdated* doc
  1874. * [mod_wstunnel] fix for frames larger than 64k (fixes #2858)
  1875. * [core] fix 32-bit compile POST w/ chunked request body (#2854)
  1876. * [core] add include sys/poll.h on Solaris (fixes #2859)
  1877. * [core] fix path-info calculation in git master (fixes #2861)
  1878. * [core] pass array_get_element_klen() const array *
  1879. * [core] increase stat_cache abstraction
  1880. * [core] open additional fds O_CLOEXEC
  1881. * [core] fix CONNECT w strict header parsing enabled
  1882. * [mod_extforward] CIDR support for trusted proxies (fixes #2860)
  1883. * [core] re-enable overloaded backends w/ multi wkrs
  1884. * [autoconf] reduce minimum automake version to 1.13
  1885. * [mod_auth] constant time compare plain passwords
  1886. * [mod_auth] check that digest realm matches config
  1887. * [core] fix incorrect hash algorithm impl
  1888. - 1.4.48 - 2017-11-11
  1889. * [mod_webdav] fix crash if stat fails, not ENOENT
  1890. * [core] fix build --disable-ipv6 (fixes #2832)
  1891. * [scons] Merge branch 'personal/stbuehler/scons-cleanup'
  1892. * [autobuild] Merge branch 'personal/stbuehler/autobuild-cleanup'
  1893. * [meson] new build system
  1894. * [core] fix var.CWD (regression in 1.4.46) (fixes #2835)
  1895. * [core] fix implicit wildcard IPv4 and IPv6 listen
  1896. * [autobuild] remove obsolete warning about mmap use
  1897. * [core] isolate sock_addr manipulation
  1898. * [stat_cache] remove debug code littered in file
  1899. * [core] cleanup unused ifndef
  1900. * [core] cleanup: consolidate FAM code in stat_cache
  1901. * [core] consolidate backend network write handlers
  1902. * [autobuild] allow sendfile() in cross-compile (fixes #2836)
  1903. * [core] quiet pedantic cc warning for excess comma
  1904. * [core] isolate backend fdevent handler defs
  1905. * [mod_openssl] error if ssl.engine in wrong section (fixes #2837)
  1906. * [core] fix lighttpd -1 one-shot graceful shutdown
  1907. * [mod_cgi] quiet trace if mod_cgi sends SIGTERM (fixes #2838)
  1908. * [build] fix link of test_configfile.c
  1909. * [core] quiet coverity false positive
  1910. * [mod_openssl] more pedantic check of return values
  1911. * [mod_openssl] allow specifying server cert chain (fixes #2692)
  1912. * [mod_openssl] ssl.openssl.ssl-conf-cmd (fixes #2758)
  1913. * [doc] NEWS - fix improper format line breaks
  1914. * [mod_authn_ldap] replace use of deprecated funcs
  1915. * [mod_authn_sasl] SASL auth (new) (fixes #2275)
  1916. * [mod_openssl] quiet trace from TCP probes (#2784)
  1917. * [core] fix dup typedef compiler warning
  1918. * [scons] fix various python2/3 incompatibilities
  1919. * [doc] fix doc/config/conf.d/fastcgi.conf example
  1920. - 1.4.47 - 2017-10-22
  1921. * [mod_authn_gssapi] needs -lcom_err under Darwin
  1922. * [core] stricter validation of request-URI begin
  1923. * [core] fix 1.4.46 regression in config match (fixes #2830)
  1924. * [core] normalize config addrs for != match (#2830)
  1925. * [core] normalize config addrs for eq and ne (#2830)
  1926. * [doc] use https:// URLs to .lighttpd.net resources
  1927. * [core] fix 1.4.46 regression in Last-Modified
  1928. - 1.4.46 - 2017-10-21
  1929. * [TLS] mark code that uses -lcrypto but not -lssl
  1930. * remove redundant calls to end-of-request hooks
  1931. * [mod_mysql_vhost] remove dev debug code
  1932. * [core] con interface for read/write; isolate SSL
  1933. * [core] new plugin hooks to help isolate SSL
  1934. * [mod_openssl] new module (preliminary layout)
  1935. * [core] move network_open_file_chunk() to chunk.c
  1936. * [mod_openssl] move openssl code into mod_openssl
  1937. * [mod_openssl] move openssl config into mod_openssl
  1938. * [core] move connection_read_cq() to connections.c
  1939. * [mod_geoip] call from handle_request_env hook
  1940. * [build] only mod_openssl depends on -lssl
  1941. * [mod_auth] enable optional authz if extern authn (fixes #2481)
  1942. * [mod_openssl] allow ssl.verifyclient on url paths (fixes #2245)
  1943. * [core] do not emit req/response hdrs w/ blank val
  1944. * [mod_setenv] directives to overwrite/remove hdrs (fixes #650, fixes #2295)
  1945. * [mod_secdownload] new directives modify hash path (fixes #646, fixes #1904)
  1946. * [core] move con throttling to connections-glue.c
  1947. * [core] support Expect: 100-continue with HTTP/1.1 (fixes #377, #1017, #1953, #2438)
  1948. * [mod_openssl] use TLS SNI to set host-based certs
  1949. * [mod_ssi] send #exec cmd="..." output to temp file
  1950. * [mod_scgi] tests/mod-scgi.t unit tests
  1951. * [mod_auth] support LDAP groups for HTTP auth (fixes #1817)
  1952. * [core] use getaddrinfo,inet_pton vs gethostbyname (fixes #2783)
  1953. * [mod_auth] LDAP escape username in DN and filters
  1954. * mod_vhostdb* (dbi,mysql,pgsql,ldap) (fixes #485, fixes #1936, fixes #2297)
  1955. * [mod_auth] have LDAP template replace '?'
  1956. * apply debian/patches/spelling.patch
  1957. * [core] permit connection-level state in modules
  1958. * [TLS] include <openssl/opensslv.h> in rand.c
  1959. * [core] config match w/ arbitrary HTTP request hdrs (fixes #1556)
  1960. * [mod_flv_streaming] add end pos param (fixes #1887)
  1961. * [core] X-LIGHTTPD-KBytes-per-second from backends (fixes #954)
  1962. * [core] improve accuracy of bandwidth write limits
  1963. * [core] quicker graceful shutdown
  1964. * [tests] remove unused file depending on CGI.pm
  1965. * [doc] doc/initscripts.txt (fixes #2782)
  1966. * [core] check issetugid() early in main()
  1967. * [core] combine duplicated getrlimit, network_init
  1968. * [core] move interval timer near worker event loop
  1969. * [core] initialize globals at top of main()
  1970. * [core] graceful restart with SIGUSR1 (fixes #2785)
  1971. * [mod_authn_mysql] fix minor memleak at shutdown
  1972. * [mod_rrdtool] no error if loaded but no config
  1973. * [doc] SIGUSR1 doc and lighttpd-angel SIGUSR1
  1974. * [mime.conf] add text/markdown to utf-8 list, regenerate mime.conf
  1975. * [mod_cgi] RFC3875 CGI local-redir strict adherence (#2108)
  1976. * [mod_cgi] do not send "Status" back to client
  1977. * [core] add label for 308 Permanent Redirect
  1978. * [mod_openssl] inherit ssl.* from global scope
  1979. * [core] handle if backend sends Transfer-Encoding (#2786)
  1980. * [core] use kqueue in level-triggered mode (fixes #2788)
  1981. * [mod_fastcgi,mod_scgi] backend spawn EINTR retry (#2788)
  1982. * [core] config opt to intercept dynamic handler err (fixes #974)
  1983. * [core] set default server_tag in server.c
  1984. * [core] include lighttpd vers in server started msg
  1985. * [core] move version.h logic into server.c
  1986. * [core] issue trace if max-fds too large (fixes #2789)
  1987. * [mod_fastcgi,mod_scgi] consistent waitpid handling (fixes #2791)
  1988. * [mod_cgi] fix CGI local-redir w/ url.rewrite-once (fixes #2793)
  1989. * [mod_scgi] fix unused_procs bidirectional-links
  1990. * [mod_scgi] fix potential repeated use of proc->id
  1991. * [mod_fastcgi,mod_scgi] consolidate backend process accounting (#2788)
  1992. * [mod_cgi] status 200 OK if no hdrs (deprecated) (#2786)
  1993. * [core] fix regex condition subst w/ mod_extforward (fixes #2794)
  1994. * [tests] correct skip count for mod-scgi.t
  1995. * [mod_vhostdb_ldap] fix inverted logic (coverity)
  1996. * [mod_cgi] cgi.local-redir = [enable|disable] (#2108, #2793)
  1997. * [core] $REQUEST_HEADER[...] subsumes other config (#1556)
  1998. * [mod_usertrack] usertrack.cookie-attrs config opt (fixes #2795)
  1999. * [core] default server.max-fds=4096 if unspecified (#2789)
  2000. * update .gitignore, add .gitattributes
  2001. * [core] reduce con allocation for small max_conns
  2002. * [config] more specific checks for array lists
  2003. * [mod_authn_gssapi] needs -lcom_err under cygwin
  2004. * [mod_cgi,fastcgi,scgi,proxy] fix streaming response (fixes #2796)
  2005. * [mod_auth] Digest nonce on system with time <=1978
  2006. * [doc] simple-vhost.debug takes an integer value (fixes #2797)
  2007. * [core] fix crash if invalid config file (fixes #2798)
  2008. * [core] remove unused member con->in_joblist
  2009. * [mod_proxy] remove use of con->got_response
  2010. * [core] consolidate dynamic handler response parse
  2011. * [core] remove now-unused buffer_search_string_len
  2012. * [mod_cgi] eliminate warning when compiled -Os
  2013. * [mod_scgi] do not reconnect after connect succeeds
  2014. * [tests] reduce time waiting for backends to start
  2015. * [core] server.syslog-facility (fixes #2800)
  2016. * [core] server.syslog-facility (use -1 for unset) (#2800)
  2017. * [core] allow overriding prior config values (fixes #2799)
  2018. * [mod_proxy] set Content-Length, if available
  2019. * [mod_proxy] set X-Forwarded-Host (fixes #418)
  2020. * [core] remove redundant Content-Length digit check
  2021. * [core] remove some unused header includes
  2022. * [core] use con->dst_addr_buf instead of ip recalc
  2023. * [core] include "fdevent.h" where needed
  2024. * [core] make stat_cache private to stat_cache.c
  2025. * [core] collect ioctl FIONREAD code
  2026. * [core] include <netdb.h> where needed
  2027. * [core] report file path when mkstemp() fails (fixes #2802)
  2028. * [core] export http_request_host_policy() for reuse
  2029. * [mod_extforward] simplify header search
  2030. * [mod_extforward] consolidate ipstr_to_sockaddr()
  2031. * [mod_extforward] upd scheme after ipstr validated
  2032. * [mod_extforward] rearrange code; prep Forwarded
  2033. * [mod_extforward] support Forwarded HTTP Extension (#2703)
  2034. * [mod_proxy] support Forwarded HTTP Extension (fixes #2703)
  2035. * [core] inet_pton(), inet_ntop() on (sock_addr *)
  2036. * [core] save connection-level proto in con->proto
  2037. * [mod_extforward] support HAProxy "PROXY" protocol (fixes #2804)
  2038. * [mod_extforward] fix typos in Forwarded handling
  2039. * [core] fix stat_cache initialization error
  2040. * [core] perf: stat_cache_mimetype_by_ext()
  2041. * [core] inet_ntop_cache now 4-element cache
  2042. * [mod_openssl] free local_send_buffer at exit
  2043. * [core] extend mimetype search w/o leading '.'
  2044. * [core] no SOCK_CLOEXEC on Linux kernel < 2.6.27
  2045. * [core] inline simple buffer is empty checks
  2046. * [core] buffer_substr_replace()
  2047. * [core] sys-strings.h abstraction for strings.h
  2048. * [mod_proxy] fix backslash escaping
  2049. * [core] omit default port from normalized host str
  2050. * [core] fix build issue without ipv6 support
  2051. * [core] permit strings and integers in config array
  2052. * [mod_accesslog] flag high precision ts for %T (fixes #2807)
  2053. * [core] permit strings,ints,arrays in config array
  2054. * [core] calloc plugin_config for consistent init
  2055. * [mod_proxy] simple host/url mapping in headers (fixes #152)
  2056. * [mod_uploadprogress] handle query str progress ID (fixes #2808)
  2057. * [mod_fastcgi] consolidate backend read code
  2058. * [mod_proxy,mod_scgi] fix truncated error trace
  2059. * [core] skip socket shutdown() if con->fd negative
  2060. * [core] act as transparent proxy after con Upgrade
  2061. * [core] remove redundant resets of fde_ndx
  2062. * [core] configparser: fix resource handling in error cases (fixes #2809)
  2063. * [core] fix crash for invalid syntax in config file (fixes #2810)
  2064. * [core] prep mod transitions to transparent proxy
  2065. * [mod_proxy] basic support for Upgrade: websocket (fixes #2811)
  2066. * [mod_extforward] compile on OSX
  2067. * [core] set server.max-keep-alive-requests = 100 (fixes #2205)
  2068. * [core] perf: skip redundant strlen() if len known
  2069. * [core] optional condition in config "else" clause (fixes #1268)
  2070. * [mod_cgi] basic support for Upgrade: websocket
  2071. * [core] buffer to disk streaming to slow backends
  2072. * [core] silence compiler warnings if !HAVE_FORK
  2073. * [build] -Werror if --enable-extra-warnings=error
  2074. * [build] autotools use AC_PROG_CC_STDC macro
  2075. * [mod_openssl] ssl.ca-crl-file for CRL (fixes #2319)
  2076. * [mod_openssl] ssl.ca-dn-file (fixes #2694)
  2077. * [mod_proxy] fix typo identified by coverity
  2078. * [mod_openssl] ignore client verification error if not enforced
  2079. * [mod_openssl] fix compile with openssl 1.1.0
  2080. * [mod_extforward] quiet clang compiler warning
  2081. * [mod_dirlisting] sort "../" to top of names
  2082. * [mod_openssl] safer_X509_NAME_oneline() (fixes #2693)
  2083. * [core] allow earlier plugin init for SSL/TLS
  2084. * [mod_openssl] adjust use of ssl.ca-dn-file
  2085. * [core] fix compiler warnings on Mac OS X
  2086. * [core] server.socket-perms to set perms on unix (fixes #656)
  2087. * [core] get port from sock_addr if AF_INET,AF_INET6
  2088. * [core] server.error_handler_404 X-Sendfile ENOENT (#2474)
  2089. * [core] consolidate fork()/execve() code (#1393)
  2090. * [core] mv log_error_{open,cycle.close} to server.c
  2091. * [core] rename fd_close_on_exec()
  2092. * [core] remove unused includes of stat_cache.h
  2093. * [core] add missing include of stdlib.h
  2094. * [core] reduce exposure of unistd.h, other includes
  2095. * [core] sock_addr_from_str_hints reusable name res
  2096. * [core] continue collecting use of netdb.h
  2097. * [core] continue collecting use of netdb.h
  2098. * [core] continue collecting use of netdb.h
  2099. * [core] fdevent_connect_status() shared code
  2100. * [core] add const to reduce .data segment size
  2101. * [mod_proxy] move data_fastcgi into mod_proxy.c
  2102. * [mod_proxy] store address family at config time
  2103. * [mod_fastcgi] slightly simplify counters
  2104. * [mod_fastcgi] consolidate connect() error handling
  2105. * [mod_fastcgi] set request_id in fcgi_create_env()
  2106. * [mod_fastcgi] move delayed connect() into switch()
  2107. * [mod_fastcgi,mod_scgi] consistent connect() error
  2108. * [mod_scgi] remove unused parse_response member
  2109. * [mod_fastcgi,mod_scgi] struct member consistency
  2110. * [mod_fastcgi,mod_scgi] parse bin_path at startup
  2111. * [mod_fastcgi,mod_scgi] use temp buffer for cgi_env
  2112. * [core] shared code for socket backends
  2113. * [core] spread load on socket backend procs
  2114. * [core] store sockaddr for socket backend procs
  2115. * [core] resolve DNS at startup for socket backends
  2116. * [core] adaptive spawning for socket backend procs (fixes #1162)
  2117. * quell compiler warnings for -Wimplicit-fallthrough
  2118. * [doc] update README
  2119. * [core] fdevent_cycle_logger()
  2120. * [core] reap lighttpd worker pids precisely
  2121. * [core] restart piped loggers if they exit (fixes #1393)
  2122. * [mod_webdav] PROPFIND getetag attr must match GET
  2123. * [core] consistent behavior w/ and w/o SA_SIGINFO
  2124. * [core] do not remove pid-file in test mode
  2125. * [core] add public domain SHA1() if no crypto
  2126. * [mod_wstunnel] websocket tunnel to other protocol
  2127. * [core] forward SIGHUP only to lighttpd workers
  2128. * [mod_dirlisting] treat README and HEADER as paths (fixes #2818)
  2129. * [core] set one-shot mode fd O_NONBLOCK, FD_CLOEXEC
  2130. * [core] remove fdevent fcntl_set hook
  2131. * [mod_extforward] typo in comment
  2132. * [mod_cgi] add missing #include
  2133. * [core] fix invalid sizeof() identified by coverity
  2134. * [core] add missing #include
  2135. * [core] base_decls.h to quiet compiler warnings
  2136. * [core] set socket perms after bind, before listen
  2137. * [core] warn if backend server config contains '_'
  2138. * [mod_extforward] PROXY proto and SSL_CLIENT_VERIFY
  2139. * [core] workaround for AIX mmap define
  2140. * [mod_accesslog] flush access logs every 4 seconds
  2141. * [mod_cgi] fix bug to properly exec interpreter
  2142. * [mod_fastcgi] fix return when streaming min buffer
  2143. * [core] attempt to quiet coverity false positives
  2144. * [core] attempt to quiet coverity false positives
  2145. * [core] attempt to quiet compiler warning in LEDE
  2146. * [core] SIGCHLD handle_waitpid hook for modules
  2147. * [mod_rrdtool] handle_trigger returns HANDLER_GO_ON
  2148. * [mod_openssl] ssl.read-ahead="disable" for stream
  2149. * [mod_cgi] add FDEVENT_IN upon CGI exit
  2150. * [mod_cgi] omit cgi_handle_fdevent after proc exit
  2151. * [mod_webdav] check HAVE_UUID for -luuid
  2152. * [core] adjust li_rand_pseudo* interfaces
  2153. * [mod_wstunnel] fix config parsing bug
  2154. * [core] fdevent setsockopt() helper functions
  2155. * [core] make strftime_cache_get() 16-element cache
  2156. * [core] disable Nagle if streaming to backend
  2157. * [core] fix triggered assert on HTTP chunked input (fixes #2822)
  2158. * [mod_wstunnel] fix NULL ptr deref
  2159. * [algo_sha1] fix compile break and warnings
  2160. * [lemon] fix gcc implicit-fallthrough warning
  2161. * [core] URI scheme is case-insensitive
  2162. * [network] do not append port to unix socket paths
  2163. * [unittests] consolidate base64 test code
  2164. * [core] use sun_path for addr string for AF_UNIX (fixes #2826)
  2165. * [core] cleaner code; remove goto from network.c
  2166. * [core] /dev/stdin listener for inetd wait yes
  2167. * [core] compare listen addrs after DNS resolution
  2168. * [core] inline chunkqueue_is_empty()
  2169. * [core] limit use of TCP_CORK
  2170. * [core] return from http_response_read if small rd
  2171. * [core] gateways might Upgrade con before body read
  2172. * [mod_wstunnel] set Sec-WebSocket-Protocol if bin
  2173. * [mod_wstunnel] remove invalid appended '\0'
  2174. * [core] quiet coverity warning
  2175. * [core] handle fds pending close after poll timeout (fixes #2827)
  2176. * [core] fix $REQUEST_HEADER[...] parsing in config (#1556)
  2177. * [mod_dirlisting] custom js date parse func (fixes #2823)
  2178. * [core] remove fd interest if create_env returns
  2179. * [mod_openssl] copy data for larger SSL packets
  2180. * [mod_openssl] remove erroneous SSL_set_shutdown()
  2181. * [core] permit LF to end lines if !header-strict
  2182. * [core] add back REQUEST_SCHEME for backends
  2183. * [core] remove fdevent_sched_run from fdevent_libev (#2827)
  2184. * [mod_openssl] ssl.read-ahead="disable" by default
  2185. * [core] adjust parser for valid variable expansion
  2186. * [cmake] handle WITH_WEBDAV_LOCKS option
  2187. * [cmake] fix attr header detection and linking
  2188. * [cmake] link mod_cml with memcached
  2189. * [core] reproducible build: hide __DATE__ __TIME__ (fixes #2828)
  2190. * [core] perf: more efficient fdevent_sched_run()
  2191. * [core] translate DNS to IP str for cond socket cmp
  2192. - 1.4.45 - 2017-01-14
  2193. * [mod_cgi] skip local-redir handling if to self (fixes #2779, #2108)
  2194. * [mod_webdav] fix crash when plugin_ctx cleaned up (fixes #2780)
  2195. * [mod_fastcgi] detect child exit, restart proactively
  2196. * [mod_scgi] detect child exit, restart proactively
  2197. * [TLS] ssl.read-ahead = "disable" for low mem (fixes #2778)
  2198. - 1.4.44 - 2016-12-24
  2199. * [mod_scgi] fix segfault (fixes #2762)
  2200. * [mod_authn_gssapi] fix memory leak
  2201. * [config] warn if mod_authn_ldap,mysql not listed
  2202. * [mod_magnet] fix magnet_cgi_set() set of env vars (fixes #2763)
  2203. * [mod_cgi] FreeBSD 9.3/MacOSX does not have pipe2() (fixes #2765)
  2204. * [mod_extforward] fix crash on invalid IP (fixes #2766)
  2205. * [mod_fastcgi] fix segfault if all backends down (fixes #2768)
  2206. * [mod_cgi] fix out of sockets error for POST to CGI (fixes #2771)
  2207. * [mod_auth] compile fix for Mac OS X XCode (fixes #2772)
  2208. * [mod_authn_gssapi] better resource cleanup
  2209. * [core] compile fix for Mac OS X 10.6 (old) (fixes #2773)
  2210. * fix race in dynamic handler configs (reentrancy) (fixes #2774)
  2211. * [mod_authn_mysql] close mysql_conn in cleanup
  2212. * [mod_webdav] compile fix when locking not enabled
  2213. * load mod_auth & mod_authn_file in sample/test.conf
  2214. * comment out auth.backend.ldap.* in tests/*.conf
  2215. * [mod_fastcgi,mod_scgi] warn if invalid "bin-path"
  2216. * RAND_pseudo_bytes() is deprecated in openssl 1.1.0
  2217. * openssl 1.1.0 init and cleanup
  2218. * [mod_cgi] remove direct calls to network_backend*
  2219. * [build] build network_*.c into lighttpd executable
  2220. * suggest inclusion of mod_geoip... before mod_ssi.
  2221. * set systemd settings similar to lighttpd2
  2222. * [doc] remove reference to Linux rt-signals
  2223. * [mod_authn_gssapi] fix missing error ret, coverity
  2224. * [core] rename li_rand() to li_rand_pseudo_bytes()
  2225. * remove #include "stream.h" where not used
  2226. * [mod_cml] include lua headers before base.h
  2227. * [core] combine duplicated connection reset code
  2228. * [mod_ssi] produce content in subrequest hook
  2229. * [core] remove srv->entropy[]
  2230. * [core] defer li_rand_init() until first use
  2231. * [core] permit connection-level state in modules
  2232. * [mod_dirlisting] render dirlisting as HTML (fixes #2767)
  2233. * [mod_proxy] replace HTTP Host sent to backend (fixes #2770)
  2234. * [mod_ssi] basic recursive SSI include virtual (fixes #536)
  2235. * [mod_ssi] implement, ignore <!--#comment ... -->
  2236. * [core] consolidate duplicated read-to-close code
  2237. * [core] fix segfault when parsing a bad config file
  2238. * [core] support Transfer-Encoding: chunked req body (fixes #2156)
  2239. * [autobuild] set NO_RDYNAMIC=yes for midipix
  2240. * [mod_proxy] proxy.balance = "sticky" option (fixes #2117)
  2241. * [mod_secdownload] warn if SHA used w/o SSL crypto
  2242. * [build] compile fixes for AIX
  2243. * [build] check for pipe2() at configure time
  2244. * [mod_evhost] fix an incorrect error trace
  2245. * [tests] mark tests/docroot/www/*.pl scripts a+x
  2246. * [mod_cgi] fall back to pipe() if pipe2() fails
  2247. * fix SCons fullstatic build with glibc pthreads
  2248. * [TLS] openssl 1.1.0 makes SSL_OP_NO_SSLv2 no-op
  2249. - 1.4.43 - 2016-10-31
  2250. * [autobuild] remove mod_authn_gssapi dep on resolv
  2251. * [mod_deflate] ignore '*' in deflate.mimetypes
  2252. * [autobuild] omit module stubs when missing deps
  2253. * [TLS] openssl 1.1.0 hides struct bignum_st
  2254. * [autobuild] move http_cgi_ssl_env() for Mac OS X (fixes #2757)
  2255. * [core] use paccept() on NetBSD (replace accept4())
  2256. * [TLS] remote IP conditions are valid for TLS SNI (fixes #2272)
  2257. * [doc] lighttpd-angel.8 (fixes #2254)
  2258. * [cmake] build fcgi-auth, fcgi-responder for tests
  2259. * [mod_accesslog] %{ratio}n logs compression ratio (fixes #2133)
  2260. * [mod_deflate] skip deflate if loadavg too high (fixes #1505)
  2261. * [mod_expire] expire by mimetype (fixes #423)
  2262. * [mod_evhost] partial matching patterns (fixes #1194)
  2263. * build: use CC_FOR_BUILD for lemon when cross-compiling
  2264. * [mod_dirlisting] config header and readme files
  2265. * [config] warn if mod_authn_ldap,mysql not listed
  2266. * fix FastCGI, SCGI, proxy reconnect on failure
  2267. * [core] network_open_file_chunk() temp file opt
  2268. * [mod_rewrite] add more info in error log msg
  2269. * [core] fix fd leak when using libev (fixes #2761)
  2270. * [core] fix potential streaming tempfile corruption (fixes #2760)
  2271. * [mod_scgi] fix prefix matching to always match url
  2272. * [autobuild] adjust Makefile.am for FreeBSD
  2273. * [build] move some build scripts to scripts/
  2274. * [autotools] fix configure.ac for opensuse 13.2
  2275. - 1.4.42 - 2016-10-16
  2276. * [TLS] SSL_shutdown() only if handshake finished
  2277. * [mod_proxy,mod_scgi] shutdown remote only if local (#2743)
  2278. * [core] check if client half-closed TCP if POLLHUP (#2743)
  2279. * [core] enforce wait for POLLWR after EINPROGRESS (fixes #2744)
  2280. * [core] do not enter handler twice after read body
  2281. * [core] proxy,scgi omit shutdown() to backend (fixes #2743)
  2282. * [mod_dirlisting] dirlist does not handle POST
  2283. * [mod_dirlisting] js column sort for dirlist table (fixes #613, fixes #2315)
  2284. * [mod_auth] Digest auth fails after rewrite (fixes #2745)
  2285. * [mod_auth] refactor out auth backend code
  2286. * [mod_auth] extensible interface for auth backends
  2287. * [core] better DragonFlyBSD support (fixes #2746)
  2288. * [mod_auth] include base.h for USE_OPENSSL def
  2289. * [mod_auth] support CRYPT-MD5-NTLM algorithm (fixes #1743)
  2290. * [mod_auth] terminate salt for CRYPT-MD5-NTLM
  2291. * [core] fix crash if ready events on abandoned fd (fixes #2748)
  2292. * [mod_auth] http_auth_md5_hex2bin()
  2293. * [mod_auth] remove empty mod_auth.h
  2294. * [mod_auth] mod_authn_mysql.c MySQL auth backend (fixes #752, fixes #1845)
  2295. * [mod_cgi] permit CGI exec of unreadable files (fixes #2374)
  2296. * [mod_uploadprogress] add to default build
  2297. * [mod_geoip] add to default build (fixes #2705, fixes #2101, fixes #2092, fixes #2025, fixes #1962, fixes #1938)
  2298. * [mod_fastcgi] Authorizer support with Responder (fixes #321, fixes #322)
  2299. * [tests] test coverage for issues (#321, #322)
  2300. * dynamic handlers store debug flag in handler_ctx
  2301. * [mod_fastcgi] allow authorizer, responder for same path/ext (#321)
  2302. * backport mod_deflate to lighttpd 1.4 (fixes #1824, fixes #2753)
  2303. * [autobuild] test_configfile might need vector.c (fixes #2752)
  2304. * [mod_deflate] fix longjmp clobber compiler warning
  2305. * remove unused array type TYPE_COUNT data_count
  2306. * [mod_auth] structured data, register auth schemes
  2307. * [mod_auth] mod_authn_gssapi Kerberos auth backend (fixes #1899)
  2308. * [autobuild] skip two new tests if no fcgi-auth
  2309. * [SCons] define with_krb5 for SCons build
  2310. * [SCons] fix syntax error in SConstruct
  2311. * [SCons] define with_geoip for SCons build
  2312. * [CMake] fix clang -Wcast-align warnings in lemon.c
  2313. * remove excess initializers (fix compiler warnings)
  2314. * fix errors detected by Coverity Scan
  2315. * performance: use Linux extended syscalls and flags
  2316. * [mod_scgi] add uwsgi protocol support
  2317. * [mod_auth] refactor LDAP code into smaller funcs
  2318. * [mod_auth] HTTP Basic auth backends also do authz (#1817)
  2319. * [mod_auth] ldap filter subst user for multiple '$' (fixes #1508)
  2320. * [mod_auth] permit specifying ldap DN; skip search (fixes #1248)
  2321. * [autobuild] update module/feature report
  2322. * [cmake] build mod_authn_gssapi if WITH_KRB5
  2323. * [mod_auth] fix printing of IP in error trace
  2324. * [mod_mysql_vhost] support multiple '?' replacement (fixes #2163)
  2325. * [core] make server.max-request-size scopeable (#1901)
  2326. * [core] server.max-request-field-size (fixes #2130)
  2327. * [core] optional condition in config "else" clause (fixes #1268)
  2328. * [core] restrict where config "else" clauses occur (#1268)
  2329. * silence warnings from clang ccc-analyzer
  2330. * consistent, shared code to create CGI env
  2331. * [TLS] replace env entries in https_add_ssl_entries
  2332. * [TLS] set SSL_CLIENT_M_SERIAL w/ client cert SN (fixes #2268)
  2333. * [TLS] set SSL_CLIENT_VERIFY w/ client cert (#1288, #2693)
  2334. * [TLS] set SSL_PROTOCOL, SSL_CIPHER* (fixes #2511)
  2335. * [core] rand.[ch] to use better RNGs when available
  2336. * [mod_cgi] fix pipe_cloexec() when no O_CLOEXEC
  2337. * ignore return value from fcntl() FD_CLOEXEC
  2338. * build w/o compiler warnings if no zlib or bz2lib
  2339. - 1.4.41 - 2016-07-31
  2340. * remove long-deprecated, non-functional config opts
  2341. * [config] inherit server.use-ipv6 and server.set-v6only (fixes #678)
  2342. * [mod_auth] fix Digest auth to be better than Basic (fixes #1844)
  2343. * [mod_ssi] fix #config sizefmt="bytes"
  2344. * [autobuild] move inet_pton detection later
  2345. * [core] #include <sys/filio.h> for FIONREAD (fixes #2726)
  2346. * [autobuild] clock_gettime() -lrt with glibc < 2.17
  2347. * [security] do not emit HTTP_PROXY to CGI env
  2348. * [build_cmake] clock_gettime() -lrt w/ glibc < 2.17 (fixes #2737)
  2349. * [core] avoid spurious trace and error abort
  2350. * [core] stay in CON_STATE_CLOSE until done with req
  2351. * [core] $HTTP["remoteip"] must handle IPv6 w/o []
  2352. * [mod_status] show keep-alive status w/ text output (fixes #2740)
  2353. * do not set REDIRECT_URI in mod_magnet, mod_rewrite (#2738)
  2354. * revert 1.4.40 swap of REQUEST_URI, REDIRECT_URI (fixes #2738)
  2355. * [core] permit IPv6 address scope identifier
  2356. * [TLS] better handling of SSL_ERROR_WANT_READ/WRITE
  2357. * [TLS] read all available records from SSL_read()
  2358. * [core] try AF_INET after AF_INET6 if use-ipv6
  2359. * [core] set chunkqueue tempdirs at startup
  2360. * [security] ensure gid != 0 if server.username set (fixes #2725)
  2361. * [security] disable stat_cache if !follow-symlink (fixes #2724)
  2362. * [core] fix buffer_copy_string_hex() assert (fixes #2742)
  2363. * [security] encode quoting chars in HTML and XML
  2364. * [cmake] always define _GNU_SOURCE
  2365. * [cmake] enable warnings for GCC and Clang
  2366. * [cmake] set cmake_minimum_required to 2.8.2
  2367. - 1.4.40 - 2016-07-16
  2368. * [mod_ssi] enhance support for ssi vars (thx fbrosson)
  2369. * add handling for lua 5.2 and 5.3 (fixes #2674)
  2370. * use libmemcached instead of deprecated libmemcache
  2371. * add force_assert for more allocation results
  2372. * [mod_cgi] use MAP_PRIVATE to mmap temporary file (fixes #2715)
  2373. * [core] do not send SIGHUP to process group unless server.max-workers is used (fixes #2711)
  2374. * [mod_cgi] edge case chdir "/" when docroot "/" (fixes #2460)
  2375. * [mod_cgi] issue trace and exit if execve() fails (closes #2302)
  2376. * [configparser] don't continue after parse error (fixes #2717)
  2377. * [core] never evaluate else branches until the previous branches are ready (fixes #2598)
  2378. * [core] fix conditional cache handling
  2379. * [core] improve conditional enabling (thx Gwenlliana, #2598)
  2380. * [mod_compress] case-insensitive content-codings (fixes #2645)
  2381. * [plugins] don't include dlfcn.h if not needed (fixes #2548)
  2382. * [mod_fastcgi] 404 for X-Sendfile file not found (fixes #2474)
  2383. * [mod_cgi] send 500 if CGI ends and there is no response (fixes #2542)
  2384. * [mod_cgi] consolidate CGI cleanup code
  2385. * [mod_cgi] simplify mod_cgi_handle_subrequest()
  2386. * [mod_cgi] kill CGI if fail to write request body
  2387. * [mod_proxy] use case-insensitive comparison to filter headers, send Connection: Close to backend (fixes #421)
  2388. * [mod_dirlisting] dir-listing.hide-dotfiles = "enabled" by default (fixes #1081)
  2389. * [mod_secdownload] fix buffer overflow in secdl_verify_mac (reported by Fortify Open Review Project)
  2390. * [mod_fastcgi,mod_scgi] fix leaking file-descriptor when backend spawning failed (reported by Fortify Open Review Project)
  2391. * [core] improve array API to prevent memory leaks
  2392. * [core] refactor array search; raise array size limit to SSIZE_MAX
  2393. * [core] fix memory leak in configparser_merge_data
  2394. * [core] provide array_extract_element and use it
  2395. * [core] configparser: error on duplicate keys in array merge (fixes #2685)
  2396. * [core] more careful parse of $SERVER["socket"] config str (prepare #2204)
  2397. * [core] accept $SERVER["socket"] without port, use server.port as fallback (fixes #2204)
  2398. * [mod_magnet] define lua_pushglobaltable (for lua5.1) and use it (fixes #2719)
  2399. * [ssl] support disabling ssl.verifyclient.activate in SNI callback (fixes #2531)
  2400. * restart (some) syscalls after SIGCHLD interrupted them; should fix LDAP problems (fixes #2464)
  2401. * [core] log remote address on request timeouts (fixes #652)
  2402. * [autobuild] use AC_CANONICAL_HOST instead of AC_CANONICAL_TARGET (fixes #1866)
  2403. * [core] fix request_start in keep-alive requests to mark time when received first byte (fixes #2412)
  2404. * [core] truncate pidfile on exit (fixes #2695)
  2405. * consistent inclusion of config.h at top of files (fixes #2073)
  2406. * [core] add generic vector implementation
  2407. * [core] replace array weakref with vector
  2408. * [base64] fix crash due to broken force_assert
  2409. * [unittests] add test_buffer and test_base64 unit tests
  2410. * [buffer] refactor buffer_path_simplify (fixes #2560)
  2411. * validate return values from strtol, strtoul (fixes #2564)
  2412. * [mod_ssi] Add SSI vars SCRIPT_{URI,URL} and REQUEST_SCHEME (fixes #2721)
  2413. * [config] warn if server.upload-dirs has non-existent dirs (fixes #2508)
  2414. * [mod_proxy] accept LF delimited headers, not just CRLF (fixes #2594)
  2415. * [core] wait for grandchild to be ready when daemonizing (fixes #2712, thx pasdVn)
  2416. * [core] respond 411 Length Required if request has Transfer-Encoding: chunked (fixes #631)
  2417. * [core] fixed the loading for default modules if they are specified explicitly
  2418. * [core] lighttpd -tt performs preflight startup checks (fixes #411)
  2419. * [stat] mimetype.xattr-name global config option (fixes #2631)
  2420. * [mod_webdav] allow Depth: Infinity lock on file (fixes #2296)
  2421. * [mod_status] use snprintf() instead of sprintf()
  2422. * pass buf size to li_tohex()
  2423. * use li_[iu]tostrn() instead of li_[iu]tostr()
  2424. * [stream] fstat() after open() to obtain file size
  2425. * [core] clean up srv before exiting for lighttpd -[vVh]
  2426. * [mod_fastcgi,mod_scgi] check for spawning on same unix socket (fixes #319)
  2427. * [mod_cgi] always set QUERY_STRING (fixes #1339)
  2428. * [mod_auth] send charset="UTF-8" in WWW-Authenticate (fixes #1468)
  2429. * [mod_magnet] rename var for clarity (fixes #1483)
  2430. * [mod_extforward] reset cond_cache for scheme (fixes #1499)
  2431. * [mod_webdav] readdir POSIX compat (fixes #1826)
  2432. * [mod_expire] reset caching response headers for error docs (fixes #1919)
  2433. * [mod_status] page refresh option (fixes #2170)
  2434. * [mod_status] table w/ count of con states (fixes #2427)
  2435. * [mod_dirlisting] class for dir <tr> (fixes #2304)
  2436. * [core] define __STDC_WANT_LIB_EXT1__ (fixes #2722)
  2437. * [core] setrlimit max-fds <= rlim_max for non-root (fixes #2723)
  2438. * [mod_ssi] config ssi.conditional-requests
  2439. * [mod_ssi] config ssi.exec (fixes #2051)
  2440. * [mod_redirect,mod_rewrite] short-circuit if blank replacement (fixes #2085)
  2441. * [mod_indexfile] save physical path to env (fixes #448, #892)
  2442. * [core] open fd when appending file to cq (fixes #2655)
  2443. * [config] server.listen-backlog option (fixes #1825, #2116)
  2444. * [core] retry tempdirs on partial write, ENOSPC (fixes #2588)
  2445. * [core] compile with upcoming openssl 1.1.0 release (fixes #2727)
  2446. * [core] improve dynamic handler control flow logic
  2447. * [core] defer reading request body until handle subrequest (fixes #2541)
  2448. * [core] always poll for client POLLHUP/POLLERR events (fixes #399)
  2449. * [mod_fastcgi,mod_scgi,mod_proxy] handlers can read response before sending req body (fixes #131, #2566)
  2450. * [mod_cgi] asynchronous send of request body to CGI
  2451. * [core] compile with upcoming openssl 1.1.0 release (fixes #2727)
  2452. * [core] set REDIRECT_STATUS to error_handler_saved_status (fixes #1828)
  2453. * [core] server.error-handler new directive for error pages (fixes #2702)
  2454. * [core] support IPv6 in $HTTP["remote-ip"] CIDR cond match (fixes #2706)
  2455. * [core] http_response_send_file() shared code (#2017)
  2456. * [mod_fastcgi] use http_response_xsendfile() (fixes #799, fixes #851, fixes #2017, fixes #2076)
  2457. * [mod_scgi] X-Sendfile feature (fixes #2253)
  2458. * [mod_cgi] X-Sendfile feature (fixes #2313)
  2459. * [mod_webdav] lseek,read if fs can not mmap (#2666, fixes #962)
  2460. * [mod_compress] use mmap and trap SIGBUS (#2666, fixes #1879)
  2461. * fallback to lseek()/read() if mmap() fails (#fixes 2666)
  2462. * [mod_auth] skip blank lines and comment lines (fixes #2327)
  2463. * [core] fallback to write if sendfile not supported (fixes #471, #987)
  2464. * [core] preserve PATH_INFO case on case-insensitive fs (fixes #406)
  2465. * [mod_ssi, mod_cml] set DOCUMENT_ROOT to basedir (fixes #2383)
  2466. * [core] cmd line opt to shutdown after idle time limit (fixes #2696)
  2467. * [core] lighttpd -1 handles single request on stdin socket (fixes #1584)
  2468. * [mod_fastcgi,mod_scgi] IPv6 support (fixes #2372)
  2469. * [mod_status] add JSON output option (fixed #2432)
  2470. * [mod_webdav] map COPY/MOVE Destination to aliases (fixes #1787)
  2471. * [mod_webdav] improve PROPFIND,PROPPATCH (#1818, #1953)
  2472. * [core] reset response headers, write_queue for error docs
  2473. * build with libressl
  2474. * static build instructions using SCons or make
  2475. * [mod_auth] preserve WWW-Authenticate for error docs (fixes #2730)
  2476. * check close() return code after writing to file
  2477. * adjustments for openssl 1.1.0 pre-release
  2478. * [config] support include file glob (fixes #1221)
  2479. * [mod_evasive] 302 redirect option if limit reached (fixes #2199)
  2480. * [build] enhancements for cross-compiling (fixes #2276)
  2481. * [mod_accesslog] report aborted con state with %X (fixes #1890)
  2482. * [mod_ssi] fix SSI statement parser
  2483. * [mod_ssi] include relative to alias,userdir (fixes #222)
  2484. * [mod_ssi] add PCRE_* options to constrain regex
  2485. * [mod_ssi] more flexible quoting (fixes #1768)
  2486. * [core] wrap IPv6 literal in "[]" in redirect URL
  2487. * [mod_ssi] fix parse of tag across buf boundary (fixes #2732)
  2488. * [mod_cgi,mod_scgi] X-Sendfile sets file_started (fixes #2733)
  2489. * [mod_fastcgi] no chunked response w/ X-Sendfile (fixes #2733)
  2490. * [config] opts for http header parsing strictness (fixes #551, fixes #1086, fixes #1184, fixes #2143, #2258, #2281, fixes #946, fixes #1330, fixes #602, #1016)
  2491. * [config] normalize IP strings in lighttpd.conf
  2492. * [build_cmake] use MODULE on Mac OS X (fixes #1761)
  2493. * [config] server.bsd-accept-filter option
  2494. * [mod_webdav] create file w/ LOCK request if ENOENT
  2495. * [core] buffer large responses to tempfiles (fixes #758, fixes #760, fixes #933, fixes #1387, #1283, fixes #2083)
  2496. * [core] stream response to client (#949)
  2497. * [TLS] release openssl buffers as used (fixes #1265, fixes #1283, #881)
  2498. * [config] config options to stream request/response (#949, #376)
  2499. * [core] option to stream request body to backend (fixes #376)
  2500. * [core] option to stream response body to client (fixes #949, #760, #1283, #1387)
  2501. * drain backend socket/pipe bufs upon FDEVENT_HUP
  2502. * remove excess calls to joblist_append()
  2503. * defer choosing "Transfer-Encoding: chunked"
  2504. * asynchronous, bidirectional streaming options
  2505. * fix errors detected by Coverity Scan
  2506. * [cygwin] fix mod_proxy and mod_fastcgi ioctl use
  2507. * [mod_webdav] remove excess SQL param to UNLOCK
  2508. * graceful shutdown without unnecessary 1 sec delay
  2509. * [core] disable Nagle algorithm (TCP_NODELAY)
  2510. * [core] add declarations to fdevent.h (#2373)
  2511. * [tests] remove dependency on CGI.pm
  2512. * [TLS] fix return value checks during cert init
  2513. * [core] fix server.max-request-size to be precise (fixes #2131)
  2514. * [mod_webdav] fix proppatch mem leak, other fixes (#fixes 1334, #fixes 2000)
  2515. * [autobuild] CMake check for struct tm tm_gmtoff (fixes #2014)
  2516. * [mod_uploadprogress] fix mem leak (#1858)
  2517. * [core] make server.max-request-size scopeable (fixes #1901)
  2518. * [mod_fastcgi,mod_scgi] check for spawning on same unix socket (#319)
  2519. * [mod_accesslog] %a %A %C %D %k %{}t %{}T (fixes #1145, fixes #1415, fixes #2081)
  2520. * [mod_access] new directive url.access-allow (fixes #1421)
  2521. * [core] fdevent_libev: update use of ev_timer
  2522. * [mod_cgi] handle local redirect response (fixes #2108)
  2523. - 1.4.39 - 2016-01-02
  2524. * [core] fix memset_s call (fixes #2698)
  2525. * [chunk] fix use after free / double free (fixes #2700)
  2526. - 1.4.38 - 2015-12-05
  2527. * [stat-cache] fix handling of collisions, might have returned wrong data (fixes #2669)
  2528. * [core] allocate at least 4k buffer for incoming data
  2529. * [core] fix search for header end if split across chunks (fixes #2670)
  2530. * [core] check configparserAlloc() result with force_assert
  2531. * [mod_auth] implement and use safe_memclear, using memset_s or explicit_bzero if available (thx loganaden)
  2532. * [core] don't buffer request bodies smaller than 64k on disk
  2533. * add force_assert for many allocations and function results
  2534. * [mod_secdownload] use a hopefully constant time comparison to check hash (fixes #2679)
  2535. * [config] check config option scope; warn if server option is given in conditional
  2536. * [core] revert increase of temp file size back to 1MB, provide a configure option "server.upload-temp-file-size" instead (fixes #2680)
  2537. * [core] add '~' to safe characters in ENCODING_REL_URI/ENCODING_REL_URI_PART encoding
  2538. * [core] encode path with ENCODING_REL_URI in redirect to directory (fixes #2661, thx gstrauss)
  2539. * [mod_secdownload] add required algorithm option; old behaviour available as "md5", new options "hmac-sha1" and "hmac-sha256"
  2540. * [mod_fastcgi/mod_scgi] zero sockaddr structs before use (fixes #2691, thx Kyle J. McKay)
  2541. * [network] add darwin-sendfile backend (fixes #2687, thx Kyle J. McKay)
  2542. * [core] show correct crypt support result (fixes #2690, thx Kyle J. McKay)
  2543. - 1.4.37 - 2015-08-30
  2544. * [mod_proxy] remove debug log line from error log (fixes #2659)
  2545. * [mod_dirlisting] fix dir-listing.set-footer not showing
  2546. * fix out-of-filedescriptors when uploading "large" files (fixes #2660, thx rmilecki)
  2547. * increase upload temporary chunk file size from 1MB to 16MB
  2548. * fix undefined integer shift
  2549. * rewrite network sendfile/mmap/writev/write backends
  2550. * fix some unchecked return value warnings
  2551. * [kqueue] fix kevent call
  2552. * [autoconf] define HAVE_CRYPT when crypt() is present
  2553. * [bsd xattr] fix compile break with BSD extended attributes in stat_cache
  2554. * [mod_cgi] rewrite mmap and generic (post body) send error handling
  2555. * [mmap] fix mmap alignment
  2556. * [plugins] when modules are linked statically still only load the modules given in the config
  2557. * [mmap] handle SIGBUS in network; those get triggered if the file gets smaller during reading
  2558. * fix some warnings found by coverity ("leak" in setup phase, not catching too long unix socket paths in mod_proxy)
  2559. - 1.4.36 - 2015-07-26
  2560. * use keep-alive timeout while waiting for HTTP headers; use always the read timeout while waiting for the HTTP body
  2561. * fix bad shift in conditional netmask ".../0" handling
  2562. * add more mime types and a script to generate mime.conf (fixes #2579)
  2563. * add support for (Free)BSD extended attributes
  2564. * [build] use fortify flags with "extra-warnings"
  2565. * [mod_dirlisting,mod_redirect,mod_rewrite] abort config parsing if pcre-compile fails or isn't available
  2566. * [ssl] disable SSL3.0 by default
  2567. * fixed typo in example config found by openSUSE user (boo# 907709)
  2568. * [network] fix compile break in calculation of sockaddr_un size if SUN_LEN is not defined (fixes #2609)
  2569. * [connections] fix bug in connection state handling
  2570. * print backtrace in assert logging with libunwind
  2571. * major refactoring of internal buffer/chunk handling
  2572. * [mod_auth] use crypt_r instead of crypt if available
  2573. * fix error message for T_CONFIG_ARRAY config values if an entry value is not a string
  2574. * fix segfaults in many plugins if they failed configuration
  2575. * escape all strings for logging (fixes #2646 log file injection, reported by Jaanus Kääp)
  2576. * fix hex escape in accesslog (fixes #2559)
  2577. * show extforward re-run warning only with debug.log-request-handling (fixes #2561)
  2578. * parse If-None-Match for ETag validation (fixes #2578)
  2579. * fix memory leak in mod_status when no counters are set (found by coverity)
  2580. * [mod_magnet] fix segfault when accessing not existing lighty.req_env[] entry (found by coverity)
  2581. * fix segfault when temp file for upload couldn't be created (found by coverity)
  2582. * mime.conf: add some new mime types, remove .dat, .sha1, .md5, update .vcf
  2583. * [mod_proxy] add unix domain socket support (fixes #2653)
  2584. * [configfile] fix reading uninitialized variable (found by Willian B.)
  2585. - 1.4.35 - 2014-03-12
  2586. * [network/ssl] fix build error if TLSEXT is disabled
  2587. * [mod_fastcgi] fix use after free (only triggered if fastcgi debug is active)
  2588. * [mod_rrdtool] fix invalid read (string not null terminated)
  2589. * [mod_dirlisting] fix memory leak if pcre fails
  2590. * [mod_fastcgi,mod_scgi] fix resource leaks on spawning backends
  2591. * [mod_magnet] fix memory leak
  2592. * add comments for switch fall throughs
  2593. * remove logical dead code
  2594. * [buffer] fix length check in buffer_is_equal_right_len
  2595. * fix resource leaks in error cases on config parsing and other initializations
  2596. * add force_assert() to enforce assertions as simple assert()s are disabled by -DNDEBUG (fixes #2546)
  2597. * [mod_cml_lua] fix null pointer dereference
  2598. * force assertion: setting FD_CLOEXEC must work (if available)
  2599. * [network] check return value of lseek()
  2600. * fix unchecked return values from stream_open/stat_cache_get_entry
  2601. * [mod_webdav] fix logic error in handling file creation error
  2602. * check length of unix domain socket filenames
  2603. * fix SQL injection / host name validation (thx Jann Horn)
  2604. - 1.4.34 - 2014-01-20
  2605. * [mod_auth] explicitly link ssl for SHA1 (fixes #2517)
  2606. * [mod_extforward] fix compilation without IPv6, (not) using undefined var (fixes #2515, thx mm)
  2607. * [ssl] fix SNI handling; only use key+cert from SNI specific config (fixes #2525, CVE-2013-4508)
  2608. * [doc] update ssl.cipher-list recommendation
  2609. * [stat-cache] FAM: fix use after free (CVE-2013-4560)
  2610. * [stat-cache] fix FAM cleanup/fdevent handling
  2611. * [core] check success of setuid,setgid,setgroups (CVE-2013-4559)
  2612. * [ssl] fix regression from CVE-2013-4508 (client-cert sessions were broken)
  2613. * maintain physical.basedir (the "acting" doc-root as prefix of physical.path) in more places
  2614. * [core] decode URL before rewrite, enabling it to work in $HTTP["url"] conditionals (fixes #2526)
  2615. * [auto* build] remove -no-undefined from linker flags, as we actually link modules with undefined symbols (fixes #2533)
  2616. * [mod_mysql_vhost] fix memory leak on config init (#2530)
  2617. * [mod_webdav] fix fd leak found with parfait (fixes #2530, thx kukackajiri)
  2618. - 1.4.33 - 2013-09-27
  2619. * mod_fastcgi: fix mix up of "mode" => "authorizer" in other fastcgi configs (fixes #2465, thx peex)
  2620. * fix handling of If-Modified-Since if If-None-Match is present (don't return 412 for date parsing errors);
  2621. follow current draft for HTTP/1.1, which tells us to ignore If-Modified-Since if we have matching etags.
  2622. * [mod_fastcgi,log] support multi line logging (fixes #2252)
  2623. * call ERR_clear_error only for ssl connections in CON_STATE_ERROR
  2624. * reject non ASCII characters in HTTP header names
  2625. * [mod_auth] use crypt() on encrypted password instead of extracting salt first (fixes #2483)
  2626. * [mod_auth] add htpasswd -s (SHA1) support if openssl is used (needs openssl for SHA1). This doesn't use any salt, md5 with salt is probably better.
  2627. * [mod_auth] fix base64_decode (#2484)
  2628. * fix some bugs found with canalyze (fixes #2484, thx Zhenbo Xu)
  2629. * fix undefined stuff found with clang
  2630. * [cmake] Use TARGET_LINK_LIBRARIES instead of LINK_FLAGS for library dependencies, also add -Wl,--as-needed to extra warnings (fixes #2448)
  2631. * [mod_auth] fix invalid read in digest qop=auth-int handling (fixes #2478)
  2632. * [auto* build] simplify autogen.sh, handle automake 1.13 test running (fixes #2490)
  2633. * [mod_userdir] add userdir.active option, "enabled" by default
  2634. * [core] return 501 Not Implemented in static file mode for all methods except GET/POST/HEAD/OPTIONS
  2635. * [core] recognize more http methods to forward to backends (fixes #2346)
  2636. * [ssl] use DH only if openssl supports it (fixes #2479)
  2637. * [network] use constants available at compile time for maximum number of chunks for writev instead of calling sysconf (fixes #2470)
  2638. * [ssl] Fix $HTTP["scheme"] conditional, could be "http" for ssl connections if the ssl $SERVER["socket"] conditional was nested (fixes #2501)
  2639. * [ssl] accept ssl renegotiations if they are not disabled (fixes #2491)
  2640. * [ssl] add option ssl.empty-fragments, defaulting to disabled (fixes #2492)
  2641. * [auth] put REMOTE_USER into cgi environment, making it accessible to lua via lighty.req_env (fixes #2495)
  2642. * [auth] new method "extern" to use already present REMOTE_USER (from magnet, ssl, ...) (fixes #2436)
  2643. * [core] remove requirement that default doc-root has to exist, there are reasonable scenarios not requiring static files at all
  2644. * [core] check whether server.chroot exists
  2645. * [mod_simple_vhost] fix cache; skip module if simple-vhost.server-root is empty (thx rm for reporting)
  2646. * [mod_accesslog] add accesslog.syslog-level option (fixes #2480)
  2647. * [core] allow files to be used as document-root (fixes #2475)
  2648. * [core] set signal handlers before forking child processes in modules/plugins_call_set_defaults (fixes #2502)
  2649. - 1.4.32 - 2012-11-21
  2650. * Code cleanup with clang/sparse (fixes #2437, thx kibi)
  2651. * Ignore EPIPE/ECONNRESET after SSL_shutdown
  2652. * Handle ENAMETOOLONG, return 404 Not Found (fixes #2396, thx dererkazo)
  2653. * configure.ac: remove old stuff, add some new to fix warnings in automake 1.12 (fixes #2419, thx blino)
  2654. * add PATCH method (fixes #2424)
  2655. * fix :port handling in $HTTP["host"] checks (fixes #2135. thx liming)
  2656. * network_server_init: fix double free and memleak on error (fixes #2440, thx kyprizel)
  2657. * detect "x-gzip"/"x-bzip2" as separate encodings, more strict encoding matching (fixes #2443)
  2658. * tests: make sure mod_proxy doesn't leave running processes (fixes #2435, thx kibi)
  2659. * mod_extforward: log address of untrusted proxy with debug.log-request-handling
  2660. * fix DoS in Connection header value split (reported by Jesse Sipprell, CVE-2012-5533)
  2661. * remove whitespace at end of header keys
  2662. - 1.4.31 - 2012-05-31
  2663. * [ssl] fix segfault in counting renegotiations for openssl versions without TLSEXT/SNI (thx carpii for reporting)
  2664. * Move fdevent subsystem includes to implementation files to reduce conflicts (fixes #2373)
  2665. * [mod_compress] fix handling if etags are disabled but cache-dir is set - may lead to double response
  2666. * disable mmap by default (fixes #2391)
  2667. * buffer_caseless_compare: always convert letters to lowercase to get transitive results, fixing array lookups (fixes #2405)
  2668. * Fix handling of empty header list entries in http_request_split_value, fixing invalid read in valgrind (fixes #2413)
  2669. * Fix access log escaping of " and \\ (fixes #1551)
  2670. * [mod_auth] Fix digest "md5-sess" implementation (Errata ID 1649, RFC 2617) (fixes #2410)
  2671. * [auth] Add "AUTH_TYPE" environment (for *cgi), remove fastcgi specific workaround, add fastcgi test case (fixes #889)
  2672. * [mod_*cgi,mod_accesslog] Fix splitting :port with ipv6 (fixes #2333, thx simoncpu)
  2673. * Detect multiple -f options: show error message instead of assert (fixes #2416)
  2674. * [mod_extforward] Support ipv6 addresses (fixes #1889)
  2675. * [mod_redirect] Support url.redirect-code option (fixes #2247)
  2676. * Fix --enable-mmap handling in configure.ac
  2677. - 1.4.30 - 2011-12-18
  2678. * Always use our 'own' md5 implementation, fixes linking issues on MacOS (fixes #2331)
  2679. * Limit amount of bytes we send in one go; fixes stalling in one connection and timeouts on slow systems.
  2680. * [ssl] fix build errors when Elliptic-Curve Diffie-Hellman is disabled
  2681. * Add static-file.disable-pathinfo option to prevent handling of urls like .../secret.php/image.jpg as static file
  2682. * Don't overwrite 401 (auth required) with 501 (unknown method) (fixes #2341)
  2683. * Fix mod_status bug: always showed "0/0" in the "Read" column for uploads (fixes #2351)
  2684. * [mod_auth] Fix signedness error in http_auth (fixes #2370, CVE-2011-4362)
  2685. * [ssl] count renegotiations to prevent client renegotiations
  2686. * [ssl] add option to honor server cipher order (fixes #2364, BEAST attack)
  2687. * [core] accept dots in ipv6 addresses in host header (fixes #2359)
  2688. * [ssl] fix ssl connection aborts if files are larger than the MAX_WRITE_LIMIT (256kb)
  2689. * [libev/cgi] fix waitpid ECHILD errors in cgi with libev (fixes #2324)
  2690. - 1.4.29 - 2011-07-03
  2691. * Fix mod_proxy waiting for response even if content-length is 0 (fixes #2259)
  2692. * Silence annoying "connection closed: poll() -> ERR" error.log message (fixes #2257)
  2693. * mod_cgi: make read buffer as big as incoming data block
  2694. * [build] Fix detection of libev (fixes #2300)
  2695. * ssl: Support for Diffie-Hellman and Elliptic-Curve Diffie-Hellman key exchange (fixes #2301)
  2696. add ssl.use-sslv3 (fixes #2246)
  2697. load all algorithms (fixes #2239)
  2698. * [ssl/md5] prefix our own md5 implementation with li_ so it doesn't conflict with the openssl one (fixes #2269)
  2699. * [ssl/build] some minor fixes; fix compile without ssl, cleanup ssl config buffers
  2700. * [proc,include_shell] log error if exec shell fails (fixes #2280)
  2701. * [*cgi] Use physical base dir (alias, userdir) as DOCUMENT_ROOT in cgi environments (fixes #2216)
  2702. * [doc] Move docs to outdated/ subdir and refer to wiki instead (fixes #2248)
  2703. * fdevent: add solaris eventports (fixes #2171)
  2704. - 1.4.28 - 2010-08-22
  2705. * Rename fdevent_event_add to _set to reflect what the function does. Fix some handlers. (fixes #2249)
  2706. * Fix buffer.h to include stdio.h as it is needer for SEGFAULT() (fixes #2250)
  2707. - 1.4.27 - 2010-08-13
  2708. * Fix handling return value of SSL_CTX_set_options (fixes #2157, thx mlcreech)
  2709. * Fix mod_proxy HUP handling (send final chunk, fix usage counter)
  2710. * mod_proxy: close connection on write error (fixes #2114)
  2711. * Check uri instead of physical path for directory redirect
  2712. * Fix detecting git repository (fixes #2173, thx ncopa)
  2713. * [mod_compress] Fix segfault when etags are disabled (fixes #2169)
  2714. * Reset uri.authority before TLS servername handling, reset all "keep-alive" data in connection_del (fixes #2125)
  2715. * Print double quotes properly when dumping config file (fixes #1806)
  2716. * Include IP addresses on error log on password failures (fixes #2191)
  2717. * Fix stalls while reading from ssl sockets (fixes #2197)
  2718. * Fix etag formatting on boxes with 32-bit longs
  2719. * Fix two compiler warnings
  2720. * mod_accesslog: fix %p for ipv6 sockets (fixes #2228, thx jo.henke)
  2721. * mod_fastcgi: Send 502 "Bad Gateway" if we couldn't open the file for X-Sendfile (fixes #2226)
  2722. * mod_staticfile: add debug output if we ignore a file with static-file.exclude-extensions (fixes #2215)
  2723. * mod_cgi: fix race condition leaving response not forwarded to client (fixes #2217)
  2724. * mod_accesslog: Fix var declarations mixed in source (fixes #2233)
  2725. * mod_status: Add version to status page (fixes #2219)
  2726. * mod_accesslog: optimize accesslog_append_escaped (fixes #2236, thx crypt)
  2727. * openssl: silence annoying error messages for errno==0 (fixes #2213)
  2728. * array.c: improve array_get_unused_element to check data type; fix mem leak if unused_element didn't find a matching entry (fixes #2145)
  2729. * add check to stop loading plugins twice
  2730. * cleanup fdevent code, removed linux-rtsig handler, replaced some fprintf calls
  2731. * only require FDEVENT_IN bit to be set for listening connections (fixes #2227)
  2732. * add libev fdevent handler: server.event-handler = "libev"
  2733. * mod_proxy: return response as soon as it is available (fixes #2196)
  2734. * don't overwrite global server.force-lowercase-filenames setting (fixes #2042)
  2735. * bind to IPV6-only if ipv6 address was specified (https://redmine.lighttpd.net/projects/lighttpd/wiki/IPv6-Config)
  2736. - 1.4.26 - 2010-02-07
  2737. * Fix request parser to handle packets split on \r\n\r\n (fixes #2105)
  2738. * Remove dependency on automake >= 1.11 with m4_ifdef check
  2739. * mod_accesslog: support %e (fixes #2113, thx presbrey)
  2740. * Fix mod_cgi cgi.execute-x-only option in global block
  2741. * mod_fastcgi: x-sendfile2 parse error debugging
  2742. * Fix mod_proxy dead host detection if connect() fails
  2743. * Fix fd leaks in mod_cgi (fds not closed on pipe/fork failures, found by Rodrigo, fixes #2158, #2159)
  2744. * Fix segfault with broken rewrite/redirect patterns (fixes #2140, found by crypt)
  2745. * Append to previous buffer in con read, fix DoS/OOM vulnerability (fixes #2147, found by liming, CVE-2010-0295)
  2746. * Fix HUP detection in close-state if event-backend doesn't support FDEVENT_HUP (like select or poll on FreeBSD)
  2747. - 1.4.25 - 2009-11-21
  2748. * mod_magnet: fix pairs() for normal tables and strings (fixes #1307)
  2749. * mod_magnet: add traceback for printing lua errors
  2750. * mod_rewrite: fix compile error if compiled without pcre
  2751. * disable warning "CLOSE-read" (fixes #2091)
  2752. * mod_rrdtool: fix creating file if it doesn't exist (#1788)
  2753. * reset tlsext_server_name in connection_reset - fixes random hostnames in the $HTTP["host"] conditional
  2754. * export some SSL_CLIENT_* vars for client cert validation (fixes #1288, thx presbrey)
  2755. * mod_fastcgi: fix mod_fastcgi packet parsing
  2756. * mod_fastcgi: Don't reconnect after connect() succeeded (fixes #2096)
  2757. * Fix configure.ac to allow autoreconf, also enables make V=0
  2758. - 1.4.24 - 2009-10-25
  2759. * Add T_CONFIG_INT for bigger integers from the config (needed for #1966)
  2760. * Use unsigned int (and T_CONFIG_INT) for max_request_size
  2761. * Use unsigned int for secdownload.timeout (fixes #1966)
  2762. * Keep url/host values from connection to display information while keep-alive in mod_status (fixes #1202)
  2763. * Add server.breakagelog, a "special" stderr (fixes #1863)
  2764. * Fix config evaluation for debug.log-timeouts option (#1529)
  2765. * Add "cgi.execute-x-only" to mod_cgi, requires +x for cgi scripts (fixes #2013)
  2766. * Fix FD_SETSIZE comparison warnings
  2767. * Add "lua-5.1" to searched pkg-config names for lua
  2768. * Fix unused function webdav_lockdiscovery in mod_webdav
  2769. * cmake: Fix crypt lib check
  2770. * cmake: Add -export-dynamic to link flags, fixes build on FreeBSD
  2771. * Set FD_CLOEXEC for bound sockets before pipe-logger forks (fixes #2026)
  2772. * Reset ignored signals to SIG_DFL before exec() in fastcgi/scgi (fixes #2029)
  2773. * Show "no uri specified -> 400" error only when "debug.log-request-header-on-error" is enabled (fixes #2030)
  2774. * Fix hanging connection in mod_scgi (fixes #2024)
  2775. * Allow digits in hostnames in more places (fixes #1148)
  2776. * Use connection_reset instead of handle_request_done for cleanup callbacks
  2777. * Change mod_expire to append Cache-Control instead of overwriting it (fixes #1997)
  2778. * Allow all comparisons for $SERVER["socket"] - only bind for "=="
  2779. * Remove strptime failed message (fixes #2031)
  2780. * Fix issues found with clang analyzer
  2781. * Try to fix server.tag issue with localized svnversion
  2782. * Fix handling network-write return values (#2024)
  2783. * Use disable-time in fastcgi for all disables after errors, default is 1sec (fixes #2040)
  2784. * Remove adaptive spawning code from fastcgi (was disabled for a long time)
  2785. * Allow mod_mysql_vhost to use stored procedures (fixes #2011, thx Ben Brown)
  2786. * Fix ipv6 in mod_proxy (fixes #2043)
  2787. * Print errors from include_shell to stderr
  2788. * Set tm.tm_isdst = 0 before mktime() (fixes #2047)
  2789. * Use linux-epoll by default if available (fixes #2021, thx Olaf van der Spek)
  2790. * Print an error if you use too many captures in a regex pattern (fixes #2059)
  2791. * Combine Cache-Control header value in mod_expire to existing HTTP header if header already added by other modules (fixes #2068)
  2792. * Remember keep-alive-idle in separate variable (fixes #1988)
  2793. * Fix header inclusion order, always include "config.h" before any system header
  2794. * mod_webdav: Patch to skip login information for domain part of Destination field (fixes #1793)
  2795. * mod_webdav: Delete old properties before updating new for MOVE (fixes #1317)
  2796. * Read hostname from absolute uris in the request line (fixes #1937)
  2797. * mod_fastcgi: don't disable backend if disable-time is 0 (fixes #1825)
  2798. * mod_compress: match partial+full content-type (fixes #1552)
  2799. * mod_fastcgi: fix is_local detection, respawn backends if bin-path is set (fixes #897)
  2800. * Fix linger-on-close behaviour to avoid rare failure conditions (was r2636, fixes #657)
  2801. * mod_fastcgi: restart local procs immediately after they terminated, fix local procs handling
  2802. * Fix segfault on invalid config "duplicate else conditions" (fixes #2065)
  2803. * mod_usertrack: Use T_CONFIG_INT for max-age, solves range problem (#1455)
  2804. * mod_accesslog: configurable timestamp logging (fixes #1479)
  2805. * always define _GNU_SOURCE
  2806. * Add some iterators for mod_magnet (fixes #1307)
  2807. * Fix close_timeout_ts trigger (should finally fix lingering close)
  2808. * mod_rewrite: add url.rewrite-[repeat-]if-not-file to rewrite if file doesn't exist or is not a regular file (fixes #985, thx lucas aerbeydt)
  2809. * Add TLS servername indication (SNI) support (fixes #386, thx Peter Colberg <peter@colberg.org>)
  2810. * Add SSL Client Certificate verification (#1288)
  2811. * mod_fastcgi: Fix host->active_procs counter, return 503 if connect wasn't successful after 5 tries (fixes #1825)
  2812. * mod_accesslog: escape special characters (fixes #1551, thx icy)
  2813. * fix mod_webdav crash from #1793 (fixes #2084, thx hiroya)
  2814. * Don't print ssl error if client didn't support TLS SNI
  2815. * Fix linger close timeout handling, drop timeout to 5 seconds (fixes #2086)
  2816. * Fix broken return values from int to enum in mod_fastcgi
  2817. - 1.4.23 - 2009-06-19
  2818. * Added some extra warning options in cmake and fix the resulting warnings (unused/static functions)
  2819. * New lighttpd man page (moved it to section 8) (fixes #1875)
  2820. * Create rrd file for empty rrdfile in mod_rrdtool (#1788)
  2821. * Fix workaround for incorrect path info/scriptname if fastcgi prefix is "/" (fixes #729)
  2822. * Finally removed spawn-fcgi
  2823. * Allow xattr to overwrite mime type (fixes #1929)
  2824. * Remove link from errormsg about fastcgi apps (fixes #1942)
  2825. * Strip trailing dot from "Host:" header
  2826. * Remove the optional port info from SERVER_NAME (thx Mr_Bond)
  2827. * Fix mod_proxy RoundRobin (off by one problem if only one backend is up)
  2828. * Rename configure.in to configure.ac, with small cleanups (fixes #1932)
  2829. * Add proper SUID bit detection (fixes #416)
  2830. * Check for regular file in mod_cgi, so we don't try to start directories
  2831. * Include mmap.h from chunk.h to fix some problems with #define mmap mmap64 (fixes #1923)
  2832. * Add support for pipe logging for server.errorlog (fixes #296)
  2833. * Add revision number to package version for svn/git checkouts
  2834. * Use server.tag for SERVER_SOFTWARE if configured (fixes #357)
  2835. * Fix trailing zero char in REQUEST_URI after "strip-request-uri" in mod_fastcgi
  2836. * mod_magnet: Add env["request.remote-ip"] (fixes #1740)
  2837. * mod_magnet: Add env["request.path-info"]
  2838. * Change name/version separator back to "/" (affects every place where the version is printed)
  2839. * Fix bug with FastCGI request id overflow under high load; just use always id 1 as we don't use multiplexing. (thx jgray)
  2840. * Add some dirlisting enhancements (fixes #1458)
  2841. * Add option to enable TCP_DEFER_ACCEPT (fixes #1447)
  2842. * Limit amount of bytes read for one read-event (fixes #1070)
  2843. * Add evasive.silent option (fixes #1438)
  2844. * Make mod_extforward headers configurable (fixes #1545)
  2845. * Add '%_' pattern for complete hostname in mod_evhost (fixes #1737)
  2846. * Add IPv6 support to mod_proxy (fixes #1537)
  2847. * mod_ssi printenv: print cgi env, add environment vars to cgi env (fixes #1713)
  2848. * Fix error message if no auth backend was set
  2849. * Fix SERVER_NAME port stripping (fixes #1968)
  2850. * Fix x-sendfile 2gb limiting (fixes #1970)
  2851. * Fix mod_cgi environment keys mangling (fixes #1969)
  2852. * Fix workaround for incorrect path info/scriptname if scgi prefix is "/" (fixes #729)
  2853. * Fix max-age value in mod_expire for 'modification' (fixes #1978)
  2854. * Fix evasive.silent option (#1438)
  2855. * Fix mod-fastcgi counters
  2856. * Modify fastcgi error message
  2857. * Backup errno for later usage (reported by Guido Reina via mailinglist)
  2858. * Improve FastCGI performance (fixes #1999)
  2859. * Workaround broken operating systems: check for trailing '/' in filenames (fixes #1989)
  2860. * Allow using pcre with cross-compiling (pcre-config got fixed; fixes #1986)
  2861. * Add "lighty.req_env" table to mod_magnet for setting/getting environment values for cgi (fixes #1967, thx presbrey)
  2862. * Fix segfault in mod_expire after failed config parsing (fixes #1992)
  2863. * Add ssi.content-type option (default text/html, fixes #615)
  2864. * Add support for "real" entropy from /dev/[u]random (fixes #1977)
  2865. * Adding support for additional chars in LDAP usernames (fixes #1941)
  2866. * Ignore multiple "If-None-Match" headers (only use first one, fixes #753)
  2867. * Fix 100% cpu usage if time() < 0 (thx to gaspa and cate, fixes #1964)
  2868. * Allow max-keep-alive-requests to depend on conditional (fixes #1881)
  2869. * Make dependency on svnversion/git optional (for devel versionstamp, fixes #2009)
  2870. - 1.4.22 - 2009-03-07
  2871. * Fix wrong lua type for CACHE_MISS/CACHE_HIT in mod_cml (fixes #533)
  2872. * Fix default vhost in mod_simple_vhost (fixes #1905)
  2873. * Handle EINTR in mod_rrdtool (fixes #604)
  2874. * Fix rrd error after graceful restart (fixes #419)
  2875. * Fix EAGAIN handling for freebsd sendfile (fixes #1913, thx AnMaster for spotting the problem)
  2876. * Fix segfault in mod_scgi (fixes #1911)
  2877. * Treat EPIPE as connection-closed error in network_freebsd_sendfile.c (another fix from #1913)
  2878. * Fix useless redirection of stderr in mod_rrdtool, as it gets redirected to /dev/null later. (fixes #1922)
  2879. * Fix some problems with more strict compilers (#1923)
  2880. * Fix segfault if siginfo_t* is NULL in sigaction handler (fixes #1926)
  2881. - 1.4.21 - 2009-02-16
  2882. * Fix base64 decoding in mod_auth (#1757, thx guido)
  2883. * Fix mod_cgi segfault when bound to unix domain socket (#653)
  2884. * Do not rely on ioctl FIONREAD (#673)
  2885. * Now really fix mod auth ldap (#1066)
  2886. * Fix leaving zombie process with include_shell (#1777)
  2887. * Removed debian/, openwrt/ and cygwin/; they weren't kept up-to-date, and we decided to remove dist. specific stuff
  2888. * Try to convert string options to shorts for numeric options in config file; allows to use env-vars for numeric options. (#1159, thx andrewb)
  2889. * Do not cache default vhost in mod_simple_vhost (#709)
  2890. * Trust pcre-config, do not check for pcre manually (#1769)
  2891. * Fix fastcgi authorization in subdirectories with check-local=disabled; don't split pathinfo for authorizer. (#963)
  2892. * Add possibility to disable methods in mod_compress (#1773)
  2893. * Fix duplicate connection keep-alive/transfer-encoding headers (#960)
  2894. * Fixed fix for round-robin in mod_proxy (forgot to increment the index) (#1715)
  2895. * Fix fastcgi-authorizer handling; Status: 200 is now accepted as the doc requests
  2896. * Compare address family in inet_ntop_cache
  2897. * Revert CVE-2008-4359 (#1720) fix "encoding+simplifying urls for rewrite/redirect": too many regressions.
  2898. * Use FD_CLOEXEC if possible (fixes #1821)
  2899. * Optimized buffer usage in mod_proxy (fixes #1850)
  2900. * Fix uninitialized value in time struct after strptime
  2901. * Do not pass Proxy-Connection: header from client to backend http server in mod_proxy (#1877)
  2902. * Fix wrong malloc sizes in mod_accesslog (probably nothing bad happened...) (fixes #1855, thx ycheng)
  2903. * Some small buffer.c fixes (closes #1837)
  2904. * Remove floating point math from server.c (fixes #1402)
  2905. * Disable SSLv2 by default
  2906. * Use/enforce sane max-connection values (fixes #1803)
  2907. * Allow mod_compress to return 304 (Not Modified); compress ignores the static-file.etags option.(fixes #1884)
  2908. * Add option to ignore the "Expect: 100-continue" header instead of returning 417 Expectation failed (closes #1017)
  2909. * Use modified etags in mod_compress (fixes #1800)
  2910. * Fix max-connection limit handling/100% cpu usage (fixes #1436)
  2911. * Fix error handling in freebsd-sendfile (fixes #1813)
  2912. * Silenced the annoying "request timed out" warning, enable with the "debug.log-timeouts" option (fixes #1529)
  2913. * Allow tabs in header values (fixes #1822)
  2914. * Added Language conditional (fixes #1119); patch by petar
  2915. * Fix wrong format strings (#1900, thx stepancheg)
  2916. - 1.4.20 - 2008-09-30
  2917. * Fix mod_compress to compile with old gcc version (#1592)
  2918. * Fix mod_extforward to compile with old gcc version (#1591)
  2919. * Update documentation for #1587
  2920. * Fix #285 again: read error after SSL_shutdown (thx marton.illes@balabit.com) and clear the error queue before some other calls (CVE-2008-1531)
  2921. * Fix mod_magnet: enable "request.method" and "request.protocol" in lighty.env (#1308)
  2922. * Fix segfault for appending matched parts if there was no regex matching (just give empty strings) (#1601)
  2923. * Use data_response_init in mod_fastcgi x-sendfile handling for response.headers, fix a small "memleak" (#1628)
  2924. * Don't send empty Server headers (#1620)
  2925. * Fix conditional interpretation of core options
  2926. * Enable escaping of % and $ in redirect/rewrite; only two cases changed their behaviour: "%%" => "%", "$$" => "$"
  2927. * Fix accesslog port (should be port from the connection, not the "server.port") (#1618)
  2928. * Fix mod_fastcgi prefix matching: match the prefix always against url, not the absolute filepath (regardless of check-local)
  2929. * Overwrite Content-Type header in mod_dirlisting instead of inserting (#1614), patch by Henrik Holst
  2930. * Handle EINTR in mod_cgi during write() (#1640)
  2931. * Allow all http status codes by default; disable body only for 204,205 and 304; generate error pages for 4xx and 5xx (#1639)
  2932. * Fix mod_magnet to set con->mode = p->id if it generates content, so returning 4xx/5xx doesn't append an error page
  2933. * Remove lighttpd.spec* from source, fixing all problems with it ;-)
  2934. * Do not rely on PATH_MAX (POSIX does not require it) (#580)
  2935. * Disable logging to access.log if filename is an empty string
  2936. * Implement a clean way to open /dev/null and use it to close stdin/out/err in the needed places (#624)
  2937. * merge spawn-fcgi changes from trunk (from @2191)
  2938. * let spawn-fcgi propagate exit code from spawned fcgi application
  2939. * close connection after redirect in trigger_b4_dl (thx icy)
  2940. * close connection in mod_magnet if returned status code
  2941. * fix bug with IPv6 in mod_evasive (#1579)
  2942. * fix scgi HTTP/1.* status parsing (#1638), found by met@uberstats.com
  2943. * [tests] fixed system, use foreground daemons and waitpid
  2944. * [tests] removed pidfile from test system
  2945. * [tests] fixed tests needing php running (if not running on port 1026, search php in env[PHP] or /usr/bin/php-cgi)
  2946. * fixed typo in mod_accesslog (#1699)
  2947. * replaced buffer_{append,copy}_string with the _len variant where possible (#1732) (thx crypt)
  2948. * case insensitive match for secdownload md5 token (#1710)
  2949. * Handle only HEAD, GET and POST in mod_dirlisting (same as in staticfile) (#1687)
  2950. * fixed mod_secdownload problem with unsigned time_t (#1688)
  2951. * handle EAGAIN and EINTR for freebsd sendfile (#1675)
  2952. * Use filedescriptor 0 for mod_scgi spawn socket, redirect STDERR to /dev/null (#1716)
  2953. * fixed round-robin balancing in mod_proxy (#1715)
  2954. * fixed EINTR handling for waitpid in mod_fastcgi
  2955. * mod_{fast,s}cgi: overwrite environment variables (#1722)
  2956. * inserted many con->mode checks; they should prevent two modules to handle the same request if they shouldn't (#631)
  2957. * fixed url encoding to encode more characters (#266)
  2958. * allow digits in [s]cgi env vars (#1712)
  2959. * fixed dropping last character of evhost pattern (#161)
  2960. * print helpful error message on conditionals in global block (#1550)
  2961. * decode url before matching in mod_rewrite (#1720) -- (reverted for 1.4.21)
  2962. * fixed conditional patching of ldap filter (#1564)
  2963. * Match headers case insensitive in response (removing of X-{Sendfile,LIGHTTPD-*}, catching Date/Server) [2281]
  2964. * fixed bug with case-insensitive filenames in mod_userdir (#1589), spotted by "anders1" (CVE-2008-4360)
  2965. * fixed format string bugs in mod_accesslog for SYSLOG
  2966. * replaced fprintf with log_error_write in fastcgi debug
  2967. * fixed mem leak in ssi expression parser (#1753), thx Take5k
  2968. * hide some ssl errors per default, enable them with debug.log-ssl-noise (#397)
  2969. * do not send content-encoding for 304 (#1754), thx yzlai
  2970. * fix segfault for stat_cache(fam) calls with relative path (without '/', can be triggered by x-sendfile) (#1750)
  2971. * fix splitting of auth-ldap filter
  2972. * workaround ldap connection leak if a ldap connection failed (restarting ldap)
  2973. * fix auth.backend.ldap.bind-dn/pw problems (only read from global context for temporary ldap reconnects, thx ruskie)
  2974. * fix memleak in request header parsing (#1774, thx qhy) (CVE-2008-4298)
  2975. * fix mod_rewrite memleak/endless loop detection (#1775, thx phy - again!)
  2976. * use decoded url for matching in mod_redirect (#1720) (CVE-2008-4359) -- (reverted for 1.4.21)
  2977. - 1.4.19 - 2008-03-10
  2978. * added support for If-Range: <date> (#1346)
  2979. * added support for matching $HTTP["scheme"] in configs
  2980. * fixed initgroups() called after chroot (#1384)
  2981. * fixed case-sensitive check for Auth-Method (#1456)
  2982. * execute fcgi app without /bin/sh if used as argument to spawn-fcgi (#1428)
  2983. * fixed a bug that made /-prefixed extensions being handled also when
  2984. matching the end of the uri in fcgi,scgi and proxy modules (#1489)
  2985. * print error if X-LIGHTTPD-send-file cannot be done; reset header
  2986. Content-Length for send-file. Patches by Stefan Buehler
  2987. * prevent crash in certain php-fcgi configurations (#841)
  2988. * add IdleServers and Scoreboard directives in ?auto mode for mod_status (#1507)
  2989. * open log immediately after daemonizing, fixes SIGPIPEs on startup (#165)
  2990. * HTTPS env var should be "on" when using mod_extforward and the X-Forwarded-Proto header is set. (#1499)
  2991. * generate ETag and Last-Modified headers for mod_ssi based on newest modified include (#1491)
  2992. * support letterhomes in mod_userdir (#1473)
  2993. * support chained proxies in mod_extforward (#1528)
  2994. * fixed bogus "cgi died ?" if we kill the CGI process on shutdown
  2995. * fixed ECONNRESET handling in network-openssl
  2996. * fixed handling of EAGAIN in network-linux-sendfile (#657)
  2997. * reset conditional cache (#1164)
  2998. * create directories in mod_compress (was broken with alias/userdir) (#1027)
  2999. * fixed out of range access in fd array (#1562, #372) (CVE-2008-0983)
  3000. * mod_compress should check if the request is already handled, e.g. by fastcgi (#1565)
  3001. * remove broken workaround for buggy Opera version with ssl/chunked encoding (#285)
  3002. * generate etag/last-modified header for on-the-fly-compressed files (#1171)
  3003. * req-method OPTIONS: do not insert default response if request was denied, do not deny OPTIONS by default (#1324)
  3004. * fixed memory leak on windows (#1347)
  3005. * fixed building outside of the src dir (#1349)
  3006. * fixed including of stdint.h/inttypes.h in etag.c (#1413)
  3007. * do not add Accept-Ranges header if range-request is disabled (#1449)
  3008. * log the ip of failed auth tries in error.log (enhancement #1544)
  3009. * fixed RoundRobin in mod_proxy (#516)
  3010. * check for symlinks after successful pathinfo matching (#1574)
  3011. * fixed mod-proxy.t to run with a builddir outside of the src dir
  3012. * do not suppress content on "307 Temporary Redirect" (#1412)
  3013. * fixed Content-Length header if response body gets removed in connections.c (#1412, part 2)
  3014. * do not generate a "Content-Length: 0" header for HEAD requests, added test too
  3015. * remove compress cache file if compression or write failed (#1150)
  3016. * fixed body handling of status 300 requests
  3017. * spawn-fcgi: only try to connect to unix socket (not tcp) before spawning (#1575)
  3018. * fix sending source of cgi script instead of 500 error if fork fails (CVE-2008-1111)
  3019. * fix min-procs handling in mod_scgi.c, just set to max-procs (patch from #623)
  3020. * fix sending "408 - Timeout" instead of "410 - Gone" for timedout urls in mod_secdownload (#1440)
  3021. * workaround #1587: require userdir.path to be set to enable mod_userdir (empty string allowed) (CVE-2008-1270)
  3022. * make configure checks for --with-pcre, --with-zlib and --with-bzip2 failing if the headers aren't found
  3023. * fixed handling of waitpid() == EINTR mod_ssi on solaris
  3024. - 1.4.18 - 2007-09-09
  3025. * fixed compile error on IRIX 6.5.x on prctl() (#1333)
  3026. * fixed forwarding a SIGINT and SIGHUP when using max-workers (#902)
  3027. * fixed FastCGI header overrun in mod_fastcgi (reported by mattias@secweb.se)
  3028. * fixed hanging redirects with keep-alive due to missing
  3029. "Content-Length: 0" headers
  3030. * fixed crashing when using undefined environment variables in the config
  3031. * fixed compilation of mod_mysql_vhost on irix (#1341)
  3032. - 1.4.17 - 2007-08-29
  3033. * added dir-listing.set-footer in mod_dirlisting (#1277)
  3034. * added sending UID and PID for SIGTERM and SIGINT to the logs
  3035. * fixed hardcoded font-sizes in mod_dirlisting (#1267)
  3036. * fixed different ETag length on 32/64 platforms (#1279)
  3037. * fixed compression of files < 128 bytes by disabling compression (#1241)
  3038. * fixed mysql server reconnects (#518)
  3039. * fixed disabled keep-alive for dynamic content with HTTP/1.0 (#1166)
  3040. * fixed crash on mixed EOL sequences in mod_cgi
  3041. * fixed key compare (#1287)
  3042. * fixed invalid char in header values (#1286)
  3043. * fixed invalid "304 Not Modified" on broken timestamps
  3044. * fixed endless loop on shrunk files with sendfile() on BSD (#1289)
  3045. * fixed counter overrun in ?auto in mod_status (#909)
  3046. * fixed too aggressive caching of nested conditionals (#41)
  3047. * fixed possible overflow in unix-socket path checks on BSD (#713)
  3048. * fixed extra Content-Length header on 1xx, 204 and 304 (#1002)
  3049. * fixed handling of duplicate If-Modified-Since to return 304
  3050. * fixed extracting status code from NPH scripts (#1125)
  3051. * fixed prctl() usage (#1310)
  3052. * removed config-check if passwd files exist (#1188)
  3053. * fixed crash when etags are disabled but the client sends one (#1322)
  3054. * fixed crash when freeing the config in mod_alias
  3055. * fixed server.error-handler-404 breakage from 1.4.16 (#1270)
  3056. * fixed entering 404-handler from dynamic content (#948)
  3057. * added more debug infos for FAM based stat-cache
  3058. * use more LSB like paths in the sample config (#1242)
  3059. - 1.4.16 - 2007-07-25
  3060. * added static-file.etags, etag.use-inode, etag.use-mtime, etag.use-size
  3061. to customize the generation of ETags for static files. (#1209)
  3062. (patch by <Yusufg@gmail.com>)
  3063. * fixed typecast of NULL on execl() (#1235)
  3064. (patch by F. Denis)
  3065. * fixed circumventing url.access-deny by trailing slash (#1230)
  3066. * fixed crash on duplicate headers with trailing WS (#1232)
  3067. * fixed accepting more connections then requested (#1216)
  3068. * fixed mem-leak in mod_auth (reported by Stefan Esser)
  3069. * fixed crash with md5-sess and cnonce not set in mod_auth (reported by Stefan Esser)
  3070. * fixed missing check for base64 encoded string in mod_auth and Basic auth
  3071. (reported by Stefan Esser)
  3072. * fixed possible crash in Auth-Digest header parser on trailing WS in
  3073. mod_auth (reported by Stefan Esser)
  3074. * fixed check on stale errno values, which broke handling of broken fastcgi
  3075. applications. (#1245)
  3076. * fixed crash on 32bit archs when debug-msgs are printed in mod_scgi, mod_fastcgi
  3077. and mod_webdav (#1263)
  3078. - 1.4.15 - 2007-04-13
  3079. * fixed broken Set-Cookie headers
  3080. - 1.4.14 - 2007-04-13
  3081. * fix crash if gethostbyaddr() failed on redirect [1718]
  3082. * properly handle 206 responses generated by *cgi scripts. (#755) [1716]
  3083. * added HTTPS=on to the environment of cgi scripts (#861) [1684]
  3084. * fix handling of 303 (#1045) [1678]
  3085. * made the configure check for lua more portable [1677]
  3086. * added mod_extforward module [1665]
  3087. * references to the fam stat cache engine should be conditional (#1039) [1664]
  3088. * fix http 500 errors (colin.stephen/at/o2.com) #1041 [1663]
  3089. * prevent wrong pidfile unlinking on graceful restart (Chris Webb) [1656]
  3090. * ignore empty packets from STDERR stream. #998
  3091. * fix a crash for files with an mtime of 0 reported by cubiq on irc [1519]
  3092. CVE-2007-1870
  3093. * allow empty passwords with ldap (Jörg Sonnenberger) [1516]
  3094. * mod_scgi.c segfault fix #964 [1501]
  3095. * Added round-robin support to mod_fastcgi [1500]
  3096. * Handle DragonFlyBSD the same way as Freebsd (Jörg Sonnenberger) [1492,1676]
  3097. * added now and weeks support to mod_expire. #943
  3098. * fix cpu hog in certain requests [1473] CVE-2007-1869
  3099. * fix for handling hostnames with trailing dot [1406]
  3100. * fixed header-injection via server.tag (#1106)
  3101. * disabled caching of files without a content-type to solve the
  3102. aggressive caching of FF
  3103. * remove trailing white-spaces from HTTP-requests before parsing (#1098)
  3104. * fixed accesslog.use-syslog in a conditional and the caching of the
  3105. accesslog for files (fixes #1064)
  3106. * fixed various crashes at startup on broken accesslog.format strings (#1000)
  3107. * fixed handling of %% in accesslog.format
  3108. * fixed conditional dir-listing.exclude (#930)
  3109. * reduced default PATH_MAX to 255 (#826)
  3110. * ECONNABORTED is not known on cygwin (#863)
  3111. * fixed crash on url.redirect and url.rewrite if %0 is used in a global context
  3112. (#800)
  3113. * fixed possible crash in debug-message in mod_extforward
  3114. * fixed compilation of mod_extforward on glibc < 2.3.4
  3115. * fixed include of empty in the configfiles (#1076)
  3116. * send SIGUSR1 to fastcgi children before SIGTERM. libfcgi wants SIGUSR1. (#737)
  3117. * fixed missing AUTH_TYPE entry in the fastcgi environment. (#889)
  3118. * fixed compilation in network_writev.c on MacOS X 10.3.9 (#903)
  3119. * added kill-signal as another setting for fastcgi backends. See the wiki for more.
  3120. - 1.4.13 - 2006-10-09
  3121. * added initgroups in spawn-fcgi (#871)
  3122. * added apr1 support htpasswd in mod-auth (#870)
  3123. * added lighty.stat() to mod_magnet
  3124. * fixed segfault in split CRLF CRLF sequences
  3125. (introduced in 1.4.12) (#876)
  3126. * fixed compilation of LOCK support in mod-webdav
  3127. * fixed fragments in request-URLs (#869)
  3128. * fixed pkg-config check for lua5.1 on debian
  3129. * fixed Content-Length = 0 on HEAD requests without
  3130. a known Content-Length (#119)
  3131. * fixed mkdir() forcing 0700 (#884)
  3132. * fixed writev() on FreeBSD 4.x and older (#875)
  3133. * removed warning about a 404-error-handler
  3134. returned 404
  3135. * backported and fixed the buildsystem changes for
  3136. webdav locks
  3137. * fixed plugin loading so we can finally load lua
  3138. extensions in mod_magnet scripts
  3139. * fixed large uploads if xattr is enabled
  3140. - 1.4.12 - 2006-09-23
  3141. * added experimental LOCK support for webdav
  3142. * added Content-Range support for PUT in webdav
  3143. * added support for += on empty arrays in config-files
  3144. * added ssl.cipher-list and ssl.use-sslv2
  3145. * added $HTTP["querystring"] conditional
  3146. * added mod_magnet as long-term replacement for mod_cml
  3147. * added work-around for a Opera Bug with SSL + Chunked-Encoding
  3148. * changed --print-config to print to stdout instead of stderr
  3149. * changed no longer use 0600 for new files with webdav. umask is
  3150. honored. Make sure you have set a proper umask.
  3151. * fixed upload hangs with SSL
  3152. * fixed connection drops with SSL (aka bad retry)
  3153. * fixed path traversal with \ on cygwin
  3154. * fixed mem-leak in mod_flv_streaming
  3155. * fixed required trailing newline in configfiles (#142)
  3156. * fixed quoting the autoconf files (#466)
  3157. * fixed empty Host: + $HTTP["host"] handling (#458)
  3158. * fixed handling of If-Modified-Since if ETag is not set
  3159. * fixed default-shell if SHELL is not set (#441)
  3160. * fixed appending and assigning of env.* vars
  3161. * fixed empty FCGI_STDERR packets
  3162. * fixed conditional server.allow-http-11
  3163. * fixed handling of follow-symlink + lstat()
  3164. * fixed SIGHUP handling if max-workers is used
  3165. * fixed "Software caused connection abort" messages on FreeBSD
  3166. - 1.4.11 - 2006-03-09
  3167. * added ability to specify which ip address spawn-fci listens on
  3168. (agkr/at/pobox.com)
  3169. * added mod_flv_streaming to streaming Flash Movies efficiently
  3170. * fixed handling of error codes returned by mod_dav_svn behind a
  3171. mod_proxy
  3172. * fixed error-messages in mod_auth and mod_fastcgi
  3173. * fixed re-enabling overloaded local fastcgi backends
  3174. * fixed handling of deleted files in linux-sendfile
  3175. * fixed compilation on BSD and MacOSX
  3176. * fixed $SERVER["socket"] on a already bound socket
  3177. * fixed local source retrieval on windows
  3178. (secunia)
  3179. * fixed hanging cgi if remote side is dying while reading
  3180. from the pipe (sandy/at/meebo.com)
  3181. - 1.4.10 - 2006-02-08
  3182. * added docs for mod_dirlisting
  3183. * added fastcgi.map-extensions to mod_fastcgi
  3184. * fixed load balancing for mod_fastcgi
  3185. * fixed extra newline for syslog() in mod_accesslog
  3186. * fixed user-track cookie for IE in mod_usertrack
  3187. * fixed crash in digest handling in mod_auth
  3188. * fixed handling of 301 response-bodies from a mod_proxy backend
  3189. * fixed loading of base modules if server.modules is not set
  3190. * fixed broken cgi if mod_scgi is loaded
  3191. - 1.4.9 - 2006-01-14
  3192. * added server.core-files option (sandy <sandy/at/meebo.com>)
  3193. * added docs for mod_status
  3194. * added mod_evasive to limit the number of connections by IP (<w1zzard/at/techpowerup.com>)
  3195. * added the power-magnet to mod_cml
  3196. * added internal statistics to mod_fastcgi
  3197. * added server.statistics-url to get internal statistics from mod_status
  3198. * added support for conditional range-requests through If-Range
  3199. * added static building via scons
  3200. * fixed 100% cpu loops in mod_cgi ("sandy" <sjen/at/cs.stanford.edu>)
  3201. * fixed handling for secure-download.timeout (jamis/at/37signals.com)
  3202. * fixed IE bug in content-charset in the output of mod_dirlisting (sniper/at/php.net)
  3203. * fixed typos and language in the docs (ryan-2005/at/ryandesign.com)
  3204. * fixed assertion in mod_cgi on HEAD request is Content-Length (<sandy/at/meebo.com>)
  3205. * fixed handling if equal but duplicate If-Modified-Since request headers
  3206. * fixed endless loops in mod_fastcgi if backend is dead
  3207. * fixed Depth: 1 handling in PROPFIND requests on empty dirs
  3208. * fixed encoding of UTF8 encoded dirlistings (Jani Taskinen <sniper/at/iki.fi>)
  3209. * fixed initial bind to a unix-domain socket through server.bind
  3210. * fixed handling of lowercase filesystems
  3211. * fixed duplicate request headers cause by mod_setenv
  3212. - 1.4.8 - 2005-11-23
  3213. * added auto-reconnect to ldap-server in mod_auth
  3214. (joerg/at/netbsd.org)
  3215. * changed auth.ldap-cafile to be optional
  3216. (joerg/at/netbsd.org)
  3217. * added strip_request_uri in mod_fastcgi
  3218. * added more X-* headers to mod_proxy
  3219. (Ben Grimm <bengrimm/at/gmail.com>)
  3220. * added 'debug' to simple-vhost to suppress the
  3221. (mod_simple_vhost.c.157) No such file or directory /servers/ww.lighttpd.net/pages/
  3222. messages by default
  3223. * added support to let the server listen on UNIX-socket
  3224. * changed default stat-cache-engine to 'simple'
  3225. * removed debian/ dir from source package on request by packager
  3226. * fixed max-age timestamps in mod_expire
  3227. * fixed encoding the filenames in PROPFIND in mod_webdav
  3228. * fixed range request handling in network_writev
  3229. * fixed retry on connect error in mod_fastcgi
  3230. (Robert G. Jakabosky <bobby/at/alphatrade.com>)
  3231. * fixed possible crash in mod_webdav if sqlite3 support
  3232. is available but not use
  3233. * fixed fdvent-handler init if server.max-worker was used
  3234. (Siddharth Vijayakrishnan <mail/at/bluefireworks.net>)
  3235. * fixed missing cleanup in mysql_vhost
  3236. * fixed assert() in "connections.c:962:
  3237. connection_handle_read_state: Assertion 'c->mem->used' failed."
  3238. * fixed 64bit issue in md5
  3239. * fixed crash in mod_status
  3240. * fixed duplicate headers in mod_proxy
  3241. * fixed Content-Length in HEAD request in mod_proxy
  3242. * fixed unsigned/signed comparisons
  3243. * fixed streaming in mod_cgi
  3244. * fixed possible overflow in password-salt handling
  3245. (reported on slashdot by james-web/at/and.org)
  3246. * fixed server-traffic-limit if connection limit is not set
  3247. - 1.4.7 - 2005-11-02
  3248. * added FD_CLOEXEC to fds which are kept open for a longer time
  3249. * added smaller, moving mmaped windows to network_writev
  3250. * added madvise() to instruct the kernel the do proper read-ahead in network_writev
  3251. * added support for %I in mod_accesslog
  3252. * added better compat to Apache for ?auto in mod_status
  3253. * added support for userdirs without a entry in /etc/passwd in mod_userdir
  3254. (rob/at/inversepath.com)
  3255. * added startup-time selectable network-backend
  3256. * added location of upload-files to config as array
  3257. * added webdav.log-xml for logging xml-content in mod_webdav
  3258. * added Cache-Control: max-age to mod_expire
  3259. * workaround missing client-bug by assuming we received a close-notify on
  3260. non-keep-alive requests in SSL request
  3261. * disabled kerberos5 support by default to fix compilation on RHEL
  3262. * fixed order of library checks to fix compilation on Solaris 9
  3263. * fixed open file-descriptors on read-error
  3264. * fixed crash if /var/tmp is not writable
  3265. - 1.4.6 - 2005-10-09
  3266. * fixed compilation on MacOS X and cygwin
  3267. * fixed compressed output if caching was disabled (seen in IE and Opera)
  3268. * fixed range-request option
  3269. * fixed mysql-vhost module (was broken in 1.4.5)
  3270. * fixed false positive in the detection of case-insensitive FS
  3271. - 1.4.5 - 2005-10-02
  3272. * added all DeltaV methods as known methods
  3273. * added buffer-to-disk of request content
  3274. * added warning for unused variables in conditionals
  3275. * added global index-generators to mod_indexfile
  3276. * fixed caching for remote-ip conditionals with keep-alive
  3277. * fixed redirects with content
  3278. * fixed infinite loop in exec-cmd in mod_ssi
  3279. * fixed segfault in config handling for mod_mysql_vhost
  3280. * fixed segfault on FIFOs/Sockets
  3281. * fixed possible crash on uninit memory if If-Modified-Since was too long
  3282. * fixed accounting of mem-chunks
  3283. * fixed starving of connections on high load
  3284. * fixed crc errors in mod_compress on 64bit platforms
  3285. * fixed handling of overlapping fastcgi packets (bug added in 1.4.4)
  3286. * fixed logic of conditionals if a header was not set
  3287. * fixed a segfault in mod_rewrite if %1 references were used
  3288. * fixed handling of empty request URIs in HTTP requests
  3289. - 1.4.4 - 2005-09-16
  3290. * added support for %V in mod_accesslog
  3291. * added a option for a FastCGI responder to send static files
  3292. * added md5 and blowfish hashes to htpasswd
  3293. * fixed METHOD in mod_accesslog of WebDAV methods
  3294. * fixed check for permission before files in sent
  3295. * fixed mod-proxy and content for non-POST requests
  3296. * fixed compilation of mod_cml on MacOS X
  3297. * fixed SSL errmsg after accept()
  3298. * fixed memleak in stat-cache
  3299. * fixed aborted connections if file was moved while in transfer
  3300. * fixed mem-usage for large FastCGI transfers
  3301. - 1.4.3 - 2005-09-01
  3302. * added graceful shutdown
  3303. * added server.max-connections
  3304. * fixed compilation on all BSD platforms
  3305. * fixed init of kqueue and /dev/poll after daemonize
  3306. * fixed segfault if select() is event-handler and more than FD_SETSIZE
  3307. fds are opened
  3308. * fixed compilation of mod_cml
  3309. * fixed bin-copy-env in mod_fastcgi
  3310. - 1.4.2 - 2005-08-29
  3311. * fixed mimetype detection on uppercase extensions
  3312. * fixed memleak in stat-cache
  3313. * fixed infinite loop in mod_cgi
  3314. * fixed alignment crashes on sparc64 and alpha64
  3315. * fixed test system for gentoo ebuild
  3316. * fixed infinite loop in SSL
  3317. * fixed range request for files > 2Gb
  3318. - 1.4.1 - 2005-08-22
  3319. * added a complete Class 1 compliant mod_webdav
  3320. * fixed ssl support (especially on OpenBSD)
  3321. * fixed response header in body problem in mod_cgi
  3322. * fixed numbers before body problem
  3323. * fixed compilation on Solaris and FreeBSD
  3324. * fixed conditional options in mod_dirlisting
  3325. * fixed segfault in mod_dirlisting for NFS directories
  3326. * fixed check for docroot in change-root environments
  3327. - 1.4.0 - 2005-08-17
  3328. * added nested conditionals
  3329. * added remote-ip to $HTTP
  3330. * added support for stat-cache via FAM
  3331. * added a read-only WebDAV module
  3332. * fixed cleanup in mod_proxy and mod_fastcgi
  3333. * fixed handling of filenames on case-insensitive filesystems
  3334. - 1.3.16 - 2005-07-31
  3335. * added Date: headers to dynamic HTTP/1.0 requests
  3336. * added support for OPTION * HTTP/1.1
  3337. * added support for accesslog to syslog
  3338. * added support for PATH_INFO guessing if check-local is disabled in
  3339. mod_fastcgi
  3340. * added switch to disable range-requests
  3341. * added valid-user option for mod_auth (tigger at gentoo.org)
  3342. * added JavaScript based sorting to mod_status (erik)
  3343. * added selective TCP_CORK (Christian von Roques)
  3344. * break up endless loops with Status: 500
  3345. * fixed endless loops in mod_rewrite
  3346. * mapped url.rewrite and url.rewrite-final to uri.rewrite-once
  3347. * fixed compilation for mod_trigger_b4_dl
  3348. * fixed 'can't reach host' in mod_proxy
  3349. * error-handler-404 defaults to Status: 200 and static files work now
  3350. - 1.3.15 - 2005-07-15
  3351. * added mod_cml
  3352. * added mod_trigger_b4_dl
  3353. * added encoding to mod_dirlisting
  3354. * added ?auto to mod_status
  3355. * relaxed handling of characters in URIs even more
  3356. * fixed detection of sendfile() on Linux 2.4.x
  3357. * fixed comparison of buffers for short strings
  3358. * server.errorfile-prefix is now conditional
  3359. * fixed mod_rrdtool to close STDERR
  3360. - 1.3.14 - 2005-06-15
  3361. * added SCGI support via mod_scgi
  3362. * added hash-based and round-robin load balancing to mod_proxy
  3363. * fixed range requests larger than 2Gb
  3364. * fixed compilation on Solaris
  3365. * fixed endless loops in mod_fastcgi, mod_cgi and mod_proxy
  3366. * fixed handling of URIs for '+' and characters > 127
  3367. - 1.3.13 - 2005-03-06
  3368. * added customizable directory listings
  3369. * fixed compile error on all BSD unixes
  3370. * fixed PATHINFO handling for FastCGI
  3371. * fixed handling of remote-close on FreeBSD and OpenSSL
  3372. - 1.3.12 - 2005-03-02
  3373. * added ssl.ca-file
  3374. * added support for \n\n as terminator
  3375. * rewrote test-framework and added more tests
  3376. * fixed cgi.assign with empty handler
  3377. * fixed segfault in debug-code
  3378. * fixed mod_expire if modification-timestamps are used
  3379. * fixed segfault on duplication Host-headers
  3380. * fixed endless loop in mod_fastcgi
  3381. * fixed handling of dead fastcgi-processes
  3382. - 1.3.11 - 2005-02-20
  3383. * added REMOTE_PORT and SERVER_ADDR to CGI-env
  3384. * relaxed handling of newlines before keep-alive requests
  3385. * relaxed uri-parser again
  3386. * fixed PHP_SELF for php
  3387. * fixed compilation on MacOS X
  3388. * fixed handling of EPIPE and ECONNRESET
  3389. * fixed crash in mod_auth if config-options are missing
  3390. * fixed handling of missing trailing / in mod_userdir
  3391. * fixed conditional secdownload.secret
  3392. * fixed REPORT ME error due to failed reconnects in mod_fastcgi
  3393. * fixed cmdline handling in mod_fastcgi
  3394. - 1.3.10 - 2005-02-06
  3395. * added support for full commandline in spawn-fcgi
  3396. * fixed missing check for IP-address in mod_fastcgi
  3397. * fixed compile error with openssl in mod_fastcgi
  3398. * removed a debug-message from network-functions
  3399. - 1.3.9 - 2005-02-06
  3400. * added a stricter URI parser
  3401. * added a check to the CGI spawner if the cgi-handler exists
  3402. * added documentation for SSL and mod_status
  3403. * added handling of startup environment to FastCGI
  3404. * improved performance in FastCGI in buildind the FastCGI header
  3405. * fixed min-procs and max-procs in FastCGI on PowerPC
  3406. * fixed crash in setenv.add-response-header
  3407. * fixed handling of nph-scripts in CGI
  3408. * fixed accidentally sending out physical file in CGI on error
  3409. * fixed cygwin support
  3410. * fixed handling of missing files
  3411. * fixed HEAD requests for dynamic requests
  3412. - 1.3.8 - 2005-01-30
  3413. * added traffic shaping by remote host and virtual server
  3414. * added auto-spawning of FastCGI process on demand
  3415. * added virtual host based on MySQL
  3416. * added mod_setenv to add environment and http headers on the fly
  3417. * added support for syslog in mod_accesslog
  3418. * improved output of mod_status
  3419. * improved debug output in request handling
  3420. * fixed build problems on netbsd 1.4.x and 1.5.x
  3421. * fixed status.url configuration
  3422. * fixed handling of != and !~ in configutation
  3423. * fixed special cases in keep-alive handling
  3424. * fixed timeout handling in handling POST requests
  3425. * fixed mode AUTHORIZER in FastCGI
  3426. * fixed handling if internal redirects if no Host: is supplied
  3427. * fixed mod_alias + pathinfo
  3428. * fixed directory indexes and permissions
  3429. * enabled sending errorlog to syslog again
  3430. - 1.3.7 - 2004-12-11
  3431. * added retries for a fastcgi connect if a php-childs
  3432. dies at startup
  3433. * update the debian directory
  3434. * added setgroups() to drop all group-privs
  3435. * added native port to windows via mingw32
  3436. * added server.tag = '...'
  3437. * added support for ${...} in mod_ssi
  3438. * ported all plugins to conditional support
  3439. * fixed multipart handling in cgi
  3440. * fixed kqueue event-handler
  3441. * fixed wrap-around in mod_status
  3442. * fixed crash with SSL + FastCGI
  3443. * fixed detection of SSL headers
  3444. * fixed handling of dangling SSL_shutdown
  3445. * fixed detection of keep-alive of Firefox
  3446. - 1.3.6 - 2004-11-03
  3447. * added spawn-fcgi to the distribution
  3448. * added support in fastcgi module to spawn fastcgi
  3449. processes itself
  3450. * fixed logfile cycling if external logging is used
  3451. * fixed connection handling in fastcgi if no chunk
  3452. encoding is used
  3453. * fixed internal redirects on directories if a query
  3454. string is supplied
  3455. * fixed cgi-module for POST request above 4k
  3456. * fixed mod_alias and follow-symlink
  3457. - 1.3.5 - 2004-10-31
  3458. * added mod_alias
  3459. * added mod_userdir
  3460. * added the exec command to the SSI handler
  3461. * added a switch to disable follow-symlinks
  3462. * added a switch to disable IPv6 at compile-time
  3463. * fixed compilation on FreeBSD and NetBSD 1.3.x
  3464. * fixed segfault in pipelining
  3465. * fixed a segfault in writev() handler if LFS is used
  3466. - 1.3.4 - 2004-10-24
  3467. * added limiter for open files
  3468. * added logging of user supplied data to accesslogs
  3469. * added build target for OpenWRT
  3470. * added plain backend support for auth-digest
  3471. * fixed handling the external accesslog processes
  3472. * fixed SERVER_NAME in CGI and FastCGI
  3473. - 1.3.3 - 2004-10-16
  3474. * added support for NL terminators in CGI-scripts
  3475. * added support for conditionals in mod_auth,
  3476. mod_simple_vhost and mod_evhost
  3477. * added a error-handler for 404 codes
  3478. * fixed request counter in the rrdtool module
  3479. * fixed log-file cycling
  3480. * fixed seg-fault
  3481. - 1.3.2 - 2004-09-30
  3482. * fixed file-cache
  3483. - 1.3.1 - 2004-09-30
  3484. * fixed file-cache
  3485. * fixed parsing of IPv6 addresses
  3486. * fixed cgi for cygwin
  3487. * fixed test-suite for FreeBSD and IRIX
  3488. * fixed handling of shrunken files
  3489. * fixed handling of REQUEST_URI after rewrite
  3490. - 1.3.0 - 2004-09-17
  3491. * added build for MacOS X and Cygwin
  3492. * added handling of more than one socket
  3493. * added config-conditions for User-Agent and Referer
  3494. * added final rewrite-rules
  3495. - 1.2.8 - 2004-09-11
  3496. * added a cache for mimetypes
  3497. * added X-Forwarded-For for mod_proxy
  3498. * fixed handling of comments in If-Modified-Since
  3499. * fixed error handling in FastCGI code
  3500. * fixed expire plugin for second Expire header
  3501. - 1.2.7 - 2004-09-04
  3502. * added mod_rrdtool for internal statistics
  3503. * added xattr support
  3504. * added user-controlable timeouts
  3505. * improved documentation for many plugins
  3506. * fixed POST requests for mod_proxy
  3507. * fixed rare hang with CGI
  3508. * fixed seg-fault if no configfile is specified
  3509. * fixed rare problem in FastCGI header generation
  3510. - 1.2.6 - 2004-08-26
  3511. * added apache-like accesslog definition
  3512. * enabled timestamp cache again
  3513. * improved performance in the string compare functions
  3514. * fixed double-free in fastcgi handler
  3515. * fixed error-handling in cgi handler
  3516. - 1.2.5 - 2004-08-10
  3517. * added skeleton for solaris 10 port-API
  3518. * added compression support even if no cachedir is set
  3519. * added conditional configoptions
  3520. * fixed compilation on OpenBSD
  3521. * fixed kqueue support
  3522. * fixed pipelining bug
  3523. * fixed parallel build (triggered by Gentoo)
  3524. * updated debian postinst
  3525. - 1.2.4 - 2004-07-31
  3526. * added kqueue support
  3527. * added server-side includes (mod_ssi)
  3528. * fixed large post uploads in fastcgi
  3529. * fixed rt-signals handling of delayed events
  3530. - 1.2.3 - 2004-07-10
  3531. * added a proxy module for Java and friends
  3532. * added support to pass accesslog through an external program
  3533. * added mimetypes for text/css and text/javascript
  3534. * fixed index-files for FastCGI if webserver is in chroot
  3535. * fixed error messages of CGI process fails to exec()
  3536. * fixed detection of pcre on IRIX and FreeBSD
  3537. * fixed timestamps in Last-Modified checks
  3538. * fixed 64bit builds
  3539. * fixed mmap-caching of large files
  3540. * relaxed the HTTP parser on empty headerfields
  3541. - 1.2.2 - 2004-06-15
  3542. * added support for unix domain sockets in FastCGI
  3543. * fixed mmap caching
  3544. * fixed compile-time check for linux sendfile()
  3545. * fixed check for pcre.h on Fedora Core 2
  3546. - 1.2.1 - 2004-05-30
  3547. * added experimental support for AIX send_file()
  3548. * added an mmap cache to the filehandle cache
  3549. * enabled FreeBSD sendfile support again
  3550. * added support for calling CGI binaries directly
  3551. * fixed pipelining for POST requests
  3552. * fixed some seg-faults if no configfile is used
  3553. - 1.2.0 - 2004-05-17
  3554. * added conforming Expect: handling
  3555. * added a module for secure and fast downloading
  3556. * rewrote the event handling interface
  3557. * fixed array handling which might lead to 'missing header'
  3558. * fixed pipelining support
  3559. * fixed build of the localizer extension
  3560. * fixed cgi handling for headers which are flushed to often
  3561. * fixed compilation on Solaris 2.5
  3562. - 1.1.9 - 2004-04-29
  3563. * added AUTHORIZER mode to the FastCGI module
  3564. * added 'check-local' option to disable local stat() in the FastCGI module
  3565. * added prefix-notation for FastCGI module
  3566. * added 'mod_usertrack'
  3567. * improved CGI/FastCGI spec conformance
  3568. * more code cleanup
  3569. * fixed HTTP/1.1 chunk headers
  3570. * fixed POST handling
  3571. * fixed SSL network handler
  3572. * fixed writev() network handler
  3573. - 1.1.8 - 2004-04-16
  3574. * code cleanup
  3575. * limiting the size of the request-body and the request-header
  3576. * minor speed improvements
  3577. * tightend the HTTP-Parser again
  3578. - 1.1.7 - 2004-04-12
  3579. * added REMOTE_USER to the Server->FastCGI parameters
  3580. * added bzip2 compression
  3581. * improved the error-messages from the new configfile parser
  3582. * fixed accesslog writing for erroneous requests
  3583. * fixed LFS (64bit filesizes) handling
  3584. * fixed Content-Length for HEAD requests
  3585. * fixed some memory leaks in the configfile parser
  3586. - 1.1.6 - 2004-04-10
  3587. * tightend the HTTP-Parser
  3588. * rewrote the configfile parser (based on lemon)
  3589. * fixed openssl support
  3590. * fixed mmap+write support
  3591. * use localtime in accesslog if possible
  3592. - 1.1.5 - 2004-04-07
  3593. * added ldap backend to the auth
  3594. * added a mod_expire
  3595. * added debian packaging structure
  3596. * merged redhat and suse spec-file
  3597. * fixed eventhandler for solaris
  3598. * fixed 64bit fileoffsets
  3599. * fixed permissions of the PID-file
  3600. - 1.1.4 - 2004-04-04
  3601. * added server.pid-file
  3602. * added support for solaris /dev/poll and solaris sendfilev()
  3603. * added support for writev()
  3604. * added PATHINFO support (again)
  3605. * fixed CLF logfile writing
  3606. - 1.1.3 - 2004-03-25
  3607. * set default event-handler to 'poll'
  3608. * fixed logcycling in chroot()
  3609. * fixed hostname detection
  3610. * added syslog() as fallback for error-logging
  3611. - 1.1.2 - 2004-03-22
  3612. * added a "docroot" setting for fastcgi processes
  3613. * performance improvements
  3614. * improved configure script
  3615. * rewrote the fastcgi config parser
  3616. * added a rc-script for RedHat
  3617. * added epoll() support for Linux 2.6.x
  3618. - 1.1.1 - 2004-03-15
  3619. * added localizer module
  3620. * performance improvements
  3621. * code cleanup
  3622. - 1.1.0 - 2004-03-06
  3623. * changed some configuration keys for better readability
  3624. * moved the virtual-host code to mod_simple_vhost
  3625. * added enhanced virtual host plugin from Christian Kruse
  3626. * added two new auth-backends (htpasswd, htdigest)
  3627. * fixed and improved authentication
  3628. * stricter parsing of the Host: field
  3629. * added a warning for unused configuration keys
  3630. * improved FastCGI documentation
  3631. - 1.0.3 - 2004-02-13
  3632. * a startup script has been added (LSB compliant)
  3633. * HEAD requests were submitting the content like a GET request
  3634. * the virtual directory listing got a face-lifting and fixes
  3635. * request-headers are now handled case-in-sensitive as required
  3636. by the standard. this fixes POST requests for w3m and some Proxies.
  3637. - 1.0.2 - 2004-02-07
  3638. * rearrangement of the default configfile
  3639. * some updates in the documentation
  3640. * a entry in the error-log for a 404
  3641. * stdout is no longer the default for the accesslog