- Add
ULFIUS_CHECK_VERSIONmacro (Thanks Oliv3) - Add
struct _websocket_manager.keep_messagesflag - Add
struct _u_response.free_shared_dataandulfius_set_response_shared_data
- Fix post processor on multiple values with the same key (Thanks Oliv3)
- Fix certificate generation on MacOS (Thanks @valera-rozuvan)
- Add missing check includes if tests are built (Thanks @valera-rozuvan)
- Add option
U_OPT_HTTP_URL_APPENDtoulfius_set_request_properties - Use
ulfius_set_request_propertiesin example programs
- Fix websocket protocol and extension management bug, thanks to Olivier Girondel
- Remove Travis CI tests
- Add Makefile flag
UWSCFLAGto disable uwsc build
- Allow
Content-Encondingheader withulfius_send_http_requestto compress the response body - Add http_compression callback example
- Add static_compressed_inmemory_website callback example
- Add callback return value
U_CALLBACK_IGNOREto igore incrementation ofrequest->callback_position - Add
ulfius_add_websocket_extension_message_performandulfius_add_websocket_client_extension_message_performfor advanced websocket extensions management - Add Compression Extensions for WebSocket
- Fix lots of websocket bugs thanks to Autobahn|Testsuite.
- Update doc generation
- Add
ulfius_websocket_send_json_message, thanks to Olivier Girondel - Update pkg-config Libs with all dependencies
- Add
ulfius_global_initandulfius_global_close - Rename
U_STREAM_SIZE_UNKOWNtoU_STREAM_SIZE_UNKNOWN, keepU_STREAM_SIZE_UNKOWNfor backward compatibility
- Increase
ULFIUS_POSTBUFFERSIZEto follow MHD documentation - Adapt code to be compatible with all MHD version
- In case of secure websocket communication, use a combination of
gnutls_record_check_pending()andpoll()to determine if data is ready. (Thanks Wouter van Herpen!) - Install uwsc manpage
- Fix bug about missing
resvariable assignment. (Thanks Gianfranco Costamagna!)
- Check header property case insensitive in websocket client
- Add libcurl option
CURLOPT_NOPROGRESSinulfius_send_http_streaming_request - Add
ulfius_start_framework_with_mhd_optionsfor expert mode - Fix websocket bugs: #163 (Thanks wouher!)
- Add
ulfius_set_request_propertiesandulfius_set_response_properties
- Update doc generation
- Fix jansson memoy management bug
- Fix build on MinGW-w64
- Allow
NULLvalues onstruct _u_map - Add function
ulfius_send_smtp_rich_emailto send e-mails with a specified content-type - Fix and improve
ulfius_add_endpoint_list - Add doxygen documentation
- Add
follow_redirectinstruct _u_request - Fix certificate check #154
- Add precision for chunked response, got the inspiration from #132
- Update access token for oauth2 bearer validation callback function, add precision concerning libjwt, fix #133
- Update callback_check_glewlwyd_access_token to the up-to-date version
- Various small fixes
- Fix warning appeared with gcc 9.1, fixes #128
- Make
instance->mhd_response_copy_datauseless if MHD>=0.9.61 - Fix
MHD_start_daemonflag to reuseMHD_USE_THREAD_PER_CONNECTIONby default, fix #131, thanks laf0rge!
- Clean build process
- Fix memory leak in
ulfius_set_string_body_requestandulfius_set_string_body_response - Call callback function websocket_onclose_callback on all times, even if the websocket hasn't properly worked, so the calling program can avoid memory leak and broken resources, fix #126
- Fix package dependencies in cmake script
- Fix core test to skip websocket tests if webscket is disabled
- Disable ipv6 capabilities if libmicrohttpd is older than 0.9.52
- Small bugfixes
- Add
struct _u_request->callback_positionto know the position of the current callback in the callback list - Use
MHD_USE_AUTOinstead ofMHD_USE_THREAD_PER_CONNECTIONiflibmicrohttpdis newer then 0.9.52 - Add
network_typeinstruct _u_instanceandstruct _u_requestto specify IPV4, IPV6 or both networks - Add
check_server_certificate_flag,check_proxy_certificate,check_proxy_certificate_flagandca_pathinstruct _u_requestto add more precision and control on SSL verification inu_send_request - Add functions
ulfius_set_string_body_request,ulfius_set_binary_body_request,ulfius_set_empty_body_request - Add
url_pathinstruct _u_requestto store the url path only, without query parameters - Add
ulfius_url_decodeandulfius_url_encode - Clean code, add more tests
- Install pkgconfig file when using Makefile
- Fix #121 where websockets messages of 126 or 127 bytes long made errors
- Use
gnutls_rnd()instead ofrand() - Fix sneaky bug where endpoint injection inside a endpoint callback can lead to wrong callback calls, or even worse, crashes
- Fix #121 where websockets messages of 126 or 127 bytes long made errors
- Fix sneaky bug where endpoint injection inside a endpoint callback can lead to wrong callback calls, or even worse, crashes
- Add flag to build Ulfius with GnuTLS support but without Websockets
- Improve Travis CI script
- Fix CMake build process that didn't obviously linked Ulfius with pthreads
- Add command to run tests with valgrind
- Fix utf8 check on NULL value
- Fix uwsc crash on some systems
- Add struct _u_endpoint.check_utf8 to check all request parameters and values to be valid utf8 strings
- Add client certificate authentication for webservice and send request library (issue #83)
- Fix build config file bug when using -jxx option to Makefile (issue #84)
- Allow to disable Yder logging library, to use Ulfius in embedded systems like FreeRTOS where console, syslog or journald are not available, and file logging is overkill
- Add support for FreeRTOS and LWIP, Thanks to Dirk Uhlemann
- Add support for SameSite attribute in response cookies (issue #88)
- CMake scripts improvements
- Add config file ulfius-cfg.h dynamically built with the options
- Adapt examples with new ulfius-cfg.h file
- Fix #79 where yuarel should be hidden from the outside world
- Fix #78 where gnutls is not required if websocket is disabled
- Fix Websocket fragmented messages
- Fix CMake script that installed Orcania twice
- Fix cppcheck warnings
- Add timeout for http connections
- Allow to use MHD_RESPMEM_MUST_COPY for different memory manager, fix #63
- Add websocket client framework
- Add uwsc - Ulfius WebSocket Client - A simple command-line websocket client program
- Add Travis CI
- Add RPM in CMake script package
- Fix CMake build when /usr/local is not present in default build path
- Improve documentation with summary
- Yet another websocket fix, this one was binary messages not properly handled
- At the same time, improve websocket_example to handle incoming binary messages
- Fix websocket bug that did not close a websocket properly after wrongly closed connections
- Add last example_callbacks versions
- Improve documentation on ulfius_get_json_body_request and ulfius_get_json_body_response
- Fix websocket bug that kept some connections open after being unproperly closed by the client
- Fix Makefile soname
- Add Debian hardening patch on Makefile
- Fix websocket_example that worked for Firefox onky due to minor bugs in websocket management and misunderstanding the RFC
- Update oauth2_bearer/glewlwyd_resource to handle client tokens
- Sync version number on all places it's located
- Add CMake installation script
- Various bugfixes
- Fix PTHREAD_MUTEX_RECURSIVE_NP bug
- Fix bug in websockets
- Added error informations inside ulfius_get_json_body_request function (#33)
- code cleaning
- small bugfixes
- Add large file upload support (#31)
- fix
upload_data_sizeand memory consumption - Make ldconfig harmless if not root (#26)