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/ipc | |
| 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/ipc')
| -rw-r--r-- | src/sp/transport/ipc/ipc.c | 14 | ||||
| -rw-r--r-- | src/sp/transport/ipc/ipc_test.c | 32 |
2 files changed, 28 insertions, 18 deletions
diff --git a/src/sp/transport/ipc/ipc.c b/src/sp/transport/ipc/ipc.c index fc817d1a..61c25da3 100644 --- a/src/sp/transport/ipc/ipc.c +++ b/src/sp/transport/ipc/ipc.c @@ -382,9 +382,19 @@ ipc_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->rcv_max) && (p->rcv_max > 0)) { + uint64_t pid; + char peer[64] = ""; + if (nng_stream_get_uint64( + p->conn, NNG_OPT_PEER_PID, &pid) == 0) { + snprintf(peer, sizeof(peer), " from PID %lu", + (unsigned long) pid); + } nng_log_warn("NNG-RCVMAX", - "Rejected oversize message of %lu bytes on IPC", - (unsigned long) len); + "Oversize message of %lu bytes (> %lu) " + "on socket<%u> pipe<%u> from IPC%s", + (unsigned long) len, (unsigned long) p->rcv_max, + nni_pipe_sock_id(p->pipe), nni_pipe_id(p->pipe), + peer); rv = NNG_EMSGSIZE; goto error; } diff --git a/src/sp/transport/ipc/ipc_test.c b/src/sp/transport/ipc/ipc_test.c index b39aa937..3936a750 100644 --- a/src/sp/transport/ipc/ipc_test.c +++ b/src/sp/transport/ipc/ipc_test.c @@ -42,7 +42,7 @@ test_ipc_dialer_perms(void) { nng_socket s; nng_dialer d; - char * addr; + char *addr; NUTS_ADDR(addr, "ipc"); NUTS_OPEN(s); @@ -59,7 +59,7 @@ test_ipc_dialer_properties(void) nng_dialer d; nng_sockaddr sa; size_t z; - char *addr; + char *addr; NUTS_ADDR(addr, "ipc"); NUTS_OPEN(s); @@ -84,10 +84,10 @@ test_ipc_listener_perms(void) { nng_socket s; nng_listener l; - char *addr; + char *addr; #ifndef _WIN32 - char * path; + char *path; struct stat st; #endif @@ -125,7 +125,7 @@ test_ipc_listener_properties(void) nng_listener l; nng_sockaddr sa; size_t z; - char *addr; + char *addr; NUTS_ADDR(addr, "ipc"); NUTS_OPEN(s); @@ -154,8 +154,9 @@ test_ipc_recv_max(void) nng_socket s1; nng_listener l; size_t sz; - char *addr; + char *addr; + NUTS_ENABLE_LOG(NNG_LOG_INFO); NUTS_ADDR(addr, "ipc"); NUTS_OPEN(s0); NUTS_PASS(nng_socket_set_ms(s0, NNG_OPT_RECVTIMEO, 100)); @@ -184,12 +185,12 @@ test_abstract_sockets(void) #ifdef NNG_HAVE_ABSTRACT_SOCKETS nng_socket s1; nng_socket s2; - char *addr; + char *addr; nng_pipe p1; nng_pipe p2; nng_sockaddr sa1; nng_sockaddr sa2; - char * prefix = "abstract://"; + char *prefix = "abstract://"; NUTS_ADDR(addr, "abstract"); NUTS_OPEN(s1); @@ -341,7 +342,7 @@ test_unix_alias(void) char rng[20]; nng_sockaddr sa1; nng_sockaddr sa2; - nng_msg * msg; + nng_msg *msg; nng_pipe p; // Presumes /tmp. @@ -385,11 +386,11 @@ test_ipc_pipe_peer(void) #ifdef NNG_PLATFORM_POSIX // this test verifies that closing a socket peer // during negotiation is ok. - nng_socket s0, s1; - nng_msg *msg; - nng_pipe p; - uint64_t id; - char *addr; + nng_socket s0, s1; + nng_msg *msg; + nng_pipe p; + uint64_t id; + char *addr; NUTS_ADDR(addr, "ipc"); NUTS_OPEN(s0); @@ -432,7 +433,6 @@ test_ipc_pipe_peer(void) #endif // NNG_PLATFORM_POSIX } - TEST_LIST = { { "ipc path too long", test_path_too_long }, { "ipc dialer perms", test_ipc_dialer_perms }, @@ -447,4 +447,4 @@ TEST_LIST = { { "ipc unix alias", test_unix_alias }, { "ipc peer id", test_ipc_pipe_peer }, { NULL, NULL }, -};
\ No newline at end of file +}; |
