aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* Introduce nng_listener_get_url and nng_dialer_get_url.Garrett D'Amore2024-11-21
| | | | This is intended to replace NNG_OPT_URL.
* Inline dialer URL.Garrett D'Amore2024-11-21
|
* Collect the bound port as part of the URL at bind time.Garrett D'Amore2024-11-21
| | | | This is a step on cleaning up our logic around NNG_OPT_URL.
* Use 32-bit port numbers.Garrett D'Amore2024-11-21
| | | | | While TCP and UDP port numbers are 16-bits, ZT uses a larger (24-bit) port number.
* Avoid extra allocs for listener url.Garrett D'Amore2024-11-21
|
* TCPv6 test suite fixes for addresses.Garrett D'Amore2024-11-18
| | | | | We moved some of the tests out of the older Convey framework into the NUTS framework.
* Add new nni_url_parse_inline, and add more test cases for coverage.Garrett D'Amore2024-11-18
| | | | The inline parsing will be used internally to avoid some allocations.
* url: Use NNG_EINVAL for parse failuresGarrett D'Amore2024-11-18
|
* Introduce accessors for nng_url struct and make it opaque.Garrett D'Amore2024-11-18
| | | | | This provides safety by ensuring that applications do not depend on the size or layout of nng_url itself.
* Merge internal and external URL APIs. No need forGarrett D'Amore2024-11-18
| | | | the separation of nni_url and nng_url.
* URL refactor part 1.Garrett D'Amore2024-11-18
| | | | | | | This eliminates most (but not all) of the dynamic allocations associated with URL objects. A number of convenience fields on the URL are removed, but we are able to use common buffer for most of the details.
* More url work. Undocument rawurl, and stop using it stats and logs.Garrett D'Amore2024-11-17
| | | | | | | Also expose nng_url_sprintf() for users who need it. This avoids some need to do dynamic memory on some things. Soon the entirety of nng_url will be allocation free in the usual case.
* nni_url_sprintfGarrett D'Amore2024-11-17
|
* URL u_port should be a number not a string.Garrett D'Amore2024-11-17
| | | | | | | | | | | The idea here is to reduce the dynamic allocations used for URLs, and also the back and forth with parsing begin strings and port numbers. We always resolve to a port number, and this is easier for everyone. The real goal in the long term is to eliminate dynamic allocation of the URL fields altogether, but that requires a little more work. This is a step in the right direction.
* intern URL schemeGarrett D'Amore2024-11-17
|
* fix parsing bug in abstract URLsGarrett D'Amore2024-11-17
|
* tcp/tls: Remove support for local interface address in dialer URLsGarrett D'Amore2024-11-17
| | | | | This was an undocumented capability provided for libnanomsg. The correct way to obtain the same functionality is to use `NNG_OPT_LOCADDR`.
* remove NNG_OPT_SOCKNAME (and socket names altogether)Garrett D'Amore2024-11-17
| | | | | | | | This functionality was provided principally for libnanomsg compatibility. This saves some memory and eliminates some pointless functionality. While here, updated the socket options documentation to remove references to options already removed.
* tls: add ecdsa test caseGarrett D'Amore2024-11-17
|
* tls: remove support for TLS 1.0 and 1.1.Garrett D'Amore2024-11-16
| | | | | Those old algorithms are not used anywhere, and are not recommended. TLS 1.2 support has been prevalent for over a decade.
* init test coverage improvementsGarrett D'Amore2024-11-11
|
* Cleanup POSIX platform initialization.Garrett D'Amore2024-11-11
| | | | | This also avoids a potential leak of thread attributes. although no current platform actually seems to do so.
* refactor initialization/finalizationGarrett D'Amore2024-11-11
| | | | | | | | | Applications must now call nng_init(), but they can supply a set of parameters optionally. The code is now safe for multiple libraries to do this concurrently, meaning nng_fini no longer can race against another instance starting up. The nni_init checks on all public APIs are removed now.
* websocket: Do not allow a listener or dialer to change TLS while runningGarrett D'Amore2024-11-09
| | | | This also covers a few test cases that we were missing.
* TLS configuration changed to use discret _set_tls and _get_tls functions.Garrett D'Amore2024-11-09
| | | | This is simpler, and more reliable than using socket options.
* Remove unused sockaddr NULL checkGarrett D'Amore2024-11-06
|
* websocket: fix for setting user headersGarrett D'Amore2024-11-05
| | | | This was a crasher bug (found by test suite).
* Add zero test for errorGarrett D'Amore2024-11-05
|
* remove nni_plat_println - we have nni_plat_printf which is good enoughGarrett D'Amore2024-11-05
|
* ipc: listener cancellation testGarrett D'Amore2024-11-05
|
* Fix leak in pubdropGarrett D'Amore2024-11-05
|
* ipc: validate stale cleanup listenerGarrett D'Amore2024-11-05
|
* IPC test - note which ones skipped.Garrett D'Amore2024-11-05
|
* Remove registration functions (unused).Garrett D'Amore2024-11-04
|
* Add pubdrop test.Garrett D'Amore2024-11-04
|
* UDP: prefer new packets (drop older)Garrett D'Amore2024-11-04
| | | | Adds test cases for this and for remote pipe as well.
* Use a callback for UDP burst test.Garrett D'Amore2024-11-04
| | | | | This seems to give much higher reliability in message receives, so we've tightened it up a bit for now.
* UDP test improvements.Garrett D'Amore2024-11-04
| | | | | | The burst test should be more reliable (by avoiding extra work during the hot code path). We also make the threshold for pass/failure tunable via an environment variable (NNG_UDP_PASS_RATE) which is a percentage.
* logging: better debug & test logsGarrett D'Amore2024-11-04
| | | | | | Don't emit the log for date change unless we are in debug mode. Emit a newline when starting a new NUTS test. Change the default log level - it was too noisy.
* Introduce NUTS_SKIP and use it in a few tests.Garrett D'Amore2024-11-03
| | | | | This lets us see that we are skipping tests due to lack of support, and makes it a little clearer to an observer.
* Update acutest.h.Garrett D'Amore2024-11-03
| | | | | | This includes creating acutest_message_color_, as we need that for our colorized logging. We also used // clang-format off for the file, to preserve the original formatting.
* Socket option handling clean ups for endpoints.Garrett D'Amore2024-11-03
| | | | | | | The framework for saving and replaying socket options was left over, and should not be used. But we do need to send the initial socket options to endpoints when creating them, so we have support for that in a cleaner fashion that does not require memory allocations.
* Remove NNI_TYPE_OPAQUE altogether.Garrett D'Amore2024-11-03
| | | | | | | | This also fixes a couple of minor bugs -- changing the socket name could be incorrect as the termination was not applied properly, and the ZeroTier code got a change -- note that it is only possible in this revised version to pass a single moon ID for ZT orbit. The ZT code is a bit stale, and untested anyway.
* Remove untyped nng_socket_get and nng_socket_set.Garrett D'Amore2024-11-03
|
* Remove untyped nng_dialer_get/set and nng_listener_get/set.Garrett D'Amore2024-11-03
|
* Remove nng_ctx untyped option functionsGarrett D'Amore2024-11-03
|
* Remove untyped stream option functions.Garrett D'Amore2024-11-03
| | | | | The underlying stream APIs have no need for untyped accessors. Another step on the road to removal of NNI_TYPE_OPAQUE.
* Remove untyped nng_pipe_get, support for untyped sockaddr set.Garrett D'Amore2024-11-03
| | | | This is a step on the path to removing unsafe untyped option accesses.
* Add some more tests for sub coverage.Garrett D'Amore2024-11-03
|
* Replace NNG_OPT_SUB_SUBSCRIBE/UNSUBSCRIBE with functions.Garrett D'Amore2024-11-03
| | | | | The main purpose is to eliminate the NNI_TYPE_OPAQUE options, by putting these into their own first class, protocol-specific, functions.