From 57a8db77891333b257d175c40008ca4b44af64c1 Mon Sep 17 00:00:00 2001 From: Jukka Rissanen Date: Tue, 2 Oct 2018 14:57:55 +0300 Subject: [PATCH] net: Use log_strdup() when printing debug strings As the debugging print calls are async, all the strings that might be overwritten must use log_strdup() which will create a copy of the printable string. Signed-off-by: Jukka Rissanen --- samples/net/coap_server/src/coap-server.c | 2 +- samples/net/dhcpv4_client/src/main.c | 13 +- samples/net/dns_resolve/src/main.c | 33 ++-- samples/net/gptp/src/main.c | 4 +- samples/net/ipv4_autoconf/src/main.c | 6 +- samples/net/nats/src/main.c | 2 +- samples/net/promiscuous_mode/src/main.c | 16 +- samples/net/rpl_border_router/src/http.c | 21 +-- samples/net/rpl_border_router/src/rpl.c | 14 +- samples/net/rpl_node/src/main.c | 2 +- samples/net/telnet/src/telnet.c | 21 ++- subsys/net/ip/connection.c | 21 +-- subsys/net/ip/dhcpv4.c | 20 +-- subsys/net/ip/icmpv4.c | 16 +- subsys/net/ip/icmpv6.c | 16 +- subsys/net/ip/ipv4.c | 4 +- subsys/net/ip/ipv4_autoconf.c | 6 +- subsys/net/ip/ipv6.c | 13 +- subsys/net/ip/ipv6_fragment.c | 4 +- subsys/net/ip/ipv6_mld.c | 6 +- subsys/net/ip/ipv6_nbr.c | 145 ++++++++++-------- subsys/net/ip/nbr.c | 6 +- subsys/net/ip/net_context.c | 12 +- subsys/net/ip/net_if.c | 73 +++++---- subsys/net/ip/route.c | 45 +++--- subsys/net/ip/rpl-of0.c | 6 +- subsys/net/ip/rpl.c | 162 +++++++++++--------- subsys/net/ip/tcp.c | 12 +- subsys/net/ip/utils.c | 12 +- subsys/net/l2/bluetooth/bluetooth.c | 11 +- subsys/net/l2/ethernet/arp.c | 29 ++-- subsys/net/l2/ethernet/ethernet.c | 27 ++-- subsys/net/l2/ethernet/gptp/gptp.c | 2 +- subsys/net/l2/ethernet/gptp/gptp_messages.c | 10 +- subsys/net/l2/openthread/openthread.c | 2 +- subsys/net/l2/openthread/openthread_utils.c | 29 ++-- subsys/net/lib/app/client.c | 9 +- subsys/net/lib/app/net_app.c | 11 +- subsys/net/lib/app/net_app_private.h | 2 +- subsys/net/lib/app/server.c | 12 +- subsys/net/lib/config/init.c | 23 +-- subsys/net/lib/dns/llmnr_responder.c | 15 +- subsys/net/lib/dns/mdns_responder.c | 8 +- subsys/net/lib/dns/resolve.c | 2 +- subsys/net/lib/http/http_client.c | 10 +- subsys/net/lib/sockets/sockets_tls.c | 3 +- 46 files changed, 513 insertions(+), 405 deletions(-) diff --git a/samples/net/coap_server/src/coap-server.c b/samples/net/coap_server/src/coap-server.c index edf4e65add7..38302560696 100644 --- a/samples/net/coap_server/src/coap-server.c +++ b/samples/net/coap_server/src/coap-server.c @@ -494,7 +494,7 @@ static int query_get(struct coap_resource *resource, memcpy(str, options[i].value, options[i].len); str[options[i].len] = '\0'; - NET_INFO("query[%d]: %s\n", i + 1, str); + NET_INFO("query[%d]: %s\n", i + 1, log_strdup(str)); } NET_INFO("*******\n"); diff --git a/samples/net/dhcpv4_client/src/main.c b/samples/net/dhcpv4_client/src/main.c index e0067c3c68e..96e86b4bfb5 100644 --- a/samples/net/dhcpv4_client/src/main.c +++ b/samples/net/dhcpv4_client/src/main.c @@ -41,18 +41,19 @@ static void handler(struct net_mgmt_event_callback *cb, } NET_INFO("Your address: %s", - net_addr_ntop(AF_INET, + log_strdup(net_addr_ntop(AF_INET, &iface->config.ip.ipv4->unicast[i].address.in_addr, - buf, sizeof(buf))); + buf, sizeof(buf)))); NET_INFO("Lease time: %u seconds", iface->config.dhcpv4.lease_time); NET_INFO("Subnet: %s", - net_addr_ntop(AF_INET, + log_strdup(net_addr_ntop(AF_INET, &iface->config.ip.ipv4->netmask, - buf, sizeof(buf))); + buf, sizeof(buf)))); NET_INFO("Router: %s", - net_addr_ntop(AF_INET, &iface->config.ip.ipv4->gw, - buf, sizeof(buf))); + log_strdup(net_addr_ntop(AF_INET, + &iface->config.ip.ipv4->gw, + buf, sizeof(buf)))); } } diff --git a/samples/net/dns_resolve/src/main.c b/samples/net/dns_resolve/src/main.c index aaaa37f81dc..f9fb2cc4aba 100644 --- a/samples/net/dns_resolve/src/main.c +++ b/samples/net/dns_resolve/src/main.c @@ -83,9 +83,10 @@ void dns_result_cb(enum dns_resolve_status status, return; } - NET_INFO("%s %s address: %s", user_data ? (char *)user_data : "", hr_family, - net_addr_ntop(info->ai_family, addr, - hr_addr, sizeof(hr_addr))); + NET_INFO("%s %s address: %s", user_data ? (char *)user_data : "", + hr_family, + log_strdup(net_addr_ntop(info->ai_family, addr, + hr_addr, sizeof(hr_addr)))); } void mdns_result_cb(enum dns_resolve_status status, @@ -131,9 +132,10 @@ void mdns_result_cb(enum dns_resolve_status status, return; } - NET_INFO("%s %s address: %s", user_data ? (char *)user_data : "", hr_family, - net_addr_ntop(info->ai_family, addr, - hr_addr, sizeof(hr_addr))); + NET_INFO("%s %s address: %s", user_data ? (char *)user_data : "", + hr_family, + log_strdup(net_addr_ntop(info->ai_family, addr, + hr_addr, sizeof(hr_addr)))); } #if defined(CONFIG_NET_DHCPV4) @@ -180,17 +182,19 @@ static void ipv4_addr_add_handler(struct net_mgmt_event_callback *cb, } NET_INFO("IPv4 address: %s", - net_addr_ntop(AF_INET, &if_addr->address.in_addr, - hr_addr, NET_IPV4_ADDR_LEN)); + log_strdup(net_addr_ntop(AF_INET, + &if_addr->address.in_addr, + hr_addr, NET_IPV4_ADDR_LEN))); NET_INFO("Lease time: %u seconds", iface->config.dhcpv4.lease_time); NET_INFO("Subnet: %s", - net_addr_ntop(AF_INET, - &iface->config.ip.ipv4->netmask, - hr_addr, NET_IPV4_ADDR_LEN)); + log_strdup(net_addr_ntop(AF_INET, + &iface->config.ip.ipv4->netmask, + hr_addr, NET_IPV4_ADDR_LEN))); NET_INFO("Router: %s", - net_addr_ntop(AF_INET, &iface->config.ip.ipv4->gw, - hr_addr, NET_IPV4_ADDR_LEN)); + log_strdup(net_addr_ntop(AF_INET, + &iface->config.ip.ipv4->gw, + hr_addr, NET_IPV4_ADDR_LEN))); break; } @@ -265,7 +269,8 @@ static void setup_ipv4(struct net_if *iface) net_if_ipv4_addr_add(iface, &addr, NET_ADDR_MANUAL, 0); NET_INFO("IPv4 address: %s", - net_addr_ntop(AF_INET, &addr, hr_addr, NET_IPV4_ADDR_LEN)); + log_strdup(net_addr_ntop(AF_INET, &addr, hr_addr, + NET_IPV4_ADDR_LEN))); ret = dns_get_addr_info(query, DNS_QUERY_TYPE_A, diff --git a/samples/net/gptp/src/main.c b/samples/net/gptp/src/main.c index 9f49ea7c827..1f648007152 100644 --- a/samples/net/gptp/src/main.c +++ b/samples/net/gptp/src/main.c @@ -135,8 +135,8 @@ static void gptp_phase_dis_cb(u8_t *gm_identity, memcpy(id, gm_identity, sizeof(id)); NET_DBG("GM %s last phase %d.%lld", - gptp_sprint_clock_id(gm_identity, output, - sizeof(output)), + log_strdup(gptp_sprint_clock_id(gm_identity, output, + sizeof(output))), last_gm_ph_change->high, last_gm_ph_change->low); } diff --git a/samples/net/ipv4_autoconf/src/main.c b/samples/net/ipv4_autoconf/src/main.c index eefb0dd09b3..592418e2541 100644 --- a/samples/net/ipv4_autoconf/src/main.c +++ b/samples/net/ipv4_autoconf/src/main.c @@ -46,9 +46,9 @@ static void handler(struct net_mgmt_event_callback *cb, } NET_INFO("Your address: %s", - net_addr_ntop(AF_INET, - &cfg->ip.ipv4->unicast[i].address.in_addr, - buf, sizeof(buf))); + log_strdup(net_addr_ntop(AF_INET, + &cfg->ip.ipv4->unicast[i].address.in_addr, + buf, sizeof(buf)))); } } diff --git a/samples/net/nats/src/main.c b/samples/net/nats/src/main.c index 9fddfdc9848..fc98e5e77d6 100644 --- a/samples/net/nats/src/main.c +++ b/samples/net/nats/src/main.c @@ -106,7 +106,7 @@ static int in_addr_set(sa_family_t family, } if (rc < 0) { - NET_ERR("Invalid IP address: %s", ip_addr); + NET_ERR("Invalid IP address: %s", log_strdup(ip_addr)); return -EINVAL; } } diff --git a/samples/net/promiscuous_mode/src/main.c b/samples/net/promiscuous_mode/src/main.c index b8c34a49cd6..16c57f34299 100644 --- a/samples/net/promiscuous_mode/src/main.c +++ b/samples/net/promiscuous_mode/src/main.c @@ -115,20 +115,24 @@ static void print_info(struct net_pkt *pkt) if (family == AF_INET) { if (next_hdr == IPPROTO_TCP || next_hdr == IPPROTO_UDP) { NET_INFO("%s %s (%zd) %s:%u -> %s:%u", - "IPv4", proto, len, src_addr, src_port, - dst_addr, dst_port); + "IPv4", proto, len, + log_strdup(src_addr), src_port, + log_strdup(dst_addr), dst_port); } else { NET_INFO("%s %s (%zd) %s -> %s", "IPv4", proto, - len, src_addr, dst_addr); + len, log_strdup(src_addr), + log_strdup(dst_addr)); } } else { if (next_hdr == IPPROTO_TCP || next_hdr == IPPROTO_UDP) { NET_INFO("%s %s (%zd) [%s]:%u -> [%s]:%u", - "IPv6", proto, len, src_addr, src_port, - dst_addr, dst_port); + "IPv6", proto, len, + log_strdup(src_addr), src_port, + log_strdup(dst_addr), dst_port); } else { NET_INFO("%s %s (%zd) %s -> %s", "IPv6", proto, - len, src_addr, dst_addr); + len, log_strdup(src_addr), + log_strdup(dst_addr)); } } } diff --git a/samples/net/rpl_border_router/src/http.c b/samples/net/rpl_border_router/src/http.c index c60c4dc5236..9919580f23a 100644 --- a/samples/net/rpl_border_router/src/http.c +++ b/samples/net/rpl_border_router/src/http.c @@ -1798,7 +1798,8 @@ static void mgmt_cb(struct net_mgmt_event_callback *cb, return; } - NET_DBG("NBR add %s", net_sprint_ipv6_addr(&nbr_info->addr)); + NET_DBG("NBR add %s", + log_strdup(net_sprint_ipv6_addr(&nbr_info->addr))); ret = send_ipv6_neighbors(&http_ctx, ws_dst, nbr); if (ret < 0) { @@ -1812,7 +1813,8 @@ static void mgmt_cb(struct net_mgmt_event_callback *cb, return; } - NET_DBG("NBR del %s", net_sprint_ipv6_addr(&nbr_info->addr)); + NET_DBG("NBR del %s", + log_strdup(net_sprint_ipv6_addr(&nbr_info->addr))); ret = send_ipv6_neighbor_deletion(&http_ctx, ws_dst, iface, &nbr_info->addr); @@ -1834,11 +1836,12 @@ static void mgmt_cb(struct net_mgmt_event_callback *cb, } NET_DBG("ROUTE add addr %s/%d", - net_sprint_ipv6_addr(&route_info->addr), + log_strdup(net_sprint_ipv6_addr(&route_info->addr)), route_info->prefix_len); { NET_DBG("ROUTE add nexthop %s", - net_sprint_ipv6_addr(&route_info->nexthop)); + log_strdup(net_sprint_ipv6_addr( + &route_info->nexthop))); } @@ -1858,13 +1861,11 @@ static void mgmt_cb(struct net_mgmt_event_callback *cb, } NET_DBG("ROUTE del addr %s/%d", - net_sprint_ipv6_addr(&route_info->addr), + log_strdup(net_sprint_ipv6_addr(&route_info->addr)), route_info->prefix_len); - { - NET_DBG("ROUTE del nexthop %s", - net_sprint_ipv6_addr(&route_info->nexthop)); - - } + NET_DBG("ROUTE del nexthop %s", + log_strdup(net_sprint_ipv6_addr( + &route_info->nexthop))); ret = send_ipv6_route_deletion(&http_ctx, ws_dst, iface, route_info); diff --git a/samples/net/rpl_border_router/src/rpl.c b/samples/net/rpl_border_router/src/rpl.c index 3e7707a92e6..f162df2b5ed 100644 --- a/samples/net/rpl_border_router/src/rpl.c +++ b/samples/net/rpl_border_router/src/rpl.c @@ -53,7 +53,7 @@ static bool br_join_dag(struct net_rpl_dio *dio) NET_DBG("Other root %s, me %s, " "DIO version %d instance %d", - other, me, + log_strdup(other), log_strdup(me), dio->version, dio->instance_id); } } @@ -84,12 +84,12 @@ bool setup_rpl(struct net_if *iface, const char *addr_prefix) } if (rpl.prefix_len == 0) { - NET_ERR("Invalid prefix length %s", slash + 1); + NET_ERR("Invalid prefix length %s", log_strdup(slash + 1)); return false; } if (net_addr_pton(AF_INET6, prefix, &rpl.prefix) < 0) { - NET_ERR("Invalid IPv6 prefix %s", prefix); + NET_ERR("Invalid IPv6 prefix %s", log_strdup(prefix)); return false; } @@ -114,7 +114,8 @@ bool setup_rpl(struct net_if *iface, const char *addr_prefix) ret = net_rpl_set_prefix(iface, dag, &rpl.prefix, rpl.prefix_len); if (!ret) { - NET_ERR("Cannot set prefix %s/%d", prefix, rpl.prefix_len); + NET_ERR("Cannot set prefix %s/%d", log_strdup(prefix), + rpl.prefix_len); return false; } @@ -125,10 +126,11 @@ bool setup_rpl(struct net_if *iface, const char *addr_prefix) NET_IPV6_ADDR_LEN)) { if (rpl.dag_has_version) { NET_DBG("New RPL dag %s/%d version %u created", - out, rpl.prefix_len, + log_strdup(out), rpl.prefix_len, rpl.dag_init_version); } else { - NET_DBG("New RPL dag %s/%d created", out, + NET_DBG("New RPL dag %s/%d created", + log_strdup(out), rpl.prefix_len); } } diff --git a/samples/net/rpl_node/src/main.c b/samples/net/rpl_node/src/main.c index d74ecd86fcc..0943577fca8 100644 --- a/samples/net/rpl_node/src/main.c +++ b/samples/net/rpl_node/src/main.c @@ -236,7 +236,7 @@ static int append_rpl_parent(struct coap_packet *response) parent = net_rpl_get_parent_addr(net_pkt_iface(response->pkt), rpl->current_dag->preferred_parent); pos = snprintk(&out[out_len], sizeof(out), "%s", - net_sprint_ipv6_addr(parent)); + log_strdup(net_sprint_ipv6_addr(parent))); out_len += pos; } diff --git a/samples/net/telnet/src/telnet.c b/samples/net/telnet/src/telnet.c index 8bb69b56e35..8a9822e5bf2 100644 --- a/samples/net/telnet/src/telnet.c +++ b/samples/net/telnet/src/telnet.c @@ -40,16 +40,19 @@ static void ipv4_addr_add_handler(struct net_mgmt_event_callback *cb, } NET_INFO("IPv4 address: %s", - net_addr_ntop(AF_INET, &if_addr->address.in_addr, - hr_addr, NET_IPV4_ADDR_LEN)); + log_strdup(net_addr_ntop(AF_INET, + &if_addr->address.in_addr, + hr_addr, NET_IPV4_ADDR_LEN))); NET_INFO("Lease time: %u seconds", iface->config.dhcpv4.lease_time); NET_INFO("Subnet: %s", - net_addr_ntop(AF_INET, &iface->config.ip.ipv4->netmask, - hr_addr, NET_IPV4_ADDR_LEN)); + log_strdup(net_addr_ntop(AF_INET, + &iface->config.ip.ipv4->netmask, + hr_addr, NET_IPV4_ADDR_LEN))); NET_INFO("Router: %s", - net_addr_ntop(AF_INET, &iface->config.ip.ipv4->gw, - hr_addr, NET_IPV4_ADDR_LEN)); + log_strdup(net_addr_ntop(AF_INET, + &iface->config.ip.ipv4->gw, + hr_addr, NET_IPV4_ADDR_LEN))); break; } } @@ -88,7 +91,8 @@ static void setup_ipv4(struct net_if *iface) net_if_ipv4_addr_add(iface, &addr, NET_ADDR_MANUAL, 0); NET_INFO("IPv4 address: %s", - net_addr_ntop(AF_INET, &addr, hr_addr, NET_IPV4_ADDR_LEN)); + log_strdup(net_addr_ntop(AF_INET, &addr, hr_addr, + NET_IPV4_ADDR_LEN))); } #else @@ -116,7 +120,8 @@ static void setup_ipv6(struct net_if *iface) net_if_ipv6_addr_add(iface, &addr, NET_ADDR_MANUAL, 0); NET_INFO("IPv6 address: %s", - net_addr_ntop(AF_INET6, &addr, hr_addr, NET_IPV6_ADDR_LEN)); + log_strdup(net_addr_ntop(AF_INET6, &addr, hr_addr, + NET_IPV6_ADDR_LEN))); if (net_addr_pton(AF_INET6, MCAST_IP6ADDR, &addr)) { NET_ERR("Invalid address: %s", MCAST_IP6ADDR); diff --git a/subsys/net/ip/connection.c b/subsys/net/ip/connection.c index 7d25b1f336d..0ee05791942 100644 --- a/subsys/net/ip/connection.c +++ b/subsys/net/ip/connection.c @@ -397,8 +397,8 @@ void prepare_register_debug_print(char *dst, int dst_len, if (remote_addr && remote_addr->sa_family == AF_INET6) { if (IS_ENABLED(CONFIG_NET_IPV6)) { snprintk(dst, dst_len, "%s", - net_sprint_ipv6_addr(&net_sin6(remote_addr)-> - sin6_addr)); + log_strdup(net_sprint_ipv6_addr( + &net_sin6(remote_addr)->sin6_addr))); } else { snprintk(dst, dst_len, "%s", "?"); } @@ -406,8 +406,8 @@ void prepare_register_debug_print(char *dst, int dst_len, } else if (remote_addr && remote_addr->sa_family == AF_INET) { if (IS_ENABLED(CONFIG_NET_IPV4)) { snprintk(dst, dst_len, "%s", - net_sprint_ipv4_addr(&net_sin(remote_addr)-> - sin_addr)); + log_strdup(net_sprint_ipv4_addr( + &net_sin(remote_addr)->sin_addr))); } else { snprintk(dst, dst_len, "%s", "?"); } @@ -419,8 +419,8 @@ void prepare_register_debug_print(char *dst, int dst_len, if (local_addr && local_addr->sa_family == AF_INET6) { if (IS_ENABLED(CONFIG_NET_IPV6)) { snprintk(src, src_len, "%s", - net_sprint_ipv6_addr(&net_sin6(local_addr)-> - sin6_addr)); + log_strdup(net_sprint_ipv6_addr( + &net_sin6(local_addr)->sin6_addr))); } else { snprintk(src, src_len, "%s", "?"); } @@ -428,8 +428,8 @@ void prepare_register_debug_print(char *dst, int dst_len, } else if (local_addr && local_addr->sa_family == AF_INET) { if (IS_ENABLED(CONFIG_NET_IPV4)) { snprintk(src, src_len, "%s", - net_sprint_ipv4_addr(&net_sin(local_addr)-> - sin_addr)); + log_strdup(net_sprint_ipv4_addr( + &net_sin(local_addr)->sin_addr))); } else { snprintk(src, src_len, "%s", "?"); } @@ -686,9 +686,10 @@ int net_conn_register(enum net_ip_protocol proto, NET_DBG("[%d/%d/%u/0x%02x] remote %p/%s/%u ", i, local_addr ? local_addr->sa_family : AF_UNSPEC, - proto, rank, remote_addr, dst, remote_port); + proto, rank, remote_addr, log_strdup(dst), + remote_port); NET_DBG(" local %p/%s/%u cb %p ud %p", - local_addr, src, local_port, + local_addr, log_strdup(src), local_port, cb, user_data); } diff --git a/subsys/net/ip/dhcpv4.c b/subsys/net/ip/dhcpv4.c index 2949655796b..c38053d686b 100644 --- a/subsys/net/ip/dhcpv4.c +++ b/subsys/net/ip/dhcpv4.c @@ -318,9 +318,10 @@ static u32_t dhcpv4_send_request(struct net_if *iface) iface->config.dhcpv4.attempts++; NET_DBG("send request dst=%s xid=0x%x ciaddr=%s%s%s timeout=%us", - net_sprint_ipv4_addr(server_addr), + log_strdup(net_sprint_ipv4_addr(server_addr)), iface->config.dhcpv4.xid, - ciaddr ? net_sprint_ipv4_addr(ciaddr) : "", + ciaddr ? + log_strdup(net_sprint_ipv4_addr(ciaddr)) : "", with_server_id ? " +server-id" : "", with_requested_ip ? " +requested-ip" : "", timeout); @@ -649,7 +650,7 @@ static enum net_verdict dhcpv4_parse_options(struct net_if *iface, net_if_ipv4_set_netmask(iface, &netmask); NET_DBG("options_subnet_mask %s", - net_sprint_ipv4_addr(&netmask)); + log_strdup(net_sprint_ipv4_addr(&netmask))); break; } case DHCPV4_OPTIONS_ROUTER: { @@ -674,7 +675,7 @@ static enum net_verdict dhcpv4_parse_options(struct net_if *iface, } NET_DBG("options_router: %s", - net_sprint_ipv4_addr(&router)); + log_strdup(net_sprint_ipv4_addr(&router))); net_if_ipv4_set_gw(iface, &router); break; } @@ -777,8 +778,8 @@ static enum net_verdict dhcpv4_parse_options(struct net_if *iface, frag = net_frag_read(frag, pos, &pos, length, iface->config.dhcpv4.server_id.s4_addr); NET_DBG("options_server_id: %s", - net_sprint_ipv4_addr( - &iface->config.dhcpv4.server_id)); + log_strdup(net_sprint_ipv4_addr( + &iface->config.dhcpv4.server_id))); break; case DHCPV4_OPTIONS_MSG_TYPE: { u8_t v; @@ -833,8 +834,8 @@ static void dhcpv4_handle_msg_ack(struct net_if *iface) break; case NET_DHCPV4_REQUESTING: NET_INFO("Received: %s", - net_sprint_ipv4_addr( - &iface->config.dhcpv4.requested_ip)); + log_strdup(net_sprint_ipv4_addr( + &iface->config.dhcpv4.requested_ip))); if (!net_if_ipv4_addr_add(iface, &iface->config.dhcpv4.requested_ip, @@ -941,7 +942,8 @@ static enum net_verdict net_dhcpv4_input(struct net_conn *conn, NET_DBG("Received dhcp msg [op=0x%x htype=0x%x hlen=%u xid=0x%x " "secs=%u flags=0x%x chaddr=%s", msg->op, msg->htype, msg->hlen, ntohl(msg->xid), - msg->secs, msg->flags, net_sprint_ll_addr(msg->chaddr, 6)); + msg->secs, msg->flags, + log_strdup(net_sprint_ll_addr(msg->chaddr, 6))); NET_DBG(" ciaddr=%d.%d.%d.%d", msg->ciaddr[0], msg->ciaddr[1], msg->ciaddr[2], msg->ciaddr[3]); NET_DBG(" yiaddr=%d.%d.%d.%d", diff --git a/subsys/net/ip/icmpv4.c b/subsys/net/ip/icmpv4.c index d7f1f9db3fc..7bb6c996c66 100644 --- a/subsys/net/ip/icmpv4.c +++ b/subsys/net/ip/icmpv4.c @@ -105,8 +105,8 @@ static inline enum net_verdict icmpv4_handle_echo_request(struct net_pkt *pkt) int ret; NET_DBG("Received Echo Request from %s to %s", - net_sprint_ipv4_addr(&NET_IPV4_HDR(pkt)->src), - net_sprint_ipv4_addr(&NET_IPV4_HDR(pkt)->dst)); + log_strdup(net_sprint_ipv4_addr(&NET_IPV4_HDR(pkt)->src)), + log_strdup(net_sprint_ipv4_addr(&NET_IPV4_HDR(pkt)->dst))); net_ipaddr_copy(&addr, &NET_IPV4_HDR(pkt)->src); net_ipaddr_copy(&NET_IPV4_HDR(pkt)->src, @@ -127,8 +127,8 @@ static inline enum net_verdict icmpv4_handle_echo_request(struct net_pkt *pkt) } NET_DBG("Sending Echo Reply from %s to %s", - net_sprint_ipv4_addr(&NET_IPV4_HDR(pkt)->src), - net_sprint_ipv4_addr(&NET_IPV4_HDR(pkt)->dst)); + log_strdup(net_sprint_ipv4_addr(&NET_IPV4_HDR(pkt)->src)), + log_strdup(net_sprint_ipv4_addr(&NET_IPV4_HDR(pkt)->dst))); if (net_send_data(pkt) < 0) { net_stats_update_icmp_drop(net_pkt_iface(pkt)); @@ -204,8 +204,8 @@ int net_icmpv4_send_echo_request(struct net_if *iface, NET_DBG("Sending ICMPv4 Echo Request type %d from %s to %s", NET_ICMPV4_ECHO_REQUEST, - net_sprint_ipv4_addr(&NET_IPV4_HDR(pkt)->src), - net_sprint_ipv4_addr(&NET_IPV4_HDR(pkt)->dst)); + log_strdup(net_sprint_ipv4_addr(&NET_IPV4_HDR(pkt)->src)), + log_strdup(net_sprint_ipv4_addr(&NET_IPV4_HDR(pkt)->dst))); if (net_send_data(pkt) >= 0) { net_stats_update_icmp_sent(iface); @@ -303,8 +303,8 @@ int net_icmpv4_send_error(struct net_pkt *orig, u8_t type, u8_t code) NET_DBG("Sending ICMPv4 Error Message type %d code %d from %s to %s", type, code, - net_sprint_ipv4_addr(&NET_IPV4_HDR(pkt)->src), - net_sprint_ipv4_addr(&NET_IPV4_HDR(pkt)->dst)); + log_strdup(net_sprint_ipv4_addr(&NET_IPV4_HDR(pkt)->src)), + log_strdup(net_sprint_ipv4_addr(&NET_IPV4_HDR(pkt)->dst))); if (net_send_data(pkt) >= 0) { net_stats_update_icmp_sent(iface); diff --git a/subsys/net/ip/icmpv6.c b/subsys/net/ip/icmpv6.c index 1028d181f8e..f639565f58c 100644 --- a/subsys/net/ip/icmpv6.c +++ b/subsys/net/ip/icmpv6.c @@ -299,8 +299,8 @@ static enum net_verdict handle_echo_request(struct net_pkt *orig) int ret; NET_DBG("Received Echo Request from %s to %s", - net_sprint_ipv6_addr(&NET_IPV6_HDR(orig)->src), - net_sprint_ipv6_addr(&NET_IPV6_HDR(orig)->dst)); + log_strdup(net_sprint_ipv6_addr(&NET_IPV6_HDR(orig)->src)), + log_strdup(net_sprint_ipv6_addr(&NET_IPV6_HDR(orig)->dst))); iface = net_pkt_iface(orig); @@ -382,8 +382,8 @@ static enum net_verdict handle_echo_request(struct net_pkt *orig) net_icmpv6_set_chksum(pkt); NET_DBG("Sending Echo Reply from %s to %s", - net_sprint_ipv6_addr(&NET_IPV6_HDR(pkt)->src), - net_sprint_ipv6_addr(&NET_IPV6_HDR(pkt)->dst)); + log_strdup(net_sprint_ipv6_addr(&NET_IPV6_HDR(pkt)->src)), + log_strdup(net_sprint_ipv6_addr(&NET_IPV6_HDR(pkt)->dst))); if (net_send_data(pkt) < 0) { goto drop; @@ -509,8 +509,8 @@ int net_icmpv6_send_error(struct net_pkt *orig, u8_t type, u8_t code, NET_DBG("Sending ICMPv6 Error Message type %d code %d param %d" " from %s to %s", type, code, param, - net_sprint_ipv6_addr(&NET_IPV6_HDR(pkt)->src), - net_sprint_ipv6_addr(&NET_IPV6_HDR(pkt)->dst)); + log_strdup(net_sprint_ipv6_addr(&NET_IPV6_HDR(pkt)->src)), + log_strdup(net_sprint_ipv6_addr(&NET_IPV6_HDR(pkt)->dst))); if (net_send_data(pkt) >= 0) { net_stats_update_icmp_sent(iface); @@ -576,8 +576,8 @@ int net_icmpv6_send_echo_request(struct net_if *iface, NET_DBG("Sending ICMPv6 Echo Request type %d from %s to %s", NET_ICMPV6_ECHO_REQUEST, - net_sprint_ipv6_addr(&NET_IPV6_HDR(pkt)->src), - net_sprint_ipv6_addr(&NET_IPV6_HDR(pkt)->dst)); + log_strdup(net_sprint_ipv6_addr(&NET_IPV6_HDR(pkt)->src)), + log_strdup(net_sprint_ipv6_addr(&NET_IPV6_HDR(pkt)->dst))); if (net_send_data(pkt) >= 0) { net_stats_update_icmp_sent(iface); diff --git a/subsys/net/ip/ipv4.c b/subsys/net/ip/ipv4.c index f4c48bec14f..96cb308b899 100644 --- a/subsys/net/ip/ipv4.c +++ b/subsys/net/ip/ipv4.c @@ -123,8 +123,8 @@ enum net_verdict net_ipv4_process_pkt(struct net_pkt *pkt) } NET_DBG("IPv4 packet received from %s to %s", - net_sprint_ipv4_addr(&hdr->src), - net_sprint_ipv4_addr(&hdr->dst)); + log_strdup(net_sprint_ipv4_addr(&hdr->src)), + log_strdup(net_sprint_ipv4_addr(&hdr->dst))); net_pkt_set_ip_hdr_len(pkt, sizeof(struct net_ipv4_hdr)); net_pkt_set_ipv4_ttl(pkt, NET_IPV4_HDR(pkt)->ttl); diff --git a/subsys/net/ip/ipv4_autoconf.c b/subsys/net/ip/ipv4_autoconf.c index a143940864d..6ccbfc3305a 100644 --- a/subsys/net/ip/ipv4_autoconf.c +++ b/subsys/net/ip/ipv4_autoconf.c @@ -139,9 +139,9 @@ enum net_verdict net_ipv4_autoconf_input(struct net_if *iface, } NET_DBG("Conflict detected from %s for %s, state %d", - net_sprint_ll_addr((u8_t *)&arp_hdr->src_hwaddr, - arp_hdr->hwlen), - net_sprint_ipv4_addr(&arp_hdr->dst_ipaddr), + log_strdup(net_sprint_ll_addr((u8_t *)&arp_hdr->src_hwaddr, + arp_hdr->hwlen)), + log_strdup(net_sprint_ipv4_addr(&arp_hdr->dst_ipaddr)), cfg->ipv4auto.state); cfg->ipv4auto.conflict_cnt++; diff --git a/subsys/net/ip/ipv6.c b/subsys/net/ip/ipv6.c index b4e43225c70..5455351b67c 100644 --- a/subsys/net/ip/ipv6.c +++ b/subsys/net/ip/ipv6.c @@ -336,7 +336,7 @@ static struct net_route_entry *add_route(struct net_if *iface, route = net_route_add(iface, addr, prefix_len, addr); NET_DBG("%s route to %s/%d iface %p", route ? "Add" : "Cannot add", - net_sprint_ipv6_addr(addr), prefix_len, iface); + log_strdup(net_sprint_ipv6_addr(addr)), prefix_len, iface); return route; } @@ -347,7 +347,8 @@ static void no_route_info(struct net_pkt *pkt, struct in6_addr *dst) { NET_DBG("Will not route pkt %p ll src %s to dst %s between interfaces", - pkt, net_sprint_ipv6_addr(src), net_sprint_ipv6_addr(dst)); + pkt, log_strdup(net_sprint_ipv6_addr(src)), + log_strdup(net_sprint_ipv6_addr(dst))); } #if defined(CONFIG_NET_ROUTE) @@ -405,14 +406,14 @@ static enum net_verdict route_ipv6_packet(struct net_pkt *pkt, if (ret < 0) { NET_DBG("Cannot re-route pkt %p via %s " "at iface %p (%d)", - pkt, net_sprint_ipv6_addr(nexthop), + pkt, log_strdup(net_sprint_ipv6_addr(nexthop)), net_pkt_iface(pkt), ret); } else { return NET_OK; } } else { NET_DBG("No route to %s pkt %p dropped", - net_sprint_ipv6_addr(&hdr->dst), pkt); + log_strdup(net_sprint_ipv6_addr(&hdr->dst)), pkt); } drop: @@ -441,8 +442,8 @@ enum net_verdict net_ipv6_process_pkt(struct net_pkt *pkt) } NET_DBG("IPv6 packet len %d received from %s to %s", real_len, - net_sprint_ipv6_addr(&hdr->src), - net_sprint_ipv6_addr(&hdr->dst)); + log_strdup(net_sprint_ipv6_addr(&hdr->src)), + log_strdup(net_sprint_ipv6_addr(&hdr->dst))); if (net_is_ipv6_addr_mcast(&hdr->src)) { NET_DBG("Dropping src multicast packet"); diff --git a/subsys/net/ip/ipv6_fragment.c b/subsys/net/ip/ipv6_fragment.c index 72ad0d6a4fb..ee7760eb713 100644 --- a/subsys/net/ip/ipv6_fragment.c +++ b/subsys/net/ip/ipv6_fragment.c @@ -269,8 +269,8 @@ static void reassembly_info(char *str, struct net_ipv6_reassembly *reass) } NET_DBG("%s id 0x%x src %s dst %s remain %d ms len %d", str, reass->id, - net_sprint_ipv6_addr(&reass->src), - net_sprint_ipv6_addr(&reass->dst), + log_strdup(net_sprint_ipv6_addr(&reass->src)), + log_strdup(net_sprint_ipv6_addr(&reass->dst)), k_delayed_work_remaining_get(&reass->timer), len); } diff --git a/subsys/net/ip/ipv6_mld.c b/subsys/net/ip/ipv6_mld.c index 0a9aad6483f..42462ebb5f0 100644 --- a/subsys/net/ip/ipv6_mld.c +++ b/subsys/net/ip/ipv6_mld.c @@ -296,8 +296,8 @@ drop: #define dbg_addr(action, pkt_str, src, dst) \ do { \ NET_DBG("%s %s from %s to %s", action, pkt_str, \ - net_sprint_ipv6_addr(src), \ - net_sprint_ipv6_addr(dst)); \ + log_strdup(net_sprint_ipv6_addr(src)), \ + log_strdup(net_sprint_ipv6_addr(dst))); \ } while (0) #define dbg_addr_recv(pkt_str, src, dst) \ @@ -354,7 +354,7 @@ static enum net_verdict handle_mld_query(struct net_pkt *pkt) /* Currently we only support a unspecified address query. */ if (!net_ipv6_addr_cmp(&mcast, net_ipv6_unspecified_address())) { NET_DBG("Only supporting unspecified address query (%s)", - net_sprint_ipv6_addr(&mcast)); + log_strdup(net_sprint_ipv6_addr(&mcast))); goto drop; } diff --git a/subsys/net/ip/ipv6_nbr.c b/subsys/net/ip/ipv6_nbr.c index d0ecb45d271..8df914aeb60 100644 --- a/subsys/net/ip/ipv6_nbr.c +++ b/subsys/net/ip/ipv6_nbr.c @@ -236,10 +236,11 @@ void nbr_print(void) net_ipv6_nbr_data(nbr)->pending, nbr->iface, nbr->idx, nbr->idx == NET_NBR_LLADDR_UNKNOWN ? "?" : - net_sprint_ll_addr( + log_strdup(net_sprint_ll_addr( net_nbr_get_lladdr(nbr->idx)->addr, - net_nbr_get_lladdr(nbr->idx)->len), - net_sprint_ipv6_addr(&net_ipv6_nbr_data(nbr)->addr)); + net_nbr_get_lladdr(nbr->idx)->len)), + log_strdup(net_sprint_ipv6_addr( + &net_ipv6_nbr_data(nbr)->addr))); } } #else @@ -376,8 +377,8 @@ static void ipv6_ns_reply_timeout(struct k_work *work) NET_DBG("NS nbr %p pending %p timeout to %s", nbr, data->pending, - net_sprint_ipv6_addr( - &NET_IPV6_HDR(data->pending)->dst)); + log_strdup(net_sprint_ipv6_addr( + &NET_IPV6_HDR(data->pending)->dst))); /* To unref when pending variable was set */ net_pkt_unref(data->pending); @@ -423,7 +424,8 @@ static struct net_nbr *nbr_new(struct net_if *iface, nbr_init(nbr, iface, addr, true, state); NET_DBG("nbr %p iface %p state %d IPv6 %s", - nbr, iface, state, net_sprint_ipv6_addr(addr)); + nbr, iface, state, + log_strdup(net_sprint_ipv6_addr(addr))); return nbr; } @@ -438,9 +440,10 @@ static void dbg_update_neighbor_lladdr(struct net_linkaddr *new_lladdr, net_sprint_ll_addr(old_lladdr->addr, old_lladdr->len)); NET_DBG("Updating neighbor %s lladdr %s (was %s)", - net_sprint_ipv6_addr(addr), - net_sprint_ll_addr(new_lladdr->addr, new_lladdr->len), - out); + log_strdup(net_sprint_ipv6_addr(addr)), + log_strdup(net_sprint_ll_addr(new_lladdr->addr, + new_lladdr->len)), + log_strdup(out)); } static void dbg_update_neighbor_lladdr_raw(u8_t *new_lladdr, @@ -458,8 +461,8 @@ static void dbg_update_neighbor_lladdr_raw(u8_t *new_lladdr, #define dbg_addr(action, pkt_str, src, dst) \ do { \ NET_DBG("%s %s from %s to %s", action, pkt_str, \ - net_sprint_ipv6_addr(src), \ - net_sprint_ipv6_addr(dst)); \ + log_strdup(net_sprint_ipv6_addr(src)), \ + log_strdup(net_sprint_ipv6_addr(dst))); \ } while (0) #define dbg_addr_recv(pkt_str, src, dst) \ @@ -472,9 +475,9 @@ static void dbg_update_neighbor_lladdr_raw(u8_t *new_lladdr, do { \ NET_DBG("%s %s from %s to %s, target %s", action, \ pkt_str, \ - net_sprint_ipv6_addr(src), \ - net_sprint_ipv6_addr(dst), \ - net_sprint_ipv6_addr(target)); \ + log_strdup(net_sprint_ipv6_addr(src)), \ + log_strdup(net_sprint_ipv6_addr(dst)), \ + log_strdup(net_sprint_ipv6_addr(target))); \ } while (0) #define dbg_addr_recv_tgt(pkt_str, src, dst, tgt) \ @@ -500,8 +503,9 @@ struct net_nbr *net_ipv6_nbr_add(struct net_if *iface, nbr = nbr_new(iface, addr, is_router, state); if (!nbr) { NET_ERR("Could not add router neighbor %s [%s]", - net_sprint_ipv6_addr(addr), - net_sprint_ll_addr(lladdr->addr, lladdr->len)); + log_strdup(net_sprint_ipv6_addr(addr)), + log_strdup(net_sprint_ll_addr(lladdr->addr, + lladdr->len))); return NULL; } } @@ -538,8 +542,8 @@ struct net_nbr *net_ipv6_nbr_add(struct net_if *iface, NET_DBG("[%d] nbr %p state %d router %d IPv6 %s ll %s iface %p", nbr->idx, nbr, state, is_router, - net_sprint_ipv6_addr(addr), - net_sprint_ll_addr(lladdr->addr, lladdr->len), + log_strdup(net_sprint_ipv6_addr(addr)), + log_strdup(net_sprint_ll_addr(lladdr->addr, lladdr->len)), nbr->iface); #if defined(CONFIG_NET_MGMT_EVENT_INFO) @@ -672,15 +676,19 @@ static struct net_pkt *update_ll_reserve(struct net_pkt *pkt, */ if (0) { NET_DBG("ll src %s", - net_sprint_ll_addr(net_pkt_lladdr_src(pkt)->addr, - net_pkt_lladdr_src(pkt)->len)); + log_strdup(net_sprint_ll_addr( + net_pkt_lladdr_src(pkt)->addr, + net_pkt_lladdr_src(pkt)->len))); NET_DBG("ll dst %s", - net_sprint_ll_addr(net_pkt_lladdr_dst(pkt)->addr, - net_pkt_lladdr_dst(pkt)->len)); + log_strdup(net_sprint_ll_addr( + net_pkt_lladdr_dst(pkt)->addr, + net_pkt_lladdr_dst(pkt)->len))); NET_DBG("ip src %s", - net_sprint_ipv6_addr(&NET_IPV6_HDR(pkt)->src)); + log_strdup(net_sprint_ipv6_addr( + &NET_IPV6_HDR(pkt)->src))); NET_DBG("ip dst %s", - net_sprint_ipv6_addr(&NET_IPV6_HDR(pkt)->dst)); + log_strdup(net_sprint_ipv6_addr( + &NET_IPV6_HDR(pkt)->dst))); } net_pkt_set_ll_reserve(pkt, reserve); @@ -755,7 +763,8 @@ static struct in6_addr *check_route(struct net_if *iface, nexthop = net_route_get_nexthop(route); NET_DBG("Route %p nexthop %s", route, - nexthop ? net_sprint_ipv6_addr(nexthop) : ""); + nexthop ? log_strdup(net_sprint_ipv6_addr(nexthop)) : + ""); if (!nexthop) { net_route_del(route); @@ -763,7 +772,7 @@ static struct in6_addr *check_route(struct net_if *iface, net_rpl_global_repair(route); NET_DBG("No route to host %s", - net_sprint_ipv6_addr(dst)); + log_strdup(net_sprint_ipv6_addr(dst))); return NULL; } @@ -774,7 +783,7 @@ static struct in6_addr *check_route(struct net_if *iface, router = net_if_ipv6_router_find_default(NULL, dst); if (!router) { NET_DBG("No default route to %s", - net_sprint_ipv6_addr(dst)); + log_strdup(net_sprint_ipv6_addr(dst))); /* Try to send the packet anyway */ nexthop = dst; @@ -788,7 +797,7 @@ static struct in6_addr *check_route(struct net_if *iface, nexthop = &router->address.in6_addr; NET_DBG("Router %p nexthop %s", router, - net_sprint_ipv6_addr(nexthop)); + log_strdup(net_sprint_ipv6_addr(nexthop))); } return nexthop; @@ -930,7 +939,7 @@ try_send: NET_DBG("Neighbor lookup %p (%d) iface %p addr %s state %s", nbr, nbr ? nbr->idx : NET_NBR_LLADDR_UNKNOWN, iface, - net_sprint_ipv6_addr(nexthop), + log_strdup(net_sprint_ipv6_addr(nexthop)), nbr ? net_ipv6_nbr_state2str(net_ipv6_nbr_data(nbr)->state) : "-"); @@ -943,7 +952,8 @@ try_send: net_pkt_lladdr_dst(pkt)->len = lladdr->len; NET_DBG("Neighbor %p addr %s", nbr, - net_sprint_ll_addr(lladdr->addr, lladdr->len)); + log_strdup(net_sprint_ll_addr(lladdr->addr, + lladdr->len))); /* Start the NUD if we are in STALE state. * See RFC 4861 ch 7.3.3 for details. @@ -1201,11 +1211,13 @@ static void ns_routing_info(struct net_pkt *pkt, net_sprint_ipv6_addr(nexthop)); if (net_ipv6_addr_cmp(nexthop, tgt)) { - NET_DBG("Routing to %s iface %p", out, + NET_DBG("Routing to %s iface %p", + log_strdup(out), net_pkt_iface(pkt)); } else { NET_DBG("Routing to %s via %s iface %p", - net_sprint_ipv6_addr(tgt), out, + log_strdup(net_sprint_ipv6_addr(tgt)), + log_strdup(out), net_pkt_iface(pkt)); } } @@ -1345,8 +1357,9 @@ static enum net_verdict handle_ns_input(struct net_pkt *pkt) if (!src) { NET_DBG("No interface address for " "dst %s iface %p", - net_sprint_ipv6_addr( - &NET_IPV6_HDR(pkt)->src), + log_strdup( + net_sprint_ipv6_addr( + &NET_IPV6_HDR(pkt)->src)), net_pkt_iface(pkt)); goto drop; } @@ -1357,7 +1370,7 @@ static enum net_verdict handle_ns_input(struct net_pkt *pkt) } NET_DBG("No such interface address %s", - net_sprint_ipv6_addr(&ns_hdr.tgt)); + log_strdup(net_sprint_ipv6_addr(&ns_hdr.tgt))); goto drop; } else { tgt = &ifaddr->address.in6_addr; @@ -1382,13 +1395,15 @@ nexthop_found: if (!net_is_ipv6_addr_solicited_node(&NET_IPV6_HDR(pkt)->dst)) { NET_DBG("Not solicited node addr %s", - net_sprint_ipv6_addr(&NET_IPV6_HDR(pkt)->dst)); + log_strdup(net_sprint_ipv6_addr( + &NET_IPV6_HDR(pkt)->dst))); goto drop; } if (ifaddr->addr_state == NET_ADDR_TENTATIVE) { NET_DBG("DAD failed for %s iface %p", - net_sprint_ipv6_addr(&ifaddr->address.in6_addr), + log_strdup(net_sprint_ipv6_addr( + &ifaddr->address.in6_addr)), net_pkt_iface(pkt)); dad_failed(net_pkt_iface(pkt), @@ -1408,7 +1423,8 @@ nexthop_found: if (net_is_my_ipv6_addr(&NET_IPV6_HDR(pkt)->src)) { NET_DBG("Duplicate IPv6 %s address", - net_sprint_ipv6_addr(&NET_IPV6_HDR(pkt)->src)); + log_strdup(net_sprint_ipv6_addr( + &NET_IPV6_HDR(pkt)->src))); goto drop; } @@ -1548,13 +1564,15 @@ static void ipv6_nd_reachable_timeout(struct k_work *work) data->state = NET_IPV6_NBR_STATE_STALE; NET_DBG("nbr %p moving %s state to STALE (%d)", - nbr, net_sprint_ipv6_addr(&data->addr), + nbr, + log_strdup(net_sprint_ipv6_addr(&data->addr)), data->state); break; case NET_IPV6_NBR_STATE_STALE: NET_DBG("nbr %p removing stale address %s", - nbr, net_sprint_ipv6_addr(&data->addr)); + nbr, + log_strdup(net_sprint_ipv6_addr(&data->addr))); nbr_free(nbr); break; @@ -1563,7 +1581,8 @@ static void ipv6_nd_reachable_timeout(struct k_work *work) data->ns_count = 0; NET_DBG("nbr %p moving %s state to PROBE (%d)", - nbr, net_sprint_ipv6_addr(&data->addr), + nbr, + log_strdup(net_sprint_ipv6_addr(&data->addr)), data->state); /* Intentionally continuing to probe state */ @@ -1577,8 +1596,9 @@ static void ipv6_nd_reachable_timeout(struct k_work *work) if (router && !router->is_infinite) { NET_DBG("nbr %p address %s PROBE ended (%d)", nbr, - net_sprint_ipv6_addr( - &data->addr), + log_strdup( + net_sprint_ipv6_addr( + &data->addr)), data->state); net_if_ipv6_router_rm(router); @@ -1653,7 +1673,7 @@ static inline bool handle_na_neighbor(struct net_pkt *pkt, NET_DBG("Neighbor lookup %p iface %p addr %s", nbr, net_pkt_iface(pkt), - net_sprint_ipv6_addr(&na_hdr->tgt)); + log_strdup(net_sprint_ipv6_addr(&na_hdr->tgt))); if (!nbr) { nbr_print(); @@ -1690,8 +1710,9 @@ static inline bool handle_na_neighbor(struct net_pkt *pkt, NET_DBG("[%d] nbr %p state %d IPv6 %s ll %s", nbr->idx, nbr, net_ipv6_nbr_data(nbr)->state, - net_sprint_ipv6_addr(&na_hdr->tgt), - net_sprint_ll_addr(nbr_lladdr.addr, nbr_lladdr.len)); + log_strdup(net_sprint_ipv6_addr(&na_hdr->tgt)), + log_strdup(net_sprint_ll_addr(nbr_lladdr.addr, + nbr_lladdr.len))); } cached_lladdr = net_nbr_get_lladdr(nbr->idx); @@ -1795,9 +1816,10 @@ send_pending: if (pending) { NET_DBG("Sending pending %p to %s lladdr %s", pending, - net_sprint_ipv6_addr(&NET_IPV6_HDR(pending)->dst), - net_sprint_ll_addr(cached_lladdr->addr, - cached_lladdr->len)); + log_strdup(net_sprint_ipv6_addr( + &NET_IPV6_HDR(pending)->dst)), + log_strdup(net_sprint_ll_addr(cached_lladdr->addr, + cached_lladdr->len))); if (net_send_data(pending) < 0) { nbr_clear_ns_pending(net_ipv6_nbr_data(nbr)); @@ -1895,7 +1917,7 @@ static enum net_verdict handle_na_input(struct net_pkt *pkt) if (ifaddr) { NET_DBG("Interface %p already has address %s", net_pkt_iface(pkt), - net_sprint_ipv6_addr(&na_hdr.tgt)); + log_strdup(net_sprint_ipv6_addr(&na_hdr.tgt))); #if defined(CONFIG_NET_IPV6_DAD) if (ifaddr->addr_state == NET_ADDR_TENTATIVE) { @@ -2026,7 +2048,7 @@ int net_ipv6_send_ns(struct net_if *iface, NET_IPV6_NBR_STATE_INCOMPLETE); if (!nbr) { NET_DBG("Could not create new neighbor %s", - net_sprint_ipv6_addr(&ns_hdr.tgt)); + log_strdup(net_sprint_ipv6_addr(&ns_hdr.tgt))); if (pending) { net_pkt_unref(pending); } @@ -2229,12 +2251,14 @@ static inline void handle_prefix_onlink(struct net_pkt *pkt, if (prefix) { NET_DBG("Interface %p add prefix %s/%d lifetime %u", net_pkt_iface(pkt), - net_sprint_ipv6_addr(&prefix_info->prefix), + log_strdup(net_sprint_ipv6_addr( + &prefix_info->prefix)), prefix_info->prefix_len, prefix_info->valid_lifetime); } else { NET_ERR("Prefix %s/%d could not be added to iface %p", - net_sprint_ipv6_addr(&prefix_info->prefix), + log_strdup(net_sprint_ipv6_addr( + &prefix_info->prefix)), prefix_info->prefix_len, net_pkt_iface(pkt)); @@ -2246,7 +2270,7 @@ static inline void handle_prefix_onlink(struct net_pkt *pkt, case 0: NET_DBG("Interface %p delete prefix %s/%d", net_pkt_iface(pkt), - net_sprint_ipv6_addr(&prefix_info->prefix), + log_strdup(net_sprint_ipv6_addr(&prefix_info->prefix)), prefix_info->prefix_len); net_if_ipv6_prefix_rm(net_pkt_iface(pkt), @@ -2257,7 +2281,7 @@ static inline void handle_prefix_onlink(struct net_pkt *pkt, case NET_IPV6_ND_INFINITE_LIFETIME: NET_DBG("Interface %p prefix %s/%d infinite", net_pkt_iface(pkt), - net_sprint_ipv6_addr(&prefix->prefix), + log_strdup(net_sprint_ipv6_addr(&prefix->prefix)), prefix->len); net_if_ipv6_prefix_set_lf(prefix, true); @@ -2266,7 +2290,7 @@ static inline void handle_prefix_onlink(struct net_pkt *pkt, default: NET_DBG("Interface %p update prefix %s/%u lifetime %u", net_pkt_iface(pkt), - net_sprint_ipv6_addr(&prefix_info->prefix), + log_strdup(net_sprint_ipv6_addr(&prefix_info->prefix)), prefix_info->prefix_len, prefix_info->valid_lifetime); @@ -2329,7 +2353,7 @@ static inline void handle_prefix_autonomous(struct net_pkt *pkt, remaining_lifetime(ifaddr))) { NET_DBG("Timer updating for address %s " "long lifetime %u secs", - net_sprint_ipv6_addr(&addr), + log_strdup(net_sprint_ipv6_addr(&addr)), prefix_info->valid_lifetime); net_if_ipv6_addr_update_lifetime(ifaddr, @@ -2337,7 +2361,8 @@ static inline void handle_prefix_autonomous(struct net_pkt *pkt, } else { NET_DBG("Timer updating for address %s " "lifetime %u secs", - net_sprint_ipv6_addr(&addr), TWO_HOURS); + log_strdup(net_sprint_ipv6_addr(&addr)), + TWO_HOURS); net_if_ipv6_addr_update_lifetime(ifaddr, TWO_HOURS); } @@ -2653,8 +2678,8 @@ static enum net_verdict handle_ra_input(struct net_pkt *pkt) if (nbr && net_ipv6_nbr_data(nbr)->pending) { NET_DBG("Sending pending pkt %p to %s", net_ipv6_nbr_data(nbr)->pending, - net_sprint_ipv6_addr(&NET_IPV6_HDR( - net_ipv6_nbr_data(nbr)->pending)->dst)); + log_strdup(net_sprint_ipv6_addr(&NET_IPV6_HDR( + net_ipv6_nbr_data(nbr)->pending)->dst))); if (net_send_data(net_ipv6_nbr_data(nbr)->pending) < 0) { net_pkt_unref(net_ipv6_nbr_data(nbr)->pending); diff --git a/subsys/net/ip/nbr.c b/subsys/net/ip/nbr.c index a0e832212ee..93f0a89b021 100644 --- a/subsys/net/ip/nbr.c +++ b/subsys/net/ip/nbr.c @@ -222,9 +222,9 @@ void net_nbr_print(struct net_nbr_table *table) nbr->idx, nbr->idx == NET_NBR_LLADDR_UNKNOWN ? "" : - net_sprint_ll_addr( - net_neighbor_lladdr[nbr->idx].lladdr.addr, - net_neighbor_lladdr[nbr->idx].lladdr.len)); + log_strdup(net_sprint_ll_addr( + net_neighbor_lladdr[nbr->idx].lladdr.addr, + net_neighbor_lladdr[nbr->idx].lladdr.len))); } } } diff --git a/subsys/net/ip/net_context.c b/subsys/net/ip/net_context.c index 38287d4ec41..fae0071ae63 100644 --- a/subsys/net/ip/net_context.c +++ b/subsys/net/ip/net_context.c @@ -448,7 +448,8 @@ int net_context_bind(struct net_context *context, const struct sockaddr *addr, if (!iface) { NET_ERR("Cannot bind to %s", - net_sprint_ipv6_addr(&addr6->sin6_addr)); + log_strdup(net_sprint_ipv6_addr( + &addr6->sin6_addr))); return -EADDRNOTAVAIL; } @@ -487,8 +488,8 @@ int net_context_bind(struct net_context *context, const struct sockaddr *addr, NET_DBG("Context %p binding to %s [%s]:%d iface %p", context, net_proto2str(net_context_get_ip_proto(context)), - net_sprint_ipv6_addr(ptr), ntohs(addr6->sin6_port), - iface); + log_strdup(net_sprint_ipv6_addr(ptr)), + ntohs(addr6->sin6_port), iface); return 0; } @@ -534,7 +535,8 @@ int net_context_bind(struct net_context *context, const struct sockaddr *addr, if (!iface) { NET_ERR("Cannot bind to %s", - net_sprint_ipv4_addr(&addr4->sin_addr)); + log_strdup(net_sprint_ipv4_addr( + &addr4->sin_addr))); return -EADDRNOTAVAIL; } @@ -573,7 +575,7 @@ int net_context_bind(struct net_context *context, const struct sockaddr *addr, NET_DBG("Context %p binding to %s %s:%d iface %p", context, net_proto2str(net_context_get_ip_proto(context)), - net_sprint_ipv4_addr(ptr), + log_strdup(net_sprint_ipv4_addr(ptr)), ntohs(addr4->sin_port), iface); return 0; diff --git a/subsys/net/ip/net_if.c b/subsys/net/ip/net_if.c index bf69c285cc7..1cb037ea183 100644 --- a/subsys/net/ip/net_if.c +++ b/subsys/net/ip/net_if.c @@ -487,7 +487,7 @@ static void join_mcast_allnodes(struct net_if *iface) ret = net_ipv6_mld_join(iface, &addr); if (ret < 0 && ret != -EALREADY) { NET_ERR("Cannot join all nodes address %s (%d)", - net_sprint_ipv6_addr(&addr), ret); + log_strdup(net_sprint_ipv6_addr(&addr)), ret); } } @@ -503,7 +503,7 @@ static void join_mcast_solicit_node(struct net_if *iface, ret = net_ipv6_mld_join(iface, &addr); if (ret < 0 && ret != -EALREADY) { NET_ERR("Cannot join solicit node address %s (%d)", - net_sprint_ipv6_addr(&addr), ret); + log_strdup(net_sprint_ipv6_addr(&addr)), ret); } } @@ -543,7 +543,7 @@ static void dad_timeout(struct k_work *work) struct net_if *iface = NULL; NET_DBG("DAD succeeded for %s", - net_sprint_ipv6_addr(&ifaddr->address.in6_addr)); + log_strdup(net_sprint_ipv6_addr(&ifaddr->address.in6_addr))); ifaddr->addr_state = NET_ADDR_PREFERRED; @@ -569,9 +569,11 @@ static void net_if_ipv6_start_dad(struct net_if *iface, if (net_if_is_up(iface)) { NET_DBG("Interface %p ll addr %s tentative IPv6 addr %s", iface, - net_sprint_ll_addr(net_if_get_link_addr(iface)->addr, - net_if_get_link_addr(iface)->len), - net_sprint_ipv6_addr(&ifaddr->address.in6_addr)); + log_strdup(net_sprint_ll_addr( + net_if_get_link_addr(iface)->addr, + net_if_get_link_addr(iface)->len)), + log_strdup(net_sprint_ipv6_addr( + &ifaddr->address.in6_addr))); ifaddr->dad_count = 1; @@ -581,7 +583,8 @@ static void net_if_ipv6_start_dad(struct net_if *iface, } else { NET_DBG("Interface %p is down, starting DAD for %s later.", iface, - net_sprint_ipv6_addr(&ifaddr->address.in6_addr)); + log_strdup(net_sprint_ipv6_addr( + &ifaddr->address.in6_addr))); } } @@ -606,7 +609,7 @@ void net_if_start_dad(struct net_if *iface) ifaddr = net_if_ipv6_addr_add(iface, &addr, NET_ADDR_AUTOCONF, 0); if (!ifaddr) { NET_ERR("Cannot add %s address to interface %p, DAD fails", - net_sprint_ipv6_addr(&addr), iface); + log_strdup(net_sprint_ipv6_addr(&addr)), iface); } /* Start DAD for all the addresses that were added earlier when @@ -630,7 +633,7 @@ void net_if_ipv6_dad_failed(struct net_if *iface, const struct in6_addr *addr) ifaddr = net_if_ipv6_addr_lookup(addr, &iface); if (!ifaddr) { NET_ERR("Cannot find %s address in interface %p", - net_sprint_ipv6_addr(addr), iface); + log_strdup(net_sprint_ipv6_addr(addr)), iface); return; } @@ -776,7 +779,7 @@ static bool check_timeout(u32_t start, s32_t timeout, u32_t counter, static void address_expired(struct net_if_addr *ifaddr) { NET_DBG("IPv6 address %s is deprecated", - net_sprint_ipv6_addr(&ifaddr->address.in6_addr)); + log_strdup(net_sprint_ipv6_addr(&ifaddr->address.in6_addr))); ifaddr->addr_state = NET_ADDR_DEPRECATED; ifaddr->lifetime.timer_timeout = 0; @@ -903,7 +906,7 @@ void net_if_ipv6_addr_update_lifetime(struct net_if_addr *ifaddr, u32_t vlifetime) { NET_DBG("Updating expire time of %s by %u secs", - net_sprint_ipv6_addr(&ifaddr->address.in6_addr), + log_strdup(net_sprint_ipv6_addr(&ifaddr->address.in6_addr)), vlifetime); ifaddr->addr_state = NET_ADDR_PREFERRED; @@ -951,7 +954,8 @@ static inline void net_if_addr_init(struct net_if_addr *ifaddr, if (vlifetime) { ifaddr->is_infinite = false; - NET_DBG("Expiring %s in %u secs", net_sprint_ipv6_addr(addr), + NET_DBG("Expiring %s in %u secs", + log_strdup(net_sprint_ipv6_addr(addr)), vlifetime); net_if_ipv6_addr_update_lifetime(ifaddr, vlifetime); @@ -1032,7 +1036,7 @@ struct net_if_addr *net_if_ipv6_addr_add(struct net_if *iface, vlifetime); NET_DBG("[%d] interface %p address %s type %s added", i, - iface, net_sprint_ipv6_addr(addr), + iface, log_strdup(net_sprint_ipv6_addr(addr)), net_addr_type2str(addr_type)); /* RFC 4862 5.4.2 @@ -1104,7 +1108,7 @@ bool net_if_ipv6_addr_rm(struct net_if *iface, const struct in6_addr *addr) net_if_ipv6_maddr_rm(iface, &maddr); NET_DBG("[%d] interface %p address %s type %s removed", - i, iface, net_sprint_ipv6_addr(addr), + i, iface, log_strdup(net_sprint_ipv6_addr(addr)), net_addr_type2str(ipv6->unicast[i].addr_type)); net_mgmt_event_notify(NET_EVENT_IPV6_ADDR_DEL, iface); @@ -1127,7 +1131,7 @@ struct net_if_mcast_addr *net_if_ipv6_maddr_add(struct net_if *iface, if (!net_is_ipv6_addr_mcast(addr)) { NET_DBG("Address %s is not a multicast address.", - net_sprint_ipv6_addr(addr)); + log_strdup(net_sprint_ipv6_addr(addr))); return NULL; } @@ -1141,7 +1145,7 @@ struct net_if_mcast_addr *net_if_ipv6_maddr_add(struct net_if *iface, memcpy(&ipv6->mcast[i].address.in6_addr, addr, 16); NET_DBG("[%d] interface %p address %s added", i, iface, - net_sprint_ipv6_addr(addr)); + log_strdup(net_sprint_ipv6_addr(addr))); net_mgmt_event_notify(NET_EVENT_IPV6_MADDR_ADD, iface); @@ -1173,7 +1177,7 @@ bool net_if_ipv6_maddr_rm(struct net_if *iface, const struct in6_addr *addr) ipv6->mcast[i].is_used = false; NET_DBG("[%d] interface %p address %s removed", - i, iface, net_sprint_ipv6_addr(addr)); + i, iface, log_strdup(net_sprint_ipv6_addr(addr))); net_mgmt_event_notify(NET_EVENT_IPV6_MADDR_DEL, iface); @@ -1281,7 +1285,8 @@ static void prefix_lifetime_expired(struct net_if_ipv6_prefix *ifprefix) struct net_if_ipv6 *ipv6; NET_DBG("Prefix %s/%d expired", - net_sprint_ipv6_addr(&ifprefix->prefix), ifprefix->len); + log_strdup(net_sprint_ipv6_addr(&ifprefix->prefix)), + ifprefix->len); ifprefix->is_used = false; @@ -1300,7 +1305,7 @@ static void prefix_lifetime_expired(struct net_if_ipv6_prefix *ifprefix) static void prefix_timer_remove(struct net_if_ipv6_prefix *ifprefix) { NET_DBG("IPv6 prefix %s/%d removed", - net_sprint_ipv6_addr(&ifprefix->prefix), + log_strdup(net_sprint_ipv6_addr(&ifprefix->prefix)), ifprefix->len); ifprefix->lifetime.timer_timeout = 0; @@ -1489,7 +1494,7 @@ struct net_if_ipv6_prefix *net_if_ipv6_prefix_add(struct net_if *iface, len, lifetime); NET_DBG("[%d] interface %p prefix %s/%d added", i, iface, - net_sprint_ipv6_addr(prefix), len); + log_strdup(net_sprint_ipv6_addr(prefix)), len); net_mgmt_event_notify(NET_EVENT_IPV6_PREFIX_ADD, iface); @@ -1698,7 +1703,7 @@ static void ipv6_router_expired(struct k_work *work) lifetime); NET_DBG("IPv6 router %s is expired", - net_sprint_ipv6_addr(&router->address.in6_addr)); + log_strdup(net_sprint_ipv6_addr(&router->address.in6_addr))); router->is_used = false; } @@ -1707,7 +1712,7 @@ void net_if_ipv6_router_update_lifetime(struct net_if_router *router, u32_t lifetime) { NET_DBG("Updating expire time of %s by %u secs", - net_sprint_ipv6_addr(&router->address.in6_addr), + log_strdup(net_sprint_ipv6_addr(&router->address.in6_addr)), lifetime); k_delayed_work_submit(&router->lifetime, K_SECONDS(lifetime)); @@ -1732,7 +1737,8 @@ static inline void net_if_router_init(struct net_if_router *router, k_delayed_work_init(&router->lifetime, ipv6_router_expired); k_delayed_work_submit(&router->lifetime, K_SECONDS(lifetime)); - NET_DBG("Expiring %s in %u secs", net_sprint_ipv6_addr(addr), + NET_DBG("Expiring %s in %u secs", + log_strdup(net_sprint_ipv6_addr(addr)), lifetime); } else { router->is_default = false; @@ -1755,8 +1761,8 @@ struct net_if_router *net_if_ipv6_router_add(struct net_if *iface, NET_DBG("[%d] interface %p router %s lifetime %u default %d " "added", - i, iface, net_sprint_ipv6_addr(addr), lifetime, - routers[i].is_default); + i, iface, log_strdup(net_sprint_ipv6_addr(addr)), + lifetime, routers[i].is_default); net_mgmt_event_notify(NET_EVENT_IPV6_ROUTER_ADD, iface); @@ -1787,7 +1793,8 @@ bool net_if_ipv6_router_rm(struct net_if_router *router) routers[i].iface); NET_DBG("[%d] router %s removed", - i, net_sprint_ipv6_addr(&routers[i].address.in6_addr)); + i, log_strdup(net_sprint_ipv6_addr( + &routers[i].address.in6_addr))); return true; } @@ -2104,8 +2111,8 @@ struct net_if_router *net_if_ipv4_router_add(struct net_if *iface, NET_DBG("[%d] interface %p router %s lifetime %u default %d " "added", - i, iface, net_sprint_ipv4_addr(addr), lifetime, - is_default); + i, iface, log_strdup(net_sprint_ipv4_addr(addr)), + lifetime, is_default); net_mgmt_event_notify(NET_EVENT_IPV4_ROUTER_ADD, iface); @@ -2392,7 +2399,7 @@ struct net_if_addr *net_if_ipv4_addr_add(struct net_if *iface, ifaddr->addr_state = NET_ADDR_PREFERRED; NET_DBG("[%d] interface %p address %s type %s added", i, iface, - net_sprint_ipv4_addr(addr), + log_strdup(net_sprint_ipv4_addr(addr)), net_addr_type2str(addr_type)); net_mgmt_event_notify(NET_EVENT_IPV4_ADDR_ADD, iface); @@ -2425,7 +2432,7 @@ bool net_if_ipv4_addr_rm(struct net_if *iface, struct in_addr *addr) ipv4->unicast[i].is_used = false; NET_DBG("[%d] interface %p address %s removed", - i, iface, net_sprint_ipv4_addr(addr)); + i, iface, log_strdup(net_sprint_ipv4_addr(addr))); net_mgmt_event_notify(NET_EVENT_IPV4_ADDR_DEL, iface); @@ -2476,7 +2483,7 @@ struct net_if_mcast_addr *net_if_ipv4_maddr_add(struct net_if *iface, if (!net_is_ipv4_addr_mcast(addr)) { NET_DBG("Address %s is not a multicast address.", - net_sprint_ipv4_addr(addr)); + log_strdup(net_sprint_ipv4_addr(addr))); return NULL; } @@ -2487,7 +2494,7 @@ struct net_if_mcast_addr *net_if_ipv4_maddr_add(struct net_if *iface, maddr->address.in_addr.s4_addr32[0] = addr->s4_addr32[0]; NET_DBG("interface %p address %s added", iface, - net_sprint_ipv4_addr(addr)); + log_strdup(net_sprint_ipv4_addr(addr))); } return maddr; @@ -2502,7 +2509,7 @@ bool net_if_ipv4_maddr_rm(struct net_if *iface, const struct in_addr *addr) maddr->is_used = false; NET_DBG("interface %p address %s removed", - iface, net_sprint_ipv4_addr(addr)); + iface, log_strdup(net_sprint_ipv4_addr(addr))); return true; } diff --git a/subsys/net/ip/route.c b/subsys/net/ip/route.c index 05f004dddb2..9ea1c83bb59 100644 --- a/subsys/net/ip/route.c +++ b/subsys/net/ip/route.c @@ -157,14 +157,15 @@ void net_routes_print(void) NET_DBG("[%d] %p %d addr %s/%d", i, nbr, nbr->ref, - net_sprint_ipv6_addr(&net_route_data(nbr)->addr), + log_strdup(net_sprint_ipv6_addr( + &net_route_data(nbr)->addr)), net_route_data(nbr)->prefix_len); NET_DBG(" iface %p idx %d ll %s", nbr->iface, nbr->idx, nbr->idx == NET_NBR_LLADDR_UNKNOWN ? "?" : - net_sprint_ll_addr( + log_strdup(net_sprint_ll_addr( net_nbr_get_lladdr(nbr->idx)->addr, - net_nbr_get_lladdr(nbr->idx)->len)); + net_nbr_get_lladdr(nbr->idx)->len))); } } @@ -192,7 +193,7 @@ static struct net_nbr *nbr_new(struct net_if *iface, NET_DBG("[%d] nbr %p iface %p IPv6 %s/%d", nbr->idx, nbr, iface, - net_sprint_ipv6_addr(&net_route_data(nbr)->addr), + log_strdup(net_sprint_ipv6_addr(&net_route_data(nbr)->addr)), prefix_len); return nbr; @@ -209,12 +210,13 @@ static struct net_nbr *nbr_nexthop_get(struct net_if *iface, NET_ASSERT_INFO(nbr, "Next hop neighbor not found!"); NET_ASSERT_INFO(nbr->idx != NET_NBR_LLADDR_UNKNOWN, "Nexthop %s not in neighbor cache!", - net_sprint_ipv6_addr(addr)); + log_strdup(net_sprint_ipv6_addr(addr))); net_nbr_ref(nbr); NET_DBG("[%d] nbr %p iface %p IPv6 %s", - nbr->idx, nbr, iface, net_sprint_ipv6_addr(addr)); + nbr->idx, nbr, iface, + log_strdup(net_sprint_ipv6_addr(addr))); return nbr; } @@ -238,8 +240,9 @@ static int nbr_nexthop_put(struct net_nbr *nbr) NET_ASSERT_INFO(naddr, "Unknown nexthop address"); \ \ NET_DBG("%s route to %s via %s (iface %p)", str, \ - net_sprint_ipv6_addr(dst), \ - net_sprint_ipv6_addr(naddr), route->iface); \ + log_strdup(net_sprint_ipv6_addr(dst)), \ + log_strdup(net_sprint_ipv6_addr(naddr)), \ + route->iface); \ } while (0) /* Route was accessed, so place it in front of the routes list */ @@ -312,7 +315,7 @@ struct net_route_entry *net_route_add(struct net_if *iface, nbr_nexthop = net_ipv6_nbr_lookup(iface, nexthop); if (!nbr_nexthop) { NET_DBG("No such neighbor %s found", - net_sprint_ipv6_addr(nexthop)); + log_strdup(net_sprint_ipv6_addr(nexthop))); return NULL; } @@ -320,8 +323,10 @@ struct net_route_entry *net_route_add(struct net_if *iface, NET_ASSERT(nexthop_lladdr); - NET_DBG("Nexthop %s lladdr is %s", net_sprint_ipv6_addr(nexthop), - net_sprint_ll_addr(nexthop_lladdr->addr, nexthop_lladdr->len)); + NET_DBG("Nexthop %s lladdr is %s", + log_strdup(net_sprint_ipv6_addr(nexthop)), + log_strdup(net_sprint_ll_addr(nexthop_lladdr->addr, + nexthop_lladdr->len))); route = net_route_lookup(iface, addr); if (route) { @@ -335,7 +340,7 @@ struct net_route_entry *net_route_add(struct net_if *iface, } NET_DBG("Old route to %s found", - net_sprint_ipv6_addr(nexthop_addr)); + log_strdup(net_sprint_ipv6_addr(nexthop_addr))); net_route_del(route); } @@ -362,10 +367,12 @@ struct net_route_entry *net_route_add(struct net_if *iface, NET_DBG("Removing the oldest route %s " "via %s [%s]", - net_sprint_ipv6_addr(&route->addr), - net_sprint_ipv6_addr(tmp), - net_sprint_ll_addr(llstorage->addr, - llstorage->len)); + log_strdup(net_sprint_ipv6_addr( + &route->addr)), + log_strdup(net_sprint_ipv6_addr(tmp)), + log_strdup(net_sprint_ll_addr( + llstorage->addr, + llstorage->len))); } } @@ -685,7 +692,7 @@ bool net_route_mcast_del(struct net_route_entry_mcast *route) NET_ASSERT_INFO(route->is_used, "Multicast route %p to %s was already removed", route, - net_sprint_ipv6_addr(&route->group)); + log_strdup(net_sprint_ipv6_addr(&route->group))); route->is_used = false; @@ -760,14 +767,14 @@ int net_route_packet(struct net_pkt *pkt, struct in6_addr *nexthop) nbr = net_ipv6_nbr_lookup(NULL, nexthop); if (!nbr) { NET_DBG("Cannot find %s neighbor", - net_sprint_ipv6_addr(nexthop)); + log_strdup(net_sprint_ipv6_addr(nexthop))); return -ENOENT; } lladdr = net_nbr_get_lladdr(nbr->idx); if (!lladdr) { NET_DBG("Cannot find %s neighbor link layer address.", - net_sprint_ipv6_addr(nexthop)); + log_strdup(net_sprint_ipv6_addr(nexthop))); return -ESRCH; } diff --git a/subsys/net/ip/rpl-of0.c b/subsys/net/ip/rpl-of0.c index 0766faef75f..18db0cff7df 100644 --- a/subsys/net/ip/rpl-of0.c +++ b/subsys/net/ip/rpl-of0.c @@ -116,10 +116,12 @@ net_rpl_of0_best_parent(struct net_if *iface, NET_DBG("Comparing parent %s (confidence %d, rank %d) with " "parent %s (confidence %d, rank %d)", - net_sprint_ipv6_addr(net_rpl_get_parent_addr(iface, parent1)), + log_strdup(net_sprint_ipv6_addr( + net_rpl_get_parent_addr(iface, parent1))), net_ipv6_nbr_data(nbr1)->link_metric, parent1->rank, - net_sprint_ipv6_addr(net_rpl_get_parent_addr(iface, parent2))), + log_strdup(net_sprint_ipv6_addr( + net_rpl_get_parent_addr(iface, parent2)))), net_ipv6_nbr_data(nbr2)->link_metric, parent2->rank); diff --git a/subsys/net/ip/rpl.c b/subsys/net/ip/rpl.c index a1a6f0aeaf3..8079980d3dd 100644 --- a/subsys/net/ip/rpl.c +++ b/subsys/net/ip/rpl.c @@ -219,8 +219,10 @@ NET_NBR_TABLE_INIT(NET_NBR_LOCAL, rpl_parents, net_rpl_neighbor_pool, #define net_rpl_info(pkt, req) \ do { \ NET_DBG("Received %s from %s to %s", req, \ - net_sprint_ipv6_addr(&NET_IPV6_HDR(pkt)->src), \ - net_sprint_ipv6_addr(&NET_IPV6_HDR(pkt)->dst)); \ + log_strdup(net_sprint_ipv6_addr( \ + &NET_IPV6_HDR(pkt)->src)), \ + log_strdup(net_sprint_ipv6_addr( \ + &NET_IPV6_HDR(pkt)->dst))); \ } while (0) #define net_rpl_dao_info(pkt, src, dst, prefix) \ @@ -233,7 +235,9 @@ NET_NBR_TABLE_INIT(NET_NBR_LOCAL, rpl_parents, net_rpl_neighbor_pool, snprintk(prf, sizeof(prf), "%s", \ net_sprint_ipv6_addr(prefix)); \ NET_DBG("Send DAO with prefix %s from %s to %s", \ - prf, net_sprint_ipv6_addr(src), out); \ + log_strdup(prf), \ + log_strdup(net_sprint_ipv6_addr(src)), \ + log_strdup(out)); \ } while (0) static void new_dio_interval(struct net_rpl_instance *instance); @@ -308,8 +312,8 @@ static struct net_nbr *nbr_add(struct net_if *iface, } NET_DBG("[%d] nbr %p IPv6 %s ll %s iface %p", - nbr->idx, nbr, net_sprint_ipv6_addr(addr), - net_sprint_ll_addr(lladdr->addr, lladdr->len), + nbr->idx, nbr, log_strdup(net_sprint_ipv6_addr(addr)), + log_strdup(net_sprint_ll_addr(lladdr->addr, lladdr->len)), nbr->iface); return nbr; @@ -383,8 +387,9 @@ static void net_rpl_print_parents(void) NET_DBG("[%d] nbr %s %5u %5u => %5u %c (last tx %u min ago)", nbr->idx, - net_sprint_ll_addr(net_nbr_get_lladdr(nbr->idx)->addr, - net_nbr_get_lladdr(nbr->idx)->len), + log_strdup(net_sprint_ll_addr( + net_nbr_get_lladdr(nbr->idx)->addr, + net_nbr_get_lladdr(nbr->idx)->len)), parent->rank, ipv6_nbr ? net_ipv6_nbr_data(ipv6_nbr)->link_metric : 0, @@ -424,8 +429,8 @@ struct net_route_entry *net_rpl_add_route(struct net_rpl_dag *dag, extra->route_source = NET_RPL_ROUTE_INTERNAL; NET_DBG("Added route to %s via %s (iface %p)", - net_sprint_ipv6_addr(addr), - net_sprint_ipv6_addr(nexthop), route->iface); + log_strdup(net_sprint_ipv6_addr(addr)), + log_strdup(net_sprint_ipv6_addr(nexthop)), route->iface); return route; } @@ -787,7 +792,7 @@ int net_rpl_dis_send(struct in6_addr *dst, struct net_if *iface) if (ret >= 0) { NET_DBG("Sent a %s DIS to %s (iface %p)", dst ? "unicast" : "multicast", - net_sprint_ipv6_addr(dst_addr), iface); + log_strdup(net_sprint_ipv6_addr(dst_addr)), iface); net_stats_update_icmp_sent(iface); net_stats_update_rpl_dis_sent(iface); @@ -957,8 +962,10 @@ static void rpl_probing_timer(struct k_work *work) lladdr = net_nbr_get_lladdr(nbr->idx); - NET_DBG("Probing %s [%s]", net_sprint_ipv6_addr(dst), - net_sprint_ll_addr(lladdr->addr, lladdr->len)); + NET_DBG("Probing %s [%s]", + log_strdup(net_sprint_ipv6_addr(dst)), + log_strdup(net_sprint_ll_addr(lladdr->addr, + lladdr->len))); src = (struct in6_addr *) net_if_ipv6_select_src_addr(instance->iface, dst); @@ -1225,7 +1232,7 @@ static void check_prefix(struct net_if *iface, last_prefix->flags == new_prefix->flags) { /* Nothing has changed. */ NET_DBG("Same prefix %s/%d flags 0x%x", - net_sprint_ipv6_addr(&new_prefix->prefix), + log_strdup(net_sprint_ipv6_addr(&new_prefix->prefix)), new_prefix->length, new_prefix->flags); return; } @@ -1236,7 +1243,7 @@ static void check_prefix(struct net_if *iface, if (net_if_ipv6_addr_rm(iface, &addr)) { NET_DBG("Removed global IP address %s", - net_sprint_ipv6_addr(&addr)); + log_strdup(net_sprint_ipv6_addr(&addr))); } } @@ -1246,7 +1253,7 @@ static void check_prefix(struct net_if *iface, if (net_if_ipv6_addr_add(iface, &addr, NET_ADDR_AUTOCONF, 0)) { NET_DBG("Added global IP address %s", - net_sprint_ipv6_addr(&addr)); + log_strdup(net_sprint_ipv6_addr(&addr))); } } } @@ -1255,7 +1262,7 @@ static void net_rpl_free_dag(struct net_if *iface, struct net_rpl_dag *dag) { if (net_rpl_dag_is_joined(dag)) { NET_DBG("Leaving the DAG %s", - net_sprint_ipv6_addr(&dag->dag_id)); + log_strdup(net_sprint_ipv6_addr(&dag->dag_id))); net_rpl_dag_unjoin(dag); @@ -1281,13 +1288,14 @@ static void net_rpl_set_preferred_parent(struct net_if *iface, struct in6_addr *addr = net_rpl_get_parent_addr(iface, parent); NET_DBG("Preferred parent %s", - parent ? net_sprint_ipv6_addr(addr) : "not set"); + parent ? + log_strdup(net_sprint_ipv6_addr(addr)) : "not set"); addr = net_rpl_get_parent_addr(iface, dag->preferred_parent); NET_DBG("It used to be %s", dag->preferred_parent ? - net_sprint_ipv6_addr(addr) : "not set"); + log_strdup(net_sprint_ipv6_addr(addr)) : "not set"); dag->preferred_parent = parent; } @@ -1398,7 +1406,7 @@ struct net_rpl_dag *net_rpl_set_root_with_version(struct net_if *iface, rpl_default_instance = instance; NET_DBG("Node set to be a DAG root with DAG ID %s", - net_sprint_ipv6_addr(&dag->dag_id)); + log_strdup(net_sprint_ipv6_addr(&dag->dag_id))); instance->iface = iface; net_rpl_reset_dio_timer(instance); @@ -1505,7 +1513,7 @@ static void net_rpl_nullify_parent(struct net_if *iface, if (dag->instance->default_route) { NET_DBG("Removing default route %s", - net_sprint_ipv6_addr(addr)); + log_strdup(net_sprint_ipv6_addr(addr))); net_if_ipv6_router_rm(dag->instance->default_route); dag->instance->default_route = NULL; @@ -1518,7 +1526,7 @@ static void net_rpl_nullify_parent(struct net_if *iface, } } - NET_DBG("Nullifying parent %s", net_sprint_ipv6_addr(addr)); + NET_DBG("Nullifying parent %s", log_strdup(net_sprint_ipv6_addr(addr))); } static void net_rpl_remove_parent(struct net_if *iface, @@ -1541,8 +1549,10 @@ static void net_rpl_remove_parent(struct net_if *iface, addr = net_rpl_get_parent_addr(iface, parent); lladdr = net_nbr_get_lladdr(nbr->idx); - NET_DBG("Removing parent %s [%s]", net_sprint_ipv6_addr(addr), - net_sprint_ll_addr(lladdr->addr, lladdr->len)); + NET_DBG("Removing parent %s [%s]", + log_strdup(net_sprint_ipv6_addr(addr)), + log_strdup(net_sprint_ll_addr(lladdr->addr, + lladdr->len))); } net_rpl_nullify_parent(iface, parent); @@ -1600,8 +1610,9 @@ static struct net_rpl_parent *net_rpl_add_parent(struct net_if *iface, &lladdr); if (!rpl_nbr) { NET_DBG("Add parent %s [%s]", - net_sprint_ipv6_addr(addr), - net_sprint_ll_addr(lladdr.addr, lladdr.len)); + log_strdup(net_sprint_ipv6_addr(addr)), + log_strdup(net_sprint_ll_addr(lladdr.addr, + lladdr.len))); rpl_nbr = nbr_add(iface, addr, &lladdr); if (!rpl_nbr) { @@ -1737,15 +1748,15 @@ static int net_rpl_set_default_route(struct net_if *iface, { if (instance->default_route) { NET_DBG("Removing default route through %s", - net_sprint_ipv6_addr(&instance->default_route->address. - in6_addr)); + log_strdup(net_sprint_ipv6_addr( + &instance->default_route->address.in6_addr))); net_if_ipv6_router_rm(instance->default_route); instance->default_route = NULL; } if (from) { NET_DBG("Adding default route through %s", - net_sprint_ipv6_addr(from)); + log_strdup(net_sprint_ipv6_addr(from))); instance->default_route = net_if_ipv6_router_add(iface, from, @@ -1757,9 +1768,8 @@ static int net_rpl_set_default_route(struct net_if *iface, } else { if (instance->default_route) { NET_DBG("Removing default route through %s", - net_sprint_ipv6_addr(&instance-> - default_route->address. - in6_addr)); + log_strdup(net_sprint_ipv6_addr( + &instance->default_route->address.in6_addr))); net_if_ipv6_router_rm(instance->default_route); instance->default_route = NULL; } else { @@ -1878,7 +1888,7 @@ struct net_rpl_dag *net_rpl_select_dag(struct net_if *iface, net_rpl_remove_routes(instance->current_dag); NET_DBG("New preferred DAG %s", - net_sprint_ipv6_addr(&best_dag->dag_id)); + log_strdup(net_sprint_ipv6_addr(&best_dag->dag_id))); if (best_dag->prefix_info.flags & NET_ICMPV6_RA_FLAG_AUTONOMOUS) { @@ -2050,15 +2060,12 @@ static bool net_rpl_process_parent_event(struct net_if *iface, if (instance->current_dag->rank != NET_RPL_INFINITE_RANK) { NET_DBG("The preferred parent is %s (rank %u)", - net_sprint_ipv6_addr( - net_rpl_get_parent_addr(iface, - instance->current_dag-> - preferred_parent)), - - NET_RPL_DAG_RANK( - instance->current_dag-> - preferred_parent->rank, - instance)); + log_strdup(net_sprint_ipv6_addr( + net_rpl_get_parent_addr(iface, + instance->current_dag->preferred_parent))), + NET_RPL_DAG_RANK( + instance->current_dag->preferred_parent->rank, + instance)); } else { NET_DBG("We don't have any parent"); } @@ -2167,8 +2174,8 @@ static void global_repair(struct net_if *iface, NET_DBG("Preferred DAG %s rank %d min_rank %d " \ "parent rank %d parent etx %d link metric %d " \ "instance etx %d", \ - net_sprint_ipv6_addr(&(instance)->current_dag-> \ - dag_id), \ + log_strdup(net_sprint_ipv6_addr( \ + &(instance)->current_dag->dag_id)), \ (instance)->current_dag->rank, \ (instance)->current_dag->min_rank, \ (parent)->rank, -1, \ @@ -2237,12 +2244,12 @@ static void net_rpl_join_instance(struct net_if *iface, instance->is_used = false; NET_DBG("Cannot add %s as a parent", - net_sprint_ipv6_addr(from)); + log_strdup(net_sprint_ipv6_addr(from))); return; } - NET_DBG("Add %s as a parent", net_sprint_ipv6_addr(from)); + NET_DBG("Add %s as a parent", log_strdup(net_sprint_ipv6_addr(from))); parent->dtsn = dio->dtsn; @@ -2308,7 +2315,7 @@ static void net_rpl_join_instance(struct net_if *iface, NET_DBG("Joined DAG with instance ID %d rank %d DAG ID %s", dio->instance_id, dag->min_rank, - net_sprint_ipv6_addr(&dag->dag_id)); + log_strdup(net_sprint_ipv6_addr(&dag->dag_id))); net_rpl_reset_dio_timer(instance); net_rpl_set_default_route(iface, instance, from); @@ -2407,7 +2414,7 @@ static void net_rpl_move_parent(struct net_if *iface, if (net_rpl_dag_is_joined(dag_src) && dag_src->instance->default_route) { NET_DBG("Removing default route %s", - net_sprint_ipv6_addr(addr)); + log_strdup(net_sprint_ipv6_addr(addr))); net_if_ipv6_router_rm(dag_src->instance->default_route); dag_src->instance->default_route = NULL; @@ -2420,7 +2427,7 @@ static void net_rpl_move_parent(struct net_if *iface, net_route_del_by_nexthop_data(iface, addr, dag_src); } - NET_DBG("Moving parent %s", net_sprint_ipv6_addr(addr)); + NET_DBG("Moving parent %s", log_strdup(net_sprint_ipv6_addr(addr))); parent->dag = dag_dst; } @@ -2482,14 +2489,14 @@ static void net_rpl_add_dag(struct net_if *iface, parent = net_rpl_add_parent(iface, dag, dio, from); if (!parent) { NET_DBG("Adding %s as a parent failed.", - net_sprint_ipv6_addr(from)); + log_strdup(net_sprint_ipv6_addr(from))); net_rpl_dag_set_not_used(dag); return; } NET_DBG("Adding %s as a parent.", - net_sprint_ipv6_addr(from)); + log_strdup(net_sprint_ipv6_addr(from))); } else { parent = find_parent(iface, previous_dag, from); if (parent) { @@ -2538,7 +2545,7 @@ static void net_rpl_add_dag(struct net_if *iface, NET_DBG("Joined DAG with instance ID %d rank %d DAG ID %s", dio->instance_id, dag->min_rank, - net_sprint_ipv6_addr(&dag->dag_id)); + log_strdup(net_sprint_ipv6_addr(&dag->dag_id))); net_rpl_process_parent_event(iface, instance, parent); parent->dtsn = dio->dtsn; @@ -2721,12 +2728,13 @@ static void net_rpl_process_dio(struct net_if *iface, parent = net_rpl_add_parent(iface, dag, dio, from); if (!parent) { NET_DBG("Failed to add a new parent %s", - net_sprint_ipv6_addr(from)); + log_strdup(net_sprint_ipv6_addr(from))); return; } NET_DBG("New candidate parent %s with rank %d", - net_sprint_ipv6_addr(from), parent->rank); + log_strdup(net_sprint_ipv6_addr(from)), + parent->rank); } else { parent = find_parent(iface, previous_dag, from); if (parent) { @@ -2734,7 +2742,7 @@ static void net_rpl_process_dio(struct net_if *iface, dag, parent); } else { NET_DBG("No parent %s found", - net_sprint_ipv6_addr(from)); + log_strdup(net_sprint_ipv6_addr(from))); return; } } @@ -3075,7 +3083,7 @@ int net_rpl_dao_send(struct net_if *iface, if (net_ipv6_addr_cmp(src, net_ipv6_unspecified_address())) { NET_DBG("Invalid src addr %s found", - net_sprint_ipv6_addr(src)); + log_strdup(net_sprint_ipv6_addr(src))); return -EINVAL; } @@ -3217,7 +3225,7 @@ static int dao_ack_send(struct in6_addr *src, int ret; NET_DBG("Sending a DAO ACK with sequence number %d to %s", - sequence, net_sprint_ipv6_addr(dst)); + sequence, log_strdup(net_sprint_ipv6_addr(dst))); pkt = net_pkt_get_reserve_tx(net_if_get_ll_reserve(iface, dst), BUF_TIMEOUT); @@ -3252,8 +3260,8 @@ static int dao_ack_send(struct in6_addr *src, NET_DBG("Send DAO-ACK (id %d, seq %d) from %s to %s", instance->instance_id, sequence, - net_sprint_ipv6_addr(src), - net_sprint_ipv6_addr(dst)); + log_strdup(net_sprint_ipv6_addr(src)), + log_strdup(net_sprint_ipv6_addr(dst))); net_stats_update_icmp_sent(iface); net_stats_update_rpl_dao_ack_sent(iface); @@ -3282,7 +3290,7 @@ static int forwarding_dao(struct net_rpl_instance *instance, paddr = net_rpl_get_parent_addr(instance->iface, dag->preferred_parent); if (paddr) { - NET_DBG("%s %s", str, net_sprint_ipv6_addr(paddr)); + NET_DBG("%s %s", str, log_strdup(net_sprint_ipv6_addr(paddr))); net_ipaddr_copy(&src, &NET_IPV6_HDR(pkt)->src); net_ipaddr_copy(&dst, &NET_IPV6_HDR(pkt)->dst); @@ -3385,7 +3393,7 @@ static enum net_verdict handle_dao(struct net_pkt *pkt) if (memcmp(&dag->dag_id, &addr, sizeof(dag->dag_id))) { NET_DBG("Ignoring DAO for a DAG %s different from ours", - net_sprint_ipv6_addr(&dag->dag_id)); + log_strdup(net_sprint_ipv6_addr(&dag->dag_id))); return NET_DROP; } } @@ -3473,7 +3481,7 @@ static enum net_verdict handle_dao(struct net_pkt *pkt) } NET_DBG("DAO lifetime %d addr %s/%d", lifetime, - net_sprint_ipv6_addr(&addr), target_len); + log_strdup(net_sprint_ipv6_addr(&addr)), target_len); #if NET_RPL_MULTICAST if (net_is_ipv6_addr_mcast_global(&addr)) { @@ -3509,7 +3517,7 @@ static enum net_verdict handle_dao(struct net_pkt *pkt) route->prefix_len == target_len && nexthop && net_ipv6_addr_cmp(nexthop, dao_sender)) { NET_DBG("Setting expiration timer for target %s", - net_sprint_ipv6_addr(&addr)); + log_strdup(net_sprint_ipv6_addr(&addr))); extra->no_path_received = true; extra->lifetime = NET_RPL_DAO_EXPIRATION_TIMEOUT; @@ -3537,7 +3545,8 @@ static enum net_verdict handle_dao(struct net_pkt *pkt) return NET_DROP; } - NET_DBG("Adding DAO route to %s", net_sprint_ipv6_addr(dao_sender)); + NET_DBG("Adding DAO route to %s", + log_strdup(net_sprint_ipv6_addr(dao_sender))); ipv6_nbr = net_ipv6_nbr_lookup(net_pkt_iface(pkt), dao_sender); if (ipv6_nbr) { @@ -3545,9 +3554,10 @@ static enum net_verdict handle_dao(struct net_pkt *pkt) struct net_linkaddr *src_lladdr; NET_DBG("Neighbor %s [%s] already in neighbor cache", - net_sprint_ipv6_addr(dao_sender), - net_sprint_ll_addr(net_pkt_lladdr_src(pkt)->addr, - net_pkt_lladdr_src(pkt)->len)); + log_strdup(net_sprint_ipv6_addr(dao_sender)), + log_strdup(net_sprint_ll_addr( + net_pkt_lladdr_src(pkt)->addr, + net_pkt_lladdr_src(pkt)->len))); nbr_lladdr = net_nbr_get_lladdr(ipv6_nbr->idx); if (!nbr_lladdr) { @@ -3569,7 +3579,8 @@ static enum net_verdict handle_dao(struct net_pkt *pkt) if (!net_ipv6_nbr_rm(net_pkt_iface(pkt), dao_sender)) { NET_ERR("Failed to remove %s, doesn't exist", - net_sprint_ipv6_addr(dao_sender)); + log_strdup(net_sprint_ipv6_addr( + dao_sender))); return NET_DROP; } @@ -3587,16 +3598,16 @@ static enum net_verdict handle_dao(struct net_pkt *pkt) ipv6_nbr); NET_DBG("Neighbor %s [%s] added to neighbor cache", - net_sprint_ipv6_addr(dao_sender), - net_sprint_ll_addr( + log_strdup(net_sprint_ipv6_addr(dao_sender)), + log_strdup(net_sprint_ll_addr( net_pkt_lladdr_src(pkt)->addr, - net_pkt_lladdr_src(pkt)->len)); + net_pkt_lladdr_src(pkt)->len))); } else { NET_DBG("Out of memory, dropping DAO from %s [%s]", - net_sprint_ipv6_addr(dao_sender), - net_sprint_ll_addr( + log_strdup(net_sprint_ipv6_addr(dao_sender)), + log_strdup(net_sprint_ll_addr( net_pkt_lladdr_src(pkt)->addr, - net_pkt_lladdr_src(pkt)->len)); + net_pkt_lladdr_src(pkt)->len))); return NET_DROP; } } @@ -3640,7 +3651,8 @@ fwd_dao: if (IS_ENABLED(CONFIG_NET_RPL_DAO_ACK) && (flags & NET_RPL_DAO_K_FLAG) && is_root(instance)) { NET_DBG("Sending DAO-ACK to %s (iface %p)", - net_sprint_ipv6_addr(&NET_IPV6_HDR(pkt)->src), + log_strdup(net_sprint_ipv6_addr( + &NET_IPV6_HDR(pkt)->src)), net_pkt_iface(pkt)); r = dao_ack_send(&NET_IPV6_HDR(pkt)->dst, @@ -3699,7 +3711,7 @@ static enum net_verdict handle_dao_ack(struct net_pkt *pkt) NET_DBG("Received a DAO ACK with seq number %d(%d) status %d from %s", sequence, rpl_dao_sequence, status, - net_sprint_ipv6_addr(&NET_IPV6_HDR(pkt)->src)); + log_strdup(net_sprint_ipv6_addr(&NET_IPV6_HDR(pkt)->src))); if (sequence == rpl_dao_sequence) { NET_DBG("Status %s", status < 128 ? "ACK" : "NACK"); diff --git a/subsys/net/ip/tcp.c b/subsys/net/ip/tcp.c index 74c22d44c72..f1d5ea154b0 100644 --- a/subsys/net/ip/tcp.c +++ b/subsys/net/ip/tcp.c @@ -1829,11 +1829,13 @@ int net_tcp_unref(struct net_context *context) if (IS_ENABLED(CONFIG_NET_TCP_LOG_LEVEL_DBG)) { \ if (net_context_get_family(context) == AF_INET6) { \ NET_DBG("%s received from %s port %d", str, \ - net_sprint_ipv6_addr(&NET_IPV6_HDR(pkt)->src),\ + log_strdup(net_sprint_ipv6_addr( \ + &NET_IPV6_HDR(pkt)->src)), \ ntohs(port)); \ } else if (net_context_get_family(context) == AF_INET) {\ NET_DBG("%s received from %s port %d", str, \ - net_sprint_ipv4_addr(&NET_IPV4_HDR(pkt)->src),\ + log_strdup(net_sprint_ipv4_addr( \ + &NET_IPV4_HDR(pkt)->src)), \ ntohs(port)); \ } \ } @@ -1843,11 +1845,13 @@ int net_tcp_unref(struct net_context *context) struct net_context *ctx = net_pkt_context(pkt); \ if (net_context_get_family(ctx) == AF_INET6) { \ NET_DBG("%s sent to %s port %d", str, \ - net_sprint_ipv6_addr(&NET_IPV6_HDR(pkt)->dst),\ + log_strdup(net_sprint_ipv6_addr( \ + &NET_IPV6_HDR(pkt)->dst)), \ ntohs(port)); \ } else if (net_context_get_family(ctx) == AF_INET) { \ NET_DBG("%s sent to %s port %d", str, \ - net_sprint_ipv4_addr(&NET_IPV4_HDR(pkt)->dst),\ + log_strdup(net_sprint_ipv4_addr( \ + &NET_IPV4_HDR(pkt)->dst)), \ ntohs(port)); \ } \ } diff --git a/subsys/net/ip/utils.c b/subsys/net/ip/utils.c index 064bb5cda2c..524ec2ce519 100644 --- a/subsys/net/ip/utils.c +++ b/subsys/net/ip/utils.c @@ -617,13 +617,13 @@ static bool parse_ipv6(const char *str, size_t str_len, net_sin6(addr)->sin6_port = htons(port); NET_DBG("IPv6 host %s port %d", - net_addr_ntop(AF_INET6, addr6, - ipaddr, sizeof(ipaddr) - 1), + log_strdup(net_addr_ntop(AF_INET6, addr6, + ipaddr, sizeof(ipaddr) - 1)), port); } else { NET_DBG("IPv6 host %s", - net_addr_ntop(AF_INET6, addr6, - ipaddr, sizeof(ipaddr) - 1)); + log_strdup(net_addr_ntop(AF_INET6, addr6, + ipaddr, sizeof(ipaddr) - 1))); } return true; @@ -688,8 +688,8 @@ static bool parse_ipv4(const char *str, size_t str_len, net_sin(addr)->sin_port = htons(port); NET_DBG("IPv4 host %s port %d", - net_addr_ntop(AF_INET, addr4, - ipaddr, sizeof(ipaddr) - 1), + log_strdup(net_addr_ntop(AF_INET, addr4, + ipaddr, sizeof(ipaddr) - 1)), port); return true; } diff --git a/subsys/net/l2/bluetooth/bluetooth.c b/subsys/net/l2/bluetooth/bluetooth.c index 24b830c7e24..0e842c96e67 100644 --- a/subsys/net/l2/bluetooth/bluetooth.c +++ b/subsys/net/l2/bluetooth/bluetooth.c @@ -134,7 +134,7 @@ static void ipsp_connected(struct bt_l2cap_chan *chan) bt_addr_le_to_str(info.le.dst, dst, sizeof(dst)); NET_DBG("Channel %p Source %s connected to Destination %s", - chan, src, dst); + chan, log_strdup(src), log_strdup(dst)); } /* Swap bytes since net APIs expect big endian address */ @@ -385,7 +385,7 @@ static bool eir_found(u8_t type, const u8_t *data, u8_t data_len, char dev[BT_ADDR_LE_STR_LEN]; bt_addr_le_to_str(addr, dev, sizeof(dev)); - NET_DBG("[DEVICE]: %s", dev); + NET_DBG("[DEVICE]: %s", log_strdup(dev)); } /* TODO: Notify device address found */ @@ -512,7 +512,8 @@ static void connected(struct bt_conn *conn, u8_t err) bt_addr_le_to_str(bt_conn_get_dst(conn), addr, sizeof(addr)); - NET_ERR("Failed to connect to %s (%u)\n", addr, err); + NET_ERR("Failed to connect to %s (%u)\n", + log_strdup(addr), err); } return; @@ -534,9 +535,11 @@ static void disconnected(struct bt_conn *conn, u8_t reason) if (NET_LOG_LEVEL >= LOG_LEVEL_DBG) { char addr[BT_ADDR_LE_STR_LEN]; + bt_addr_le_to_str(bt_conn_get_dst(conn), addr, sizeof(addr)); - NET_DBG("Disconnected: %s (reason %u)\n", addr, reason); + NET_DBG("Disconnected: %s (reason %u)\n", + log_strdup(addr), reason); } bt_conn_unref(default_conn); diff --git a/subsys/net/l2/ethernet/arp.c b/subsys/net/l2/ethernet/arp.c index c934b4c0105..df4bef807c1 100644 --- a/subsys/net/l2/ethernet/arp.c +++ b/subsys/net/l2/ethernet/arp.c @@ -58,7 +58,7 @@ static struct arp_entry *arp_entry_find(sys_slist_t *list, SYS_SLIST_FOR_EACH_CONTAINER(list, entry, node) { NET_DBG("iface %p dst %s", - iface, net_sprint_ipv4_addr(&entry->ip)); + iface, log_strdup(net_sprint_ipv4_addr(&entry->ip))); if (entry->iface == iface && net_ipv4_addr_cmp(&entry->ip, dst)) { @@ -79,7 +79,7 @@ static inline struct arp_entry *arp_entry_find_move_first(struct net_if *iface, sys_snode_t *prev = NULL; struct arp_entry *entry; - NET_DBG("dst %s", net_sprint_ipv4_addr(dst)); + NET_DBG("dst %s", log_strdup(net_sprint_ipv4_addr(dst))); entry = arp_entry_find(&arp_table, iface, dst, &prev); if (entry) { @@ -101,7 +101,7 @@ static inline struct arp_entry *arp_entry_find_pending(struct net_if *iface, struct in_addr *dst) { - NET_DBG("dst %s", net_sprint_ipv4_addr(dst)); + NET_DBG("dst %s", log_strdup(net_sprint_ipv4_addr(dst))); return arp_entry_find(&arp_pending_entries, iface, dst, NULL); } @@ -112,7 +112,7 @@ static struct arp_entry *arp_entry_get_pending(struct net_if *iface, sys_snode_t *prev = NULL; struct arp_entry *entry; - NET_DBG("dst %s", net_sprint_ipv4_addr(dst)); + NET_DBG("dst %s", log_strdup(net_sprint_ipv4_addr(dst))); entry = arp_entry_find(&arp_pending_entries, iface, dst, &prev); if (entry) { @@ -163,7 +163,7 @@ static struct arp_entry *arp_entry_get_last_from_table(void) static void arp_entry_register_pending(struct arp_entry *entry) { - NET_DBG("dst %s", net_sprint_ipv4_addr(&entry->ip)); + NET_DBG("dst %s", log_strdup(net_sprint_ipv4_addr(&entry->ip))); sys_slist_append(&arp_pending_entries, &entry->node); @@ -433,8 +433,9 @@ struct net_pkt *net_arp_prepare(struct net_pkt *pkt, ll = net_if_get_link_addr(entry->iface); NET_DBG("ARP using ll %s for IP %s", - net_sprint_ll_addr(ll->addr, sizeof(struct net_eth_addr)), - net_sprint_ipv4_addr(&NET_IPV4_HDR(pkt)->src)); + log_strdup(net_sprint_ll_addr(ll->addr, + sizeof(struct net_eth_addr))), + log_strdup(net_sprint_ipv4_addr(&NET_IPV4_HDR(pkt)->src))); net_eth_fill_header(ctx, pkt, current_ip == NULL ? htons(NET_ETH_PTYPE_IP) : @@ -451,7 +452,7 @@ static inline void arp_update(struct net_if *iface, struct arp_entry *entry; struct net_pkt *pkt; - NET_DBG("src %s", net_sprint_ipv4_addr(src)); + NET_DBG("src %s", log_strdup(net_sprint_ipv4_addr(src))); entry = arp_entry_get_pending(iface, src); if (!entry) { @@ -464,7 +465,7 @@ static inline void arp_update(struct net_if *iface, (u8_t *) &NET_ETH_HDR(entry->pending)->dst.addr; NET_DBG("dst %s pending %p frag %p", - net_sprint_ipv4_addr(&entry->ip), + log_strdup(net_sprint_ipv4_addr(&entry->ip)), entry->pending, entry->pending->frags); pkt = entry->pending; @@ -574,10 +575,12 @@ enum net_verdict net_arp_input(struct net_pkt *pkt) } NET_DBG("ARP request from %s [%s] for %s", - net_sprint_ipv4_addr(&arp_hdr->src_ipaddr), - net_sprint_ll_addr((u8_t *)&arp_hdr->src_hwaddr, - arp_hdr->hwlen), - net_sprint_ipv4_addr(&arp_hdr->dst_ipaddr)); + log_strdup(net_sprint_ipv4_addr(&arp_hdr->src_ipaddr)), + log_strdup(net_sprint_ll_addr( + (u8_t *)&arp_hdr->src_hwaddr, + arp_hdr->hwlen)), + log_strdup(net_sprint_ipv4_addr( + &arp_hdr->dst_ipaddr))); /* Send reply */ reply = arp_prepare_reply(net_pkt_iface(pkt), pkt); diff --git a/subsys/net/l2/ethernet/ethernet.c b/subsys/net/l2/ethernet/ethernet.c index 1ef43965e7a..f99baeec713 100644 --- a/subsys/net/l2/ethernet/ethernet.c +++ b/subsys/net/l2/ethernet/ethernet.c @@ -57,9 +57,9 @@ void net_eth_ipv6_mcast_to_mac_addr(const struct in6_addr *ipv6_addr, sizeof(struct net_eth_addr))); \ \ NET_DBG("iface %p src %s dst %s type 0x%x len %zu", \ - net_pkt_iface(pkt), out, \ - net_sprint_ll_addr((dst)->addr, \ - sizeof(struct net_eth_addr)), \ + net_pkt_iface(pkt), log_strdup(out), \ + log_strdup(net_sprint_ll_addr((dst)->addr, \ + sizeof(struct net_eth_addr))), \ type, (size_t)len); \ } @@ -73,9 +73,9 @@ void net_eth_ipv6_mcast_to_mac_addr(const struct in6_addr *ipv6_addr, \ NET_DBG("iface %p src %s dst %s type 0x%x tag %d pri %d " \ "len %zu", \ - net_pkt_iface(pkt), out, \ - net_sprint_ll_addr((dst)->addr, \ - sizeof(struct net_eth_addr)), \ + net_pkt_iface(pkt), log_strdup(out), \ + log_strdup(net_sprint_ll_addr((dst)->addr, \ + sizeof(struct net_eth_addr))), \ type, net_eth_vlan_get_vid(tci), \ net_eth_vlan_get_pcp(tci), (size_t)len); \ } @@ -201,8 +201,9 @@ static enum net_verdict ethernet_recv(struct net_if *iface, * are different. */ NET_DBG("Dropping frame, not for me [%s]", - net_sprint_ll_addr(net_if_get_link_addr(iface)->addr, - sizeof(struct net_eth_addr))); + log_strdup(net_sprint_ll_addr( + net_if_get_link_addr(iface)->addr, + sizeof(struct net_eth_addr)))); return NET_DROP; } @@ -213,8 +214,9 @@ static enum net_verdict ethernet_recv(struct net_if *iface, #ifdef CONFIG_NET_ARP if (family == AF_INET && type == NET_ETH_PTYPE_ARP) { NET_DBG("ARP packet from %s received", - net_sprint_ll_addr((u8_t *)hdr->src.addr, - sizeof(struct net_eth_addr))); + log_strdup(net_sprint_ll_addr( + (u8_t *)hdr->src.addr, + sizeof(struct net_eth_addr)))); #ifdef CONFIG_NET_IPV4_AUTO if (net_ipv4_autoconf_input(iface, pkt) == NET_DROP) { return NET_DROP; @@ -522,8 +524,9 @@ static enum net_verdict ethernet_send(struct net_if *iface, net_pkt_lladdr_dst(pkt)->len = sizeof(struct net_eth_addr); NET_DBG("Destination address was not set, using %s", - net_sprint_ll_addr(net_pkt_lladdr_dst(pkt)->addr, - net_pkt_lladdr_dst(pkt)->len)); + log_strdup(net_sprint_ll_addr( + net_pkt_lladdr_dst(pkt)->addr, + net_pkt_lladdr_dst(pkt)->len))); } setup_hdr: diff --git a/subsys/net/l2/ethernet/gptp/gptp.c b/subsys/net/l2/ethernet/gptp/gptp.c index 6c193c86dd5..621e512a554 100644 --- a/subsys/net/l2/ethernet/gptp/gptp.c +++ b/subsys/net/l2/ethernet/gptp/gptp.c @@ -87,7 +87,7 @@ static void gptp_compute_clock_identity(int port) } #define PRINT_INFO(msg, hdr, pkt) \ - NET_DBG("Received %s seq %d pkt %p", msg, \ + NET_DBG("Received %s seq %d pkt %p", log_strdup(msg), \ ntohs(hdr->sequence_id), pkt) \ diff --git a/subsys/net/l2/ethernet/gptp/gptp_messages.c b/subsys/net/l2/ethernet/gptp/gptp_messages.c index 2a4ceedc3b8..268ec09bece 100644 --- a/subsys/net/l2/ethernet/gptp/gptp_messages.c +++ b/subsys/net/l2/ethernet/gptp/gptp_messages.c @@ -37,17 +37,19 @@ static const struct net_eth_addr gptp_multicast_eth_addr = { output, \ sizeof(output)); \ \ - NET_DBG("Sending %s seq %d pkt %p",\ - msg, ntohs(hdr->sequence_id), pkt); \ + NET_DBG("Sending %s seq %d pkt %p", \ + log_strdup(msg), \ + ntohs(hdr->sequence_id), pkt); \ \ NET_DBG(" GM %d/%d/0x%x/%d/%s",\ ann->root_system_id.grand_master_prio1, \ ann->root_system_id.clk_quality.clock_class, \ ann->root_system_id.clk_quality.clock_accuracy,\ ann->root_system_id.grand_master_prio2, \ - output); \ + log_strdup(output)); \ } else { \ - NET_DBG("Sending %s seq %d pkt %p", msg, \ + NET_DBG("Sending %s seq %d pkt %p", \ + log_strdup(msg), \ ntohs(hdr->sequence_id), pkt); \ } \ } diff --git a/subsys/net/l2/openthread/openthread.c b/subsys/net/l2/openthread/openthread.c index b82fc59757d..a50e1ceeade 100644 --- a/subsys/net/l2/openthread/openthread.c +++ b/subsys/net/l2/openthread/openthread.c @@ -311,7 +311,7 @@ static int openthread_init(struct net_if *iface) otThreadSetNetworkName(ot_context->instance, CONFIG_OPENTHREAD_NETWORK_NAME); NET_INFO("Network name: %s", - otThreadGetNetworkName(ot_context->instance)); + log_strdup(otThreadGetNetworkName(ot_context->instance))); otLinkSetChannel(ot_context->instance, CONFIG_OPENTHREAD_CHANNEL); otLinkSetPanId(ot_context->instance, CONFIG_OPENTHREAD_PANID); diff --git a/subsys/net/l2/openthread/openthread_utils.c b/subsys/net/l2/openthread/openthread_utils.c index 498acaad655..0b5aaae0dee 100644 --- a/subsys/net/l2/openthread/openthread_utils.c +++ b/subsys/net/l2/openthread/openthread_utils.c @@ -74,9 +74,9 @@ void add_ipv6_addr_to_zephyr(struct openthread_context *context) char buf[NET_IPV6_ADDR_LEN]; NET_DBG("Adding %s", - net_addr_ntop(AF_INET6, - (struct in6_addr *)(&address->mAddress), - buf, sizeof(buf))); + log_strdup(net_addr_ntop(AF_INET6, + (struct in6_addr *)(&address->mAddress), + buf, sizeof(buf)))); #endif net_if_ipv6_addr_add(context->iface, (struct in6_addr *)(&address->mAddress), @@ -118,9 +118,10 @@ void add_ipv6_addr_to_ot(struct openthread_context *context) { char buf[NET_IPV6_ADDR_LEN]; - NET_DBG("Added %s", net_addr_ntop(AF_INET6, - &addr.mAddress, buf, - sizeof(buf))); + NET_DBG("Added %s", + log_strdup(net_addr_ntop(AF_INET6, + &addr.mAddress, buf, + sizeof(buf)))); } #endif } @@ -153,8 +154,8 @@ void add_ipv6_maddr_to_ot(struct openthread_context *context) char buf[NET_IPV6_ADDR_LEN]; NET_DBG("Added multicast %s", - net_addr_ntop(AF_INET6, &addr, - buf, sizeof(buf))); + log_strdup(net_addr_ntop(AF_INET6, &addr, + buf, sizeof(buf)))); } #endif } @@ -175,9 +176,9 @@ void add_ipv6_maddr_to_zephyr(struct openthread_context *context) char buf[NET_IPV6_ADDR_LEN]; NET_DBG("Adding multicast %s", - net_addr_ntop(AF_INET6, + log_strdup(net_addr_ntop(AF_INET6, (struct in6_addr *)(&maddress->mAddress), - buf, sizeof(buf))); + buf, sizeof(buf)))); #endif net_if_ipv6_maddr_add(context->iface, (struct in6_addr *)(&maddress->mAddress)); @@ -221,9 +222,9 @@ void rm_ipv6_addr_from_zephyr(struct openthread_context *context) char buf[NET_IPV6_ADDR_LEN]; NET_DBG("Removing %s", - net_addr_ntop(AF_INET6, + log_strdup(net_addr_ntop(AF_INET6, &zephyr_addr->address.in6_addr, - buf, sizeof(buf))); + buf, sizeof(buf)))); #endif net_if_ipv6_addr_rm(context->iface, &zephyr_addr->address.in6_addr); @@ -268,9 +269,9 @@ void rm_ipv6_maddr_from_zephyr(struct openthread_context *context) char buf[NET_IPV6_ADDR_LEN]; NET_DBG("Removing multicast %s", - net_addr_ntop(AF_INET6, + log_strdup(net_addr_ntop(AF_INET6, &zephyr_addr->address.in6_addr, - buf, sizeof(buf))); + buf, sizeof(buf)))); #endif net_if_ipv6_maddr_rm(context->iface, &zephyr_addr->address.in6_addr); diff --git a/subsys/net/lib/app/client.c b/subsys/net/lib/app/client.c index 55139f42ef9..161cb309436 100644 --- a/subsys/net/lib/app/client.c +++ b/subsys/net/lib/app/client.c @@ -77,7 +77,8 @@ static int resolve_name(struct net_app_ctx *ctx, ret = dns_get_addr_info(peer_addr_str, type, &ctx->client.dns_id, dns_cb, ctx, timeout); if (ret < 0) { - NET_ERR("Cannot resolve %s (%d)", peer_addr_str, ret); + NET_ERR("Cannot resolve %s (%d)", log_strdup(peer_addr_str), + ret); ctx->client.dns_id = 0; return ret; } @@ -86,7 +87,8 @@ static int resolve_name(struct net_app_ctx *ctx, * the DNS will timeout before the semaphore. */ if (k_sem_take(&ctx->client.dns_wait, timeout + K_SECONDS(1))) { - NET_ERR("Timeout while resolving %s", peer_addr_str); + NET_ERR("Timeout while resolving %s", + log_strdup(peer_addr_str)); ctx->client.dns_id = 0; return -ETIMEDOUT; } @@ -113,7 +115,8 @@ static int try_resolve(struct net_app_ctx *ctx, ret = resolve_name(ctx, peer_addr_str, type, timeout); if (ret < 0) { - NET_ERR("Cannot resolve %s (%d)", peer_addr_str, ret); + NET_ERR("Cannot resolve %s (%d)", + log_strdup(peer_addr_str), ret); } return ret; diff --git a/subsys/net/lib/app/net_app.c b/subsys/net/lib/app/net_app.c index 0e2a5c178f3..bc7c4da5010 100644 --- a/subsys/net/lib/app/net_app.c +++ b/subsys/net/lib/app/net_app.c @@ -105,7 +105,7 @@ char *_net_app_sprint_ipaddr(char *buf, int buflen, net_addr_ntop(addr->sa_family, &net_sin6(addr)->sin6_addr, ipaddr, sizeof(ipaddr)); - snprintk(buf, buflen, "[%s]:%u", ipaddr, + snprintk(buf, buflen, "[%s]:%u", log_strdup(ipaddr), ntohs(net_sin6(addr)->sin6_port)); #endif } else if (addr->sa_family == AF_INET) { @@ -115,7 +115,7 @@ char *_net_app_sprint_ipaddr(char *buf, int buflen, net_addr_ntop(addr->sa_family, &net_sin(addr)->sin_addr, ipaddr, sizeof(ipaddr)); - snprintk(buf, buflen, "%s:%u", ipaddr, + snprintk(buf, buflen, "%s:%u", log_strdup(ipaddr), ntohs(net_sin(addr)->sin_port)); #endif } else { @@ -137,9 +137,9 @@ void _net_app_print_info(struct net_app_ctx *ctx) &ctx->default_ctx->remote); NET_DBG("net app connect %s %s %s", - local, + log_strdup(local), ctx->app_type == NET_APP_CLIENT ? "->" : "<-", - remote); + log_strdup(remote)); } #if defined(CONFIG_NET_APP_SERVER) || defined(CONFIG_NET_APP_CLIENT) @@ -1179,7 +1179,8 @@ static void my_debug(void *ctx, int level, ((char *)str)[len - 1] = '\0'; } - NET_DBG("%s:%04d: |%d| %s", basename, line, level, str); + NET_DBG("%s:%04d: |%d| %s", basename, line, level, + log_strdup(str)); } #endif /* MBEDTLS_DEBUG_C && NET_LOG_LEVEL >= LOG_LEVEL_DBG */ diff --git a/subsys/net/lib/app/net_app_private.h b/subsys/net/lib/app/net_app_private.h index f520d4b489e..19b83d58e65 100644 --- a/subsys/net/lib/app/net_app_private.h +++ b/subsys/net/lib/app/net_app_private.h @@ -22,7 +22,7 @@ \ mbedtls_strerror(ret, error, sizeof(error)); \ \ - NET_ERR(fmt " (%s)", -ret, error); \ + NET_ERR(fmt " (%s)", -ret, log_strdup(error)); \ } while (0) #else #define _net_app_print_error(fmt, ret) NET_ERR(fmt, -ret) diff --git a/subsys/net/lib/app/server.c b/subsys/net/lib/app/server.c index 0aa020787af..61aa7c14499 100644 --- a/subsys/net/lib/app/server.c +++ b/subsys/net/lib/app/server.c @@ -36,7 +36,7 @@ static void new_client(struct net_context *net_ctx, #endif NET_INFO("Connection from %s (%p)", - _net_app_sprint_ipaddr(buf, sizeof(buf), addr), + log_strdup(_net_app_sprint_ipaddr(buf, sizeof(buf), addr)), net_ctx); #endif } @@ -298,14 +298,16 @@ static inline void new_server(struct net_app_ctx *ctx, #endif #if defined(CONFIG_NET_IPV6) - NET_INFO("%s %s (%p)", server_banner, - _net_app_sprint_ipaddr(buf, sizeof(buf), &ctx->ipv6.local), + NET_INFO("%s %s (%p)", log_strdup(server_banner), + log_strdup(_net_app_sprint_ipaddr(buf, sizeof(buf), + &ctx->ipv6.local)), ctx); #endif #if defined(CONFIG_NET_IPV4) - NET_INFO("%s %s (%p)", server_banner, - _net_app_sprint_ipaddr(buf, sizeof(buf), &ctx->ipv4.local), + NET_INFO("%s %s (%p)", log_strdup(server_banner), + log_strdup(_net_app_sprint_ipaddr(buf, sizeof(buf), + &ctx->ipv4.local)), ctx); #endif #endif diff --git a/subsys/net/lib/config/init.c b/subsys/net/lib/config/init.c index cebda2e5db6..1521d72bd03 100644 --- a/subsys/net/lib/config/init.c +++ b/subsys/net/lib/config/init.c @@ -56,17 +56,19 @@ static void ipv4_addr_add_handler(struct net_mgmt_event_callback *cb, #if NET_LOG_LEVEL > 2 NET_INFO("IPv4 address: %s", - net_addr_ntop(AF_INET, &if_addr->address.in_addr, - hr_addr, sizeof(hr_addr))); + log_strdup(net_addr_ntop(AF_INET, + &if_addr->address.in_addr, + hr_addr, sizeof(hr_addr)))); NET_INFO("Lease time: %u seconds", iface->config.dhcpv4.lease_time); NET_INFO("Subnet: %s", - net_addr_ntop(AF_INET, + log_strdup(net_addr_ntop(AF_INET, &iface->config.ip.ipv4->netmask, - hr_addr, sizeof(hr_addr))); + hr_addr, sizeof(hr_addr)))); NET_INFO("Router: %s", - net_addr_ntop(AF_INET, &iface->config.ip.ipv4->gw, - hr_addr, sizeof(hr_addr))); + log_strdup(net_addr_ntop(AF_INET, + &iface->config.ip.ipv4->gw, + hr_addr, sizeof(hr_addr)))); #endif break; } @@ -132,7 +134,8 @@ static void setup_ipv4(struct net_if *iface) #if NET_LOG_LEVEL > 2 NET_INFO("IPv4 address: %s", - net_addr_ntop(AF_INET, &addr, hr_addr, sizeof(hr_addr))); + log_strdup(net_addr_ntop(AF_INET, &addr, hr_addr, + sizeof(hr_addr)))); #endif if (sizeof(CONFIG_NET_CONFIG_MY_IPV4_NETMASK) > 1) { @@ -210,8 +213,8 @@ static void ipv6_event_handler(struct net_mgmt_event_callback *cb, #if NET_LOG_LEVEL > 2 NET_INFO("IPv6 address: %s", - net_addr_ntop(AF_INET6, &laddr, hr_addr, - NET_IPV6_ADDR_LEN)); + log_strdup(net_addr_ntop(AF_INET6, &laddr, hr_addr, + NET_IPV6_ADDR_LEN))); #endif k_sem_take(&counter, K_NO_WAIT); @@ -283,7 +286,7 @@ int net_config_init(const char *app_info, u32_t flags, s32_t timeout) int count = 0; if (app_info) { - NET_INFO("%s", app_info); + NET_INFO("%s", log_strdup(app_info)); } if (!iface) { diff --git a/subsys/net/lib/dns/llmnr_responder.c b/subsys/net/lib/dns/llmnr_responder.c index 71b41efa7b7..7173b7a52fb 100644 --- a/subsys/net/lib/dns/llmnr_responder.c +++ b/subsys/net/lib/dns/llmnr_responder.c @@ -437,8 +437,10 @@ static int send_response(struct net_context *ctx, struct net_pkt *pkt, if (ret < 0) { NET_DBG("Cannot send LLMNR reply to %s (%d)", net_pkt_family(pkt) == AF_INET ? - net_sprint_ipv4_addr(&net_sin(&dst)->sin_addr) : - net_sprint_ipv6_addr(&net_sin6(&dst)->sin6_addr), + log_strdup(net_sprint_ipv4_addr( + &net_sin(&dst)->sin_addr)) : + log_strdup(net_sprint_ipv6_addr( + &net_sin6(&dst)->sin6_addr)), ret); net_pkt_unref(reply); @@ -498,8 +500,9 @@ static int dns_read(struct net_context *ctx, NET_DBG("Received %d %s from %s (id 0x%04x)", queries, queries > 1 ? "queries" : "query", net_pkt_family(pkt) == AF_INET ? - net_sprint_ipv4_addr(&NET_IPV4_HDR(pkt)->src) : - net_sprint_ipv6_addr(&NET_IPV6_HDR(pkt)->src), dns_id); + log_strdup(net_sprint_ipv4_addr(&NET_IPV4_HDR(pkt)->src)) : + log_strdup(net_sprint_ipv6_addr(&NET_IPV6_HDR(pkt)->src)), + dns_id); do { enum dns_rr_type qtype; @@ -515,7 +518,7 @@ static int dns_read(struct net_context *ctx, NET_DBG("[%d] query %s/%s label %s (%d bytes)", queries, qtype == DNS_RR_TYPE_A ? "A" : "AAAA", "IN", - result->data, ret); + log_strdup(result->data), ret); /* If the query matches to our hostname, then send reply */ if (!strncasecmp(hostname, result->data + 1, hostname_len) && @@ -581,7 +584,7 @@ static void iface_ipv6_cb(struct net_if *iface, void *user_data) ret = net_ipv6_mld_join(iface, addr); if (ret < 0) { NET_DBG("Cannot join %s IPv6 multicast group (%d)", - net_sprint_ipv6_addr(addr), ret); + log_strdup(net_sprint_ipv6_addr(addr)), ret); } } diff --git a/subsys/net/lib/dns/mdns_responder.c b/subsys/net/lib/dns/mdns_responder.c index e7958eded16..819dd1800b0 100644 --- a/subsys/net/lib/dns/mdns_responder.c +++ b/subsys/net/lib/dns/mdns_responder.c @@ -331,8 +331,8 @@ static int dns_read(struct net_context *ctx, NET_DBG("Received %d %s from %s", queries, queries > 1 ? "queries" : "query", net_pkt_family(pkt) == AF_INET ? - net_sprint_ipv4_addr(&NET_IPV4_HDR(pkt)->src) : - net_sprint_ipv6_addr(&NET_IPV6_HDR(pkt)->src)); + log_strdup(net_sprint_ipv4_addr(&NET_IPV4_HDR(pkt)->src)) : + log_strdup(net_sprint_ipv6_addr(&NET_IPV6_HDR(pkt)->src))); do { enum dns_rr_type qtype; @@ -355,7 +355,7 @@ static int dns_read(struct net_context *ctx, NET_DBG("[%d] query %s/%s label %s (%d bytes)", queries, qtype == DNS_RR_TYPE_A ? "A" : "AAAA", "IN", - result->data, ret); + log_strdup(result->data), ret); /* If the query matches to our hostname, then send reply. * We skip the first dot, and make sure there is dot after @@ -426,7 +426,7 @@ static void iface_ipv6_cb(struct net_if *iface, void *user_data) ret = net_ipv6_mld_join(iface, addr); if (ret < 0) { NET_DBG("Cannot join %s IPv6 multicast group (%d)", - net_sprint_ipv6_addr(addr), ret); + log_strdup(net_sprint_ipv6_addr(addr)), ret); } } diff --git a/subsys/net/lib/dns/resolve.c b/subsys/net/lib/dns/resolve.c index 22db8412d1e..c287e4a0288 100644 --- a/subsys/net/lib/dns/resolve.c +++ b/subsys/net/lib/dns/resolve.c @@ -222,7 +222,7 @@ int dns_resolve_init(struct dns_resolve_context *ctx, const char *servers[], dns_postprocess_server(ctx, idx); - NET_DBG("[%d] %s", i, servers[i]); + NET_DBG("[%d] %s", i, log_strdup(servers[i])); idx++; } diff --git a/subsys/net/lib/http/http_client.c b/subsys/net/lib/http/http_client.c index 938c8387564..8f4d0e311e9 100644 --- a/subsys/net/lib/http/http_client.c +++ b/subsys/net/lib/http/http_client.c @@ -194,8 +194,9 @@ static inline void print_info(struct http_ctx *ctx, &ctx->app_ctx.default_ctx->remote); NET_DBG("HTTP %s (%s) %s -> %s port %d", - http_method_str(method), ctx->http.req.host, local, - remote, + http_method_str(method), + log_strdup(ctx->http.req.host), log_strdup(local), + log_strdup(remote), ntohs(net_sin(&ctx->app_ctx.default_ctx->remote)-> sin_port)); } @@ -283,7 +284,7 @@ static void print_header_field(size_t len, const char *str) snprintk(output, len + 1, "%s", str); - NET_DBG("[%zd] %s", len, output); + NET_DBG("[%zd] %s", len, log_strdup(output)); } } @@ -307,7 +308,8 @@ static int on_status(struct http_parser *parser, const char *at, size_t length) memcpy(ctx->http.rsp.http_status, at, len); ctx->http.rsp.http_status[len] = 0; - NET_DBG("HTTP response status %s", ctx->http.rsp.http_status); + NET_DBG("HTTP response status %s", + log_strdup(ctx->http.rsp.http_status)); return 0; } diff --git a/subsys/net/lib/sockets/sockets_tls.c b/subsys/net/lib/sockets/sockets_tls.c index 5d8b520b9f4..af51d430526 100644 --- a/subsys/net/lib/sockets/sockets_tls.c +++ b/subsys/net/lib/sockets/sockets_tls.c @@ -162,7 +162,8 @@ static void tls_debug(void *ctx, int level, const char *file, } } - NET_DBG("%s:%04d: |%d| %s", basename, line, level, str); + NET_DBG("%s:%04d: |%d| %s", basename, line, level, + log_strdup(str)); } #endif /* defined(MBEDTLS_DEBUG_C) && defined(CONFIG_NET_TLS_DEBUG) */