diff options
| author | Garrett D'Amore <garrett@damore.org> | 2024-04-21 12:23:07 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-21 12:23:07 -0700 |
| commit | 56507ab5c4db009be5251bde832f594fe5ed3d5e (patch) | |
| tree | c70e7d669c3548a5c58ab27c0fc6118a96580863 /src/sp/transport/tcp | |
| parent | 3593eba5272bf627b99a2521b3f025141a49bcad (diff) | |
| download | nng-56507ab5c4db009be5251bde832f594fe5ed3d5e.tar.gz nng-56507ab5c4db009be5251bde832f594fe5ed3d5e.tar.bz2 nng-56507ab5c4db009be5251bde832f594fe5ed3d5e.zip | |
Logging improvements (#1816)
* 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.
Diffstat (limited to 'src/sp/transport/tcp')
| -rw-r--r-- | src/sp/transport/tcp/tcp.c | 16 | ||||
| -rw-r--r-- | src/sp/transport/tcp/tcp_test.c | 27 |
2 files changed, 25 insertions, 18 deletions
diff --git a/src/sp/transport/tcp/tcp.c b/src/sp/transport/tcp/tcp.c index dfc3d20c..5aead15d 100644 --- a/src/sp/transport/tcp/tcp.c +++ b/src/sp/transport/tcp/tcp.c @@ -13,6 +13,7 @@ #include <string.h> #include "core/nng_impl.h" +#include "nng/nng.h" // TCP transport. Platform specific TCP operations must be // supplied as well. @@ -384,9 +385,20 @@ tcptran_pipe_recv_cb(void *arg) // Make sure the message payload is not too big. If it is // the caller will shut down the pipe. if ((len > p->rcvmax) && (p->rcvmax > 0)) { + nng_sockaddr_storage ss; + nng_sockaddr *sa = (nng_sockaddr *) &ss; + char peername[64] = "unknown"; + if ((rv = nng_stream_get_addr( + p->conn, NNG_OPT_REMADDR, sa)) == 0) { + (void) nng_str_sockaddr( + sa, peername, sizeof(peername)); + } nng_log_warn("NNG-RCVMAX", - "Rejected oversize message of %lu bytes on TCP", - (unsigned long) len); + "Oversize message of %lu bytes (> %lu) " + "on socket<%u> pipe<%u> from TCP %s", + (unsigned long) len, (unsigned long) p->rcvmax, + nni_pipe_sock_id(p->npipe), nni_pipe_id(p->npipe), + peername); rv = NNG_EMSGSIZE; goto recv_error; } diff --git a/src/sp/transport/tcp/tcp_test.c b/src/sp/transport/tcp/tcp_test.c index 16c70d7d..005fd2b0 100644 --- a/src/sp/transport/tcp/tcp_test.c +++ b/src/sp/transport/tcp/tcp_test.c @@ -1,5 +1,5 @@ // -// Copyright 2020 Staysail Systems, Inc. <info@staysail.tech> +// Copyright 2024 Staysail Systems, Inc. <info@staysail.tech> // Copyright 2018 Capitar IT Group BV <info@capitar.com> // Copyright 2018 Devolutions <info@devolutions.net> // Copyright 2018 Cody Piersall <cody.piersall@gmail.com> @@ -10,7 +10,6 @@ // found online at https://opensource.org/licenses/MIT. // - #include <nuts.h> // TCP tests. @@ -75,7 +74,7 @@ test_tcp_port_zero_bind(void) nng_socket s2; nng_sockaddr sa; nng_listener l; - char * addr; + char *addr; NUTS_OPEN(s1); NUTS_OPEN(s2); @@ -96,7 +95,7 @@ void test_tcp_bad_local_interface(void) { nng_socket s1; - int rv; + int rv; NUTS_OPEN(s1); rv = nng_dial(s1, "tcp://bogus1;127.0.0.1:80", NULL, 0), @@ -122,12 +121,9 @@ test_tcp_malformed_address(void) nng_socket s1; NUTS_OPEN(s1); - NUTS_FAIL( - nng_dial(s1, "tcp://127.0.0.1", NULL, 0), NNG_EADDRINVAL); - NUTS_FAIL( - nng_dial(s1, "tcp://127.0.0.1.32", NULL, 0), NNG_EADDRINVAL); - NUTS_FAIL( - nng_dial(s1, "tcp://127.0.x.1.32", NULL, 0), NNG_EADDRINVAL); + NUTS_FAIL(nng_dial(s1, "tcp://127.0.0.1", NULL, 0), NNG_EADDRINVAL); + NUTS_FAIL(nng_dial(s1, "tcp://127.0.0.1.32", NULL, 0), NNG_EADDRINVAL); + NUTS_FAIL(nng_dial(s1, "tcp://127.0.x.1.32", NULL, 0), NNG_EADDRINVAL); NUTS_FAIL( nng_listen(s1, "tcp://127.0.0.1.32", NULL, 0), NNG_EADDRINVAL); NUTS_FAIL( @@ -143,7 +139,7 @@ test_tcp_no_delay_option(void) nng_listener l; bool v; int x; - char *addr; + char *addr; NUTS_ADDR(addr, "tcp"); @@ -161,8 +157,7 @@ test_tcp_no_delay_option(void) NUTS_FAIL( nng_dialer_get_int(d, NNG_OPT_TCP_NODELAY, &x), NNG_EBADTYPE); x = 0; - NUTS_FAIL( - nng_dialer_set_int(d, NNG_OPT_TCP_NODELAY, x), NNG_EBADTYPE); + NUTS_FAIL(nng_dialer_set_int(d, NNG_OPT_TCP_NODELAY, x), NNG_EBADTYPE); // This assumes sizeof (bool) != sizeof (int) if (sizeof(bool) != sizeof(int)) { NUTS_FAIL( @@ -205,7 +200,7 @@ test_tcp_keep_alive_option(void) nng_listener l; bool v; int x; - char *addr; + char *addr; NUTS_ADDR(addr, "tcp"); NUTS_OPEN(s); @@ -258,7 +253,7 @@ test_tcp_recv_max(void) nng_socket s1; nng_listener l; size_t sz; - char *addr; + char *addr; NUTS_ADDR(addr, "tcp"); @@ -296,4 +291,4 @@ NUTS_TESTS = { { "tcp keep alive option", test_tcp_keep_alive_option }, { "tcp recv max", test_tcp_recv_max }, { NULL, NULL }, -};
\ No newline at end of file +}; |
