2021-12-19 silvioprog Bump v3.4.0 Upgraded third party libraries Added new function "sg_httpsrv_tls_listen3()" 2021-10-24 silvioprog Bump v3.3.4 Fixed data corruption for long field values. (Fix #52) Replaces Travis-CI by GitHub workflows. (Fix #37) Upgraded PCRE library. 2021-05-27 silvioprog Added example for how to get HTML form fields. (Fix #51) 2021-04-26 silvioprog Bump v3.3.3 Updated Doxygen file. Upgraded MHD library. 2021-04-25 silvioprog Added donors file with first donor (Thank you Waldir Paim! :-)). Updated README file. 2021-03-19 silvioprog Bump v3.3.2 2021-03-17 silvioprog Fixed build and tests on Windows. 2021-03-16 silvioprog Used Unicode functions when opening files for downloading. (Fix #50) 2021-03-03 silvioprog Bump v3.3.1 Upgraded uthash libraries. 2021-01-26 silvioprog Bump v3.3.0 Added function new function "sg_httpres_reset()". 2021-01-25 silvioprog Fixed routing if JIT is disabled. 2021-01-17 silvioprog Bump v3.2.2 Declared macro "SG_EXTERN" accidentally missing in function "sg_httpres_is_empty()". 2021-01-12 silvioprog Upgraded the library version. Fixed LGTM alerts. 2021-01-02 silvioprog Bump v3.2.0 Fixed broken test for expr feature. Fixed PVS-Studio warnings. 2020-12-30 silvioprog Upgraded the third party libraries. 2020-10-01 silvioprog Upgraded the travis-ci file. Added function new function "sg_httpres_is_empty()". 2020-07-21 silvioprog Fixed warnings in PCRE2 build. 2020-07-20 silvioprog Bump v3.1.3 Added missing documentation. Upgraded MHD and PCRE2 libraries. 2020-07-19 silvioprog Fixed spelling mistakes. 2020-07-14 silvioprog Allowed to specify the HTTP status code in functions "sg_httpres_zdownload()" and "sg_httpres_zrender()". Allowed to specify the HTTP status code in functions "sg_httpres_download()" and "sg_httpres_render()". 2020-06-10 silvioprog Bump v3.1.0 2020-06-08 silvioprog Merged version v3.1.0. 2020-05-01 silvioprog Bump v3.0.0 Fixed broken example in documentation. Fixed tests on Android and Raspbian. 2020-04-30 silvioprog Merged version v3.0.0. 2020-03-19 silvioprog Bump v2.5.5 Fixed possible memory leak in the upload module. 2020-03-12 silvioprog Removed experimental feature "sg_httpsrv_process()". (issue #9) Added experimental feature "sg_httpsrv_process()". Moved the error handling logic to the server. Bump v2.5.4 2020-03-11 silvioprog Forced the clients to leave from the server when it is shutting down. Removed the PDF generation for the library API reference. Upgraded PCRE library. Added markdown rules. Upgraded MHD and uthash libraries. 2020-03-09 silvioprog Limited the shutdown time out based on the maximum connection time out of the clients. 2019-12-10 silvioprog Bump v2.5.2 2019-12-04 silvioprog Applied EditorConfig lint. Updated INSTALL.md file. (Fix #39) 2019-12-03 silvioprog Fixed sg_ip() allowing to retrieve IPv4 mapped in IPv6. Silenced errors "Application reported internal error, closing connection". Implemented client events. 2019-11-25 silvioprog Adopted new Code Style for CMake files. 2019-11-18 silvioprog Published the official Docker image. (Fix #38) 2019-11-17 silvioprog Bump v2.4.7 Added EditorConfig configuration. 2019-11-16 silvioprog Adopted new Code Style based on LLVM. (Fix #33) 2019-11-15 silvioprog All sources of Sagui library are already under LGPL-2.1. Removed debug symbols from binaries when making package. (Fix #36) Fixed build on MinGW if TLS is enabled. (Fix #34) Fixed build on MinGW. Fixed build on Alpine Linux. Upgraded PCRE library. Upgraded MHD library. Upgraded utstring library. Improved HTTP examples allowing to specify the server port at run time. 2019-09-17 silvioprog Added GitHub templates to guide users with new issues. 2019-08-09 silvioprog Fixed broken compilation for AArch64. 2019-08-05 silvioprog Fixed build for Win32/64 under Linux. (Fix #35) 2019-07-26 silvioprog Fixed build on Fedora/Debian and added new member (welcome @frbaroni!). (Fix #32) 2019-07-06 silvioprog Fixed wrong error code returned by "sg_extract_entrypoint()". 2019-06-29 silvioprog Fixed LGTM alert "Multiplication result converted to larger type". (Fix #31) 2019-06-04 silvioprog Fixed broken build when the routing/compression is disabled. 2019-05-20 silvioprog Reverted "wait for clients" logic due to locking when the server is shutting down on Windows. 2019-05-19 silvioprog Improved logic which waits for the clients before server is shutting down. 2019-05-18 silvioprog Configured the server to wait for the clients to be closed before shutting down. (Fix #30) 2019-05-02 silvioprog Fixed typos in the documentation. 2019-04-30 silvioprog Initialized the Gzip header to avoid undefined behavior when a client decompresses the content. (Fix #28) 2019-04-22 silvioprog Bump v2.4.0 Mapped the zlib allocator to use the Sagui MM. 2019-04-21 silvioprog Changed the uthash allocator to use the Sagui MM. Fixed broken test reported by travis. Fixed the memory manager tests. Fixed the building for static library and updated the documentation. 2019-04-20 silvioprog Added tests/docs regarding the memory manager feature. Featured an experimental tiny memory manager. (Fix #22) Fixed build using mingw on Windows. 2019-04-18 silvioprog Improved the toolchain script for mingw to make it easy to build the library through all supported Linux distributions. 2019-04-17 silvioprog Generates shared library and sets release mode as default build. (Fix #23) Fixed wrong logic which allows BUILD_TESTING only in debug mode. Added cmake script which configures the toolchain on Linux. Disabled BUILD_TESTING if build type is not DEBUG. 2019-04-16 silvioprog Fixed cross-build for Windows on openSUSE 64 bits. Added cmake script which configures the toolchain on openSUSE. Added more tests and documentation for the functions "sg_httpreq_client()" and "sg_ip()". Fixed broken test on travis continuous integration. Fixed typo in test case. Returned a constant instance in function "sg_httpreq_client()" and added basic tests. 2019-04-15 silvioprog Fixed PVS-Studio issues. Fixed build for Android. Added new experimental function "sg_ip()" using glibc (inet_ntop) and removed "sg_ntop4()". 2019-04-12 silvioprog Avoided buffer overflow in the experimental function "sg_ntop4()". Improved the function "sg_ntop()" to make its interface easy for the end-user. 2019-04-11 silvioprog Fixed build on mingw (Linux) when libcurl is not available. Added experimental function "sg_ntop4()". (#26) Replaced experimental function "sg_httpreq_ip()" by "sg_httpreq_client()" in order to return the client address information. (#26) 2019-04-08 silvioprog Passed the buffer length as value instead of reference in the function "sg_httpreq_ip()". Added experimental function "sg_httpreq_ip()". Bump v2.3.0 Added new function which allow to pass a custom status code when denying an authentication. 2019-04-07 silvioprog Used MHD macros to pass 500 statuses internally. Fixed all tests on Linux (gcc 8.3.1/clang 7.0.1). Fixed broken links in the README file. Renamed parameter name from "justification" to "reason" in the sg_httpauth_deny() function. 2019-04-06 silvioprog Added cmake variable SG_LIB_SUFFIX to detect the library suffix on x86_64 systems. 2019-04-05 silvioprog Spelling fixes. 2019-03-24 silvioprog Docs upgrade. 2019-03-10 silvioprog Moved all documentation into its own directory. 2019-03-06 silvioprog Used best compression for static contents. 2019-03-01 silvioprog Bump v2.2.0 Fixed test to build on Raspbian. Added tests for the internal functions of the HTTP compression feature. 2019-02-27 silvioprog Spelling fixes in the README file. Added convenience macros sg_httpres_zdownload() and sg_httpres_zrender(). Added both online tests and a README entry for the HTTP compression feature. Added reference and tests for the functions of the HTTP compression feature. 2019-02-26 silvioprog Fixed wrong types size_t by uint64_t in the stream size declarations. Resolved off_t/lseek() in all supported platforms. (Fix #20) Reused the same internal deflate function of the Gzip in the deflate compression reducing the final binary size. 2019-02-25 silvioprog Allowed the user to specify the size of a stream or file in the HTTP compression functions. (Fix #18) Simplified the logic of the Gzip streaming. Fixed wrong offset value in the Gzip streaming for the HTTP compression. Fixed double free in the internal function sg__gzdeflate(). Fixed HTTP compression allowing to send large files (10 GB or above) in Gzip file format. (Fix #17) 2019-02-23 silvioprog Overloaded the sg_httpres_z* functions allowing to specify the compression level. Added new experimental internal function fixing the gzip compression. (Fix #16) 2019-02-22 silvioprog Refactored the internal compression functions. 2019-02-21 silvioprog Added new private function to reuse the internal logic of the sendfile() feature. Compressed the sent file in the Gzip file format. Improved the API by adding new functions which allows to omit the content disposition in the file sending. 2019-02-20 silvioprog Declared the macros sg_httpres_download()/sg_httpres_render() as functions and improved the function sg_httpres_sendfile(). 2019-02-19 silvioprog Upgraded the library version. Removed the Gzip header from all functions sg_httpres_z*(). Increased the performance of the sg_httpres_zsendstream() by reusing an internal buffer and removing a useless one. 2019-02-18 silvioprog Added experimental function sg_httpres_zsendfile() which compress and sends a response file. Fixed response to avoid memory leaks and sigsegvs. 2019-02-13 silvioprog Bump v2.0.0 Upgraded the subtitle in the header of all files. Added a cascading style sheets file for better a highlight in the inline code-blocks. Fixed PVS-Studio analysis. Finished the implementation of the function sg_httpres_zsendstream(). 2019-02-11 silvioprog Linked the correct static zlib library on Windows. Removes useless status argument from the macros download()/render(). Fixed build failure on Windows. Upgrades all Sagui dependencies. Improved the performance of the sg_httpres_zsendstream(). Allows to send compress and send big streams using the deflate algorithm. (Fix #15) 2019-02-10 silvioprog Simplified the sg_httpres_zsendbinary() and solved double free on its internal buffer. 2019-02-09 silvioprog Changed the response allowing to pass NULL in the content-type parameter. 2019-02-08 silvioprog Allowed to compress files bigger than 32 kilobyte, but it still not supporting files bigger than 1 megabyte. (#15) Use a faster compression logic in the response streaming. 2019-02-06 silvioprog Simplified the internal sg_httpres_zsendstream() stream reading, but it still supporting only small files (around 32k). Solved automatic block size calculation. (Fix #12) Renamed function from sg_httpread_end() to sg_eor(). 2019-02-05 silvioprog Improved the HTTP deflate compression. Split internal function sg__compress() to reuse its logic in other functions. Remove useless OOM and applies several code improvements in the error handling. (fix #13) 2019-02-04 silvioprog Applied some improvements which avoids to exit the application if OOM. (issue #13) Applied some improvements which avoids to exit the application if case of OOM. (issue #13) 2019-02-03 silvioprog Added sg_malloc() function and applied some code improvements. (issue #13) Removed useless macros and turned the code easier to debug. (related issue #13) Removed useless macros and turned the code easier to debug. (related issue #13) 2019-02-02 silvioprog Documentation cleanup. 2019-02-01 silvioprog Improved the OOM handling in the functions sg_alloc() and sg_entrypoints_new(). (#13) 2019-01-31 silvioprog Added macro SG_BLOCK_SIZE which calculates a best streaming block size automatically. 2019-01-30 silvioprog Added a new experimental function: sg_httpres_zsendstream(). 2019-01-29 silvioprog Tested deflate HTTP compression using cURL. 2019-01-22 silvioprog Improved the HTTP compression. 2019-01-16 silvioprog Fixed broken build for GCC. Fixed typo in the documentation and added more tests for the HTTP deflate feature. Added new macro sg_httpres_zsend(). 2019-01-15 silvioprog Fixed spelling mistake. Added documentation and tests for the function sg_httpres_zsendbinary(). 2019-01-13 silvioprog Avoid to compress small contents. Added very simple example for how compress HTTP data using deflate. 2019-01-12 silvioprog Fixed typo in the README file. Fixed build for Windows (mingw). 2019-01-11 silvioprog Added an index argument to the routes segments iterator. Changed all sg_route_get_vars* symbols to sg_route_vars_iter*. 2019-01-10 silvioprog Changed all symbols sg_get_segments* to sg_segments_iter*. Mapped the compress2() errors to the errno-style. Added experimental function: sg_httpres_zsendbinary(). Updated the copyright date of the files changed on this year. Added zlib library to the library building. 2019-01-03 silvioprog Set theme jekyll-theme-cayman 2018-12-29 silvioprog Fixed typo in the PCRE2 CMake script header. Applied small code refactoring. 2018-12-28 silvioprog Reverted router example in the README.md file. Organized the features showed in README file. Upgraded the README.md file. Upgraded the README.md file. Calculated the file size to be sent considering the passed offset. 2018-12-27 silvioprog Fix #6. (Improved the upload handling) Closed file properly when sg_httpres_sendfile() fails to send it. 2018-12-26 silvioprog Applied a small code refactoring. 2018-12-25 silvioprog Removed redundant closures from sg_httpsrv_new2(). Upgrades the uthash library. Upgrades the MHD library. Added new macros: sg_httpres_download()/sg_httpres_render(). 2018-12-24 silvioprog Links the cURL library statically to the tests. sg_httpres_sendfile(): allows to calculates the file size automatically. Upgrade test to use latest library API. Fix #5. (sg_httpres_sendfile() optimization) 2018-12-19 silvioprog Update the file ISSUE_TEMPLATE. 2018-12-01 silvioprog Fixed build to use CMake 3.0.2+ (issue #4 by @Al-Muhandis) 2018-11-30 silvioprog Fix broken build issued by travis. Upgraded MHD. 2018-11-09 silvioprog Fixed wrong error number logging in the httpuplds example. Adds new example showing how to retrieve raw content (JSON, XML etc.) from the request object. 2018-10-12 silvioprog Removes experimental FFI support. 2018-10-08 silvioprog Updates the README file. Updates the README file. 2018-10-06 silvioprog Fix build on MinGW for legacy libFFI. Adds SG_USE_LEGACY_FFI option to the CMake script. Allows to use legacy FFI 3.2.1. 2018-10-05 silvioprog Uses latest FFI version (release candidate yet) to fix build on Android, MinGW(32/64) and Raspbian. 2018-10-04 silvioprog Fix build on mingw. Fix default rtype/abi in the FFI preparation. 2018-10-03 silvioprog Adds missing reference for sg_extract_entrypoint(). Uses c/C (char/unsigned char) to represent sint8/uint8 in the FFI feature. Adds experimental FFI support. 2018-10-02 silvioprog Removes unused variable from the MHD building script. Updates the README file. Updates the README file. Upgrades the library description. 2018-10-01 silvioprog Bump v1.2.0 Fix docs. Merge all changes from branch "router". 2018-09-18 silvioprog Removes all "[ci skip]" entries from the ChangeLog and fix the library reference link. Bump v1.1.0 Upgrade document "ABIComplianceChecker.md". Fix #2 issued as "The authentication process doesn't allow to send a response when it is cancelled". Handle errors using fixed buffer size. 2018-09-17 silvioprog Implements the response cleaning feature: sg_httpres_clear(). 2018-08-31 silvioprog Adds steps to build for Raspbian. 2018-08-29 silvioprog Bump v1.0.3 Uses better parameter names in the sg_strerror() function. Update the SECURITY document. Publishes the main header even for static library. Avoids the "build" folder inside distribution packages. 2018-08-24 silvioprog Adds CII Best Practices. Adds the SECURITY file. Adds the ChangeLog file. Adds the LGTM status :sunglasses: . 2018-08-22 silvioprog Fix broken link. Bump v1.0.2 Removes redundant assignment (according to `man 3 snprintf()` the null-terminated character it already set). Upgrades PVS-Studio script. Improves documentation. Upgrade UT libs. Cosmetic fix. Moves the documentation to its own repository (https://risoflora.github.io/libsagui-docs/index.html). 2018-08-21 silvioprog Bump library version and fix spellings. Allows to check the backward API/ABI compatibility of Sagui library versions. Fix PVS Studio alerts. Adds a very simple macro-based memory manager. 2018-08-15 silvioprog Fix #1. Fix docs. 2018-08-14 silvioprog Update INSTALL.md Ignores Travis file in distribution packages. Removes "Downloading" entry because Github releases does not accept ASC/SIG files anymore. Adds Travis building status. Adds Travis CI file. 2018-08-11 silvioprog Fix doc. Hygiene. Add benchmark and jmeter files. Use only 1000 connections simultaneously. Add HTTP benchmark example. Remove empty spaces for hygiene. Add license logo. 2018-08-10 silvioprog Fix doc. Skip temporary directories. Fix docs links. Add HTML/PDF docs. Fix docs output. 2018-08-10 silvioprog Set theme jekyll-theme-midnight 2018-08-10 silvioprog Update issues template 2018-08-10 silvioprog Update issue templates 2018-08-10 silvioprog Initial commit