summaryrefslogtreecommitdiff
path: root/src/supplemental
Commit message (Collapse)AuthorAge
...
* Centralize the scheme handling for HTTP schemes.Garrett D'Amore2020-11-17
|
* fixes #1200 Shouldn't nng_http_server_stop be synchronous?Garrett D'Amore2020-11-17
|
* fixes #1355 wss4 and wss6 don't work as they shouldGarrett D'Amore2020-11-17
| | | | This also properly reenables the wssfile_test.
* fixes #1071 tran_chkopt can be cleaned upGarrett D'Amore2020-11-15
| | | | | | | | | | | | | | | | | This is a sweeping cleanup of the transport logic around options, and also harmonizes the names used when setting or getting options. Additionally, legacy methods are now moved into a separate file and can be elided via CMake or a preprocessor define. Fundamentally, the ability to set to transport options via the socket is deprecated; there are numerous problems with this and my earlier approaches to deal with this have been somewhat misguided. Further these approaches will not work with future protocol work that is planned (were some options need to be negotiated with peers at the time of connection establishment.) Documentation has been updated to reflect this. The test suites still make rather broad use of the older APIs, and will be converted later.
* fixes #1087 CMakeLists structural improvements desiredGarrett D'Amore2020-11-14
| | | | | This doesn't modularize all the tests yet, but it goes a long way in the right direction.
* Fix build regression on non-Windows platform (sorry!)Garrett D'Amore2020-11-12
|
* Base64 nits (code quality) fixed.Garrett D'Amore2020-11-12
| | | | | This also contains the start of some CMakefile refactoring and clean ups.
* fixes #1337 nni aio user data could be removedGarrett D'Amore2020-11-10
|
* Fix minor incorrect comment.Garrett D'Amore2020-11-10
|
* Minor spelling tweaks for the aio framework.Garrett D'Amore2020-11-09
|
* Clean up some warnings.Garrett D'Amore2020-11-08
|
* fixes #1311 reduce wasted use for nni_aioGarrett D'Amore2020-10-31
| | | | | | | | | | fixes #1317 IPv6 listener get port is incorrect fixes #1319 Want symbolic service names This is phase 1 of reducing the memory foot-print of aios, and also of pipes. This removes the largest consumer the socket address information, from the aio, which was only used by a few consumers.
* fixes #914 websocket stream mode should support TEXTGarrett D'Amore2020-10-26
| | | | | | | This adds new options, NNG_OPT_WS_SEND_TEXT and NNG_OPT_WS_RECV_TEXT that permit communication with WebSocket peers that insist on using TEXT frames (stream mode only). The support is limited, as NNG does no validation of the frame contents to check for UTF-8 compliance.
* fixes #960 NNG threads inherit application thread nameGarrett D'Amore2020-08-08
| | | | | | This also exposes an nng_thread_set_name() function for applications to use. All NNG thread names start with "nng:". Note that support is highly dependent on the operating system.
* fixes #1279 Add support for ws4:// and ws6:// style websocket urlsGarrett D'Amore2020-08-08
| | | | fixes #1277 FreeBSD errors due to bad v4 vs. v6 assumptions
* fixes #844 WebSocket wildcard host errorsGarrett D'Amore2020-07-27
| | | | | | | | | | fixes #1224 wss fails on IPV6 address This fixes bugs and inconsistencies in the way addresses are handled for HTTP (and consequently websocket). The Host: address line needs to look at numeric IPs and treat wildcards as if they are not specified, and needs to understand the IPv6 address format using brackets (e.g. [::1]:80).
* fixes #1235 framing error in SSL/TLSGarrett D'Amore2020-07-26
| | | | | | This was first detected as a stack overrun, but in actuality the problem could have lead to corruption of TLS messages due to prematurely recording transmit completion.
* Tests for sending large amounts of data over NNG TLS streams.Garrett D'Amore2020-05-23
| | | | | This also starts the test framework NNG streams, so that we can test those more directly.
* fixes #1005 TLS 1.3 supportGarrett D'Amore2020-02-23
| | | | | | | | This introduces support for an external wolfSSL plugin, and generally creates the framework for pluggable TLS implementations. The wolfSSL engine is provided via an external module (git submodule), available either under a GPLv3 license or a commercial license.
* Fix typos in commentsEvgeny Ermakov2020-02-13
|
* Add possibility to explicitly set a tree handler as exclusive (#1158)Robert Bielik2020-01-27
| | | | - Default tree handler behavior is now non-exclusive - Add 'longest uri first' ordering for http handlers
* Fix HTTP server root URI handling (#1140)Robert Bielik2020-01-18
| | | - Fixes #751
* fixes #1094 Consider in-lining task and aioGarrett D'Amore2020-01-08
| | | | | This only does it for rep, but it also has changes that should increase the overall test coverage for the REP protocol
* fixes #1112 POSIX pollq finalizers could be simplerGarrett D'Amore2020-01-05
| | | | | | | | | | | We reap the connections when closing, to ensure that the clean up is done outside the pollq thread. This also reduces pressure on the pollq, we think. But more importantly it eliminates some complex code that was meant to avoid deadlocks, but ultimately created other use-after-free challenges. This work is an enabler for further simplifications in the aio/task logic. While here we converted some potentially racy locking of the dialers and reference counts to simpler lock-free reference counting.
* Fixup a few codacy complaints.Garrett D'Amore2020-01-01
|
* fixes #1081 Use after free possible in statsGarrett D'Amore2020-01-01
| | | | | | | fixes #1080 Desire better way to access statistics for NNG objects We've also added a test that uses some of this, in order to verify that the req protocol rejects invalid peers.
* fixes #1079 Use after free panic in tcp_dialerGarrett D'Amore2019-12-30
|
* fixes #1075 WebSocket heap use after freeGarrett D'Amore2019-12-30
| | | | | This also introduces a new atomic boolean type, so we can use that to trigger whether we've added the HTTP handler or not.
* Add http server method for getting addressRobert Bielik2019-12-29
|
* fixes #1064 Potential deadlock in statistics codeGarrett D'Amore2019-12-29
| | | | | | | | fixes #1063 Include sanitizer runs in CI fixes #1068 Wssfile test sometimes fails with wrong error code While here, addressed a number of clang-tidy items, and some light cleanup of code we were already in.
* fixes #1065 resolver leaks work structuresGarrett D'Amore2019-12-29
| | | | | | This includes changes to support setting the sanitizer *correctly* (the old code CMake stuff didn't quite get it right), and addresses a number of failures in the test code found by the address sanitizer.
* fixes #986 ws_read_finish_str free invalid pointerGarrett D'Amore2019-12-28
| | | | | | Also, this has refactored the websocket stream test to the new acutest.h, and includes a much deeper test of fragmentation and reassembly of websocket streams.
* Bind to IP address -- localhost might not go where you think.Garrett D'Amore2019-12-27
| | | | Seeing this failure in the cloud on Darwin.
* Allow more time for the listener to get going in the cloud.Garrett D'Amore2019-12-27
|
* Move the WSS file test, and hopefully provide more debuggability.Garrett D'Amore2019-12-27
|
* Add possibility to use mbedtls cmake target if availableRobert Bielik2019-12-27
|
* fixes #1040 Convert rest of the protocols to new CMake infraGarrett D'Amore2019-12-25
|
* fixes #1032 Figure out Darwin bustednessGarrett D'Amore2019-12-24
| | | | | | | | | | | | | | | | | | | | | | | | fixes #1035 Convey is awkward -- consider acutest.h This represents a rather large effort towards cleaning up our testing and optional configuration infrastructure. A separate test library is built by default, which is static, and includes some useful utilities design to make it easier to write shorter and more robust (not timing dependent) tests. This also means that we can cover pretty nearly all the tests (protocols etc.) in every case, even if the shipped image will be minimized. Subsystems which are optional can now use a few new macros to configure what they need see nng_sources_if, nng_headers_if, and nng_defines_if. This goes a long way to making the distributed CMakefiles a lot simpler. Additionally, tests for different parts of the tree can now be located outside of the tests/ tree, so that they can be placed next to the code that they are testing. Beyond the enabling work, the work has only begun, but these changes have resolved the most often failing tests for Darwin in the cloud.
* Fix typo in websocket/CMakeLists.txtEvgeny Ermakov2019-12-10
|
* fixes #1004 Warning found by clang --analyzeGarrett D'Amore2019-11-11
| | | | | It's possible for an empty chunk to have a NULL data pointer. Even when copying zero bytes, this makes clang somewhat unhappy.
* fixes #976 websocket stream calls incorrect completion callbackGarrett D'Amore2019-08-12
|
* fixes #975 nng_http_res_alloc does not init status code properlyGarrett D'Amore2019-08-09
|
* fixes #948 TLS listener leaks underlying TCP stream listenerGarrett D'Amore2019-05-19
|
* fix #946 Use after free in TLSGarrett D'Amore2019-05-19
| | | | | This also introduces a more efficient reference counting usage based on atomics, rather than locks.
* fixes #937 Memory Leak in wsstreamGarrett D'Amore2019-05-19
|
* Fix for http chunked transferJanjaap Bos2019-05-17
|
* Introduce nni_plat_printf()Garrett D'Amore2019-05-07
| | | | | This permits the stats dump to avoid some extra buffering, and resolves a complaint about possible format buffer overruns.
* set txn->client in nni_http_transactJanjaap Bos2019-04-24
| | | | Otherwise connections are not closed in reaper.
* fixes #907 WebSocket ephemeral port cannot be reusedGarrett D'Amore2019-03-13
|
* fixes #905 Small typo. error in HTTP msgGarrett D'Amore2019-03-09
|