summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* windows: ipc listen use after freeGarrett D'Amore2024-05-30
|
* windows: ipc conn conn_aio not usedGarrett D'Amore2024-05-30
|
* windows: fix TCP use-after-free in listenerGarrett D'Amore2024-05-30
| | | | | | | The logic with overlapped structures was fragile as it used overlapped ios for the connections rather than a single common one for the listener. This changes it to be more like POSIX, and robust against this error.
* windows: drop the hEvent initialization for win_io structures.Garrett D'Amore2024-05-30
| | | | We use overlapped I/O, so we don't need a separate hEvent.
* windows: IPC conn->conn_io is unusedGarrett D'Amore2024-05-30
|
* Another attempt at the close deadlock, fix use-after-free.Garrett D'Amore2024-05-30
| | | | | | | | When closing pipes, we defer them to be reaped, but also leave them in the match list where they might be picked up by ep_match, or leak. It's best to reap these proactively and ensure that they are not allowed to life longer once they have errored during the negotiation phase.
* fixes #1827 Windows a deadlock on nng_close()Garrett D'Amore2024-05-30
|
* fixes #1825 Compiler warning due to unused variable in win_clock.cGarrett D'Amore2024-05-22
|
* Windows: add a check for broken legacy environments without timespec_get.Garrett D'Amore2024-05-22
| | | | | | | | | | If you want to build on Windows use a toolchain that supports modern APIs. This means, for Microsoft, UCRT (Universal C Runtime), which is supported by default on modern Visual Studio. MinGW users may have to go out of their way to enable it. (New -D_UCRT flag or something.) The supported toolchain for building on Windows is Visual Studio. Use of other tool chains is not officially supported or guaranteed to work. YMMV.
* fix deadlock on socket closeAlexander Zilberkant2024-04-24
| | | | when an `aio` has no `a_cancel_fn` and the task is in `task_prep` abort it on `nni_aio_stop` call
* fixes #1808 nng_msg_insert: munmap_chunk(): invalid pointerGarrett D'Amore2024-04-24
| | | | | | | With specific message sizes, we the shuffle of data for msg insert can calculate the wrong value, leading to heap corruption. This includes a stress test for msg insert to hopefully exercise every reasonable edge case.
* Move the rest of the functionality from platform.h into core.Garrett D'Amore2024-04-23
| | | | This also deprecates supplemental/util/platform.h.
* Move some supplemental APIs to reduce friction in using them.Garrett D'Amore2024-04-23
| | | | | | The supplemental/util/platform.h is kind of a pain, so we move move the prototypes for commonly used functions out of there, into nng.h proper.
* Prep for 1.8.0 releasev1.8.0Garrett D'Amore2024-04-21
|
* Logging improvements (#1816)Garrett D'Amore2024-04-21
| | | | | | | | | | | | * Add nng_str_sockaddr to get string representation of socket address. * Added nng_log_get_level() is meant to allow users to obtain the current level and avoid some possibly expensive operations just to collect debugging information when debugging is not in effect. We use a custom logger for NUTS, and this fits within the NUTS test framework well, so that if -v is supplied we get more content. All tests now get this by default.
* Bump golang.org/x/net from 0.19.0 to 0.23.0 in /etc/pubrefmandependabot[bot]2024-04-20
| | | | | | | | | | | | Bumps [golang.org/x/net](https://github.com/golang/net) from 0.19.0 to 0.23.0. - [Commits](https://github.com/golang/net/compare/v0.19.0...v0.23.0) --- updated-dependencies: - dependency-name: golang.org/x/net dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
* Log messages when peer sends too large message.Garrett D'Amore2024-04-17
| | | | | Also while here, remove unused sockaddr members from some structs. This should save a bit of memory for servers with a lot of conns.
* [tls_common] finish conn lock in tls_reapMoi Ran2024-04-14
|
* fixes #1588 TLS should log errorsGarrett D'Amore2024-04-14
| | | | | This isn't complete, but it should go much further in assisting debugging TLS related errors.
* Announce NNG version in log.Garrett D'Amore2024-04-14
|
* Log rejects by app, bind/listen/connect failures.Garrett D'Amore2024-04-14
|
* Log protocol connections rejected by protocol.Garrett D'Amore2024-04-14
|
* Log transports as they are initialized.Garrett D'Amore2024-04-14
|
* Added realtime clock support, and better timestamping.Garrett D'Amore2024-04-14
| | | | | The realtime clock is not (yet) exposed for user applications, but it is used for logging timestamps accurately.
* Add clarification about logged content.Garrett D'Amore2024-04-14
|
* minor include fixGarrett D'Amore2024-04-14
|
* Add missing `nng_tls_config_hold` stub functionMarc Lasch2024-04-13
| | | | | | | | | | | Add the missing stub function implementation for `nng_tls_config_hold`. Fixes an error when loading the library and expecting to have this symbol available. The availability of the symbol can be checked with nm: ``` nm -D cmake-build-release/libnng.so.1.7.3 | grep nng_tls_config_hold ```
* add header to posix_rand_getrandom.cshikokuchuo2024-04-13
|
* fixes #543 Add logging support frameworkGarrett D'Amore2024-04-13
|
* Update UKRAINE.adocGarrett D'Amore2024-03-16
| | | Updates for March 16, 2024.
* Update protocol.hBrian Carcich2024-03-16
| | | Fix comment typo
* Update nng_ctx.5.adocBrian Carcich2024-03-16
| | | Fix typos in example.
* Bump version to 1.7.3.v1.7.3Garrett D'Amore2024-03-01
|
* fixes #1771 cmake: respect CMAKE_FIND_PACKAGE_PREFER_CONFIG if presentGarrett D'Amore2024-02-28
|
* Convert UDP platform test to NUTS.Garrett D'Amore2024-02-25
| | | | | | This also restores the IPv6 sanity check. Note that UDP is still not supported as a transport, but this can be used to implement higher level transports such as ZeroTier (or later QUIC).
* Disable (for now) the UDPv6 test.Garrett D'Amore2024-02-25
|
* windows: marry - warning about HANDLE vs intGarrett D'Amore2024-02-25
|
* fixes #1496 Provide NNG_ENABLE_IPV6 option (disabled by default)Garrett D'Amore2024-02-25
| | | | | | | | | This also checks if the build system has the definitions for AF_INET6, which might help in some embedded IPv4 only settings. The resolver test is enhanced to include a check for IPv6 enabled in the kernel. IPv6 support is enabled by default, of course.
* fixes #1543 Deadlock in nng_close(socket)Garrett D'Amore2024-02-25
| | | | | | This looks like a possible problem that may be windows specific involving the flow for IO completion ports. This simplifies the logic a little bit, and should ensure that canceled requests on pipes do not restart.
* windows: Add missing header for string.hGarrett D'Amore2024-02-25
|
* build: Mbed TLS should use MBEDTLS_ROOT first.Garrett D'Amore2024-02-25
| | | | | The old MBEDTLS_ROOT_DIR is still honored for legacy compat, but the version 4.3 find script won't use it by default.
* Use dockerized asciidoctor to generate contentGarrett D'Amore2024-02-22
|
* Add support for socket:// in NUTS marry function.Garrett D'Amore2024-02-18
| | | | | This also adds a HUGE test for REP using socket so that we can discriminate failures that might exist using sockets instead of inproc.
* Add REP huge reply (10MB) testGarrett D'Amore2024-02-18
|
* Language changes for the nng_socket manual page.Garrett D'Amore2024-02-17
| | | | Thanks to @shikokuchuo for pointing this out.
* fix typo in test for CMAKE_FIND_PACKAGE_PREFER_CONFIGGarrett D'Amore2024-02-17
|
* idhash: Add missing C++ linkage guards.Garrett D'Amore2024-02-04
|
* bump version to 1.7.2.v1.7.2Garrett D'Amore2024-02-03
|
* Stop using defunct mstksg/get-packageGarrett D'Amore2024-01-27
|
* Windows: Use _close instead of closeGarrett D'Amore2024-01-27
|