1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994 |
- Fri 23 Feb 2024 21:00:00 UZT
- Releasing GNU libmicrohttpd 1.0.1 -EG
- February 2024
- Fixed builds without messages. -JP & CG
- Fixed builds with external MD5 calculation.
- Fixed SHA-512/256 code for hypothetical extra large sizes.
- Fixed response handling during daemon shutdown.
- Fixed code logic for builds without messages.
- Reduced the binary size for builds without messages by removing
- the strings with filenames used for panic reports.
- Fixed tests and examples for builds without messages and for builds
- without basic auth.
- Fixed some compiler warnings. -EG
- Thu 01 Feb 2024 15:00:00 CET
- Releasing GNU libmicrohttpd 1.0.0 -EG
- January 2024
- add missing lock, do not call 'close(-1)' on very rare error path.
- use correct HTTP header (content type, not content encoding) for mime type
- in examples.
- fix memory leak on error path. -CG
- MHD_OPTION_CONNECTION_MEMORY_{LIMIT,INCREMENT}: added ignore of zero value.
- test_upgrade{,_large}{,_tls}: unified code, removed workarounds, added new
- test.
- digest_auth_example_adv: added new advanced example for the new Digest
- Auth API use.
- Fixed compiler warnings in configure, lib, examples, tests.
- test_digestauth2: supported old libcurl versions.
- Fixed tests with GnuTLS in non-default path.
- configure: sorted messages in final config summary.
- Fixed non-debug build without HTTPS.
- configure: removed old workaround for Solaris.
- test_upgrade: adapted for macOS. -EG
- December 2023
- "Upgraded" TLS connections: fixed data pumping in various edge conditions.
- 'bootstrap': fixes and simplifications.
- Digest Auth: added default timeout and max nc values, added daemon options
- for default nonce timeout and max nc values, added testing, implemented
- setting DAuth defaults by configure parameters. -EG
- November 2023
- Updated HTTP methods, headers and reason phrases.
- Renamed one new basic auth function, improved doxy.
- digest auth: updated header, slightly modified multi-value processing. -EG
- websocket_threaded_example: fix websocket url string. -Evgeniy Gavrilenko
- configure: warn if building without threads. -EG
- configure: added detection of FD_SETSIZE value and ability to override it.
- internal.h: added macros for polling mode detection.
- Added use of configure-detected system default FD_SETSIZE value.
- internal.h: added macros for internal threads modes detection.
- Added MHD_OPTION_APP_FD_SETSIZE and MHD_FEATURE_FLEXIBLE_FD_SETSIZE.
- daemon.c: moved processing and checking of app-provided listen socket.
- MHD_start_daemon(): mark listen as UNIX based on available information.
- MHD_start_daemon(): added stricter checks for bind() and listen() return
- values.
- MHD_start_daemon(): added check for epoll FD to fit fd_set for external
- polling mode.
- Implemented and documented MHD_OPTION_LISTEN_SOCKET followed by
- MHD_INVALID_SOCKET.
- Fixed ignored daemon port when MHD_OPTION_LISTEN_SOCKET or
- MHD_OPTION_SOCK_ADDR are used as documented.
- MHD_start_daemon(): further improved UNIX / IP socket detection.
- Implemented new option MHD_OPTION_SOCK_ADDR_LEN.
- MHD_start_daemon(): added check for app-provided socket to fit fd_set.
- MHD_start_daemon(): fixed leaked listen socket when daemon start failed.
- MHD_add_connection(): added more checks for correct members of sockaddr.
- Timeout handling added detection of more conditions to process the data
- without waiting.
- MHD_quiesce_daemon(): fixed return value if already quiesced.
- MHD_start_daemon(): reject INTERNAL_POLLING_THREAD if threads are disabled.
- test_daemon: fixed to not skip the test if failed.
- test_digestauth2: fixed order of the initial checks.
- Improved daemon shutdown handling in external polling mode.
- Unified and simplified fd_set filling.
- Added new daemon flag MHD_USE_NO_THREAD_SAFETY and testing.
- Officially support zero for MHD_OPTION_THREAD_POOL_SIZE.
- test_upgrade: used sized send and receive, removed VLA, other improvements.
- test_upgrade: implemented proper timeout detection and handling. -EG
- September 2023
- fix #7928: correct tutorial direntry.
- proper fix for #7757. -CG
- W32 VS projects: added perf_replies.
- W32 VS projects: added .editorconfig.
- perf_replies improvements for W32.
- mhd_threads: muted compiler warning on W32.
- mhd_threads: fixed check for error when starting a new thread on W32.
- Renamed 'pid' -> 'tid' when used for threads.
- mhd_str: fixed possible compiler and run-time sanitizers warnings.
- Muted and fixed some compiler warnings.
- W32 VS project: corrected compiler settings.
- W32 VS: really muted run-time false warnings about data truncation.
- examples/sessions.c: fixes.
- Fixed missing <errno.h> includes.
- Refactored threads support to handle platforms without "invalid" ID value.
- Fixed MHD_CONNECTION_INFO_DAEMON: return master daemon. -EG
- check rvalues from pthread_mutex_, MHD_add_response_header,
- MHD_post_process in examples.
- Theoretical use-after-free in test on error path. -CG
- Do no use internal magic number if it is used by the remote client.
- Refactoring: store "request target" original length.
- Detect error earlier if request HTTP version is bad.
- Added calculation of request headers total size.
- Rewritten handling of exhaustion of memory pool when receiving.
- tests: fixed compiler warnings, copy-paste error, added error reporting.
- test_long_header: re-use the same port for all checks.
- Control acceptance of LF as CRLF in chunked encoding in the same way as
- in headers parsing.
- Improved compatibility with old compilers.
- Fixed more compiler warnings. -EG
- Sun Sep 3 12:23:18 AM CEST 2023
- Prevent queueing of responses if connection is not currently in the
- access handler callback (which was always not allowed per API spec,
- but is now met with an appropriate error response). Fixes #7757. -CG
- August 2023
- Improved CPU cores detection in perf_replies. -EG
- July 2023
- Added new tool perf_replies with automatic detection of number of available
- CPU on system and for the program. -EG
- June 2023
- Bump version numbers as v0.9.77 was released on parallel branch.
- Added test for MHD_get_version{,_bin} function and related macros.
- base64 decoding: added more compact code version.
- Refactoring: check whether memory pool block is resizeable.
- Re-implemented parsing of the request line from scratch with strict
- conformance with RFC 9110 and 9112 requirements.
- Re-implemented parsing of the request headers and footers from scratch with
- strict conformance with RFC 9110 and 9112 requirements.
- Fuzzing tests: almost completely re-implemented. The new version is unified
- and much easier to maintain.
- Added new tests for folded headers.
- Corrected HTTP error responses for clients.
- connection: fixed pipelined requests processing.
- Added checks for correct values specified for connection memory limits.
- process new connection: fixed missing mutex unlock in error handling path.
- W32 VS Projects: fixed code parsing by GUI.
- Focused all read-buffer grows in a single point, related improvements. -EG
- May 2023
- Improved portability of boostrap (and autogen.sh)
- Muted more compiler warnings in configure.
- Tests: updated to support new libcurl APIs and fixed deprecation
- warnings with new versions (the old versions are supported still).
- Tests: minor and cosmetic fixes and improvements.
- Tests: compiler warnings fixes.
- configure: bump gettext version.
- Tests: fixed build with C89 compilers.
- Tests: fixed tests on Darwin 22.x (Ventura).
- Tests: redesigned one tests group to avoid stress-testing of the OS.
- configure: improved portability for exotic platforms.
- examples: removed non-portable functions, added some checking,
- fixed compiler warnings, fixed erroneously commented out code.
- configure: fixed detection of __FUNCTION__ magic macro.
- Unified function name magic macros usage in code.
- W32 VS projects: supported ARM and ARM64.
- Fixed compiler warning on x32.
- Some minor fixes for W32 VS compilation. -EG
- April 2023
- Implemented and used new function MHD_pool_deallocate().
- Updated libtool fixes.
- Removed some autotools files from git.
- Added autoconf patches and fixes.
- {md5,sha256}_ext.c: fixed processing of initialisation error with NULL
- handler. -EG
- March 2023
- Upgraded TLS: fixed inefficient communication.
- Upgraded TLS: use more available memory for pumping the data. -EG
- Web 29 Mar 2023 20:56:00 CEST
- Bumped version as the hotfix was released based on the separate branch. -EG
- March 2023
- configure: reordered checks for compiler flags.
- configure: fixed checks for tsearch() and related changes.
- Makefile: fixed build with 'make' without nested vars support.
- configure: fixed compiler warnings.
- libcurl.m4: patched to fix compiler warning.
- configure: internal fixes, compiler warning fixes, cosmetics, better
- POSIX compatibility, fixed compatibility with old autoconf.
- Upgraded TLS: warn if emergency buffer is used. -EG
- Sun Feb 26 05:49:30 PM CET 2023
- Fix potential DoS vector in MHD_PostProcessor discovered
- by Gynvael Coldwind and Dejan Alvadzijevic (CVE-2023-27371). -CG
- February 2023
- epoll: immediately notice when other side closes the socket, instead of
- waiting for timeout. -CG
- December 2022
- Refactored cookies parsing.
- Always close connection after reply if both Content-Length and chucked are
- used. This is specified by RFC.
- Added new daemon option MHD_OPTION_CLIENT_DISCIPLINE_LV with more detailed
- control of accepted/rejected non-standard requests.
- Added new M4 helper macro.
- configure: used better detection of some functions when cross-compiling.
- configure: try to detect whether eventfd is enabled.
- Compiler warning fixes.
- Improved reported strings in tests. -EG
- November 2022
- connection: refuse requests with unsupported Transfer-Encoding.
- connection: reject or log requests with both chunked encoding and
- Content-Length.
- tests: fixed checking response headers as null-terminated string.
- Some tests fixes.
- configure: check fixes.
- Refactored user-poison: minimized scope of non-sanitized code.
- digestauth: avoided malloc() repeating by using the new function.
- MHD_get_version_bin(): added new function.
- test_parse_cookies: rewritten. -EG
- October 2022
- Reworked HTTPS tests. Removed hardcoded TLS version and ciphers, updated
- self-signed certificate.
- Fixed delayed call of connection notification callback in
- thread-per-connection mode.
- Fixed delayed new connection notification in thread-per-connection mode.
- Minor internal code improvements.
- Added handling of "DEBUG" preprocessor macro as an alias of "_DEBUG".
- TLS initialisation: re-implemented. New implementation trying to use
- "libmicrohttpd" system-wide GnuTLS configuration by default with fallbacks
- to generic system-wide GnuTLS configuration and default GnuTLS
- configuration.
- New daemon option to use addition to default configuration instead of
- specifying full configuration string.
- Added relevant tests for GnuTLS initialization.
- Added reporting of failed part of GnuTLS configuration string.
- Added MHD_FEATURE_DEBUG_BUILD value.
- Implemented internal protection from some wild data hypothetically reported
- by accept4().
- Internal refactoring.
- Prevented sending "100 continue" if request has no body or if any part of
- request data has been received.
- Reworked handling of situation when app just partially processed the data:
- if any data was processed then zero timeout if used for polling sockets,
- if no data was processed then callback in not called until the new data
- arrived.
- Fixed handling of various errors conditions detected in requests.
- Added test with Content-Length broken value in request.
- test_head: added check for excess data in reply
- Improved epoll connection handling.
- Fuzzing tests: fixed CPPFLAGS.
- configure: do not pass AM_TESTS_ENVIRONMENT directly.
- configure: added summary message about heavy and fuzzing tests
- test-suite: marked some tests as "very heavy" tests
- configure: improved check for asserts. -EG
- September 2022
- Added testing of userdigest and userhash calculations.
- Implemented SHA-512/256 from scratch.
- Digest Auth: implemented SHA-512/256 support, added
- MHD_FEATURE_DIGEST_AUTH_SHA512_256 and relevant tests.
- Made all algorithms (MD5, SHA-256, SHA-512/256) optional with ability
- to remove by configure parameter.
- Digest Auth: internal refactoring and improvements.
- configure: minor improvements.
- Fixed initialisation of very old GnuTLS versions.
- Replace public domain MD5 implementation with the new implementation
- written from scratch.
- MD5, SHA-256, SHA-512/256: various code improvements, special versions for
- compact code.
- Digest Auth: changed internal algorithm for re-use of nonce-nc slot.
- Digest Auth: used weak pseudo-random generators to avoid slot clashes.
- Implemented optional ability to use GnuTLS functions for MD5 and SHA-256
- calculations.
- Fixed harmless unwanted extra data processing resulting in triggering of
- the assert.
- Added testing of HEAD requests.
- Minor internal changes.
- Fixed compiler warnings for compact code version.
- Muted compiler warnings with clang.
- Configure: more workarounds for clang on W32 with incorrect headers.
- Removed long-unused "gauger" from tests.
- Fixed compiler warnings in test.
- test_add_conn: added reasonable limits. -EG
- August 2022
- Added testing of userhash parameter parsing.
- Added testing of the auth type headers in one request.
- Warn in log if random data has not been initialised.
- Digest Auth: improved response header in RFC2069 mode.
- Added more string processing internal functions.
- Digest Auth: added new option MHD_OPTION_DIGEST_AUTH_NONCE_BIND_TYPE to
- control nonces generation.
- Increased testing for Digest Auth.
- Digest Auth: do not use reproducible nonces generation by default.
- Minor correction for auth headers processing.
- Digest Auth: internal refactoring.
- Digest Auth: added algorithm value to username info (required for userhash
- values).
- Digest Auth: added new public functions for userhash and userdigest
- calculations. -EG
- July 2022
- Digest Auth: internal optimisations and refactoring, digest_auth_check
- almost completely rewritten.
- Digest Auth: removed use of VLA.
- Digest Auth: added support for username in extended notation and test
- for extended notation.
- Digest Auth: implemented userhash support and tests for extended notation.
- MHD_add_response_entry(): refactoring
- Digest Auth: implemented DAuth response function
- MHD_queue_auth_required_response3() from scratch. Removed old
- implementations, old functions converted to wrappers for the new function.
- Digest Auth: added new group of tests.
- Digest Auth: added related MHD_FEATURES_* values.
- Digest Auth: added detection of the algorithm used by the client and
- use specified algorithm if allowed by application.
- Configure: cosmetics and reports improvements, control static and shared
- enablement by --enable-build-type=.
- Added new daemon option MHD_OPTION_DIGEST_AUTH_RANDOM_COPY and tests.
- Digest Auth: implemented support for old RFC 2069 (if allowed by app) and
- tests for RFC 2069.
- Internal refactoring: moved all request-related connection struct members
- to dedicated struct. The same for reply-related struct members.
- Implemented support for both Basic and Digest headers in the same
- request. -EG
- June 2022
- Fixed compiler warnings in main code and examples.
- Added error checking in examples.
- Added test for parsing auth headers.
- Improved parsing of auth headers.
- Added more internal functions for quoted string processing.
- Added test for quoting string processing.
- Digest Auth: internal optimisations.
- Basic Auth: fixed handling of realms with slashes and/or double quotes.
- Digest Auth: fixed use of possible maximum client nonce length as maximum
- server nonce length. Reduced size of internal arrays.
- Basic Auth: new function MHD_queue_basic_auth_fail_response3() with support
- for RFC 7617.
- Basic Auth: added new function MHD_basic_auth_get_username_password3() with
- more details about username and password. Technically allow binary zero in
- username and in password.
- Fixed data races when closing upgraded connection.
- Replaced public domain Base64 decoder with the new implementation written
- from scratch. The new implementation has very precise checks for the input
- data.
- Added new test for Base64 decoding.
- Updated examples to use new Basic Auth functions.
- Fixed and improved postprocessor tests.
- Ported test to non-VLA compilers.
- Added configure parameter --enable-compact-code.
- Removed duplication of "Connection: upgrade" header. Patch by Alexander
- Irion.
- Configure: removed some unneeded compiler flags.
- Digest Auth: improved RFC match (qop value caseless match), check
- parameters length validity before checking the values validity, correctly
- compare URLs with binary zeros, check URL arguments only in the same order
- as specified in DAuth header.
- Added internal functions for percent-decoding and tests for
- percent-decoding.
- Added internal function for hex to bin decoding, tests for hex<->bin
- decoding.
- Digest Auth: added new function MHD_digest_auth_get_request_info3() and
- MHD_digest_auth_get_username3() with detailed information about DAuth
- request. -EG
- Fixed memory leaks in tests.
- Fixed wrong array size for Digest Auth. -CG
- May 2022
- Improved public doxy.
- Digest Auth: fixed missing mark on 'nc' value as 'used'.
- Digest Auth: added internal checks for unrealistically high values.
- Digest Auth: added check for correct values from application.
- Digest Auth: nonce timestamps changed to milliseconds to lower conflict
- probability.
- Digest Auth: implemented management nonce-nc map array slots so old
- entries are removed safely while trying to avoid to remove the new entries.
- configure: added 'debugger' build type.
- Added more tests for cookies parsing.
- Digest Auth: use nonce-nc map arrays with locks in master daemon only
- so works can re-use the nonces and nc information.
- MHD_set_connection_option(): reduced scope for the lock.
- Fixed leak of mutexes when daemon creation failed and when closing daemon
- with thread pool.
- Digest Auth: fixed stale nonce result value ambiguity.
- Digest Auth: added special check for fabricated nonces.
- Added new functions MHD_digest_auth_check3() and
- MHD_digest_auth_check_digest3() with detailed result of the checks.
- Added return NULL MHD_CONNECTION_INFO_CLIENT_ADDRESS when information is
- not available.
- Improved internal handling of non-IP connections (UNIX sockets or pipes)
- when processing the client address.
- Fixed compiler warnings.
- Increased testing of cookies parsing.
- Completely re-written cookies parsing. The new code follow RFC 6265.
- Made cookies parsing functionality optional, can be disabled by configure.
- Configure: added more warning flags.
- Configure: internal improvements.
- Globally changed '#if HAVE_SOMETHING' to '#ifdef HAVE_SOMETHING'.
- Enabled more compiler warnings in W32 projects.
- Fixed MHD functionality with blocking sockets. Patch by Kolja Nowak.
- Moved some macros and declaration to new specialised headers: basicauth.h
- and digestauth.h.
- Added new function to process quoted strings.
- Digest Auth: reworking support for multiple digest algorithms.
- Response processing: better handle unrealistic but broken situation.
- Basic and Digest Auth: completely reworked headers parsing, unified code.
- Added new autoconf macros.
- Configure: added more workarounds for clang.
- Fixed possible use of uninitialised variable.
- Added new test for Basic Auth.
- Some code readability improvements. -EG
- April 2022
- Added autoconf macro for checking compiler parameter/flag.
- Improved -fvisibility compiler flag support detection in configure.
- Fixed compiler warnings.
- Moved fixed libtool-specific flags to Makefile from configure.
- Configure: added reporting of final compiler/linker flags.
- Fixed ignored user linker flags when building library binary.
- Improved makefiles dependency specification.
- Implemented --enable-build-type=TYPE configure parameters for ready-to-use
- configuration sets (defaults).
- Separated internal types for request headers and response headers.
- Fixed many unneeded drops of 'const' qualifier, converted some pointers
- to 'const'.
- Added use of _MHD_EXTERN with all external function definitions.
- Refactored response creation functions.
- Added new function MHD_create_response_from_buffer_static() to avoid
- unwanted dropping of 'const' when application is using static strings.
- Added new API function MHD_create_response_from_buffer_copy().
- Public doxy improvements.
- Improved handling of TLS backends for libcurl when testing HTTPS.
- Updated TLS certificates for tests and examples. New certificates
- were generated with SAN fields to match actual requirements.
- Fixed old style function definitions in examples.
- Tuned compiler warning flags.
- Fixed many preprocessor macros (removed space before bracket).
- Fixed printf() format specifications in examples.
- Removed non-literal strings for printf in examples.
- Improved portability of examples.
- Fixed unaligned access via sockaddr_in pointers.
- Fixed unaligned access in MHD_get_connection_info() and
- MHD_get_daemon_info().
- Compiler warning fixes.
- Changed: any negative number returned by response data generation
- callback function is treated as an error.
- Fixed setting custom connection timeout value for thread-per-connection
- mode.
- Fixed short (lees then one second) busy-waiting when connection is about
- to expire by switching to milliseconds accuracy instead of seconds.
- Added new functions MHD_get_timeout64(), MHD_get_timeout64s(),
- MHD_get_timeout_i().
- Added some checks for possible value trim due to width conversion.
- Digest Auth: continuation of refactoring, optimisations.
- Digest Auth: do not use nonces provided by the client if they were not
- generated previously by MHD. -EG
- March 2022
- Added internal check for suitability of used response.
- Improved doxy.
- Improved handling of application-provide "Content-Length" header.
- Internally separated "Icy" flag from the response code.
- Fixed Address Sanitizer unpoison of memory when memory pool is destroyed.
- Improved log messages.
- Added more checks for "Upgrade" handling.
- Better internally separated response type handling:
- headers only without
- body-specific headers, body-specific headers without body
- (Content-Length/Transfer-Encoding),
- all headers with body.
- Blocked MHD_SIZE_UNKNOWN value for buffer-based responses.
- Significantly improved doxy for MHD_queue_response().
- Added new function MHD_create_response_empty()
- Fixed compiler flags for UBsan in configure.
- Added new option for "--enable-sanitizers=" parameter.
- Improved autoconf macros. -EG
- January 2022
- Tuned automake options.
- Fixed compiler warning in examples.
- Fixed use of initialised variable in tests.
- Removed unused autotools files.
- .gitignore: cleanup and update.
- Autotools: always let user override build flags.
- Moved 'po' files to separate directory.
- Fixed missing include file in docs.
- Fixed 'make distcheck'.
- Fixed use on GNU/kFreeBSD.
- Fixed HTTP/1.1 or 1.0 selection in tests.
- Other tests improvements and fixes.
- Digest Auth: changed "md5" / "sha-256" to "MD5" / "SHA-256" to better
- match RFC (while clients should use caseless matching).
- Initial digest auth refactoring, reject invalid input.
- Global rename of callback parameter 'con_cls' -> 'req_cls'.
- Digest auth tests improvements and fixes.
- Added test for parallel digest auth requests.
- Minor autoconf macros fixes. -EG
- December 2021
- configure: fixed unwanted output on Fedora.
- configure: clarified licence message.
- Doxy corrections and improvments. -EG
- Sun 26 Dec 2021 20:30:00 MSK
- Releasing GNU libmicrohttpd 0.9.75 -EG
- December 2021
- Fixed Makefile warning on MinGW.
- Fixed compiler warning on MinGW.
- Fixed "configure" portability (for NetBSD).
- MSVC project cosmetics.
- MSVC fixed project to fix linker warning.
- Fixed compiler warning on some platforms.
- Further improved test_client_put_stop to get stable results on all
- platforms.
- Added workaround for platforms (like OpenBSD) where system monotonic clocks
- may jump forward and back.
- Added more checks in test_large_put, increased timeout (was too small for
- this test). -EG
- Sun 19 Dec 2021 18:30:00 MSK
- Releasing GNU libmicrohttpd 0.9.74 -EG
- December 2021
- Fixed doxy for MHD_suspend_connection().
- Some code improvements for new test test_client_put_stop.
- Added special log message if thread creation failed due to system limits.
- Fully restructured new_connection_process_() to correctly handle errors,
- fixed missing decrement of number of daemon connections if any error
- encountered, fixed app notification of connection termination when app has
- not been notified about connection start, fixed (highly unlikely) reset of
- the list of connections if reached daemon's connections limit.
- configure: fixed some compiler warnings reported in config.log.
- Fixed tests on FreeBSD to support system-limited rate of RST packets and
- 'blackhole' system setting. -EG
- Fixed tests for libmagic to really use libmagic in examples. -CG
- Used tricks in code formatting to workaround uncrustify bugs.
- configure: improved compatibility with various shells.
- configure: added selective enable of sanitizers.
- Fixed compatibility with old GnuTLS versions.
- Fixed tests compatibility with old libcurl versions.
- Fixed busy-waiting in test_timeout (fixed CPU load spikes in the test).
- test_https_time_out: check rewritten, previously it is was no-op.
- test_upgrade{,_large}: fixed passing of socket value to GnuTLS on W32.
- Simplified Makefile for HTTPS tests.
- Added detection of old broken GnuTLS builds (on RHEL6 and clones) and
- disabled some tests broken with these builds.
- Muted compiler warnings with old libcurl versions.
- Reworked dlltool support: added support for weakened oversimplified
- half-broken llvm-dlltool
- Silenced MS lib tool warning and MS lib tool invocation.
- Added Makefiles rules for automatic regeneration of all required files if
- anything is missing.
- Added Makefile silent rules support for W32 RC and W32 static libs.
- Added local patches for autotools (mainly for libtool) to build MHD
- correctly on modern MinGW64/Clang.
- Updated HTTP headers macros from registry. -EG
- November 2021
- Clarified comments and doxy for MHD_str* and related tests.
- MHD_uint32_to_strx(): rewritten for readability and minor optimization,
- used indexes instead of pointers.
- Documented in doxy how to use MHD_AccessHandlerCallback.
- mhd_sockets: added more network error codes.
- W32 socket pair: set TCP_NODELAY to avoid unwanted buffering and delays.
- Additional doxy fixes in microhttpd.h.
- Fixed blocking sockets setting in tests and examples for W32.
- Added checks for fcntl() results in tests and examples.
- Added series of tests based on simple HTTP client implementation developed
- for testing of MHD.
- Renamed 'early_response' connection flag to 'discard_request' and reworked
- handling of connection's flags.
- Clarified request termination reasons doxy, fixed reporting of
- MHD_REQUEST_TERMINATED_READ_ERROR (previously this code was not really used
- in reporting).
- Enforce all libcurl tests exit code to be zero or one.
- Rewritten client upload processing: removed redundant checks, fixed
- skipping of chunk closure when not data is not received yet, fixed skipping
- of the last LF in termination chunk, handle correctly chunk sizes with more
- than 16 digits (leading zeros are valid according to HTTP RFC), fixed
- handling of CRCR, LFCR, LFLF, and bare CR as single line delimiters, report
- error when invalid chunk format is received without waiting to receive
- (possibly missing) end of the line, reply to the client with special error
- if chunk size is too large to be handled by MHD (>16 EiB).
- Added error reply if client used too large request payload (>16 EiB).
- Fixed return value for MHD_FEATURE_AUTOSUPPRESS_SIGPIPE on W32, now it
- returns MHD_YES as W32 does not need sigpipe suppression.
- configure: reordered and improved headers detection. Some headers require
- other headers to be included before, now configure supports it.
- Added missing ifdef guard for <stdbool.h>.
- mhd_sockets: reordered includes for better compatibility.
- Some code readability and formatting improvements. -EG
- October 2021
- Added test family test_toolarge to check correct handling of the buffers
- when the size of data is larger than free space.
- Fixed missing updated of read and write buffers sizes.
- Added detection and use of supported "noreturn" keyword for function
- declaration. It should help compiler and static analyser.
- Added support for leak sanitizer.
- Fixed analyser errors on W32.
- Partially reworked memory allocation from the pool, more robust
- implementation, always track read and write buffers.
- Added custom memory poisoning in memory pool with address sanitizer.
- Added missing update of the read buffer size.
- Addition for doxy for new behaviour of MHD_del_response_header().
- Added two tests with non-standard symbols in requests.
- Removed double close of connection with error in headers processing.
- Respond to the client with error if chunked request has broken chunked
- encoding as required by HTTP RFC instead of just closing the connection.
- Fixed request headers processing. Do not recognize bare CR as end of line.
- Fixed processing of CRCR, bare CR, LFCR, and LFLF as end of the line for
- request chunked encoding. Now only CRLF or bare LF are recognized as end
- of line.
- Added Lawrence Sebald to the AUTHORS file (iovec-based responses).
- Check for PAGESIZE and PAGE_SIZE macros and check whether they can be used
- for static variable initialization.
- Include "MHD_config.h" before all other includes to set macros required to
- be set before standard includes.
- Chunked response: abort with error if application returns more data than
- requested.
- Monotonic clock: use only native clock on W32 as all other clocks are just
- wrappers.
- W32: fixed builds with MSVC, added projects for VS2022, added MSVC
- universal project that use latest available toolset, use C17 if supported.
- Chunked response: fixed calculation of number of bytes left to send.
- microhttpd.h: doxy clarifications for sockets polling.
- Updated HTTP statuses, methods, and headers names from the registries.
- Further improved doxy for MHD_add_response_header().
- A few comments improvements and clarifications.
- Added internal connection's flag indicating discard of the request. -EG
- Websockets update by David Gausmann. -DG
- Fixed reported value for MHD_CONNECTION_INFO_CONNECTION_TIMEOUT.
- Minor code readability improvements in MHD_set_connection_option().
- Improved doxy for MHD_get_timeout().
- Memorypool: minor code improvements. -EG
- September 2021
- Improved system includes headers detection and usage. Removed unused
- headers detection.
- Added indirect calculation of maximum values at compile time by
- using types size detection. These values are used only to mute
- compiler warnings.
- Fixed pre-compiler errors if various *_MAX macros defined with
- non-digits symbols not readable for pre-compiler.
- Limit number of used CPU cores in tests to 6, unless heavy tests are
- enabled.
- Disabled parallel tests with libcurl if heavy tests are enabled.
- configure: removed '--enable-sanitizer' and added '--enable-sanitizers'
- parameters. Added testing for supported sanitizers and enabling only
- supported sanitizers.
- Added support for run-time sanitizers settings for tests when
- sanitizers are enabled.
- Added support for undefined behavior sanitizer without run-time library.
- Fixed various undefined behavior sanitizer detected errors, improved
- portability.
- Fixed how bitwise NOT is used with enum, fixed portability.
- microhttpd.h: changed macros MHD_CONTENT_READER_* to use ssize_t.
- test_postprocessor: added more check, improved error reporting, added
- new test data.
- postprocessor: fixed undefined behavior (memcpy(), memmove() with zero
- size and NULL pointer).
- Updated copyright year in W32 DLLs.
- postprocessor: fixed empty key processing.
- test_postprocessor: added tests with hex-encoded values.
- postprocessor: fixed incomplete processing of the last part of hex-encoded
- value if data was broken into certain sized pieces.
- Used type specifiers for printf() from inttypes.h to improved compatibility
- with various run-time libs. Fallback to standard values if type specifiers
- are not defined.
- Added detection of used run-time library (MSVCRT/UCRT) on W32.
- testcurl: fixed incorrect case-insensitive match for method name. Method
- name must be checked by using case-sensitive match.
- microhttpd.h: clarified some doxy descriptions.
- Prevented potential double sending of error responses.
- Fixed application notification with MHD_REQUEST_TERMINATED_COMPLETED_OK
- when error response has been sent (MHD_REQUEST_TERMINATED_WITH_ERROR is
- used).
- Avoid trying to send error response if response is already being sent.
- Improved log error message when error response is processing. -EG
- August 2021
- Silently drop "keep-alive" token from response "connection" header,
- "keep-alive" cannot be enforced and always enabled if possible.
- Further improved doxy for MHD_add_response_header().
- Added detection of the "Date:" header in the response headers set by
- app at response forming time.
- Disallow space in response header name, allow tab in response header
- value.
- Added internal MHD_uint8_to_str_pad() function.
- Used internal MHD_uint8_to_str_pad() in datestamp generation function.
- Added detection and reporting of incorrect "Upgrade" responses. -EG
- Fixed short busy waiting (up to one second) when connection is going
- to be closed. -AI
- Minor improvement for test_callback, test_get_chunked
- Fixed chunked responses with known size.
- Added two more tests for chunked response.
- Fixed chunked responses with predefined data (without data callback).
- Fixed calculation of the buffer size for the next response chunk.
- Completely rewritten reply header build function. The old version
- had several levels of hacks, was unmaintainable, did not follow
- HTTP specification in details; fixed used caseless header matching
- where case-sensitive matching must be used; removed two passes of
- header building. New version use clear logic and can be extended
- when needed.
- Changed behaviour: "Connection: keep-alive" is not being sent
- for HTTP/1.1 connection (as per HTTP RFC).
- test_get_chunked: fixed error reporting.
- HTTPS tests: fixed memory leaks if function failed.
- libcurl tests: improved handling of curl multi_*.
- Added two tests for correct choice of "Keep-Alive" or "Close".
- Simplified Makefile for testcurl.
- Fixed select() error handling in tests.
- microhttpd.h: minor macro formatting
- Changed behaviour: if response size is unknown and chunked encoding is
- allowed, chunked encoding is used even for non-keep-alive connection as
- required by HTTP RFC.
- Added two more tests for chunked replies.
- Simplified keepalive_possible(); added new value for MHD_ConnKeepAlive,
- added third state "Upgrade".
- Changed behaviour: used HTTP/1.1 replies for HTTP/1.0 requests as
- required by HTTP RFC. HTTP/1.0 reply still can be enforced by response
- flag.
- Added more doxy for MHD_ResponseFlags, added new names with the same
- values as old names: MHD_RF_HTTP_1_0_COMPATIBLE_STRICT and
- MHD_RF_HTTP_1_0_SERVER.
- Added new value MHD_RF_SEND_KEEP_ALIVE_HEADER to enforce sending of
- "Connection: keep-alive" even for HTTP/1.1 clients when keep-alive is
- used.
- test_get_close_keep_alive: added more combinations of parameters to
- check.
- Added separate flag for chunked response in connection instead of
- reusing the same flag as for chunked request.
- Added new connection's flag "stop_with_error".
- Fixed empty first line processing: the request could be not processed
- unless something else kicks next processing the same connection again.
- Added new connection states: MHD_CONNECTION_REQ_LINE_RECEIVING,
- MHD_CONNECTION_FULL_REQ_RECEIVED, MHD_CONNECTION_START_REPLY to
- simplify states logic.
- Changed write buffer allocation logic: as connection buffer size is
- known and fixed, use initially use full buffer for writing and reduce
- size of part used for writing if another allocation from the same
- buffer needs to be done. Implemented helper function to automatically
- reduce the size of read or write part to allocate buffer for other
- needs.
- Added define of NDEBUG if neither _DEBUG nor NDEBUG are defined.
- As accepted sockets inherit non-blocking flag from listening socket
- on all platform except Linux, track this state to use less number
- of syscalls.
- Fixed compiler and static analyser warnings.
- Moved HTTPS tests helper file to the HTTPS tests directory.
- Minor Makefiles cleanup.
- Added support for new monotonic clock ids.
- Added new internal monotonic clock function with milliseconds accuracy.
- Fixed support of custom connection timeout in thread-per-connection mode.
- Added more error checking to test_timeout.
- microhttpd.h: removed duplicated macro.
- Refined timeouts handling. Switched from seconds resolution to milliseconds
- resolution, added automatic detection and support of low-resolution system
- clock to avoid busy-waiting at connection expiration. Added log message
- for too large timeout period (> 146 million years) with trim to supported
- values. -EG
- Wed 04 Aug 2021 06:56:52 PM CEST
- Introduce new MHD_CONNECTION_INFO_HTTP_STATUS. -CG
- July 2021
- Added automatic response flags with detection when response
- is being formed.
- Added special processing for response "Connection" headers, combined
- multiple "Connection" headers into single header.
- Restructured MSVC project files.
- Changed MSVC project defaults to Vista+ (WinXP is still supported).
- Fixed copy-paste error in mhd_aligh.h, added support for MSVC.
- Added internal function for printing hex and decimals numbers.
- Reply chunked body handling fixes, used new internal functions
- instead of snprintf().
- Added automatic response flag when app sets chunked encoding header.
- New internal function for chunked reply footer forming. Unification with
- reply header forming function just over-complicated things and made
- function hardly maintainable.
- Added new function MHD_get_reason_phrase_len_for(), related tests and
- updated scripts for response phrases.
- Added more tests for chunked replies.
- Added function to reset connection state after finishing processing of
- request-reply to prepare for the next request.
- Added even more tests for chunked replies.
- Added internal function for printing uint64_t decimal numbers. -EG
- June 2021
- Tests: implemented checking of response footer.
- Fixed loss of incoming data if more than half of buffer is
- used for the next request data.
- Fixed completely broken calculation of request header size.
- Chunked response: do not ask app callback for more data then
- it is possible to process (more than 16 MBytes).
- Check and report if app used wrong response code (>999 or <100)
- Refuse to add second "Transfer-Encoding" header.
- HTTPS tests: check whether all libcurl function succeeded.
- HTTPS tests: implemented new detection of TLS backend.
- HTTPS tests: fixed tests with new TLS defaults (SSL forbidden).
- Implemented detection of basic HTTP methods, fixed wrong
- caseless matching for HTTP method names.
- MHD_create_response_*() functions: improved doxy.
- MHD_add_response_header: added detailed comment about automatic
- headers.
- Do not allow responses with 1xx codes for HTTP/1.0 requests.
- Fixed used order of headers: now user response headers are used in
- the same order as was added by application.
- Added new internal function MHD_get_response_element_n_().
- Added detection of more compiler built-ins for bits rotations.
- Minor optimisation of caseless strings matching.
- Added MHD_str_remove_token_caseless_() function and tests.
- Added MHD_str_remove_tokens_caseless_() function and tests. -EG
- May 2021
- Doxy description clarifications for MHD_get_timeout() and related
- functions.
- Added MHD_create_response_from_buffer_with_free_callback_cls().
- Added SHA-1 calculation (required for WebSockets).
- Added new internal header mhd_aligh.h for checking alignment of
- variables.
- Fixed SHA-256 and MD5 calculation with unaligned data.
- Added tests for hashes with unaligned data.
- Used compiler built-ins for bits rotations.
- Added detection of HTTP version at early stage.
- Added early response of unsupported HTTP version.
- Fixed wrong caseless matches for HTTP version strings.
- Added calculation of error responses at compile time (avoided
- repeated strlen() for known data). -EG
- April 2021
- New test for reply chunked encoding. -EG
- Mon 26 Apr 2021 02:09:46 PM CEST
- Importing experimental Websocket support by David Gausmann. -CG
- Sun 25 Apr 2021 14:00:00 MSK
- Releasing GNU libmicrohttpd 0.9.73. -EG
- Sat 24 Apr 2021 23:00:00 MSK
- Fixed build with Clang and Visual Studio.
- MSVS project files updated.
- Enabled bind port autodetection with MSVS builds. -EG
- Fri 23 Apr 2021 14:27:00 MSK
- Fixed build without TLS lib.
- Fixed build without system poll() function.
- Fixed compiler warnings on 32-bit platforms.
- Fixed various compiler warnings. -EG
- Thu 22 Apr 2021 12:32:00 MSK
- Fixed some typos.
- Force disable TCP_CORK, TCP_NOPUSH, and TCP_NODELAY before switching
- connection to "upgraded" mode.
- Improved portability of the test-suite for upgraded connections. -EG
- Tue 20 Apr 2021 17:11:00 MSK
- Disabled NLS by default in configure. -EG
- Mon 19 Apr 2021 18:58:00 MSK
- Fixed testzzuf/test_put_chanked to correctly use MHD.
- Added internal error code for TLS errors.
- Added all missing messages to the .pot file.
- Detect more types of errors for receiving data and report
- error description in the MHD log.
- Added support for ALPN on TLS connections if supported by
- used TLS library. -EG
- Sun 18 Apr 2021 20:47:00 MSK
- Removed dead code.
- Limited iov-backed responses size to SSIZE_MAX as limited by
- system calls.
- Report error message in MHD log for send errors. -EG
- Sat 17 Apr 2021 18:50:00 MSK
- Unified upgrade test behavior for all platforms.
- Some code simplification and unification.
- Compiler warning (false positive) fixed. -EG
- Fri 16 Apr 2021 17:58:00 MSK
- Used run-time value if IOV_MAX if available.
- Fixed portability of error handling for sending functions.
- Detect pipes/unix sockets on fly and do not use TCP/IP specific
- functions with them.
- Fixed support of UNIX sockets on non-Linux kernels. -EG
- Fri 16 Apr 2021 10:23:39 AM CEST
- Detect if a socket is a UNIX domain socket and do not try to play
- with TCP corking options in this case (avoids useless failed
- syscalls). -CG
- Thu 15 Apr 2021 18:56:00 MSK
- Fixed configure '--enable-sanitizer' parameter.
- Stopped pushing of partial responses when limited by system maximum size
- for sendmsg(). -EG
- Web 14 Apr 2021 22:20:00 MSK
- Fixed: use sendmsg() in POSIX-compatible way, do not try to send more
- than IOV_MAX elements per single call. -EG
- Sun 11 Apr 2021 15:44:00 MSK
- Updated test TLS certificates to not expired modern versions, restored
- HTTPS examples compatibility with modern browsers.
- TCP_NODELAY is not pre-enabled for HTTPS connection as it actually
- does not speed-up TLS handshakes on moders OSes. -EG
- Thu 01 Apr 2021 21:29:46 MSK
- Fixed MD5 digest authorization broken when compiled without variable
- length arrays support (notably with MSVC).
- Fixed and muted compiler warning.
- Deeper test with zzuf if configured with --enable-heavy-tests.
- Removed run-check of assert() in configure to avoid core dumps. -EG
- Thu 01 Apr 2021 17:46:00 MSK
- Added new function MHD_run_wait() useful for single-threaded applications
- without other network activity.
- Added tests for the new function. -EG
- Wed 17 Mar 2021 20:53:33 MSK
- Re-factored startup log parameters processing. Warn user if wrong logger
- could be used potentially.
- Added headers doxy with information about minimal MHD version when
- particular symbols were introduced.
- Added new daemon option to indicate SIGPIPE handling by application for
- daemons being run in application thread. -EG
- Wed 24 Feb 2021 19:23:00 MSK
- SIGPIPE-related macro minor refactoring for readability.
- Added new response iov function (and related framework), based on the patch
- provided by Lawrence Sebald and Damon N. Earp from NASA. -EG
- Thu 04 Feb 2021 06:41:34 PM CET
- Fix PostProcessor to always properly stop iteration when application callback
- tells it to do so. -CG
- Sun 24 Jan 2021 21:30:00 MSK
- Added '--enable-heavy-tests' configure parameter.
- Minor configure.ac and Makefiles fixes. -EG
- Tue 19 Jan 2021 17:59:00 MSK
- Fixed compatibility with autoconf. 2.70
- Updated M4 macros. -EG
- Wed 06 Jan 2021 08:39:58 PM CET
- Return timeout of zero also for connections awaiting cleanup. -CG
- Tue 29 Dec 2020 15:39:00 MSK
- Improved speed of TLS handshake by pre-enabling TCP_NODELAY. -EG
- Mon 28 Dec 2020 21:36:00 MSK
- Releasing libmicrohttpd 0.9.72. -EG
- Mon 28 Dec 2020 09:37:00 MSK
- Completely reworked and rewritten TCP_CORK, TCP_NOPUSH, TCP_NODELAY and
- MSG_MORE handling. Reduced number of sys-calls, fixed portability for
- FreeBSD, OpenBSD, NetBSD, Darwin, W32, Solaris.
- Removed usage of gnutls_record_cork() as it fully blocks stream until
- final block is ready.
- Fixed compatibility with C90 compilers.
- Really started using sendmsg() for header + body combined single-call
- response sending.
- Fixed sending of response body by sendmsg() when it shouldn't be sent,
- like responses for HEAD requests.
- Improved error handling for gnutls_record_send().
- Updated W32 resources for .DLLs.
- Fixed building with various disabled features (like messages, HTTPS,
- http-upgrade, authorization etc.)
- Fixed possible SIGPIPE generation when sendfile() is used (it was always
- possible on Linux that sendfile() produce SIGPIPE, now it's fixed).
- Several compiler warnings muted and/or fixed in the lib code and in
- the examples. -EG
- Sun 01 Nov 2020 17:17:00 MSK
- Fixed conflict with system CPU_COUNT macro.
- Minor improvements of error reporting in MHD daemon.
- Fixed FTBFS with GnuTLS versions before 3.1.9
- Fixed test_add_conn for multi-CPU machines.
- Fixed analyzer warnings.
- Fixed use-after-free and resources leaks for upgraded connections
- in TLS mode with thread-per-connection. -EG
- Sun 25 Oct 2020 19:31:00 MSK
- Fixed epoll mode without listening socket.
- Minor improvements of thread sync.
- Fixed broken sendfile on FreeBSD.
- Fixed broken MHD with thread-pool and without listening socket.
- Added four tests for MHD_add_connection().
- Fixed several resources leaks in error handlers.
- Re-implemented scheme of handling of externally added connections,
- fixed thread-safety. -EG
- Wed 21 Oct 2020 10:00:58 AM CEST
- Corking should be OFF when sending the footer (#6610). -AP/CG
- Wed 07 Oct 2020 11:07:00 MSK
- W32 default target version changed to Vista, XP is still supported.
- Minor fixes and additional asserts for memorypool.
- IPv6 tests are not used if IPv6 is disabled at run-time. -EG
- Sun 27 Sep 2020 10:08:03 PM CEST
- Fixed incorrect triggering of epoll edge polling for
- "upgraded" TLS connections. Fixed a few cases where
- gnutls_record_uncork() return value was still ignored,
- possibly causing buffer to not be flushed correctly. -CG
- Sat 26 Sep 2020 08:18:02 PM CEST
- Make MHD_USE_NO_LISTEN_SOCKET work in conjunction with
- MHD internal threads. -CG/DE
- Thu 24 Sep 2020 16:55:00 MSK
- Fixed compiler warnings on W32.
- Minor optimisation of MHD_YES/MHD_NO internal usage.
- Refactor and cleanup of internal debugging macros.
- Updated HTTP status codes, header names and methods from
- the registries.
- Fixed portability of test_upgrade_large.
- Minor testsuite fixes.
- Restored parallel build of libmicrohttpd (except tests). -EG
- Fri 11 Sep 2020 10:08:22 PM CEST
- Fix crash problem in PostProcessor reported by MD. -CG
- Fix GnuTLS configure test to check for gnutls_record_uncork. -CG
- Wed 19 Aug 2020 09:40:39 AM CEST
- Add logic to check on MHD_pool_reallocate() failure reported on the
- mailinglist (will NOT yet fix the issue). -CG
- Sun 26 Jul 2020 01:56:54 PM CEST
- Add MHD_create_response_from_pipe() to allow creating a response based
- on data read from a pipe. -CG
- Fri Jul 10 15:04:51 CEST 2020
- Fixed Postprocessor URL-encoded parsing if '%' fell on boundary. -CG/MD
- Thu 02 Jul 2020 09:56:23 PM CEST
- Fixed return type of MHD_queue_basic_auth_fail_response. -CA/CG
- Sun 28 Jun 2020 09:36:01 PM CEST
- Fix buffer overflow issue in URL parser.
- Releasing libmicrohttpd 0.9.71. -CG
- Tue 16 Jun 2020 08:44:22 PM CEST
- Add logic to try again if GNUtls uncork() fails. -CG
- Wed 10 Jun 2020 09:44:29 PM CEST
- Fixed PostProcessor bug discovered by MD, which given certain parser
- boundaries caused the returned values to be wrong. -CG/MD
- Wed 08 Apr 2020 10:53:01 PM CEST
- Introduce `enum MHD_Result` for #MHD_YES/#MHD_NO to avoid using 'int' so much.
- Note that this change WILL cause compiler warnings until (most) MHD callbacks
- in application code change their return type from 'int' to 'enum MHD_Result'.
- That said, avoiding possible confusions of different enums is going to make
- the code more robust in the future. For conditional compilation, test
- for "MHD_VERSION >= 0x00097002". -CG
- Tue 07 Apr 2020 02:58:39 PM BRT
- Fixed #5501 (Added example for how to provide a tiny threaded websocket server). -SC
- Tue 31 Mar 2020 02:36:40 PM BRT
- Fixed #6142 (applied several spelling fixes). -DKG/-SC
- Sat 07 Mar 2020 05:20:33 PM CET
- Fixed #6090 (misc. severe socket handling bugs on OS X). -CG
- Sat 08 Feb 2020 09:12:54 PM CET
- Fixed 100-continue handling for PATCH method (#6068).
- Fixed FTBFS from wrong #endif position for certain builds (#6025).
- Fixed connection overflow issue when combining MHD_USE_NO_LISTEN_SOCKET
- with MHD_USE_THREAD_PER_CONNECTION (#6036).
- Updated m4 script to fix FTBFS when using -Werror=unused-but-set-parameter (#6078).
- Releasing libmicrohttpd 0.9.70. -CG
- Thu Dec 26 14:43:27 CET 2019
- Adding fix for urlencoding of keys without values in
- post-processor logic. -CG
- Tue 24 Dec 2019 03:32:18 PM CET
- Adding patch from Ethan Tuttle with test case for urlencoding
- in post-processor for keys without values. -CG/ET
- Sun 15 Dec 2019 02:12:02 PM CET
- Fix send() call (affects Mac OS X). #5977 -CG/fbrault
- Releasing libmicrohttpd 0.9.69. -CG
- Fri 29 Nov 2019 11:22:25 PM CET
- If application suspends a connection before we could send 100 CONTINUE,
- give application another shot at queuing a reply before the upload begins. -CG
- Sat 26 Oct 2019 06:53:05 PM CEST
- Fix regression where MHD would fail to return an empty response
- when used with HTTPS.
- Releasing libmicrohttpd 0.9.68. -CG/TR
- Fri 25 Oct 2019 02:31:59 PM CEST
- Introduce MHD_RF_INSANITY_HEADER_CONTENT_LENGTH. -CG
- Thu 17 Oct 2019 04:50:52 PM CEST
- Integrate 0-byte send() method for uncorking for old FreeBSD/OS X
- systems into new mhd_send.c logic for uncorking.
- Releasing libmicrohttpd 0.9.67. -CG
- Fri 18 Aug 2019 00:00:00 PM UTC
- Fixes and optimizations for the setsockopt handling:
- * Added: MHD_UPGRADE_ACTION_CORK_ON and MHD_UPGRADE_ACTION_CORK_OFF
- to enum MHD_UpgradeAction (turn corking on/off on the underlying
- socket).
- * Use calls and flags native to the system for corking and
- other operations, tested with performance improvements on
- FreeBSD, Debian Linux, NetBSD, and cygwin. In particular,
- this adds selective usage of MSG_MORE, NODELAY, TCP_NOPUSH,
- TCP_CORK. -ng0
- Fri 09 Aug 2019 10:07:27 AM CEST
- Copy compiler and linker hardening flags from GNUnet (updating
- configure.ac). -CG
- Thu 01 Aug 2019 01:23:36 PM CEST
- Releasing libmicrohttpd 0.9.66. -CG
- Thu 01 Aug 2019 12:53:49 AM CEST
- Fix issue with discarding unhandled upload data discovered
- by Florian Dold. -CG
- Mon 29 Jul 2019 08:01:50 PM CEST
- Fix hanging situation with large transmission over upgraded
- (i.e. Web socket) connection with epoll() and HTTPS enabled
- (as reported by Viet on the mailinglist). -CG
- Thu 25 Jul 2019 02:40:12 PM CEST
- Fixing regression introduced in cc5032b85 (bit mask matching
- of the header kinds in MHD_lookup_connection_value()), as
- reported by Jose Bollo on the mailinglist. -CG/JB
- Tue Jul 16 19:56:14 CEST 2019
- Add MHD_OPTION_HTTPS_CERT_CALLBACK2 to allow OCSP stapling
- and MHD_FEATURE_HTTPS_CERT_CALLBACK2 to check for. -TR
- Fri Jul 05 2019 22:30:40 MSK
- Releasing libmicrohttpd 0.9.65. -EG
- Sun Jun 23 2019 21:27:43 MSK
- Many fixes and improvements for connection-specific memory pool:
- * Added asserts;
- * Added testing of reallocation;
- * Reallocation code rewritten to avoid extra allocation, when
- possible to reuse already allocated memory;
- * Large memory pools aligned to system page size;
- * Large memory pools on W32 are cleared more securely after use,
- optimised usage of system memory.
- Better handled connection's memory shortage situations:
- * error response could be sent to client even if all buffer space
- was used;
- * if buffer space become low when receiving, do not allocate last
- buffer space and use small receive blocks instead.
- Improved sending speed by using all available buffer space for
- sending. -EG
- Sun Jun 09 2019 20:27:04 MSK
- Releasing libmicrohttpd 0.9.64. -EG
- Sun Jun 09 2019 20:03:16 MSK
- Updated HTTP headers, methods and status codes from registries,
- Added scripts to import new headers, methods and status codes from
- registries,
- Minor doxyget comment fix,
- Added missing MSVS project files to tarball.
- Reodered includes in microhttpd.h -EG
- Mon 03 Jun 2019 11:45:52 PM CEST
- Apply MHD_-prefix to hash functions, even if they are not in the
- officially exported API. -CG/DB
- Sun Jun 02 01:52:11 MSK 2019
- Support usage of SOCK_NOSIGPIPE on Solaris 11.4 and NetBSD 7+,
- finally avoid SIGPIPE on Solaris. -EG
- Sat Jun 01 22:51:50 MSK 2019
- Do not report errors if AF_UNIX socket is used on *BSD. -EG
- Thu May 30 23:32:09 MSK 2019
- Improved detection of 'getsockname()' in configure.
- Avoided using 'getsockname()' in code if not detected. -EG
- Sun May 26 23:32:49 MSK 2019
- Fixed some tests on W32. -EG
- Sun May 26 23:05:42 MSK 2019
- Better detection of sockaddr member in configure, fixed build on *BSD,
- Fixed compiler warnings,
- Updated and fixed libcurl tests. -EG
- Tue May 21 22:12:43 MSK 2019
- Fixed doxygen comments,
- Avoid dropping 'const' qualifier in macros,
- Fixed some compiler warnings,
- Properly support automatic port detections on some platforms,
- Added checks for too long TLS parameters strings. -EG
- Tue May 21 17:52:48 MSK 2019
- Spelling fixes. -EG
- Mon May 20 15:39:35 MSK 2019
- Compiler warning fixes. -EG/CG
- Fixed example for non-64bits platforms. -EG
- Wed May 15 23:51:49 MSK 2019
- Optimized and improved processing speed by using precalculated and
- already calculated lengths of strings. -EG
- Wed May 15 14:54:00 MSK 2019
- Fixed build from source on GNU Hurd. -EG
- Mon May 6 11:58:00 MSK 2019
- Updated README and COPYING files. MHD remains LGPLv2.1-licensed. -EG
- Fri May 3 20:08:00 MSK 2019
- Store connection's keys and values with sizes;
- Speedup keys search be comparing key length first;
- Added functions for working with keys and values with binary zeros;
- Fixed test_postprocessor_amp to fail on problems. -EG
- Wed May 1 16:40:00 MSK 2019
- Reverted change of MHD_KeyValueIterator, implemented MHD_KeyValueIteratorN
- with sizes for connection's key and value to get keys and values
- with binary zeros. -EG
- Mon 29 Apr 2019 01:26:39 AM BRT
- Fixed signed/unsigned comparison in example http_chunked_compression.c. -SC/TR
- Sun Apr 21 16:40:00 MSK 2019
- Improved compatibility with MSVC compilers;
- Fixed MHD compilation by Clang/LLVM in VS;
- Used MSVC intrinsics for bit rotations and bytes swap;
- Added project files for VS2019. -EG
- Fri Apr 19 23:00:00 MSK 2019
- Rewritten SHA-256 calculations from scratch to avoid changing LGPL version;
- Added usage of GCC/Clang built-ins for bytes swap to significantly improve
- speed of MD5 and SHA-256 calculation on platforms with known endianness.
- Added test for SHA-256 calculations. -EG
- Wed Apr 17 20:52:00 MSK 2019
- Refactoring of mhd5.c: optimized, dead code removed;
- Faster MD5 calculation on little endian platforms;
- Bit manipulations moved to separate header file.
- Added tests for MD5 calculations. -EG
- Mon 15 Apr 2019 05:33:52 PM CEST
- Add MHD_USE_POST_HANDSHAKE_AUTH_SUPPORT and
- MHD_USE_INSECURE_TLS_EARLY_DATA flags. -CG
- Thu Apr 11 11:37:00 MSK 2019
- Fixed MSVC 'Release' builds;
- Fixed usage of MSVC's assert. -EG
- Wed Apr 10 14:31:00 MSK 2019
- Improved shell compatibility for 'bootstrap', removed bash-ism.
- Added wrapper script 'autogen.sh'. -EG
- Mon 08 Apr 2019 03:06:05 PM CEST
- Fix close() checks as suggested by MK on the mailinglist
- (#3926). -MK/CG
- Wed 20 Mar 2019 10:20:24 AM CET
- Adding additional "value_length" argument to MHD_KeyValueIterator
- callback to support binary zeros in values. This is done in a
- backwards-compatible way, but may require adding a cast to existing
- code to avoid a compiler warning. -CG
- Sun Feb 10 21:00:37 BRT 2019
- Added example for how to compress a chunked HTTP response. -SC
- Sun 10 Feb 2019 05:03:44 PM CET
- Releasing libmicrohttpd 0.9.63. -CG
- Sat 09 Feb 2019 01:51:02 PM CET
- Extended test_get to test URI logging and query string parsing
- to avoid regression fixed in previous patch in the future. -CG
- Thu Feb 7 16:16:12 CET 2019
- Preliminary patch for the raw query string issue, to be tested. -CG
- Tue Jan 8 02:57:21 BRT 2019
- Added minimal example for how to compress HTTP response. -SC
- Wed Dec 19 00:06:03 CET 2018
- Check for GNUTLS_E_AGAIN instead of GNUTLS_E_INTERRUPTED when
- giving up on a TLS connection. -LM/CG
- Thu Dec 13 22:48:14 CET 2018
- Fix connection timeout logic if in thread-per-connection mode the
- working thread takes longer than the timeout to queue the response. -CG
- Tue Dec 11 09:58:32 CET 2018
- Add logic to avoid VLA arrays with compilers that do not support them. -CG
- Sat Dec 8 23:15:53 CET 2018
- Fixed missing WSA_FLAG_OVERLAPPED which can cause W32 to block on
- socket races when using threadpool. (See very detailed description
- of the issue in the libmicrohttpd mailinglist post of today.) -JM
- Sat Dec 8 22:53:56 CET 2018
- Added test for RFC 7616 and documented new API.
- Releasing libmicrohttpd 0.9.62. -CG
- Sat Dec 8 17:34:58 CET 2018
- Adding support for RFC 7616, experimental, needs
- testing and documentation still! -CG
- Fri Dec 7 12:37:17 CET 2018
- Add option to build MHD without any threads
- and MHD_FEATURE_THREADS to test for it. -CG
- Thu Dec 6 13:25:08 BRT 2018
- Renamed all occurrences from _model(s)_ to _mode(s)_. -SC
- Thu Dec 6 12:50:11 BRT 2018
- Optimized the function MHD_create_response_from_callback() for
- Windows by increasing its internal buffer size and allowed to customize
- it via macro MHD_FD_BLOCK_SIZE. -SC
- Thu Dec 6 02:11:15 BRT 2018
- Referenced the gnutls_load_file() function in the HTTPs examples. -SC
- Wed Dec 5 18:08:59 CET 2018
- Fix regression causing URLs to be unescaped twice. -CG
- Sun Nov 18 13:08:11 CET 2018
- Parse arguments with (properly) escaped URLs correctly.
- (making things work with recent cURL changes, #5473).
- Replace sprintf with snprintf in testcases.
- Releasing libmicrohttpd 0.9.61. -CG
- Wed Nov 14 14:01:21 CET 2018
- Fix build issue with GnuTLS < 3.0. -CG
- Mon Nov 12 19:50:43 CET 2018
- Fix #5473 (test case failure due to change in libcurl). -eworm
- Thu Nov 8 14:53:27 CET 2018
- Add MHD_create_response_from_buffer_with_free_callback. -CG
- Tue Nov 6 19:43:47 CET 2018
- Upgrading to gettext 0.19.8.
- Releasing libmicrohttpd 0.9.60. -CG
- Thu Nov 1 16:29:59 CET 2018
- Enable using epoll() without listen socket. -JB
- Sat Oct 20 12:44:16 CEST 2018
- In thread-per-connection mode, signal main thread for
- thread termination for instant clean-up and application
- notification about closed connections. -CG
- Tue Oct 16 20:43:41 CEST 2018
- Add MHD_RF_HTTP_VERSION_1_0_RESPONSE option to make MHD
- act more like an HTTP/1.0 server. -GH
- Fri Oct 5 18:44:45 CEST 2018
- MHD_add_response_header() now prevents applications from
- setting a "Transfer-Encoding" header to values other than
- "identity" or "chunked" as other transfer encodings are
- not supported by MHD. (Note that usually MHD will pick the
- transfer encoding correctly automatically, but applications
- can use the header to force a particular behavior.)
- Fixing #5411 (never set Content-length if Transfer-Encoding
- is given). -CG
- Sat Jul 14 11:42:15 CEST 2018
- Add MHD_OPTION_GNUTLS_PSK_CRED_HANDLER to allow use of PSK with
- TLS connections. -CG/TM
- Sat Jul 14 11:03:37 CEST 2018
- Integrate patch for checking digest authentication based on
- a digest, allowing servers to store passwords only hashed.
- Adding new function MHD_digest_auth_check_digest(). -CG/DB
- Sat Mar 10 12:15:35 CET 2018
- Upgrade to gettext-0.19.8.1. Switching to more canonical
- gettext integration. -CG
- Fri Mar 2 21:44:24 CET 2018
- Ensure MHD_RequestCompletedCallback is always called from
- the correct thread (even on shutdown and for upgraded connections). -CG
- Tue Feb 27 23:27:02 CET 2018
- Ensure MHD_RequestCompletedCallback is also called for
- upgraded connections. -CG
- Fri Feb 16 03:09:33 CET 2018
- Fixing #5278 as suggested by reporter. -CG/texec
- Thu Feb 1 10:12:22 CET 2018
- Releasing GNU libicrohttpd 0.9.59. -CG
- Thu Feb 1 08:39:50 CET 2018
- Fix masking operation. -CG/silvioprog
- Mon Jan 29 17:33:54 CET 2018
- Fix deadlock when failing to prepare chunked response
- (#5260). -CG/ghaderer
- Thu Jan 4 12:24:33 CET 2018
- Fix __clang_major__ related warnings for non-clang
- compilers reported by Tim on the mailinglist. -CG
- Mon Dec 11 17:11:00 MSK 2017
- Fixed tests on platforms with huge number of CPUs.
- Doxygen configuration was updated.
- Various doxygen fixes. -EG
- Mon Dec 07 21:08:00 MSK 2017
- Releasing GNU libmicrohttpd 0.9.58. -EG
- Mon Dec 07 16:01:00 MSK 2017
- Fixed HTTPS tests on modern platforms. -EG
- Mon Dec 04 15:43:00 MSK 2017
- Minor documentation installation fixes. -EG
- Mon Nov 27 22:58:38 CET 2017
- Tolerate AF_UNIX when trying to determine our binding port
- from socket. Use `sockaddr_storage` instead of trying to
- guess the sockaddr type before calling getsockname(). -CG
- Mon Nov 27 22:24:00 MSK 2017
- Releasing GNU libmicrohttpd 0.9.57. -EG
- Mon Nov 27 21:36:00 MSK 2017
- Updated README. -EG
- Mon Nov 27 18:37:00 MSK 2017
- Corrected names in W32 DLL resources.
- Reordered and clarified configure summary message.
- Additional compiler warning mutes for builds with various configure
- parameters.
- Fixed tests on Cygwin.
- Used larger SETSIZE for Cygwin (same value as for native W32).
- Minor fixes for Cygwin.
- Added configure parameter to force disable usage of sendfile().
- Minor testsuite fixes.
- Really fixed builds with optimisation for size. -EG
- Sat Nov 25 18:37:00 MSK 2017
- Fixed build with optimisation for size. -EG
- Fri Nov 24 20:14:02 CET 2017
- Releasing GNU libmicrohttpd 0.9.56. -CG
- Thu Nov 23 17:40:00 MSK 2017
- Added MHD_FEATURE_SENDFILE enum value and report. -EG
- Thu Nov 23 08:56:00 MSK 2017
- Fixed receiving large requests in TLS mode with epoll.
- Improved GnuTLS and libgcrypt detection in configure, do not ignore
- flags in GNUTLS_{CFLAGS,LIBS} variables.
- Added special trick for Solaris/Openindiana to find GnuTLS-3 with
- right bitness.
- Added support for Solaris sendfile(3) function.
- Fixed dataraces with thread ID on W32 and pthread. Now check for
- correct thread in MHD_queue_response() works correctly.
- Fixed and silenced compiler warnings in tests and examples.
- Removed usage of TLS flags in examples where TLS is not required.
- Added support for MultiSSL in https tests with libcurl >= 7.56.0.
- Improved detection of OFF_T_MAX, SIZE_MAX. Added macros for
- SSIZE_MAX in mhd_limits.h. There are some platforms that really
- require those macros.
- Added support for Darwin's sendfile() function.
- Updated .gitignore files.
- Reworked mhd_sys_extentions.m4 with better support of modern
- platforms, more reliable detection of required macros, and
- detection of disabling of system-specific features by
- _XOPEN_SOURCE macro. -EG
- Wed Nov 1 20:43:00 MSK 2017
- Mixed and muted many compiler warnings. Now GCC's flags
- -Wall -Wextra could be used for building.
- Fixed compilation of examples without libmagic.
- Better detection of libgnutls in configure.
- Reworked launch of nested configure in "po" directory to
- prevent useless reconfiguration.
- Fixed some wrong asserts.
- Enabled "test_options" test.
- Use "test_start_stop" without libcurl.
- Use chunks with sendfile() to prevent locking thread for
- single connection with large file.
- Added support for FreeBSD's sendfile with additional
- optimisations for FreeBSD 11.
- Refactoring and improvements for MHD_start_daemon_va() and
- MHD_stop_daemon().
- Fixed testing with GnuTLS >= 3.6.0. -EG
- Mon Oct 9 22:38:07 CEST 2017
- Add MHD_free() to allow proper free()-ing of username/password
- data returned via MHD_digest_auth_get_username() or
- MHD_basic_auth_get_username_password() on Windows. -CG
- Tue Sep 26 14:00:58 CEST 2017
- Fixing race involving setting "at_limit" flag. -CG
- Tue Sep 08 21:39:00 MSK 2017
- Fixed build of examples when MHD build with non-pthread lib.
- MHD_queue_response(): added check for using in correct thread.
- Fixed sending responses larger 16 KiB in TLS mode with epoll.
- Improved doxy for MHD_get_timeout() and related functions.
- Minor internal refactoring. -EG
- Tue Jul 23 11:32:00 MSK 2017
- Updated chunked_example.c to provide real illustration of usage of
- chunked encoding. -EG
- Thu Jul 13 21:41:00 MSK 2017
- Restored SIGPIPE suppression in TLS mode.
- Added new value MHD_FEATURE_AUTOSUPPRESS_SIGPIPE so application could
- check whether SIGPIPE handling is required.
- Used GNUTLS_NONBLOCK for TLS sessions. -EG
- Tue Jun 20 23:52:00 MSK 2017
- Libgcrypt is now optional and required only for old GnuTLS versions. -EG
- Wed Jun 14 21:42:00 MSK 2017
- Added support for debug assert() and new configure parameter
- --enable-asserts for debug builds.
- Removed non-functional Symbian support. -EG
- Mon Jun 05 23:34:00 MSK 2017
- More internal refactoring:
- merged MHD_tls_connection_handle_read/write() with non-TLS version,
- reduced and unified number of layers for network processing (before
- refactoring MHD_tls_connection_handle_read->MHD_connection_handle_read->
- do_read->recv_tls_adapter->GnuTLS->recv_param_adapter - 5 MHD layers;
- after refactoring MHD_connection_handle_read->recv_tls_adapter->GnuTLS -
- 2 MHD layers),
- simplified and removed dead code from
- MHD_connection_handle_read/write() without functional change. -EG
- Mon Jun 05 22:20:00 MSK 2017
- Internal refactoring:
- used TCP sockets directly with GnuTLS (performance improvement),
- moved some connection-related code from daemon.c to
- connection.c/connection_https.c,
- removed hacks around sendfile() and implemented correct support of
- sendfile(),
- removed do_read() and do_write() to reduce number of layer around send()
- and recv() and to improve readability and maintainability of code,
- implemented separate tracking of TLS layer state, independent of HTTP
- connection stage. -EG
- Sun Jun 04 15:02:00 MSK 2017
- Improved thread-safety of MHD_add_connection() and
- internal_add_connection(), minor optimisations. -EG
- Sun May 28 23:26:00 MSK 2017
- Releasing GNU libmicrohttpd 0.9.55. -EG
- Sun May 21 18:48:00 MSK 2017
- Fixed build with disabled "UPGRADE".
- Fixed possible null-dereference in HTTPS test.
- Fixed compiler warning in process_request_body(), minor optimizations.
- Do not allow suspend of "upgraded" connections.
- Fixed returned value for MHD_CONNECTION_INFO_CONNECTION_SUSPENDED.
- Fixed removal from timeout lists of non-existing connections in
- cleanup_connection().
- Fixed double locking of mutex. -EG
- Sun May 14 15:05:00 MSK 2017
- Fixed resuming connections and closing upgraded connections in select()
- mode with thread-per-connection. -EG
- Sun May 14 14:49:00 MSK 2017
- Removed extra call to resume connections in MHD_run().
- Handle resumed connection without delay in epoll mode.
- Update states of resumed connection after resume in thread-per-connection
- mode.
- Fixed resuming connections and closing upgraded connections in poll()
- mode with thread-per-connection. -EG
- Thu May 11 22:37:00 MSK 2017
- Faster start really processing data in resumed connections. -EG
- Thu May 11 14:24:00 MSK 2017
- Do not add any "Connection" headers for "upgrade" connections. -EG
- Wed May 10 23:09:00 MSK 2017
- Resume resuming connection before other processing in external polling
- mode. -EG
- Tue May 9 23:16:00 MSK 2017
- Fixed: Do not add "Connection: Keep-Alive" header for "upgrade"
- connections. -EG
- Tue May 9 21:01:00 MSK 2017
- Fixed: check all "Connection" headers of request for "Close" and "Upgrade"
- tokens instead of using only first "Connection" header with full string
- match. -EG
- Tue May 9 12:28:00 MSK 2017
- Revert: continue match footers in MHD_get_response_header() for backward
- compatibility. -EG
- Mon May 8 19:30:00 MSK 2017
- Fixed: use case-insensitive matching for header name in
- MHD_get_response_header(), match only headers (not footers). -EG
- Fri May 5 20:57:00 MSK 2017
- Fixed null dereference when connection has "Upgrade" request and
- connection is not upgraded. -JB/EG
- Better handle Keep-Alive/Close. -EG
- Tue May 2 18:37:53 CEST 2017
- Update manual. -CG
- Add MHD_CONNECTION_INFO_REQUEST_HEADER_SIZE.
- Releasing GNU libmicrohttpd 0.9.54. -CG
- Thu Apr 27 22:31:00 CEST 2017
- Replaced flags MHD_USE_PEDANTIC_CHECKS and MHD_USE_PERMISSIVE_CHECKS by
- single option MHD_OPTION_STRICT_FOR_CLIENT. Flag MHD_USE_PEDANTIC_CHECKS
- is still supported. -EG
- Tue Apr 26 15:11:00 CEST 2017
- Fixed shift in HTTP reasons strings.
- Added test for HTTP reasons strings. -EG
- Tue Apr 25 19:11:00 CEST 2017
- Allow flag MHD_USE_POLL with MHD_USE_THREAD_PER_CONNECTION and without
- flag MHD_USE_INTERNAL_POLLING_THREAD for backward compatibility. -EG
- Mon Apr 24 17:29:45 CEST 2017
- Enforce RFC 7230's rule on no whitespace by default,
- introduce new MHD_USE_PERMISSIVE_CHECKS to disable. -CG
- Sun Apr 23 20:05:44 CEST 2017
- Enforce RFC 7230's rule on no whitespace in HTTP header
- field names if MHD_USE_PEDANTIC_CHECKS is set. -CG
- Sun Apr 23 19:20:33 CEST 2017
- Replace remaining occurrences of sprintf() with
- MHD_snprintf_(). Thanks to Ram for pointing this out. -CG
- Sat Apr 22 20:39:00 MSK 2017
- Fixed builds in Linux without epoll.
- Check for invalid --with-thread= configure parameters.
- Fixed support for old libgcrypt on W32 with W32 threads. -EG
- Tue Apr 11 22:17:00 MSK 2017
- Releasing GNU libmicrohttpd 0.9.53. -EG
- Mon Apr 10 19:50:20 MSK 2017
- HTTPS tests: skip tests instead of failing if HTTPS is not supported by
- libcurl.
- HTTPS tests: fixed return values so testsuite is able to correctly
- interpret it.
- Fixed ignored result of epoll test in test_https_get_select. -EG
- Thu Apr 06 23:02:07 MSK 2017
- Make zzuf tests compatible with *BSD platforms. -EG
- Thu Apr 06 22:14:22 MSK 2017
- Added warning for hypothetical extra large timeout.
- Fixed incorrect timeout calculation under extra rare conditions.
- Fixed accidental usage of IPv6 in testsuite in specific conditions. -EG
- Wed Apr 05 14:14:22 MSK 2017
- Updated autoinit_funcs.h to latest upstream version with proper support of
- Oracle/Sun compiler. -EG
- Wed Apr 05 12:53:26 MSK 2017
- Fixed some compiler warnings.
- Fixed error snprintf() errors detection in digestauth.c.
- Converted many run-time 'strlen()' to compile-time calculations. -EG
- Sun Mar 26 13:49:01 MSK 2017
- Internal refactoring for simplification and unification.
- Minor optimizations and minor fixes.
- MHD_USE_ITC used again in thread pool mode. -EG
- Sat Mar 25 20:58:24 CET 2017
- Remove dead MHD_strx_to_sizet-functions and associated
- test cases from code. -CG
- Sat Mar 25 20:40:10 CET 2017
- Allow chunk size > 16 MB (up to 2^64-1). Ignore
- chunk extensions instead of triggering an error.
- (fixes #4967). -CG
- Tue Mar 25 20:59:18 MSK 2017
- Check for invalid combinations of flags and options in
- MHD_start_daemon(). -EG
- Tue Mar 21 13:51:04 CET 2017
- Use "-lrt" to link libmicrohttpd if we are using
- clock_gettime() as needed by glibc < 2.17. -CG
- Tue Mar 21 13:42:07 CET 2017
- Allow chaining of suspend-resume calls withuot
- the application processing data from the network. -CG
- Mon Mar 20 0:51:24 MSK 2017
- Added autoconf module for detection whatever shutdown of listening socket
- trigger select. This is only reliable method to use such feature as some
- platforms change behaviour from version to version. -EG
- Sun Mar 19 13:57:30 MSK 2017
- Rewritten logic of handling "upgraded" TLS connections in epoll mode:
- used edge trigger instead of level trigger,
- upgraded "ready" connection are stored in DL-list,
- fixed handling of more than 128 ready connections,
- fixed busy-waiting for idle "upgraded" TLS connections. -EG
- Fri Mar 17 10:45:31 MSK 2017
- If read buffer is full, MHD need to receive remote data and application
- suspended connection, do not fail while connection is suspended and give
- application one more chance to read data from buffer once connection is
- resumed. -EG
- Thu Mar 16 23:45:29 MSK 2017
- Allow again to run MHD in external epoll mode by
- MHD_run_from_select() - this allow unification of user code
- and produce no harm for performance. Especially useful with
- MHD_USE_AUTO flag. -EG
- Thu Mar 16 23:12:07 MSK 2017
- Idle connection should be disconnected *after* "timeout" number of
- second, not *before* this number. -EG/VT
- Thu Mar 16 22:31:54 MSK 2017
- Unified update of last activity on connections.
- Update last activity only if something is really transmitted.
- Update last activity each time when something is transmitted.
- Removed early duplicated check for timeout on HTTPS connections.
- Removed update of last active time for connections without timeout.
- Fixed reset of timeout timer on resumed connections.
- Fixed never-expired timeouts on HTTPS connections.
- Fixed thread-safety of MHD_set_connection_option(). -EG
- Thu Mar 16 21:05:08 MSK 2017
- Fixed minor bug resulted in slight slowdown of HTTPS connection
- handshake. -EG
- Thu Mar 16 20:35:59 MSK 2017
- Improved thread-safety for DL-lists. -EG
- Thu Mar 16 17:55:01 MSK 2017
- Fixed thread-safety of MHD_get_daemon_info() for
- MHD_DAEMON_INFO_CURRENT_CONNECTIONS. -EG
- Thu Mar 16 16:49:07 MSK 2017
- Added ability to get actual daemon flags via MHD_get_daemon_info().
- Fixed test_upgrade to work in request mode.
- Fixed compiler warnings in test_upgrade. -EG
- Wed Mar 15 23:29:59 MSK 2017
- Prevented socket read/write if connection is suspended.
- Added missing resets of 'connection->in_idle'.
- Reworked handling of suspended connection: ensure that
- connection is not disconnected by timeout, always
- updated read/write states right after suspending. -EG
- Wed Mar 15 21:02:26 MSK 2017
- Added new enum value MHD_CONNECTION_INFO_CONNECTION_TIMEOUT
- to get connection timeout by MHD_get_connection_info(). -EG
- Sat Mar 11 12:03:45 CET 2017
- Fix largepost example from tutorial to properly generate
- error pages. -CG
- Fix largepost example, must only queue replies either before upload
- happens or after upload is done, not while upload is ongoing
- Fri Mar 10 16:37:12 CET 2017
- Fix hypothetical integer overflow for very, very large
- timeout values. -CG
- Fri Mar 10 16:22:54 CET 2017
- Handle case that we do not listen at all more gracefully
- in MHD_start_daemon() and not pass '-1' to helper functions
- that expect a valid socket. -CG
- Tue Mar 7 12:11:44 BRT 2017
- Updates file `.gitignore`.
- Tue Mar 7 10:37:45 BRT 2017
- Updated the MHD_OPTION_URI_LOG_CALLBACK's documentation.
- Mon Mar 6 21:46:59 BRT 2017
- Added the i18n example fixing #4924. -SC
- Wed Mar 1 23:47:05 CET 2017
- Minor internal optimisations.
- Changed closure connection monitoring logic: now all connections are
- monitored for OOB data (which treated as error), connections are not
- monitored any more for incoming data if incoming data is not required for
- processing. except_fd_set is not optional now for MHD_get_fdset(),
- MHD_get_fdset2() and MHD_run_from_select().
- Improved connection processing in epoll mode: now connection can process
- both read and write each turn.
- Updated HTTP response codes; updated and added all missing standard HTTP
- headers names (and headers categories); updated and added all missing
- standard and additional HTTP methods. Now MHD return status
- MHD_HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE (431) instead of old
- MHD_HTTP_REQUEST_ENTITY_TOO_LARGE (413) for very long header.
- Reworked handling of data pending in TLS buffers, resolved busy-waiting
- if incoming data is pending in TLS buffers and connection is in
- LOOP_INFO_WRITE mode.
- Do not clear 'ready' flag in epoll mode if send()/recv() result is
- EINTERRUPTED.
- Better detection of unready connection state: used less number of calls of
- recv()/send() in epoll mode.
- Configure: do not run gcrypt and GnuTLS tests if HTTPS is disabled by
- configure parameter.
- Fixed wrong value returned by MHD_get_timeout().
- All double-linked lists now walked from tail to head. As new items are
- added to head, this result in more uniform processing time.
- Improved sockets errors handling in epoll mode.
- OOB data on 'upgraded' sockets is treated as error. -EG
- Thu Feb 16 11:20:05 CET 2017
- Replace tsearch configure check with code from gnulib. -CG
- Wed Feb 15 13:35:36 CET 2017
- Fixing a few very rare race conditions for thread-pool or
- thread-per-connection operations during shutdown.
- Various minor cosmetic improvements.
- Fixed #4884 and #4888 (solaris portability issues). -CG
- Wed Feb 08 22:33:10 MSK 2016
- Ported test_quiesce_stream to W32.
- Improved precompiler flags selection of OpenBSD.
- Fixed sending responses backed by files not supported by sendfile().
- Fixed thread safety for responses backed by file FD.
- Updated fileserver_example.
- Improved handling of 'upgraded' TLS forwarding in select() and poll()
- modes.
- Fixed processing of incoming TLS data in epoll mode if more than 128
- connections are active.
- Fixed accepting more than 128 incoming connection in epoll mode.
- Improved test_large_put, added poll() and epoll testing.
- Added test_large_put_inc for testing of incremental buffer processing.
- Rewritten epoll connection processing logic: handle all connection one
- time per turn instead of trying to handle all active connection until all
- pending data is dried. Result is more uniform connection processing
- period. -EG
- Wed Nov 23 15:24:10 MSK 2016
- Used SO_REUSEADDR (on non-W32) alongside with SO_REUSEPORT if option
- MHD_OPTION_LISTENING_ADDRESS_REUSE was set. -EG
- Wed Nov 23 12:48:23 MSK 2016
- Move all gettext-related staff to 'po' subdirectory.
- Excluded gettext files generation from normal build.
- Removed generated files from GIT. -EG
- Tue Nov 15 19:08:43 MSK 2016
- Fixed forwarding "upgraded" TLS connections for
- chunks sizes larger than buffer size. -EG
- Mon Nov 14 22:18:30 MSK 2016
- Fixed unintentional usage of SO_REUSEADDR on W32.
- Added support for SO_EXCLBIND on Solaris.
- Fixed using MHD with MHD_OPTION_LISTENING_ADDRESS_REUSE
- on Linux kernels before 3.9 (longterm 3.2 and 3.4
- are still supported). -EG
- Sun Nov 13 19:16:38 CET 2016
- Fixed a few race issues on suspend-resume in cases where the
- application uses threads even though MHD did not (or at least
- had no internal need for locking). Also fixed DLL handling of
- the timeout list, avoiding manipulating it for suspended
- connections. Finally, eliminated calling application logic
- on suspended connections (which before could happen under
- certain circumstances). -CG
- Thu Nov 11 20:49:23 MSK 2016
- Added support for various forms of
- pthread_attr_setname_np() so thread names will be set
- more efficiently on certain platforms (Solaris, NetBSD etc.) -EG
- Thu Nov 10 21:50:35 MSK 2016
- Added rejection in MHD_start_daemon() of invalid combinations
- of daemon flags.
- Added MHD_USE_AUTO and MHD_USE_AUTO_INTERNAL_THREAD for
- automatic selection of polling function depending on
- platform capabilities and requested mode. -EG
- Thu Nov 10 17:49:56 MSK 2016
- Ported "upgrade" tests to W32 and other platforms, used
- "gnutls-cli" instead of "openssl" in tests, minor bugs
- fixed, added verbose reporting if requested.
- "Upgrade" processing - changed internal handling logic, improved
- and refactored, bugs fixed, fixed sigpipe on Darwin, added
- printing error to log, fixed compilation without HTTPS.
- Added 'configure' parameter "--disable-httpupgrade" for building
- minimal-sized MHD versions.
- Added feature check "MHD_FEATURE_UPGRADE".
- Responses destroyed (freed) earlier if possible.
- Added many remarks in code comments about thread safety.
- Some data races and other multithread-related issues are fixed,
- including usage of closed sockets (may resulted in accidental closing
- of wrong socket).
- SO_NOSIGPIPE is used on all platform which support it, not only
- on Darwin.
- Added support for suspending connections in thread-per-connection
- mode (itself almost useless, mostly to unify modes support).
- Fixed Inter-Thread Communication channel usage in epoll modes.
- Reworked daemon cleanups and handling MHD_stop_daemon(): resources
- are freed only by specific threads, data races and other fixes.
- Started usage of C99 standard 'bool' where supported with
- fallback to 'int'.
- Renamed many MHD flags. Now they are self-explainable and more
- obvious, like MHD_USE_INTERNAL_POLLING_THREAD instead of
- MHD_USE_SELECT_INTERNALLY. Old flag names are supported for
- backward compatibility.
- Improved processing of "fast" connections: now full sequence
- "read request - send reply headers - send reply body" is processed
- after single select()/poll(). If connection is slow, request is huge
- or response in not immediately ready - connection will be processed
- in "traditional" way.
- Added usage of "calloc()" where supported.
- Minor documentation fixes.
- Minor improvements and fixes. -EG
- "Upgrade" test fixes.
- Documentation updated.
- Added HTTP "Upgrade" example. -CG
- Mon Oct 17 19:08:18 CEST 2016
- Fixed misc. issues relating to upgrade.
- Releasing experimental 0.9.52. -CG
- Wed Oct 12 14:26:20 CEST 2016
- Migrated repository from Subversion to Git. -CG
- Tue Oct 11 18:09:56 CEST 2016
- Deprecated MHD_USE_SSL, use MHD_USE_TLS instead. -CG
- Tue Oct 11 18:14:40 MSK 2016
- Code internal refactoring: 'pipes' renamed to 'inter-thread
- communication (channels)/ITCs', as code can use different types
- of communications.
- Optimizations: ITCs now always created in non-blocking mode.
- Added configure parameter to choose ITC type.
- Updated documentation and comments.
- Minor errors fixed (related to heavy load). -EG
- Thu Sep 22 17:51:04 CEST 2016
- Implementing support for eventfd() instead of pipe() for
- signaling (on platforms that support it); fixing #3557. -CG
- Thu Sep 22 11:03:43 CEST 2016
- Simplify internal error handling logic by folding it into the
- MHD_socket_close_, MHD_mutex_lock_, MHD_mutex_unlock_ and
- MHD_mutex_destroy_ functions. -CG
- Tue Sep 13 22:20:26 MSK 2016
- Added autoconf macro to enable maximum platform
- features. Fixed compiling on Solaris. -EG
- Wed Sep 7 12:57:57 CEST 2016
- Fixing #4641. -Hawk
- Wed Sep 7 00:28:59 CEST 2016
- Adding remaining "_"-markups for i18n (#4614). -CG
- Tue Sep 6 23:39:56 CEST 2016
- Allow out-of-order nonces for digest authentication (#4636). -CG
- Tue Sep 6 21:29:09 CEST 2016
- Martin was right, "socket_context" should be "void *"
- in `union MHD_ConnectionInfo`. -MS
- Sun Sep 4 18:16:32 CEST 2016
- Fixing potential memory leak (#4634). -CG
- Sun Sep 4 17:25:45 CEST 2016
- Tests for "Upgrade" logic are now in place and passing.
- However, still need to make sure code is portable. -CG
- Sat Sep 3 11:56:20 CEST 2016
- Adding logic for handling HTTP "Upgrade" in thread-per-connection
- mode. Also still untested. -CG
- Sat Aug 27 21:01:43 CEST 2016
- Adding a few extra safety checks around HTTP "Upgrade"
- (against wrong uses of API), and a testcase. -CG
- Sat Aug 27 20:07:53 CEST 2016
- Adding completely *untested* logic for HTTP "Upgrade"
- handling. -CG
- Sat Aug 27 18:20:38 CEST 2016
- Releasing libmicrohttpd 0.9.51. -CG
- Tue Aug 23 22:54:07 MSK 2016
- Internal refactoring: W32 compatibility layer was finally
- replaced with several specialized abstraction layers for
- sockets, control pipes (inter-thread communication) and
- generic functions. Now all major platform functions
- (including threads and mutex) are implemented in thin
- abstraction layers.
- Improved performance on W32 due to eliminating
- translation of error to POSIX codes and using W32 codes
- directly (through macros).
- Improved error reporting on all platforms.
- Improved error handling and reporting on Darwin.
- Minor fixes. -EG
- Tue Aug 16 15:14:30 MSK 2016
- Minor improvement for monotonic clock.
- Minor configure fix for non-bash shells. -EG
- Mon Aug 15 13:06:52 CEST 2016
- Fixed possible crash due to write to read-only region of
- memory given ill-formed HTTP request (write was otherwise
- harmless, writing 0 to where there was already a 0).
- Fixed issue with closed connection slots not immediately
- being available again for new connections if we reached
- our connection limit.
- Avoid even accept()ing connections in certain thread modes
- if we are at the connection limit and
- MHD_USE_PIPE_FOR_SHUTDOWN is available. -CG
- Wed Aug 10 16:42:57 MSK 2016
- Moved threads, locks and mutex abstraction to separate files,
- some minor errors fixed, added support for thread name functions
- on various platforms, added configure flag for disable thread
- naming. -EG
- Sat Jul 23 20:45:51 CEST 2016
- Added macro detection of speed/size compiler optimization.
- Added different implementation of functions in mhd_str.c for
- size optimization. Enabled automatically if compiler size
- optimization is detected or MHD_FAVOR_SMALL_CODE is defined.
- Added unit tests for all mhd_str.c functions. -EG
- Sat Jul 16 21:54:49 CEST 2016
- Warn user if they sent connection into blocking
- state by not processing all POST data, not suspending,
- and not running in external select mode. -CG
- Fri Jul 8 21:35:07 CEST 2016
- Fix FIXME in tutorial. -CG
- Fri Jul 8 15:57:06 CEST 2016
- Adding support for 308 status code. -CG
- Sat Jun 25 13:49:31 CEST 2016
- Use shutdown to trigger select on NetBSD. -EG
- Thu Jun 2 09:55:50 CEST 2016
- Releasing libmicrohttpd 0.9.50. -CG
- Wed Jun 1 21:59:34 CEST 2016
- Do not send "Content-Length" header for 1xx/204/304 status codes. -CG
- Tue May 17 13:32:21 CEST 2016
- Allow clients to determine whether a connection is suspended;
- introduces MHD_CONNECTION_INFO_CONNECTION_SUSPENDED. -CG/FC
- Sun May 15 12:17:25 CEST 2016
- Fix handling system or process resource limit exhaustion upon
- accept(). -CG/CP
- Thu May 12 08:42:19 CEST 2016
- Fix handling of partial writes in MHD_USE_EPOLL_LINUX_ONLY; only
- consider sockets returning EAGAIN as unready. -CG/CP
- Mon May 2 06:08:26 CEST 2016
- Adding logic to help address FE performance issue as
- discussed on the mailinglist with subject
- "single-threaded daemon, multiple pending requests, responses batched".
- The new logic is only enabled when MHD_USE_EPOLL_TURBO is set.
- Note that some additional refactoring was also done to clean up
- the code and avoid code duplication, which may have actually fixed
- an unrelated issue with HTTPS and a POLL-style event loop. -CG
- Sat Apr 30 10:22:37 CEST 2016
- Added clarifications to manual based on questions on list. -CG
- Sat Apr 23 20:12:01 CET 2016
- Tests perf_get_concurrent and test_concurrent_stop ported to use
- pthread instead of fork(). Added more error detections. -EG
- Sat Apr 23 16:06:30 CET 2016
- Improved test_quiesce test. -EG
- Sat Apr 23 15:39:38 CET 2016
- Notify other threads in MHD_quiesce_daemon() so listen socket FD
- is removed from awaiting select() and poll(). -EG
- Sat Apr 23 14:17:15 CET 2016
- Revert "shutdown trigger select" on Darwin. Fixed daemon shutdown
- on Darwin without "MHD_USE_PIPE_FOR_SHUTDOWN" option. -EG
- Fri Apr 22 14:29:28 CET 2016
- Fixed race conditions when stopping quiesced daemon with thread
- pool. -EG
- Wed Apr 20 18:12:30 CET 2016
- Fixed macros in sysfdsetsize.c which could prevent compiling with
- non-default FD_SETSIZE.
- Fixed comments in mhd_str.c.
- Updated test_post.c to not ignore specific error on W32 if libcurl
- is built with workaround for WinSock bug. -EG
- Mon Apr 18 19:35:14 CET 2016
- Fixed data races leading to inability in rare situations to
- resume suspended connection. -EG
- Tue Apr 13 21:46:01 CET 2016
- Removed unneeded locking for global timeout list in
- MHD_USE_THREAD_PER_CONNECTION mode.
- Added 'simplepost' and 'largepost' examples to VS projects.
- Added strtoXX() locale-independent replacement functions.
- Added more error checking and minor fixes in digest auth
- functions - should improve security.
- Ignored specific errors in 'test_post' test until libcurl
- will implement workaround for WinSock bug.
- Fixed handling of caller-supplied socket with
- MHD_OPTION_LISTEN_SOCKET (regression in 0.9.49).
- Minor fixes.
- Various cosmetics and comments fixes. -EG
- Sat Apr 09 13:05:42 CET 2016
- Releasing libmicrohttpd 0.9.49. -EG
- Fri Apr 08 18:32:17 CET 2016
- Some minor internal fixes, addition error checking and
- micro optimizations.
- Reworked usage of sockets shutdown() - now work equally
- on all platforms, disconnection should be "more graceful". -EG
- Tue Mar 15 21:52:27 CET 2016
- Do not crash if pthread_create() fails. -DD
- Tue Mar 15 20:29:34 CET 2016
- Do not use eready DLL data structure unless
- we are actually using epoll(). -DD/CG
- Fri Feb 5 20:43:11 CET 2016
- Fixed testsuite compile warning on W32.
- Added check test for triggering poll() on
- listen socket. -EG
- Thu Feb 4 11:38:11 CET 2016
- Added some buffer overrun protection.
- Fixed handling of malformed URI with spaces. -EG
- Wed Feb 3 15:41:57 CET 2016
- Make signal-pipe non-blocking and drain it. -CG
- Sat Jan 30 15:49:07 CET 2016
- Fix running select() with empty fdsets on W32. -EG
- Mon Jan 25 13:45:50 CET 2016
- Added check test for triggering select() on
- listen socket. -EG
- Thu Jan 21 19:35:18 CET 2016
- Fixed old bug with making sockets non-blocking on
- various platforms so now sockets are really
- non-blocking on all supported platforms.
- Reworked and fixed code for using SOCK_CLOEXEC,
- SOCK_NONBLOCK and EPOLL_CLOEXEC resulting in
- fewer used system calls. -EG
- Tue Jan 19 20:59:59 CET 2016
- Cleaned up and optimized with minor fixes code for
- making sockets non-blocking non-inheritable. -EG
- Tue Jan 19 11:14:18 CET 2016
- Removed workaround for Cygwin non-blocking sockets:
- handling non-blocking sockets were fixed in Cygwin
- and libmicrohttpd how uses non-blocking sockets on
- all platforms. -EG
- Mon Jan 18 23:54:45 CET 2016
- Cleaned up examples to avoid giving oversimplified code
- that may lead to complications if adopted naively. -CG
- Sun Jan 17 11:18:55 CET 2016
- Do no refuse to send response if sendfile() failed with
- EINVAL (common error for files located on SMB/CIF). -EG
- Sat Jan 16 19:14:39 CET 2016
- Use US-ASCII only (instead of user locale settings) when
- performing caseless string comparison as required by
- standard. -EG
- Tue Jan 12 16:10:09 CET 2016
- Fixed declaraion of MHD_get_reason_phrase_for(). -EG
- Mon Jan 11 19:58:50 CET 2016
- Configure.ac small fixes and refactoring. -EG
- Fri Dec 18 15:54:50 CET 2015
- Releasing libmicrohttpd 0.9.48. -CG
- Tue Dec 15 18:35:55 CET 2015
- Improved compatibility with VS2010 and other older
- compilers. -EG
- Tue Dec 8 21:48:44 CET 2015
- Default backlog size for listen socket was changed from
- 32 to SOMAXCONN, added new option MHD_OPTION_LISTEN_BACKLOG_SIZE
- to override default backlog size.
- If not all connections can be handled by MHD_select() than
- at least some of connections will be processed instead of
- failing without any processing.
- Fixed redefenition of FD_SETSIZE on W32 so select() will
- work with 2000 connections instead of 64.
- Better handled redefenition of FD_SETSIZE on all
- platforms. -EG
- Sat Dec 5 17:30:45 CET 2015
- Close sockets more aggressively in multi-threaded
- mode (possibly relevant for idle servers). -CG
- Fri Dec 4 13:53:05 CET 2015
- Releasing libmicrohttpd 0.9.47. -CG
- Thu Dec 3 18:21:44 CET 2015
- Reworked VS project files. Used x64 build tools by
- default, many optimizations, fixes.
- Added project files for VS 2015. -EG
- Tue Dec 1 14:05:13 CET 2015
- SPDY is dead, killing experimental libmicrospdy. -CG
- Tue Dec 1 10:01:12 CET 2015
- New logic for controlling socket buffer modes.
- Eliminated delay before last packet in response and before
- "100 Continue" response on all platforms. Also response
- header are pushed to client without waiting for response
- body. -EG
- Wed Nov 25 17:02:53 CET 2015
- Remove 200ms delay observable with keep-alive on Darwin
- and *BSD platforms. -EG
- Tue Nov 10 15:25:48 CET 2015
- Fix issue with shutdown if connection was resumed just
- before shutdown. -FC
- Fri Nov 6 22:54:38 CET 2015
- Fixing the buffer shrinkage issue, this time with test. -CG
- Releasing libmicrohttpd 0.9.46. -CG
- Tue Nov 3 23:24:52 CET 2015
- Undoing change from Sun Oct 25 15:29:23 CET 2015
- as the original code was counter-intuitive but
- correct, and the new code does break pipelining.
- Ignore empty lines at the beginning of an HTTP
- request (more tolerant implementation). -CG
- Sat Oct 31 15:52:52 CET 2015
- Releasing libmicrohttpd 0.9.45. -CG
- Tue Oct 27 12:08:02 CET 2015
- Rework deprecation maros: fix errors with old GCC versions,
- improved support for old clang and new GCC. -EG
- Sun Oct 25 23:05:32 CET 2015
- Return correct header kind in MHD_get_connection_values()
- even if a bitmask is used for the "kind" argument. -FC/CG
- Sun Oct 25 15:29:23 CET 2015
- Fixing transient resource leak affecting long-lived
- connections with a lot of keep-alive and HTTP request
- pipelining under certain circumstances (which reduced
- the receive window).
- Fixed assertion failure triggered by a race in
- thread-per-connection mode on shutdown in rare
- circumstances. -CG
- Mon Oct 5 11:53:52 CEST 2015
- Deduplicate code between digestauth and connection
- parsing logic for URI arguments, shared code moved
- to new MHD_parse_arguments_ function in internal.c. -CG
- Thu Oct 1 21:22:05 CEST 2015
- Releasing libmicrohttpd 0.9.44. -CG
- Wed Sep 30 21:05:38 CEST 2015
- Various fixes for W32 VS project files. -EG
- Fri Sep 25 09:49:10 CEST 2015
- Fix digest authentication with URL arguments where
- value-less keys are given before the last argument.
- Thanks to MA for reporting. -CG
- Tue Sep 22 19:17:54 CEST 2015
- Do not use shutdown() on listen socket if MHD_USE_PIPE_FOR_SHUTDOWN
- is set. -CG
- Wed Sep 16 11:06:02 CEST 2015
- Releasing libmicrohttpd 0.9.43. -CG
- Wed Sep 2 16:50:31 CEST 2015
- Call resume_suspended_connections() when the user is running
- its own mainloop and calls MHD_run_from_select() to support
- resuming connections with external select. -FC
- Sun Aug 30 14:53:51 CEST 2015
- Correct documentation as to when MHD_USE_EPOLL_LINUX_ONLY
- is allowed. -CG
- Thu Aug 27 09:38:44 CEST 2015
- Reimplement monotonic clock functions for better
- support various platforms.
- Print more information during configure. -EG
- Fri Aug 14 14:13:55 CEST 2015
- Export MHD_get_reason_phrase_for() symbol. -CG
- Sat Aug 8 12:19:47 CEST 2015
- Added checks for overflows and buffer overruns, fixed
- possible buffer overrun.
- Updated md5 implementation.
- Fixed many compiler warning (mostly for VC compiler). -EG
- Tue Aug 4 13:50:23 CEST 2015
- Fix failure to properly clean up timed out connections
- if running in external select mode without listen socket,
- which caused busy waiting until new connections arrived.
- (Fixes #3924, thanks to slimp for reporting and testcase). -CG
- Sun Aug 2 19:08:20 CEST 2015
- Ignore close() errors on sockets except for EBADF,
- fixes #3926. -CG
- Sat Jun 27 22:16:27 CEST 2015
- Make sure to decrement connection counter before
- calling connection notifier so that
- MHD_DAEMON_INFO_CURRENT_CONNECTIONS does not
- present stale information (relevant if this is
- used for termination detection of a daemon
- stopped via MHD_quiesce_daemon()). Thanks to
- Markus Doppelbauer for reporting. -CG
- Fri Jun 26 23:17:20 CEST 2015
- Fix (automatic) handling of HEAD requests with
- MHD_create_response_from_callback() and HTTP/1.1
- connection keep-alive. Thanks to Cristian Klein
- for reporting. -CG
- Tue Jun 09 18:30:17 CEST 2015
- Add new functions MHD_create_response_from_fd64() and
- MHD_create_response_from_fd_at_offset64(). -EG
- Thu Jun 4 13:37:05 CEST 2015
- Fixing memory leak in digest authentication. -AW
- Wed Jun 03 21:23:47 CEST 2015
- Add deprecation compiler messages for deprecated functions
- and macros. -EG
- Fri May 29 12:23:01 CEST 2015
- Fixing digest authentication when used in combination
- with escaped characters in URLs. -CG/AW
- Wed May 13 11:49:09 CEST 2015
- Releasing libmicrohttpd 0.9.42. -CG
- Wed May 13 11:33:59 CEST 2015
- Fix off-by-one in MHD_start_daemon_va() error handling logic
- when initialization of threads for thread pool fails for some
- reason. -CG/JC
- Thu May 7 17:05:46 CEST 2015
- Add support for poll() in W32. -EG
- Wed May 6 18:07:38 CEST 2015
- Fix #3784: actually implement MHD_CONNECTION_INFO_SOCKET_CONTEXT. -asherkin
- Thu Apr 30 00:03::49 CEST 2015
- Releasing libmicrohttpd 0.9.41. -CG
- Thu Apr 30 00:02:33 CEST 2015
- Fix issue where resumed connections would not continue
- unless other requests are active in certain
- event-loop modes. Thanks to Mike Castillo for reporting. -CG
- Wed Apr 15 03:16:18 CEST 2015
- Fixing issue #3753 (testcase issue). -CG
- Wed Apr 15 00:30:34 CEST 2015
- Fix looping issue when using MHD_USE_POLL_INTERNALLY
- and a client times out. -LB
- Sun Apr 12 21:48:50 CEST 2015
- Fix looping issue when combining MHD_USE_EPOLL_LINUX_ONLY
- with HTTPS and slow clients. -CG
- Fri Apr 10 22:02:27 CEST 2015
- Fix logic to add "Connection: Close" that was broken in 0.9.38
- when adding MHD_RF_HTTP_VERSION_1_0_ONLY. -CG
- Fri Apr 10 00:38:40 CEST 2015
- Ensure fast termination in MHD_USE_THREAD_PER_CONNECTION
- mode on W32 by using signal pipe. -CG
- Thu Apr 9 09:01:15 CEST 2015
- Fixing issue with undrained signal pipe when using
- MHD_USE_SELECT_INTERNALLY and MHD_USE_POLL in combination
- with MHD_resume_connection(), causing 100% CPU usage. -DD
- Tue Apr 7 00:12:36 CEST 2015
- Releasing libmicrohttpd 0.9.40. -CG
- Sat Apr 4 18:28:24 CEST 2015
- Fix potential deadlock issue in MHD_USE_THREAD_PER_CONNECTION
- mode if shutdown is initiated while connections are active. -CG
- Sat Apr 4 17:48:13 CEST 2015
- Fix issue in thread-pool mode where a MHD_stop_daemon()
- might not reach threads that stopped listening because
- we hit the maximum number of concurrent connections and
- the option MHD_USE_PIPE_FOR_SHUTDOWN was also not used.
- Testcase added as well. -CG
- Fri Apr 3 12:55:31 CEST 2015
- Update HTTPS testcases to avoid SSLv3, as SSLv3 is dead.
- Fri Apr 3 12:25:28 CEST 2015
- Do not enforce FD_SETSIZE-limit on worker control
- pipe when using MHD_USE_EPOLL_LINUX_ONLY (#3751). -MH/CG
- Tue Mar 31 10:28:26 CEST 2015
- Adding MHD_OPTION_NOTIFY_CONNECTION,
- MHD_CONNECTION_NOTIFY_STARTED,
- MHD_CONNECTION_NOTIFY_CLOSED and
- MHD_CONNECTION_INFO_SOCKET_CONTEXT to allow
- applications to trigger operations when TCP
- connections start or end, instead of just
- exposing HTTP requests starting and ending. -RG/CG
- Thu Feb 26 09:55:43 CET 2015
- Fixing bug that prevented MHD_OPTION_HTTPS_MEM_DHPARAMS
- from working within a MHD_OPTION_ARRAY. -DD
- Sun Feb 8 01:24:38 CET 2015
- Adding MHD_OPTION_HTTPS_KEY_PASSWORD as proposed by
- Andrew Basile. -CG/AB
- Wed Feb 4 20:34:22 CET 2015
- Fix issue where for HTTP/1.0-clients that set
- Connection: Keep-Alive header a response of
- indefinite size was generated with chunked encoding. -CG
- Sun Jan 18 20:09:06 CET 2015
- Fix potential infinite loop on shutdown in multi-threaded mode
- under certain conditions. -CG
- Mon Dec 22 16:33:18 CET 2014
- Releasing 0.9.39. -CG
- Mon Dec 22 13:02:36 CET 2014
- Fix generated compiler flags for Solaris Studio linker (#3584). -CG
- Sat Dec 20 00:35:40 CET 2014
- Adding MHD_http_unescape() to public API (#3585). -CG
- Updating documentation to document
- MHD_is_feature_supported(). -CG
- Thu Dec 4 00:43:10 CET 2014
- If "Connection: upgrade" is requested, do not add
- "Connection: Keep-Alive" in the response. -GJ
- Tue Nov 18 13:52:29 CET 2014
- Call MHD_cleanup_connections() during MHD_DAEMON_INFO_CURRENT_CONNECTIONS
- processing for more accurate results. -MS
- Wed Oct 29 20:45:21 CET 2014
- Adding MHD_OPTION_LISTENING_ADDRESS_REUSE option allowing clients
- to force allowing re-use of the address:port combination
- (SO_REUSEPORT). -MS
- Wed Oct 29 16:27:05 CET 2014
- Adding MHD_DAEMON_INFO_CURRENT_CONNECTIONS to allow clients
- to query the number of active connections. -MS
- Fri Oct 3 14:28:58 CEST 2014
- Releasing 0.9.38. -CG
- Mon Sep 29 22:25:34 CEST 2014
- Properly decode '+' in URL-encoded POST data. -CG/KM
- Fri Sep 12 17:32:09 CEST 2014
- Fix --disable-dauth configure option (#3543). -doostee
- Thu Jun 26 21:06:04 CEST 2014
- Fix failure to terminate 'instantly' in thread-per-connection
- mode if there is a client with open connections.
- Thanks to Kenneth Mastro for reporting. -CG
- Sun Jun 22 12:22:08 CEST 2014
- Actually, avoid locking on response as responses must
- not be modified in a connection-specific way; instead
- modify the connection's data buffer to add missing
- responses headers. If we are forced to add
- "Connection: close", suppress output of conflicting
- application-provided "Connection: Keep-Alive" header. -CG
- Sun Jun 22 00:22:08 CEST 2014
- Lock on response if adding headers, needed if response
- object is shared across threads and connections. -CG
- Thu Jun 19 17:32:32 CEST 2014
- Ensure that listen FD is bound to epoll FD even before
- MHD_run() is called if running with MHD_USE_EPOLL_LINUX_ONLY
- in combination with 'external select' mode. Thanks to
- Marcos Pindado Sebastian for reporting. -CG
- Sun Jun 8 15:10:44 CEST 2014
- Add 'MHD_set_response_options' as a way to set per-response
- flags. Add flag to force HTTP 1.0-only conservative
- behavior, in particular suppressing adding "Connection"
- headers. -CG
- Mon Jun 2 00:03:28 CEST 2014
- Added back unescaping for URI path (#3413) but without
- unescaping '+' (#3371) to remain compatible with
- MHD 0.9.34 and before. Note that applications providing
- a custom MHD_OPTION_UNESCAPE_CALLBACK are no longer expected
- to replace '+' with ' ', as that is now done separately for
- the locations where this transformation is appropriate.
- Releasing 0.9.37. -CG
- Wed May 28 15:30:56 CEST 2014
- Properly applying patch that was supposed to be
- committed on "May 2 20:22:45 CEST 2014" to address
- infinite loop (DoS) when HTTP connection is reset (#3392). -GM
- Sun May 25 20:18:27 CEST 2014
- Fixed W32 build issues. -EG
- Releasing 0.9.36. -CG
- Sat May 17 06:47:00 CEST 2014
- Fix notifying client about completed request twice
- under certain circumstances. -CG
- Tue May 13 18:24:37 CEST 2014
- Fix accidental transmission of footer termination '\r\n'
- for responses with zero byte payload and non-chunked
- encoding (#3397). Thanks to amatus for reporting. -CG
- Sun May 4 11:05:26 CEST 2014
- Fix gnutls header check to make it cross-compile aware. -BK
- May 2 20:22:45 CEST 2014
- Fix infinite loop (DoS) when HTTP connection is reset (#3392). -GM
- Fix possible issue from combination of epoll and suspend/resume
- logic if edge trigger event is lost; also simplify logic to
- maintain simpler invariants on the epoll state. -CG
- Use OpenSSL cipher list "HIGH" in libmicrospdy (#3391). -CG
- Releasing 0.9.35. -CG
- Thu Apr 10 09:39:38 CEST 2014
- Removed unescaping for URI path (#3371) as '+' should not
- be converted to space in accordance with
- http://www.w3.org/TR/html401/appendix/notes.html#ampersands-in-uris
- and http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1
- Note that we now also no longer convert '#38;' to '&'; if needed,
- the application needs to apply unescaping to the path of the URI
- itself (before, MHD unescaped '#38;' but not '&', so this
- inconsistency was now resolved by simply not unescaping anything
- before the first '&'). -CG
- Tue Apr 08 15:35:44 CET 2014
- Added support for W32 native threads.
- Added --with-threads=LIB configure parameter. -EG
- Mon Apr 7 13:25:30 CEST 2014
- Add MHD_OPTION_HTTPS_MEM_DHPARAMS to allow applications
- to enable PFS. -HB/CG
- Tue Apr 01 07:10:23 CET 2014
- Added usage of native mutex on W32. -EG
- Sat Mar 29 16:12:03 CET 2014
- Added MHD_is_feature_supported() function. -EG
- Thu Mar 27 14:47:54 CET 2014
- Used larger FD_SETSIZE internally on W32.
- Extended API to work with non-default FD_SETSIZE. -EG
- Tue Mar 25 12:53:55 CET 2014
- Fix limiting by IPv6 address. -EG
- Tue Mar 25 09:06:13 CET 2014
- Added more FD_SETSIZE checks.
- Implemented FD_SETSIZE checks for W32. -EG
- Wed Mar 05 13:15:05 CET 2014
- Cleanup and refactoring of configure.ac.
- m4 macros updated.
- Custom configure macros replaced with autoconf archive macros.
- SPDY disabled by default on W32.
- Changed configure flag from '--disable-pipe' to
- '--enable-socketpair'.
- Added configure flags '--disable-doc' and '--disable-examples'.
- Narrowed down external lib specific compiler and linker flags
- usage. -EG
- Wed Feb 26 17:42:34 CET 2014
- Refactoring of configure.ac: custom macros replaced with macros
- from Autoconf Archive.
- Minor corrections of configure.ac.
- Excluded pthread flags from global flags, pthread now used only
- where required.
- W32: fixed .dll resource compilation with '-isystem' CPPFLAG.
- W32: improved header compatibility with MSVC.
- W32: now tested on Win64, compiled by MinGW-w64. -EG
- Mon Feb 24 23:13:53 CET 2014
- Added support for TCP FASTOPEN. -SHT
- Releasing 0.9.34. -CG
- Thu Feb 20 14:17:05 CET 2014
- W32: Added creation of libmicrohttpd.lib, libmicrohttpd.def,
- libmicrohttpd.exp and libmicrohttpd-static.lib for easy use
- compiled MHD with MSVC.
- W32: Use MS lib.exe tool if available for creating MSVC staff.
- W32: Added .dll information resource. -EG
- Tue Feb 18 19:46:45 CET 2014
- Removed dependency on plibc for simpler compilation for W32.
- Added configure option "--disable-pipes" to use socketpairs
- instead of pipes for signalling to child threads. Pipes are
- always disabled on W32.
- Some code refactoring. -EG
- Sat Feb 8 15:08:35 CET 2014
- Corrected some uses of 'int' vs. 'size_t'. -EG/CG
- Wed Jan 22 09:44:33 CET 2014
- MHD_USE_DUAL_STACK in libmicrohttpd currently just *inhibits
- setting* the IPV6_V6ONLY socket option, but per Microsoft's
- documentation the default on Windows is that this is enabled, thus
- MHD_USE_DUAL_STACK will not work (since it leaves the
- default). libmicrohttpd should probably just unconditionally set
- IPV6_V6ONLY to the desired value when the option is available. -LJ
- Wed Jan 1 21:38:18 CET 2014
- Allow Keep-Alive with HTTP 1.0 (if explicitly requested),
- and automatically set "Connection: Keep-Alive" in response
- in this case as well. -CG
- Tue Dec 24 12:27:39 CET 2013
- Adding explicit annotations to hide symbols that are not for
- export in the C code (gcc 4.0 or higher only). -CG
- Sun Dec 22 14:54:30 CET 2013
- Adding a few lines to avoid warnings from picky compilers. -CG
- Sat Dec 21 17:26:08 CET 2013
- Fixed an issue with a missing argument in the postexample.
- Fixed issue with bogus offset increment involving sendfile
- on GNU/Linux. Adding support for SNI.
- Releasing 0.9.33. -CG
- Mon Dec 9 21:41:57 CET 2013
- Fix for per-worker daemon pipes enabled with
- MHD_USE_SUSPEND_RESUME that were not closed in
- MHD_stop_daemon. -MH
- Sat Dec 7 00:44:49 CET 2013
- Fixing warnings and build issue if --disable-https is given
- to configure. -CG
- Tue Dec 3 21:25:56 CET 2013
- Security fix: do not read past 0-terminator when unescaping
- strings (thanks to Florian Weimer for reporting).
- Releasing 0.9.32. -CG
- Tue Dec 3 21:05:38 CET 2013
- Signaling n times for shutdown works, but for resume we need to
- wake up the correct daemon. Even if we signal n times in that
- case also, there's no guarantee that some daemon can't run
- through its select loop more than once before the daemon we want
- to wake up gets a chance to read. Thus we need a signal pipe
- per thread in the thread pool IF MHD_suspend_connection is used.
- This introduces a new flag MHD_USE_SUSPEND_RESUME to add those
- additional pipes and only allow MHD_suspend_connection to be
- used in conjunction with this flag.
- Also, as MHD_resume_connection() will be called on a non-daemon
- thread, but none of the queue insert/delete calls are thread safe,
- we need to be concerned about (a) corrupting the queue, and (b)
- having to add mutex protection around every access to the queues,
- including loops through timer queues, etc. This wasn't a problem
- before adding resume; even suspend should be safe since it happens
- in a callback from the daemon.
- I think it's easier to (a) have MHD_suspend_connection() move the
- connection to a suspended queue, (b) have MHD_resume_connection()
- mark the connection as resuming, and then (c) do all the actual
- queue manipulations in MHD_select (poll, epoll, etc.) to move the
- resumed connections back to their normal queues, in response to
- the wake up. The changes are simpler & cleaner. There is a cost to
- the basic select loop that is avoided by making suspend/resume a
- startup option. The per-worker pipes can then also be enabled only
- with that option set. -MH
- Fri Nov 29 20:17:03 CET 2013
- Eliminating theoretical stack overflow by limiting length
- of URIs in authentication headers to 32k (only applicable
- if the application explicitly raised the memory limits,
- and only applies to MHD_digest_auth_check). Issue was
- reported by Florian Weimer. -CG
- Tue Nov 26 01:26:15 CET 2013
- Fix race on shutdown signal with thread pool on non-Linux
- systems by signalling n times for n threads. -CG
- Sun Nov 24 13:41:15 CET 2013
- Introduce state to mark connections in suspended state (with
- epoll); add missing locking operations in MHD_suspend_connection.
- Fix definition of MHD_TLS_CONNECTION_INIT. -MH/JC
- Wed Oct 30 09:34:20 CET 2013
- Fixing issue in PostProcessor when getting partial boundary
- at the beginning, expanding test suite. -CG
- Sun Oct 27 15:19:44 CET 2013
- Implementing faster processing of upload data in multipart
- encoding (thanks to performance analysis by Adam Homolya). -CG
- Thu Oct 24 10:40:03 CEST 2013
- Adding support for connection flow control via
- MHD_suspend_connection and MHD_resume_connection. -CG
- Sat Oct 19 16:40:32 CEST 2013
- Releasing libmicrohttpd 0.9.31. -CG
- Mon Sep 23 20:24:48 CEST 2013
- Fixing build issues on OS X with CLOCK_MONOTONIC not being
- implemented on OS X. -CG
- Mon Sep 23 14:15:00 CEST 2013
- Make libmicrohttpd play nicely with upcoming libgcrypt 1.6.0. -CG
- Fri Sep 20 17:01:37 CEST 2013
- Improved configure checks for cURL. -CG
- Wed Sep 18 18:29:24 CEST 2013
- Signal connection termination as OK (and not as ERROR) if the
- stream was terminated by the callback returning
- MHD_CONTENT_READER_END_OF_STREAM. Also, release response
- mutex before calling the termination callback, to avoid
- possible deadlock if the client destroys the response in
- the termination callback (due to non-recursiveness of the
- lock). -CG
- Wed Sep 18 14:31:35 CEST 2013
- Adding #define MHD_HTTP_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN. -CG
- Tue Sep 17 21:32:47 CEST 2013
- Also pass MHD connection handle in URI log callback. -CG
- Fri Sep 6 10:00:44 CEST 2013
- Improved check for proper OpenSSL version for
- libmicrospdy. -CG
- Wed Sep 4 17:23:15 CEST 2013
- Set IPV6_V6ONLY socket option correctly when IPv6 is
- enabled (MHD_USE_IPv6) but not dual stack
- (MHD_USE_DUAL_STACK) -MW
- Mon Sep 2 22:59:45 CEST 2013
- Fix use-after-free in epoll()-mode on read error.
- Releasing libmicrohttpd 0.9.30. -CG
- Sun Sep 1 21:55:53 CEST 2013
- Fixing build issues on FreeBSD. -CG
- Fri Aug 30 13:53:04 CEST 2013
- Started to implement #3008 (RFC 2616, section 8.1.4
- says HTTP server SHOULD terminate connection if the
- client closes it for writing via TCP FIN, so we should
- continue to try to read and react differently
- if recv() returns zero). -CG
- Wed Aug 28 18:40:47 CEST 2013
- Fix #3007 (build issue if messages are disabled). -CG
- Tue Aug 27 18:39:08 CEST 2013
- Fix build issue if SOCK_NONBLOCK/EPOLL_CLOEXEC are not
- defined (as is the case on older glibc versions). -CG
- Fri Aug 23 14:28:02 CEST 2013
- Releasing libmicrohttpd 0.9.29. -CG
- Mon Aug 12 23:51:18 CEST 2013
- Updated manual, documenting W32 select/shutdown issue. -CG
- Sat Aug 10 21:01:18 CEST 2013
- Fixed #2983. -CG
- Sat Aug 10 20:39:27 CEST 2013
- Use 'errno' to indicate why 'MHD_add_connection' failed
- (#2984). -CG
- Sat Aug 10 17:31:31 CEST 2013
- Disable use of 'shutdown' on W32 always as winsock
- doesn't properly behave with half-closed connections
- (see http://www.chilkatsoft.com/p/p_299.asp). -CG/LRN
- Thu Aug 8 07:55:07 CEST 2013
- Fixing issue with pipelining not working as desired. -CG
- Wed Aug 7 08:17:40 CEST 2013
- Removing dependency on liberty (on W32). -MC
- Fri Aug 2 20:55:47 CEST 2013
- Fix HTTP 1.1 compliance with respect to not returning
- content-length headers for successful "CONNECT" requests.
- Note that for unsuccessful "CONNECT" requests with an
- empty response body, users must now explicitly set the
- content-length header. -CG
- Sun Jul 28 16:35:17 CEST 2013
- Fixing build issue (missing #ifdef) in conjunction with
- --disable-messages. -blueness
- Sat Jul 20 12:35:40 CEST 2013
- Fixing combination of MHD_USE_SSL and MHD_USE_EPOLL_LINUX_ONLY. -CG
- Fri Jul 19 09:57:27 CEST 2013
- Fix issue where connections were not cleaned up when
- 'MHD_run_from_select' was used. Adding experimental
- TURBO mode.
- Releasing libmicrohttpd 0.9.28. -CG
- Sun Jul 14 19:57:56 CEST 2013
- Removing 'shutdown' calls that happen just before close or
- that are for read-only and for a client that has already
- stopped sending anyway (thus reducing number of system calls
- slightly). -CG
- Sun Jul 14 19:37:37 CEST 2013
- Name MHD worker threads on glibc >= 2.12. -,L4X[o](B
- Fri Jul 5 12:05:01 CEST 2013
- Added MHD_OPTION_CONNECTION_MEMORY_INCREMENT to allow users
- to specify a custom value for incrementing read buffer
- sizes (#2899). -MH
- Fri Jun 28 14:05:15 CEST 2013
- If we shutdown connection for reading on POST due to error,
- really do not process further requests even if we already
- read the next request from the connection. Furthermore, do
- not shutdown connections for reading on GET/HEAD/etc. just
- because the application queued a response immediately ---
- reserve that behavior for PUT/POST. -CG
- Tue Jun 25 15:08:30 CEST 2013
- Added option 'MHD_USE_DUAL_STACK' to support a single
- daemon for IPv4 and IPv6 without the application having
- to do the binding. -CG
- Mon Jun 24 22:33:34 CEST 2013
- Finished integration with epoll, including benchmarking and
- documentation. -CG
- Sun Jun 23 15:28:13 CEST 2013
- Added option 'MHD_USE_PIPE_FOR_SHUTDOWN' to cleanly support
- 'MHD_quiesce_daemon' with thread pools and per-connection
- threads (we then need a pipe for shutdown, but if
- 'MHD_quiesce_daemon' is not used, we do not want to
- require the use of a pipe; introducing the pipe after
- the threads have been started can also fail, so the
- application needs to tell us early on). -CG
- Sat Jun 22 20:24:17 CEST 2013
- Removed locking calls for thread modes that do not need them.
- Reorganized way to obtain connection's event loop state.
- Added sorted XDLL for connections with default timeout to
- avoid having to loop over all connections to determine current
- timeout (custom per-connection timeouts are in another list
- which is iterated each time). -CG
- Fri Jun 21 20:55:48 CEST 2013
- Preparing build system and tests for epoll support. -CG
- Tue May 21 14:34:36 CEST 2013
- Improving configure tests for OpenSSL and spdylay to
- avoid build errors in libmicrospdy code if those libraries
- are not present. -CG
- Mon May 20 12:29:35 CEST 2013
- Added MHD_CONNECTION_INFO_CONNECTION_FD to allow clients
- direct access to connection socket; useful for COMET
- applications that need to disable NAGLE (#2886). -CG
- Mon May 15 12:49:01 CEST 2013
- Fixing #2859. -CG
- Sun May 5 21:44:08 CEST 2013
- Merged libmicrospdy code with libmicrohttpd build system
- (no major changes to libmicrospdy itself yet). -CG
- Sun May 5 20:13:59 CEST 2013
- Improved documentation and code style a bit.
- Releasing libmicrohttpd 0.9.27. -CG
- Thu Apr 25 13:08:10 CEST 2013
- Added 'MHD_quiesce_daemon' to allow application to stop
- processing new incoming connections while finishing
- ongoing requests. -CG
- Sun Mar 31 23:17:13 CEST 2013
- Added MHD demonstration code 'src/examples/demo.c'. -CG
- Sun Mar 31 20:27:48 CEST 2013
- Adding new API call 'MHD_run_from_select' to allow programs
- running in 'external select mode' to reduce the number of
- 'select' calls by a factor of two. -CG
- Sun Mar 31 20:03:48 CEST 2013
- Performance improvements, updated documentation.
- Make better use of available memory pool memory for
- reading (especially important for large POST uploads);
- improve post processor speed by internally adjusting the
- buffer size by 4 bytes to ensure "round" IO sizes given
- a "round" post processor buffer size argument. Note
- that applications that previously added 4 bytes to the
- post processor buffer size might now perform worse.
- Using the new 'demo' example, POST upload speed
- increased from ~90 MB/s to ~120 MB/s for a large file
- (note that the improvement comes from better aligned
- disk IO; without disk IO, the speed was (and remains)
- at ~1500 MB/s on this system). -CG
- Fri Mar 29 16:44:29 CET 2013
- Renaming testcases to consistently begin with test_;
- Changing build system to build examples in doc/.
- Releasing libmicrohttpd 0.9.26. -CG
- Thu Mar 7 10:13:08 CET 2013
- Fix bug in postprocessor URL parser (#2818). -jgresula
- Mon Mar 4 13:45:35 CET 2013
- Fix dropping of SSL connections if uptime is less than
- MHD_OPTION_CONNECTION_TIMEOUT due to integer underflow (#2802). -greed
- Fri Mar 1 01:11:57 CET 2013
- Fully initialize cleanup mutex struct for each thread (#2803). -Ulion
- Wed Feb 6 01:51:52 CET 2013
- Releasing libmicrohttpd 0.9.25. -CG
- Fri Feb 1 10:19:44 CET 2013
- Handle case where POST data contains "key=" without value
- at the end and is not new-line terminated by invoking the
- callback with the "key" during MHD_destroy_post_processor (#2733). -CG
- Wed Jan 30 13:09:30 CET 2013
- Adding more 'const' to allow keeping of reason phrases in ROM.
- (see mailinglist). -CG/MV
- Tue Jan 29 21:27:56 CET 2013
- Make code work with PlibC 0.1.7 (which removed plibc_init_utf8).
- Only relevant for W32. Fixes #2734. -CG
- Sat Jan 26 21:26:48 CET 2013
- Fixing regression introduced Jan 6 (test on data_size instead
- of total_size. -CG
- Fri Jan 11 23:21:55 CET 2013
- Also return MHD_YES from MHD_destroy_post_processor if
- we did not get '\r\n' in the upload. -CG
- Sun Jan 6 21:10:13 CET 2013
- Enable use of "MHD_create_response_from_callback" with
- body size of zero. -CG
- Tue Dec 25 16:16:30 CET 2012
- Releasing libmicrohttpd 0.9.24. -CG
- Tue Dec 18 21:18:11 CET 2012
- Given both 'chunked' encoding and 'content-length',
- ignore the 'content-length' header as per RFC. -ES
- Thu Dec 6 10:14:44 CET 2012
- Force adding "Connection: close" header to response if
- client asked for connection to be closed (so far, we
- did close the connection, but did not send the
- "Connection: close" header explicitly, which some clients
- seem to dislike. (See discussion on mailinglist).
- Also, if there is already a transfer-encoding other
- than 'chunked' set by the application, we also now close
- the connection if the response is of unknown size. -CG
- Wed Dec 5 19:22:26 CET 2012
- Fixing parameter loss of POST parameters with IE8 and Chrome
- in the PostProcessor as the code failed to properly handle
- partial data. -MM
- Fri Nov 9 21:36:46 CET 2012
- Releasing libmicrohttpd 0.9.23. -CG
- Thu Nov 8 22:32:59 CET 2012
- Ship our own version of tsearch and friends if not provided by platform,
- so that MHD works nicely on Android. -JJ
- Mon Oct 22 13:05:01 CEST 2012
- Immediately do a second read if we get a full buffer from
- TLS as there might be more data in the TLS buffers even if
- there is no activity on the socket. -CG
- Tue Oct 16 01:33:55 CEST 2012
- Consistently use "#ifdef" and "#ifndef" WINDOWS, and not
- sometimes "#if". -CG
- Sat Sep 1 20:51:21 CEST 2012
- Releasing libmicrohttpd 0.9.22. -CG
- Sat Sep 1 20:38:35 CEST 2012
- Adding configure option to allow selecting support for basic
- and digest authentication separately (#2525). -CG
- Thu Aug 30 21:12:56 CEST 2012
- Fixing URI argument parsing when string contained keys without
- equals sign (i.e. '&bar&') in the middle of the argument (#2531).
- Also replacing 'strstr' with more efficient 'strchr' when
- possible. -CG
- Tue Aug 21 14:36:17 CEST 2012
- Use "int" instead of "enum X" in 'va_arg' calls to be nice to
- compilers that use 'short' (i.e. 8 or 16 bit) enums but pass
- enums still as "int" in varargs. (See discussion on mailinglist). -CG/MV
- Tue Aug 21 14:31:54 CEST 2012
- Reduce default size in post processor buffer (for small systems;
- performance impact on large systems should be minimal). -CG/MV
- Thu Jul 19 21:48:42 CEST 2012
- Releasing libmicrohttpd 0.9.21. -CG
- Thu Jul 19 11:34:50 CEST 2012
- Consistently use 'panic' function instead of ever directly
- calling 'abort ()'. Eliminating unused mutex in SSL mode.
- Removing check in testcases that fails depending on which
- version of gnuTLS is involved. -CG
- Tue Jul 17 23:50:43 CEST 2012
- Stylistic code clean up. Allowing lookup up of trailing values
- without keys using "MHD_lookup_connection_value" with a key of NULL
- (thus achieving consistency with the existing iterator API). -CG
- Tue Jul 17 22:37:05 CEST 2012
- Adding experimental (!) code for MHD operation without listen socket. -CG
- Tue Jul 17 22:15:57 CEST 2012
- Making sendfile test pass again on non-W32 systems. -CG
- Mon Jul 9 13:43:35 CEST 2012
- Misc changes to allow testcases to pass on W32. -LRN
- Sun Jul 8 15:05:31 CEST 2012
- Misc changes to fix build on W32. -LRN
- Fri Jun 22 11:31:25 CEST 2012
- Make sure sockets opened by MHD are non-inheritable by default (#2414). -CG
- Tue Jun 19 19:44:53 CEST 2012
- Change various uses of time(NULL) to new MHD_monotonic_time() function to
- make timeouts immune to the system real time clock changing. -MC
- Tue Jun 12 21:35:00 CEST 2012
- Adding 451 status code. -CG
- Thu May 31 13:33:45 CEST 2012
- Releasing 0.9.20. -CG
- Tue May 29 13:55:03 CEST 2012
- Fixed some testcase build issues with disabled post processor. -CG
- Tue May 29 13:45:15 CEST 2012
- Fixing bug where MHD failed to call connection termination callback
- if a connection either was closed due to read errors or if MHD
- was terminated with certain threading modes. Added new
- termination code MHD_REQUEST_TERMINATED_READ_ERROR for the
- read-termination cause. -CG
- Thu Mar 15 23:47:53 CET 2012
- Eliminating code clone in tls connection read/write handlers. -CG
- Fri Mar 2 23:44:56 CET 2012
- Making sure that MHD_get_connection_values iterates over the
- headers in the order in which they were received. -CG
- Wed Feb 1 09:39:12 CET 2012
- Fixed compilation problem on MinGW. -BS
- Tue Jan 31 17:50:24 CET 2012
- Releasing 0.9.19. -CG
- Mon Jan 30 20:02:34 CET 2012
- Fixed handling of garbage prior to first multipart boundary
- (#2126). -woof
- Fri Jan 27 11:00:43 CET 2012
- Fixed postprocessor failure for applications that enclosed boundary
- in quotes (#2120). -woof
- Tue Jan 24 16:07:53 CET 2012
- Added configure check for sin_len in 'struct sockaddr' and adding
- code to initialize this field if it exists now. -CG
- Mon Jan 23 14:02:26 CET 2012
- Fixed double-free if specified cipher was not valid (during
- MHD_daemon_start). Releasing 0.9.18. -CG
- Thu Jan 19 22:11:12 CET 2012
- Switch to non-blocking sockets for all systems but Cygwin
- (we already used non-blocking sockets for GNU/Linux); also
- use non-blocking sockets on Cygwin for HTTPS as this is
- required to avoid DoS-by-partial-record via gnutls. On
- Cygwin, #1824 implies that we need to use blocking sockets
- for HTTP on Cygwin for now. -CG
- Thu Jan 19 17:46:05 CET 2012
- Fixing use of uninitialized 'earliest_deadline' variable in
- MHD_get_timeout which can lead to returning an incorrect
- (too early) timeout (#2085). -tclaveirole
- Thu Jan 19 13:31:27 CET 2012
- Fixing digest authentication for GET requests with URI arguments
- (#2059). -CG
- Sat Jan 7 17:30:48 CET 2012
- Digest authentication expects nonce count in base 16, not base 10
- (#2061). -tclaveirole
- Thu Jan 5 22:01:37 CET 2012
- Partial fix for #2059, digest authentication with GET arguments. -CG
- Thu Dec 1 15:22:57 CET 2011
- Updated authorization_example.c to actually demonstrate the current
- MHD API. -SG
- Mon Nov 21 18:51:30 CET 2011
- Added option to suppress generation of the 'Date:' header to be
- used on embedded systems without RTC. Documented the new option
- and the configure options. -CG
- Sat Nov 19 20:08:40 CET 2011
- Releasing 0.9.17. -CG
- Fri Nov 18 20:17:22 CET 2011
- Fixing return value of MHD_get_timeout if timeouts are not in use.
- (#1914). -rboulton
- Sun Nov 13 13:34:29 CET 2011
- Trying to fix accidental addition of a "Connection: close" footer
- under certain (rare) circumstances. -CG
- Fri Nov 4 10:03:00 CET 2011
- Small updates to the tutorial.
- Releasing 0.9.16. -CG
- Thu Nov 3 10:14:59 CET 2011
- shutdown(RDWR) fails on OS X after shutdown(RD), so only use
- shutdown(WR) if we already closed the socket for reading (otherwise
- OS X might not do shutdown (WR) at all). -CG
- Tue Nov 1 18:51:50 CET 2011
- Force adding of 'Connection: close' to the header if we (for whatever
- reason) are shutting down the socket for reading (see also
- #1760). -CG
- Thu Oct 27 14:16:34 CEST 2011
- Treat EAGAIN the same way as EINTR (helps on W32). -LRN
- Wed Oct 12 10:40:12 CEST 2011
- Made sockets blocking again for non-Linux platforms as non-blocking
- sockets cause problems (#1824) on Cygwin but offer better performance
- on Linux (see change on August 11 2011). -CG/pross
- Fri Oct 7 19:50:07 CEST 2011
- Fixed problems with testcases on W32. -LRN
- Fri Sep 30 17:56:36 CEST 2011
- Fixed MHD_CONNECTION_OPTION_TIMEOUT for HTTPS (#1811). -CG
- Wed Sep 28 08:37:55 CEST 2011
- Releasing libmicrohttpd 0.9.15. -CG
- Tue Sep 27 13:07:36 CEST 2011
- Added ability to access URL arguments of the form 'url?foo' (without
- '='). Added testcase and updated documentation accordingly. -CG
- Mon Sep 26 21:24:00 CEST 2011
- Only run response cleanup testcase if curl binary was found by
- configure. -CG
- Wed Sep 21 09:53:18 CEST 2011
- Reverting to using pipes for signalling select on non-Linux
- platforms where shutdown-on-listen-sockets does not work. -WB/CG
- Mon Sep 19 14:06:30 CEST 2011
- Fixing problem introduced with prompt response cleanup code. -CG
- Wed Sep 14 13:43:26 CEST 2011
- Fixing minor memory leak if daemon with HTTPS support failed to
- initialize (#1766). -CG
- Tue Sep 13 09:47:58 CEST 2011
- Try to release responses more promptly upon connection termination. -CG
- Mon Sep 12 10:20:28 CEST 2011
- Releasing libmicrohttpd 0.9.14. -CG
- Mon Sep 12 10:05:36 CEST 2011
- Added new function to allow setting of a custom timeout value
- for an individual connection (the MHD_set_connection_option is
- more generic, but this is currently the only use). -CG
- Sat Sep 10 07:30:12 CEST 2011
- Documenting that MHD_CONNECTION_INFO_GNUTLS_CLIENT_CERT is not
- implemented and will not be implemented, and what to use instead. -CG
- Fri Sep 9 13:42:20 CEST 2011
- Added testcase to demonstrate that response cleanup calling is
- working. No bug was found. -CG
- Thu Aug 18 11:05:16 CEST 2011
- Fixed bug with wrong state transition if callback returned
- MHD_CONTENT_READER_END_OF_STREAM causing spurious extra callbacks
- to the handler (thanks to Jan Seeger for pointing it out). -CG/JS
- Thu Aug 11 11:40:03 CEST 2011
- Changing sockets to be non-blocking as suggested by Eivind Sarto
- on the mailinglist. -CG
- Mon Jul 25 16:13:15 CEST 2011
- Added a logo. -CG
- Sat Jul 16 22:42:10 CEST 2011
- Change type of nonce to 'unsigned long int' to match return type
- from 'strtoul'. Fixes ERANGE check which would have previously
- failed. -CG
- Wed Jul 13 09:26:17 CEST 2011
- Fixing HTTP error status strings for certain high-numbered status codes.
- Added support for some more (non-standard) status codes.
- Releasing libmicrohttpd 0.9.13. -CG
- Thu Jul 7 10:24:20 CEST 2011
- Adding performance measurements. -CG
- Thu Jun 23 14:21:13 CEST 2011
- Releasing libmicrohttpd 0.9.12. -CG
- Wed Jun 22 14:32:23 CEST 2011
- Force closing connection if either the client asked it or
- if the response contains 'Connection: close' (so far,
- only the client's request was considered). -CG/RV
- Wed Jun 22 10:37:35 CEST 2011
- Removing listen socket from poll/select sets in
- MHD_USE_THREAD_PER_CONNECTION mode; using 'shutdown'
- on connection sockets to signal termination instead. -CG
- Wed Jun 22 10:25:13 CEST 2011
- Eliminate unnecessary (and badly synchronized) calls to
- MHD_get_timeout in MHD_USE_THREAD_PER_CONNECTION mode.
- Document that this is not acceptable. -CG
- Tue Jun 21 13:54:59 CEST 2011
- Fixing tiny memory leak in SSL code from 'gnutls_priority_init'.
- Fixing data race between code doing connection shutdown and
- connection cleanup.
- Changing code to reduce connection cleanup cost from O(n) to O(1).
- Cleaning up logging code around 'connection_close_error'. -CG
- Sat Jun 11 13:05:12 CEST 2011
- Replacing use of sscanf by strtoul (#1688). -CG/bplant
- Fri Jun 3 15:26:42 CEST 2011
- Adding MHD_CONNECTION_INFO_DAEMON to obtain MHD_Daemon
- responsible for a given connection. -CG
- Wed May 25 14:23:20 CEST 2011
- Trying to fix stutter problem on timeout described by
- David Myers on the mailinglist (5/10/2011). -CG
- Fri May 20 22:11:55 CEST 2011
- Fixed bug in testcase setup code causing crashes in
- tls_session_timeout_test on some systems.
- Releasing libmicrohttpd 0.9.11. -CG
- Fri May 20 19:34:59 CEST 2011
- Fixed bug in parsing multipart/form-data with post processor where
- the code failed to add a 0-terminator in the correct position. -PP
- Thu May 12 14:40:46 CEST 2011
- Fixed bug where if multiple HTTP request messages are piped in at once,
- microhttpd would call the handler with the wrong upload_data_size. -HZM
- Thu May 12 14:40:08 CEST 2011
- Documented possible issue with off_t being sometimes
- 32-bit and sometimes 64-bit depending on #includes. -CG
- Sun May 8 21:52:47 CEST 2011
- Allow MHD_SIZE_UNKNOWN to be used in conjunction with
- MHD_create_response_from_fd (fixing #1679). -TG
- Wed Apr 27 16:11:18 CEST 2011
- Releasing libmicrohttpd 0.9.10. -CG
- Fri Apr 8 11:40:35 CEST 2011
- Workaround for cygwin poll brokenness. -TS
- Sun Apr 3 13:56:52 CEST 2011
- Fixing compile error on OS X. -CG
- Wed Mar 30 12:56:09 CEST 2011
- Initialize tv_usec in MHD_USE_THREAD_PER_CONNECTION with select
- and per-connection timeout. -CG
- Tue Mar 29 14:15:13 CEST 2011
- Releasing libmicrohttpd 0.9.9. -CG
- Tue Mar 29 14:11:19 CEST 2011
- Fixed call to mmap for memory pool, extended testcase to cover
- POLL. -CG
- Wed Mar 23 23:24:25 CET 2011
- Do not use POLLIN when we only care about POLLHUP (significantly
- improves performance when using MHD_USE_THREAD_PER_CONNECTION
- in combination with MHD_USE_POLL). -ES
- Sun Mar 20 09:16:53 CET 2011
- Fixing race when using MHD_USE_THREAD_PER_CONNECTION in combination
- with MHD_USE_POLL. -CG
- Fri Mar 18 13:23:47 CET 2011
- Removing MSG_DONTWAIT which should not be needed and was presumably
- causing problems with EAGAIN under certain circumstances. -ES
- Fri Mar 11 22:25:29 CET 2011
- Fixing bug in MHD_create_response_from_fd_at_offset with non-zero offsets. -ES
- Sat Mar 5 22:00:36 CET 2011
- Do not use POLLRDHUP, which causes build errors on OS X / OpenSolaris
- (#1667). -CG
- Fri Mar 4 10:24:04 CET 2011
- Added new API to allow MHD server to initiate connection to
- client (special use-case for servers behind NAT), thereby
- addressing #1661 (externally created connections).
- Releasing libmicrohttpd 0.9.8. -CG
- Fri Mar 4 10:07:18 CET 2011
- Avoid using a pipe for signalling as well, just use server
- socket shutdown (also for thread-per-connection). -CG
- Thu Mar 3 21:42:47 CET 2011
- Fixing issue where Base64 decode fails when char is defined
- as unsigned char (Mantis 1666). -CG/tmayer
- Tue Mar 1 13:58:04 CET 2011
- Allow use of 'poll' in combination with the external select mode.
- Avoid using pthread signals (SIGALRM), use pipe instead.
- Corrected timeout calculation (s vs. ms). -CG
- Wed Feb 23 14:21:44 CET 2011
- Removing useless code pointed out by Eivind Sarto. -CG
- Fri Feb 18 11:03:59 CET 2011
- Handle large (>2 GB) file transfers with sendfile on 32-bit
- systems better; handle odd sendfile failures by libc/kernel
- by falling back to standard 'SEND'. -CG
- Sun Feb 13 10:52:29 CET 2011
- Handle gnutls receive error(s) for interrupted SSL
- connections better. -MS
- Releasing libmicrohttpd 0.9.7. -CG
- Fri Feb 11 10:15:38 CET 2011
- Fixing parameter ordering in documentation (#1659). -wellska
- Thu Jan 27 10:51:39 CET 2011
- Disable 'EXTRA_CHECKS's by default as suggested in #1652
- (I guess it is time). -CG/timn
- Thu Jan 27 10:48:55 CET 2011
- Removing bogus assertion in basic authentication code (#1651). -CG/timn
- Tue Jan 25 14:10:45 CET 2011
- Releasing libmicrohttpd 0.9.6. -CG
- Mon Jan 24 16:36:35 CET 2011
- Fixing compilation error if DAUTH_SUPPORT was 0 (#1646). -CG/bplant
- Tue Jan 18 23:58:09 CET 2011
- Fixing hash calculation in digest auth; old function had
- collisions causing the browser to challenge users for
- authentication too often. -CG/AW
- Fri Jan 14 19:19:45 CET 2011
- Removing dead code, adding missing new symbols to export list.
- Fixed two missing NULL checks after malloc operations. -CG
- Mon Jan 10 14:07:33 CET 2011
- Releasing libmicrohttpd 0.9.5. -CG
- Wed Jan 5 15:20:11 CET 2011
- Fixing double-locking on non-Linux platforms when using
- MHD_create_response_from_fd (#1639). -CG
- Avoid use of strndup for better portability (#1636). -CG
- Tue Jan 4 13:07:21 CET 2011
- Added MHD_create_response_from_buffer, deprecating
- MHD_create_response_from_data. Deprecating
- MHD_create_response_from_fd as well. -CG
- Sun Dec 26 00:02:15 CET 2010
- Releasing libmicrohttpd 0.9.4. -CG
- Sat Dec 25 21:57:14 CET 2010
- Adding support for basic authentication.
- Documented how to obtain client SSL certificates in tutorial. -MS
- Thu Dec 23 15:40:36 CET 2010
- Increasing nonce length to 128 to support digest authentication
- with Opera (see #1633).
- Mon Dec 20 21:22:57 CET 2010
- Added macro MHD_LONG_LONG to allow change of MHD's "long long" use
- to some other type on platforms that do not support "long long"
- (Mantis #1631). -CG/bplant
- Sun Dec 19 19:54:15 CET 2010
- Added 'MHD_create_response_from_fd_at_offset'. -CG
- Sun Dec 19 15:16:16 CET 2010
- Fixing --enable and --disable configure options to behave properly. -CG
- Sun Dec 19 13:46:52 CET 2010
- Added option to specify size of stacks for threads created by MHD. -CG
- Tue Nov 23 09:41:00 CET 2010
- Releasing libmicrohttpd 0.9.3. -CG
- Thu Nov 18 23:10:36 CET 2010
- Fixing #1619 (testcases not working with NSS on Fedora). -CG/timn
- Thu Nov 18 22:55:58 CET 2010
- Fixing #1621 (socket not closed under certain circumstances). -CG/jaredc
- Wed Nov 17 12:16:53 CET 2010
- Allowing signalling of errors in generating chunked responses to
- clients (by closing connectins) using the new
- MHD_CONTENT_READER_END_WITH_ERROR ((size_t)-2) return value. Also
- introducing MHD_CONTENT_READER_END_OF_STREAM constant instead
- of (size_t) -1 / SIZE_MAX.
- Sun Nov 14 20:45:45 CET 2010
- Adding API call to generate HTTP footers in response. -CG
- Sat Oct 16 12:38:43 CEST 2010
- Releasing libmicrohttpd 0.9.2. -CG
- Tue Oct 12 15:41:51 CEST 2010
- Fixed issue with data received via SSL being delayed in the
- GNUtls buffer if sender stopped transmitting (but did not close
- the connection) and MHD buffer size was smaller than last fragment,
- resulting in possibly significantly delayed processing of
- incoming data. -CG
- Wed Sep 22 09:48:59 CEST 2010
- Changed port argument from 'unsigned short' to 'uint16_t'.
- Removed dead code when compiling with messages enabled.
- Minimal unrelated code cleanup. -CG
- Tue Sep 21 15:12:41 CEST 2010
- Use "size_t" for buffer size instead of "int". -CG
- Sat Sep 18 07:16:30 CEST 2010
- Adding support for SHOUTcast. -CG
- Wed Sep 15 09:33:46 CEST 2010
- Fixed double-free. -CG/ES
- Fri Sep 10 14:47:11 CEST 2010
- Releasing libmicrohttpd 0.9.1. -CG
- Fri Sep 10 14:29:37 CEST 2010
- Adding proper nonce counter checking for digest authentication. -CG/AA
- Sat Sep 4 21:55:52 CEST 2010
- Digest authentication now seems to be working. -CG/AA
- Wed Sep 1 13:59:16 CEST 2010
- Added ability to specify external unescape function.
- "microhttpd.h" now includes the right headers for GNU/Linux
- systems unless MHD_PLATFORM_H is defined (in which case it
- is assumed that the right headers were already determined by
- some configure-like process). -CG
- Tue Aug 31 15:39:25 CEST 2010
- Fixed bug with missing call to response cleanup in case of
- connection handling error (for example, after getting a SIGPIPE). -CG
- Tue Aug 24 11:39:25 CEST 2010
- Fixed bug in handling EAGAIN from GnuTLS (caused
- needlessly dropped SSL connections). -CG
- Sun Aug 22 16:49:13 CEST 2010
- Initial draft for digest authentication. -AA
- Thu Aug 19 14:15:01 CEST 2010
- Changed code to enable error messages and HTTPS by default;
- added option to disable post processor API (use
- breaks binary compatibility, should only be done
- for embedded systems that require minimal footprint). -CG
- Thu Aug 19 13:26:00 CEST 2010
- Patches for Windows to ease compilation trouble. -GT/CG
- Sat Aug 14 15:43:30 CEST 2010
- Fixed small, largely hypothetical leaks.
- Reduced calls to strlen for header processing. -CG
- Fri Aug 6 12:51:59 CEST 2010
- Fixing (small) memory leak on daemon-shutdown with
- SSL enabled. -CG/PG
- Thu Aug 5 22:24:37 CEST 2010
- Fixing timeout bug on systems that think it's still
- 1970 (can happen if system time not initialized). -CG
- Mon Jul 26 10:46:57 CEST 2010
- Releasing libmicrohttpd 0.9.0. -CG
- Sun Jul 25 14:57:47 CEST 2010
- Adding support for sendfile on Linux. Adding support
- for systemd-style passing of an existing listen socket
- as an option. IPv6 sockets now only bind to IPv6
- (if platform supports this). -CG
- Sun Jul 25 11:10:45 CEST 2010
- Changed code to use external libgnutls code instead of
- the "fork". Minor API changes for setting TLS options. -CG
- Sun Jun 13 10:52:34 CEST 2010
- Cleaned up example code. -CG
- Fri Apr 23 09:56:37 CEST 2010
- Do not return HTTP headers for requests without version
- numbers. Do return HTTP version 1.0 if client requested
- HTTP version 1.1 (previously, we returned HTTP/1.1 even
- if the client specified HTTP/1.0). -GM/CG
- Sat Mar 13 09:41:01 CET 2010
- Releasing libmicrohttpd 0.4.6. -CG
- Wed Mar 10 13:18:26 CET 2010
- Fixing bug in 100 CONTINUE replacement when handling POSTs
- (see report on mailinglist), with testcase. -CG/MC
- Tue Feb 23 09:16:15 CET 2010
- Added configure check for endianness to define WORDS_BIGENDIAN
- which fixes SSL support on big endian architectures. -JA/CG
- Sat Feb 20 10:01:09 CET 2010
- Added check for inconsistent options (MHD_OPTION_PROTOCOL_VERSION
- without MHD_USE_SSL) causing instant segfault. -JA/CG
- Tue Feb 9 20:31:51 CET 2010
- Fixed issue with poll doing busy waiting. -BK/CG
- Thu Jan 28 21:28:56 CET 2010
- Releasing libmicrohttpd 0.4.5. -CG
- Thu Jan 28 20:35:48 CET 2010
- Make sure addresses returned by memory pool are
- aligned (fixes bus errors on Sparc). -CG
- Thu Dec 17 20:26:52 CET 2009
- poll.h is not strictly required anymore. -ND
- Fri Dec 4 13:17:50 CET 2009
- Adding MHD_OPTION_ARRAY. -CG
- Mon Nov 16 14:41:26 CET 2009
- Fixed busy-loop in internal select mode for inactive
- clients with infinite connection timeout. -CG
- Thu Nov 12 16:19:14 CET 2009
- Adding support for setting a custom error handler for
- fatal errors (previously, the implementation always
- called 'abort' in these cases). -CG/ND
- Wed Nov 11 12:54:16 CET 2009
- Adding support for poll (alternative to select allowing
- for more than FD_SETSIZE parallel connections). -JM
- Wed Oct 28 20:26:00 CET 2009
- Releasing libmicrohttpd 0.4.4. -CG
- Wed Oct 14 14:37:37 CEST 2009
- Fixing (rare) deadlock due to SELECT missing SIGALRM by
- making all SELECT calls block for at most 1s. While this
- can in (rare) situations delay the shutdown by 1s, I think
- this is preferable (both performance and possibly portability-wise)
- over using a pipe for the signal. -CG
- Sun Oct 11 14:57:29 CEST 2009
- Adding eCos license as an additional license for the
- non-HTTPS code of MHD. -CG
- Sun Oct 11 11:24:27 CEST 2009
- Adding support for Symbian. -MR
- Fri Oct 9 15:21:29 CEST 2009
- Check for error codes from pthread operations (to help with
- error diagnostics) and abort if something went wrong. -CG
- Thu Oct 8 10:43:02 CEST 2009
- Added check for sockets being '< FD_SETSIZE' (just to be safe). -CG
- Mon Oct 5 21:17:26 CEST 2009
- Adding "COOKIE" header string #defines. -CG
- Mon Oct 5 08:29:06 CEST 2009
- Documenting default values. -CG
- Fri Aug 28 22:56:47 CEST 2009
- Releasing libmicrohttpd 0.4.3. -CG
- Sun Aug 23 16:21:35 UTC 2009
- Allow MHD_get_daemon_info to return the daemon's listen socket.
- Includes a test case that uses this functionality to bind a server to
- an OS-assigned port, look the port up with getsockname, and curl it. -DR
- Tue Aug 4 00:14:04 CEST 2009
- Fixing double-call to read from content-reader callback for first
- data segment (as reported by Alex on the mailinglist). -CG
- Thu Jul 29 21:41:52 CEST 2009
- Fixed issue with the code not using the "block_size" argument
- given to MHD_create_response_from_callback causing inefficiencies
- for values < 2048 and segmentation faults for values > 2048
- (as reported by Andre Colomb on the mailinglist). -CG
- Sun May 17 03:29:46 MDT 2009
- Releasing libmicrohttpd 0.4.2. -CG
- Fri May 15 11:00:20 MDT 2009
- Grow reserved read buffer more aggressively so that we are not
- needlessly stuck reading only a handful of bytes in each iteration. -CG
- Thu May 14 21:20:30 MDT 2009
- Fixed issue where the "NOTIFY_COMPLETED" handler could be called
- twice (if a socket error or timeout occurred for a pipelined
- connection after successfully completing a request and before
- the next request was successfully transmitted). This could
- confuse applications not expecting to see a connection "complete"
- that they were never aware of in the first place. -CG
- Mon May 11 13:01:16 MDT 2009
- Fixed issue where error code on timeout was "TERMINATED_WITH_ERROR"
- instead of "TERMINATED_TIMEOUT_REACHED". -CG
- Wed Apr 1 21:33:05 CEST 2009
- Added MHD_get_version(). -ND
- Wed Mar 18 22:59:07 MDT 2009
- Releasing libmicrohttpd 0.4.1. -CG
- Wed Mar 18 17:46:58 MDT 2009
- Always RECV/SEND with MSG_DONTWAIT to (possibly) address
- strange deadlock reported by Erik on the mailinglist ---
- and/or issues with blocking read after select on GNU/Linux
- (see select man page under bugs). -CG
- Tue Mar 17 01:19:50 MDT 2009
- Added support for thread-pools. -CG/RA
- Mon Mar 2 23:44:08 MST 2009
- Fixed problem with 64-bit upload and download sizes and
- "-1" being used to indicate "unknown" by introducing
- new 64-bit constant "MHD_SIZE_UNKNOWN". -CG/DC
- Wed Feb 18 08:13:56 MST 2009
- Added missing #include for build on arm-linux-uclibc. -CG/CC
- Mon Feb 16 21:12:21 MST 2009
- Moved MHD_get_connection_info so that it is always defined,
- even if HTTPS support is not enabled. -CG
- Sun Feb 8 21:15:30 MST 2009
- Releasing libmicrohttpd 0.4.0. -CG
- Thu Feb 5 22:43:45 MST 2009
- Incompatible API change to allow 64-bit uploads and downloads.
- Clients must use "uint64_t" for the "pos"
- argument (MHD_ContentReaderCallback) and the "off"
- argument (MHD_PostDataIterator) and the "size"
- argument (MHD_create_response_from_callback) now.
- Also, "unsigned int" was changed to "size_t" for
- the "upload_data_size" argument (MHD_AccessHandlerCallback),
- the argument to MHD_OPTION_CONNECTION_MEMORY_LIMIT,
- the "block_size" argument (MHD_create_response_from_callback),
- the "buffer_size" argument (MHD_create_post_processor) and
- the "post_data_len" argument (MHD_post_process). You may
- need to #include <stdint.h> before <microhttpd.h> from now on. -CG
- Thu Feb 5 20:21:08 MST 2009
- Allow getting address information about the connecting
- client after the accept call. -CG
- Mon Feb 2 22:21:48 MST 2009
- Fixed missing size adjustment for offsets for %-encoded
- arguments processed by the post processor (Mantis #1447). -CG/SN
- Fri Jan 23 16:57:21 MST 2009
- Support charset specification (ignore) after content-type
- when post-processing HTTP POST requests (Mantis #1443). -CG/SN
- Fri Dec 26 23:08:04 MST 2008
- Fixed broken check for identical connection address. -CG
- Making cookie parser more RFC2109 compliant (handle
- spaces around key, allow value to be optional). -CG
- Sat Dec 6 18:36:17 MST 2008
- Added configure option to disable checking for CURL support.
- Added MHD_OPTION to allow specification of custom logger. -CG
- Tue Nov 18 01:19:53 MST 2008
- Removed support for untested and/or broken SSL features
- and (largely useless) options. -CG
- Sun Nov 16 16:54:54 MST 2008
- Added option to get unparsed URI via callback.
- Releasing GNU libmicrohttpd 0.4.0pre1. -CG
- Sun Nov 16 02:48:14 MST 2008
- Removed tons of dead code. -CG
- Sat Nov 15 17:34:24 MST 2008
- Added build support for code coverage analysis. -CG
- Sat Nov 15 00:31:33 MST 2008
- Removing (broken) support for HTTPS servers with
- anonymous (aka "no") certificates as well as
- various useless dead code. -CG
- Sat Nov 8 02:18:42 MST 2008
- Unset TCP_CORK at the end of transmitting a response
- to improve performance (on systems where this is
- supported). -MM
- Tue Sep 30 16:48:08 MDT 2008
- Make MHD useful to Cygwin users; detect IPv6 headers
- in configure.
- Sun Sep 28 14:57:46 MDT 2008
- Unescape URIs (convert "%ef%e4%45" to "$BCf9q(B"). -CG
- Wed Sep 10 22:43:59 MDT 2008
- Releasing GNU libmicrohttpd 0.4.0pre0. -CG
- Wed Sep 10 21:36:06 MDT 2008
- Fixed data race on closing sockets during
- shutdown (in one-thread-per-connection mode). -CG
- Thu Sep 4 23:37:18 MDT 2008
- Fixed some boundary issues with processing
- chunked requests; removed memmove from a
- number of spots, in favor of using an index into
- the current buffer instead. -GS
- Sun Aug 24 13:05:41 MDT 2008
- Now handling clients returning 0 from response callback
- as specified in the documentation (abort if internal
- select is used, retry immediately if a thread per
- connection is used). -CG
- Sun Aug 24 12:44:43 MDT 2008
- Added missing reason phrase. -SG
- Sun Aug 24 10:33:22 MDT 2008
- Fixed bug where MHD failed to transmit the response when
- the client decided not to send "100 CONTINUE" during
- a PUT/POST request. -CG
- Wed Jul 16 18:54:03 MDT 2008
- Fixed bug generating chunked responses with chunk sizes
- greater than 0xFFFFFF (would cause protocol violations). -CG
- Mon May 26 13:28:57 MDT 2008
- Updated and improved documentation.
- Releasing GNU libmicrohttpd 0.3.1. -CG
- Fri May 23 16:54:41 MDT 2008
- Fixed issue with postprocessor not handling URI-encoded
- values of more than 1024 bytes correctly. -CG
- Mon May 5 09:18:29 MDT 2008
- Fixed date header (was off by 1900 years). -JP
- Sun Apr 13 01:06:20 MDT 2008
- Releasing GNU libmicrohttpd 0.3.0. -CG
- Sat Apr 12 21:34:26 MDT 2008
- Generate an internal server error if the programmer fails
- to handle upload data correctly. Tweaked testcases to
- avoid running into the problem in the testcases.
- Completed zzuf-based fuzzing testcases. -CG
- Sat Apr 12 15:14:05 MDT 2008
- Restructured the code (curl-testcases and zzuf testcases
- are now in different directories; code examples are in
- src/examples/).
- Fixed a problem (introduced in 0.2.3) with handling very
- large requests (the code did not return proper error code).
- If "--enable-messages" is specified, the code now includes
- reasonable default HTML webpages for various built-in
- errors (such as request too large and malformed requests).
- Without that flag, the webpages returned will still be
- empty.
- Started to add zzuf-based fuzzing-testcases (these require
- the zzuf and socat binaries to be installed). -CG
- Fri Apr 11 20:20:34 MDT 2008
- I hereby dub libmicrohttpd a GNU package. -Richard Stallman
- Sat Mar 29 22:36:09 MDT 2008
- Fixed bugs in handling of malformed HTTP requests
- (causing either NULL dereferences or connections to
- persist until time-out, if any). -CG
- Updated and integrated TexInfo documentation. -CG
- Tue Mar 25 13:40:53 MDT 2008
- Prevent multi-part post-processor from going to error
- state when the input buffer is full and current token
- just changes processor state without consuming any data.
- Also, the original implementation would not consume any
- input in process_value_to_boundary if there is no new
- line character in sight. -AS
- Remove checks for request method after it finished writing
- response footers as it's only _pipelined_ requests that
- should not be allowed after POST or PUT requests. Reusing
- the existing connection is perfectly ok though. And there
- is no reliable way to detect pipelining on server side
- anyway so it is the client's responsibility to not send new
- data before it gets a response after a POST operation. -AS
- Clarified license in man page. Releasing
- libmicrohttpd 0.2.3 -CG
- Sat Mar 22 01:12:38 MDT 2008
- Releasing libmicrohttpd 0.2.2. -CG
- Mon Feb 25 19:13:53 MST 2008
- Fixed a problem with sockets closed for reading ending up
- in the read set under certain circumstances. -CG
- Wed Jan 30 23:15:44 MST 2008
- Added support for nested multiparts to post processor.
- Made sure that MHD does not allow pipelining for methods
- other than HEAD and GET (and of course still also only
- allows it for http 1.1). Releasing libmicrohttpd 0.2.1. -CG
- Mon Jan 21 11:59:46 MST 2008
- Added option to limit number of concurrent connections
- accepted from the same IP address. -CG
- Fri Jan 4 16:02:08 MST 2008
- Fix to properly close connection if application signals
- problem handling the request. - AS
- Wed Jan 2 16:41:05 MST 2008
- Improvements and bugfixes to post processor implementation. - AS
- Wed Dec 19 21:12:04 MST 2007
- Implemented chunked (HTTP 1.1) downloads (including
- sending of HTTP footers). Also allowed queuing of
- a response early to suppress the otherwise automatic
- "100 CONTINUE" response. Removed the mostly useless
- "(un)register handler" methods from the API. Changed
- the internal implementation to use a finite state
- machine (cleaner code, slightly less memory consumption).
- Releasing libmicrohttpd 0.2.0. - CG
- Sun Dec 16 03:24:13 MST 2007
- Implemented handling of chunked (HTTP 1.1) uploads.
- Note that the upload callback must be able to
- process chunks in the size uploaded by the client,
- MHD will not "join" small chunks into a big
- contiguous block of memory (even if buffer space
- would be available). - CG
- Wed Dec 5 21:39:35 MST 2007
- Fixed race in multi-threaded server mode.
- Fixed handling of POST data when receiving a
- "Connection: close" header (#1296).
- Releasing libmicrohttpd 0.1.2. - CG
- Sat Nov 17 00:55:24 MST 2007
- Fixed off-by-one in error message string matching.
- Added code to avoid generating SIGPIPE on platforms
- where this is possible (everywhere else, the main
- application should install a handler for SIGPIPE).
- Thu Oct 11 11:02:06 MDT 2007
- Releasing libmicrohttpd 0.1.1. - CG
- Thu Oct 11 10:09:12 MDT 2007
- Fixing response to include HTTP status message. - EG
- Thu Sep 27 10:19:46 MDT 2007
- Fixing parsing of "%xx" in URLs with GET arguments. - eglaysher
- Sun Sep 9 14:32:23 MDT 2007
- Added option to compile debug/warning messages;
- error messages are now disabled by default.
- Modified linker option for GNU LD to not export
- non-public symbols (further reduces binary size).
- Releasing libmicrohttpd 0.1.0. - CG
- Sat Sep 8 21:54:04 MDT 2007
- Extended API to allow for incremental POST
- processing. The new API is binary-compatible
- as long as the app does not handle POSTs, but
- since that maybe the case, we're strictly speaking
- breaking backwards compatibility (since url-encoded
- POST data is no longer obtained the same way). - CG
- Thu Aug 30 00:59:24 MDT 2007
- Improving API to allow clients to associate state
- with a connection and to be notified about request
- termination (this is a binary-compatible change). - CG
- Fixed compile errors under OS X. - HL
- Sun Aug 26 03:11:46 MDT 2007
- Added MHD_USE_PEDANTIC_CHECKS option which enforces
- receiving a "Host:" header in HTTP 1.1 (and sends a
- HTTP 400 status back if this is violated). - CG
- Tue Aug 21 01:01:46 MDT 2007
- Fixing assertion failure that occurred when a client
- closed the connection after sending some data but
- not the full headers. - CG
- Sat Aug 18 03:06:09 MDT 2007
- Check for out of memory when adding headers to
- responses. Check for NULL key when looking
- for headers. If a content reader callback
- for a response returns zero (has no data yet),
- do not possibly fall into busy waiting when
- using external select (with internal selects
- we have no choice). - CG
- Wed Aug 15 01:46:44 MDT 2007
- Extending API to allow timeout of connections.
- Changed API (MHD_create_response_from_callback) to
- allow user to specify IO buffer size.
- Improved error handling.
- Released libmicrohttpd 0.0.3. - CG
- Tue Aug 14 19:45:49 MDT 2007
- Changed license to LGPL (with consent from all contributors).
- Released libmicrohttpd 0.0.2. - CG
- Sun Aug 12 00:09:26 MDT 2007
- Released libmicrohttpd 0.0.1. - CG
- Fri Aug 10 17:31:23 MDT 2007
- Fixed problems with handling of responses created from
- callbacks. Allowing accept policy callback to be NULL
- (to accept from all). Added minimal fileserver example.
- Only send 100 continue header when specifically requested. - CG
- Wed Aug 8 01:46:06 MDT 2007
- Added pool allocation and connection limitations (total
- number and memory size). Released libmicrohttpd 0.0.0. - CG
- Tue Jan 9 20:52:48 MST 2007
- Created project build files and updated API. - CG
|