{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":103394731,"defaultBranch":"master","name":"iputils","ownerLogin":"pevik","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2017-09-13T12:05:36.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/671766?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1724843312.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"fe10922486d8d5308a56c00108457e8a64be6c4a","ref":"refs/heads/wrap-error-gh552","pushedAt":"2024-08-28T11:08:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"pevik","name":"Petr Vorel","path":"/pevik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/671766?s=80&v=4"},"commit":{"message":"tree: Wrap error() with macros\n\nTODO: finish\n\nSigned-off-by: Petr Vorel ","shortMessageHtmlLink":"tree: Wrap error() with macros"}},{"before":"908419b10fcecf79e06efac0bc593deaa4765f52","after":"1bfd6349c7d9fe77a11af267e89b98a0f7c8eff1","ref":"refs/heads/ping/fix-s-integer-overflow","pushedAt":"2024-08-26T17:51:34.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pevik","name":"Petr Vorel","path":"/pevik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/671766?s=80&v=4"},"commit":{"message":"ping: Lower max allowed -s value to 65507 (IPv4) or 65527 (IPv6)\n\nMaximum value for ping -s option cannot be higher than maximum IPv4/v6\npacket size, which is 65535. More precisely, the value should respect\nmaximum IPv4/v6 ICMP data length.\n\nTherefore limit:\n* ICMP payload: 65507 = 65535 (IPv4 packet size) - 20 (min IPv4 header\n size) - 8 (ICMP header size)\n* ICMPv6 payload: 65527 = 65535 (IPv6 packet size) - 8 (ICMPv6 header size)\n\nUse the higher value unless user choose the protocol (-4/-6 options or\nusing ping4 or ping6 symlinks) or target is a numeric address.\n\nForcing a correct size fixes problem in IPv6 introduced in\n87dbb3a5db657d5eae6934707beaf0507980a1c3\n\nForcing a correct size fixes slowdown for non-root on IPv6 when\nusing -s <65535-65528> introduced in 87dbb3a5db657d5eae6934707beaf0507980a1c3.\nPreviously instead of early quit with EMSGSIZE ping after final sendto()\ncall setitimer(ITIMER_REAL, ) followed with many recvmsg() in main_loop()\nwhich resulted in EAGAIN until timeout.\n\nResearch:\n\nLinux kernel limits IPv4/6 packet size size exactly to these values:\n\n* ICMP datagram socket net/ipv4/ping.c in ping_common_sendmsg() (used in\nboth ping_v4_sendmsg() and ping_v6_sendmsg()):\n\n if (len > 0xFFFF)\n\t return -EMSGSIZE;\n\n* raw socket IPv4 in raw_sendmsg() in net/ipv4/raw.c:\n\n err = -EMSGSIZE;\n if (len > 0xFFFF)\n\t goto out;\n\n* raw IPv6 socket is limited similarly in __ip6_append_data() in\n net/ipv6/ip6_output.c, where it more data could be passed if bigger\n MTU is respected (but for ping to be working also jumboheader is\n needed to be added):\n\n @@ -1473,7 +1473,7 @@ static int __ip6_append_data(struct sock *sk,\n }\n\n if (ip6_sk_ignore_df(sk))\n- maxnonfragsize = sizeof(struct ipv6hdr) + IPV6_MAXPLEN;\n+ maxnonfragsize = max_t(u32, mtu, sizeof(struct ipv6hdr) + IPV6_MAXPLEN);\n\nBecause Big TCP support is limited only to TCP (ping uses UDP on both\nraw socket and ICMP datagram socket), it would have to be for IPv4 sent\nas multiple packets (IPv4 fragmentation), for IPv6 support IPv6\njumbograms (Hop-by-Hop option aka \"Jumbo Payload option\", see RFC 2675).\n\nOther ping implementations on Linux also limit it to similar values\n(Busybox: 65535, fping: 65507, inetutils: IPv4: 65399, IPv6: 65527,\nlikely kernel limitation, FreeBSD limits on IPv4: 65507).\n\nCloses: https://github.com/iputils/iputils/pull/550\nFixes: 87dbb3a5db657d5eae6934707beaf0507980a1c3\nSigned-off-by: Petr Vorel ","shortMessageHtmlLink":"ping: Lower max allowed -s value to 65507 (IPv4) or 65527 (IPv6)"}},{"before":"957cea3bce83998537763cd9cedbf43f2f8ddaed","after":"908419b10fcecf79e06efac0bc593deaa4765f52","ref":"refs/heads/ping/fix-s-integer-overflow","pushedAt":"2024-08-26T17:33:02.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pevik","name":"Petr Vorel","path":"/pevik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/671766?s=80&v=4"},"commit":{"message":"ping: Lower max allowed -s value to 65507 (IPv4) or 65527 (IPv6)\n\nMaximum value for ping -s option cannot be higher than maximum IPv4/v6\npacket size, which is 65535. More precisely, the value should respect\nmaximum IPv4/v6 ICMP data length.\n\nTherefore limit:\n* ICMP payload: 65507 = 65535 (IPv4 packet size) - 20 (min IPv4 header\n size) - 8 (ICMP header size)\n* ICMPv6 payload: 65527 = 65535 (IPv6 packet size) - 8 (ICMPv6 header size)\n\nUse the higher value unless user choose the protocol (-4/-6 options or\nusing ping4 or ping6 symlinks) or target is a numeric address.\n\nForcing a correct size fixes problem in IPv6 introduced in\n87dbb3a5db657d5eae6934707beaf0507980a1c3\n\nForcing a correct size fixes slowdown on IPv6 when\nusing -s <65535-65528> introduced in 87dbb3a5db657d5eae6934707beaf0507980a1c3.\nPreviously instead of early quit with EMSGSIZE ping tried to run recvmsg() in\nmain_loop() which resulted in EAGAIN until timeout.\n\nResearch:\n\nLinux kernel limits IPv4/6 packet size size exactly to these values:\n\n* ICMP datagram socket net/ipv4/ping.c in ping_common_sendmsg() (used in\nboth ping_v4_sendmsg() and ping_v6_sendmsg()):\n\n if (len > 0xFFFF)\n\t return -EMSGSIZE;\n\n* raw socket IPv4 in raw_sendmsg() in net/ipv4/raw.c:\n\n err = -EMSGSIZE;\n if (len > 0xFFFF)\n\t goto out;\n\n* raw IPv6 socket is limited similarly in __ip6_append_data() in\n net/ipv6/ip6_output.c, where it more data could be passed if bigger\n MTU is respected (but for ping to be working also jumboheader is\n needed to be added):\n\n @@ -1473,7 +1473,7 @@ static int __ip6_append_data(struct sock *sk,\n }\n\n if (ip6_sk_ignore_df(sk))\n- maxnonfragsize = sizeof(struct ipv6hdr) + IPV6_MAXPLEN;\n+ maxnonfragsize = max_t(u32, mtu, sizeof(struct ipv6hdr) + IPV6_MAXPLEN);\n\nBecause Big TCP support is limited only to TCP (ping uses UDP on both\nraw socket and ICMP datagram socket), it would have to be for IPv4 sent\nas multiple packets (IPv4 fragmentation), for IPv6 support IPv6\njumbograms (Hop-by-Hop option aka \"Jumbo Payload option\", see RFC 2675).\n\nOther ping implementations on Linux also limit it to similar values\n(Busybox: 65535, fping: 65507, inetutils: IPv4: 65399, IPv6: 65527,\nlikely kernel limitation, FreeBSD limits on IPv4: 65507).\n\nCloses: https://github.com/iputils/iputils/pull/550\nFixes: 87dbb3a5db657d5eae6934707beaf0507980a1c3\nSigned-off-by: Petr Vorel ","shortMessageHtmlLink":"ping: Lower max allowed -s value to 65507 (IPv4) or 65527 (IPv6)"}},{"before":"586e1e5b9b2ee8a69289984f069f46a8acc743dc","after":"957cea3bce83998537763cd9cedbf43f2f8ddaed","ref":"refs/heads/ping/fix-s-integer-overflow","pushedAt":"2024-08-26T16:11:01.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pevik","name":"Petr Vorel","path":"/pevik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/671766?s=80&v=4"},"commit":{"message":"ping: Lower max allowed -s value to 65507 (IPv4) or 65527 (IPv6)\n\nMaximum value for ping -s option cannot be higher than maximum IPv4/v6\npacket size, which is 65535. More precisely, the value should respect\nmaximum IPv4/v6 ICMP data length.\n\nTherefore limit:\n* ICMP payload: 65507 = 65535 (IPv4 packet size) - 20 (min IPv4 header\n size) - 8 (ICMP header size)\n* ICMPv6 payload: 65527 = 65535 (IPv6 packet size) - 8 (ICMPv6 header size)\n\nUse the higher value unless user choose the protocol (-4/-6 options or\nusing ping4 or ping6 symlinks) or target is a numeric address.\n\nResearch:\n\nLinux kernel limits IPv4/6 packet size size exactly to these values:\n\n* ICMP datagram socket net/ipv4/ping.c in ping_common_sendmsg() (used in\nboth ping_v4_sendmsg() and ping_v6_sendmsg()):\n\n if (len > 0xFFFF)\n\t return -EMSGSIZE;\n\n* raw socket IPv4 in raw_sendmsg() in net/ipv4/raw.c:\n\n err = -EMSGSIZE;\n if (len > 0xFFFF)\n\t goto out;\n\n* raw IPv6 socket is limited similarly in __ip6_append_data() in\n net/ipv6/ip6_output.c, where it more data could be passed if bigger\n MTU is respected (but for ping to be working also jumboheader is\n needed to be added):\n\n @@ -1473,7 +1473,7 @@ static int __ip6_append_data(struct sock *sk,\n }\n\n if (ip6_sk_ignore_df(sk))\n- maxnonfragsize = sizeof(struct ipv6hdr) + IPV6_MAXPLEN;\n+ maxnonfragsize = max_t(u32, mtu, sizeof(struct ipv6hdr) + IPV6_MAXPLEN);\n\nBecause Big TCP support is limited only to TCP (ping uses UDP on both\nraw socket and ICMP datagram socket), it would have to be for IPv4 sent\nas multiple packets (IPv4 fragmentation), for IPv6 support IPv6\njumbograms (Hop-by-Hop option aka \"Jumbo Payload option\", see RFC 2675).\n\nOther ping implementations on Linux also limit it to similar values\n(Busybox: 65535, fping: 65507, inetutils: IPv4: 65399, IPv6: 65527,\nlikely kernel limitation, FreeBSD limits on IPv4: 65507).\n\nCloses: https://github.com/iputils/iputils/pull/550\nSigned-off-by: Petr Vorel ","shortMessageHtmlLink":"ping: Lower max allowed -s value to 65507 (IPv4) or 65527 (IPv6)"}},{"before":"c6dfb2915183e043675f3c0993c4f0c5a5ce4f94","after":"586e1e5b9b2ee8a69289984f069f46a8acc743dc","ref":"refs/heads/ping/fix-s-integer-overflow","pushedAt":"2024-08-26T16:05:33.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pevik","name":"Petr Vorel","path":"/pevik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/671766?s=80&v=4"},"commit":{"message":"ping: Lower max allowed -s value to 65507 (IPv4) or 65527 (IPv6)\n\nMaximum value for ping -s option cannot be higher than maximum IPv4/v6\npacket size, which is 65535. More precisely, the value should respect\nmaximum IPv4/v6 ICMP data length.\n\nTherefore limit:\n* ICMP payload: 65507 = 65535 (IPv4 packet size) - 20 (min IPv4 header\n size) - 8 (ICMP header size)\n* ICMPv6 payload: 65527 = 65535 (IPv6 packet size) - 8 (ICMPv6 header size)\n\nUse the higher value unless user chose the protocol.\n\nLinux kernel limits IPv4/6 packet size size exactly to these values:\n\n* ICMP datagram socket net/ipv4/ping.c in ping_common_sendmsg() (used in\nboth ping_v4_sendmsg() and ping_v6_sendmsg()):\n\n if (len > 0xFFFF)\n\t return -EMSGSIZE;\n\n* raw socket IPv4 in raw_sendmsg() in net/ipv4/raw.c:\n\n err = -EMSGSIZE;\n if (len > 0xFFFF)\n\t goto out;\n\n* raw IPv6 socket is limited similarly in __ip6_append_data() in\n net/ipv6/ip6_output.c, where it more data could be passed if bigger\n MTU is respected (but for ping to be working also jumboheader is\n needed to be added):\n\n @@ -1473,7 +1473,7 @@ static int __ip6_append_data(struct sock *sk,\n }\n\n if (ip6_sk_ignore_df(sk))\n- maxnonfragsize = sizeof(struct ipv6hdr) + IPV6_MAXPLEN;\n+ maxnonfragsize = max_t(u32, mtu, sizeof(struct ipv6hdr) + IPV6_MAXPLEN);\n\nBecause Big TCP support is limited only to TCP (ping uses UDP on both\nraw socket and ICMP datagram socket), it would have to be for IPv4 sent\nas multiple packets (IPv4 fragmentation), for IPv6 support IPv6\njumbograms (Hop-by-Hop option aka \"Jumbo Payload option\", see RFC 2675).\n\nOther ping implementations on Linux also limit it to similar values\n(Busybox: 65535, fping: 65507, inetutils: IPv4: 65399, IPv6: 65527,\nlikely kernel limitation, FreeBSD limits on IPv4: 65507).\n\nCloses: https://github.com/iputils/iputils/pull/550\nSigned-off-by: Petr Vorel ","shortMessageHtmlLink":"ping: Lower max allowed -s value to 65507 (IPv4) or 65527 (IPv6)"}},{"before":"0a589d7c64a835df35f86d9682f24e317ee4e06f","after":"c6dfb2915183e043675f3c0993c4f0c5a5ce4f94","ref":"refs/heads/ping/fix-s-integer-overflow","pushedAt":"2024-08-26T14:05:28.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pevik","name":"Petr Vorel","path":"/pevik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/671766?s=80&v=4"},"commit":{"message":"ping: Lower max allowed -s value to 65507 (IPv4) or 65527 (IPv6)\n\nMaximum value for ping -s option cannot be higher than maximum IPv4/v6\npacket size, which is 65535. More precisely, the value should respect\nmaximum IPv4/v6 ICMP data length.\n\nTherefore limit:\n* ICMP payload: 65507 = 65535 (IPv4 packet size) - 20 (min IPv4 header\n size) - 8 (ICMP header size)\n* ICMPv6 payload: 65527 = 65535 (IPv6 packet size) - 8 (ICMPv6 header size)\n\nUse the higher value unless user chose the protocol.\n\nLinux kernel limits IPv4/6 packet size size exactly to these values:\n\n* ICMP datagram socket net/ipv4/ping.c in ping_common_sendmsg() (used in\nboth ping_v4_sendmsg() and ping_v6_sendmsg()):\n\n if (len > 0xFFFF)\n\t return -EMSGSIZE;\n\n* raw socket IPv4 in raw_sendmsg() in net/ipv4/raw.c:\n\n err = -EMSGSIZE;\n if (len > 0xFFFF)\n\t goto out;\n\n* raw IPv6 socket is limited similarly in __ip6_append_data() in\n net/ipv6/ip6_output.c, where it more data could be passed if bigger\n MTU is respected (but for ping to be working also jumboheader is\n needed to be added):\n\n @@ -1473,7 +1473,7 @@ static int __ip6_append_data(struct sock *sk,\n }\n\n if (ip6_sk_ignore_df(sk))\n- maxnonfragsize = sizeof(struct ipv6hdr) + IPV6_MAXPLEN;\n+ maxnonfragsize = max_t(u32, mtu, sizeof(struct ipv6hdr) + IPV6_MAXPLEN);\n\nBecause Big TCP support is limited only to TCP (ping uses UDP on both\nraw socket and ICMP datagram socket), it would have to be sent as\nmultiple packets (IPv4 fragmentation, IPv6 next_header packet chain).\n\nOther ping implementations on Linux also limit it to similar values\n(Busybox: 65535, fping: 65507, inetutils: IPv4: 65399, IPv6: 65527,\nlikely kernel limitation, FreeBSD limits on IPv4: 65507).\n\nCloses: https://github.com/iputils/iputils/pull/550\nSigned-off-by: Petr Vorel ","shortMessageHtmlLink":"ping: Lower max allowed -s value to 65507 (IPv4) or 65527 (IPv6)"}},{"before":"ba30b2a9468fdb91fd8fecc121df7df7abbd679d","after":"0a589d7c64a835df35f86d9682f24e317ee4e06f","ref":"refs/heads/ping/fix-s-integer-overflow","pushedAt":"2024-08-22T08:00:12.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pevik","name":"Petr Vorel","path":"/pevik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/671766?s=80&v=4"},"commit":{"message":"ping: Lower max allowed -s value to 65507 (IPv4) or 65527 (IPv6)\n\nMaximum value for ping -s option cannot be higher than maximum IPv4/v6\npacket size, which is 65535. More precisely, the value should respect\nmaximum IPv4/v6 ICMP data length.\n\nTherefore limit:\n* ICMP payload: 65507 = 65535 (IPv4 packet size) - 20 (min IPv4 header\n size) - 8 (ICMP header size)\n* ICMPv6 payload: 65527 = 65535 (IPv6 packet size) - 8 (ICMPv6 header size)\n\nUse the higher value unless user chose the protocol.\n\nLinux kernel limits IPv4/6 packet size size exactly to these values:\n\n* ICMP datagram socket net/ipv4/ping.c in ping_common_sendmsg() (used in\nboth ping_v4_sendmsg() and ping_v6_sendmsg()):\n\n if (len > 0xFFFF)\n\t return -EMSGSIZE;\n\n* raw socket IPv4 in raw_sendmsg() in net/ipv4/raw.c:\n\n err = -EMSGSIZE;\n if (len > 0xFFFF)\n\t goto out;\n\n* raw IPv6 socket is limited similarly in __ip6_append_data() in\n net/ipv6/ip6_output.c, where it more data could be passed if bigger\n MTU is respected (but for ping to be working also jumboheader is\n needed to be added):\n\n @@ -1473,7 +1473,7 @@ static int __ip6_append_data(struct sock *sk,\n }\n\n if (ip6_sk_ignore_df(sk))\n- maxnonfragsize = sizeof(struct ipv6hdr) + IPV6_MAXPLEN;\n+ maxnonfragsize = max_t(u32, mtu, sizeof(struct ipv6hdr) + IPV6_MAXPLEN);\n\nBecause Big TCP support is limited only to TCP (ping uses UDP on both\nraw socket and ICMP datagram socket), it would have to be sent as\nmultiple packets (IPv4 fragmentation, IPv6 next_header packet chain).\n\nOther ping implementations on Linux also limit it to similar values\n(Busybox: 65535, fping: 65507, inetutils: IPv4: 65399, IPv6: 65527,\nlikely kernel limitation, FreeBSD limits on IPv4: 65507).\n\nCloses: https://github.com/iputils/iputils/pull/550\nSigned-off-by: Petr Vorel ","shortMessageHtmlLink":"ping: Lower max allowed -s value to 65507 (IPv4) or 65527 (IPv6)"}},{"before":"a50946ddbbcdfa302e0e59e845cac94b2549e223","after":"ba30b2a9468fdb91fd8fecc121df7df7abbd679d","ref":"refs/heads/ping/fix-s-integer-overflow","pushedAt":"2024-08-21T21:13:26.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pevik","name":"Petr Vorel","path":"/pevik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/671766?s=80&v=4"},"commit":{"message":"ping: Lower max allowed -s value to 65507 (IPv4) or 65527 (IPv6)\n\nMaximum value for ping -s option cannot be higher than maximum IPv4/v6\npacket size, which is 65535. More precisely, the value should respect\nmaximum IPv4/v6 ICMP data length.\n\nTherefore limit:\n* ICMP payload: 65507 = 65535 (IPv4 packet size) - 20 (min IPv4 header\n size) - 8 (ICMP header size)\n* ICMPv6 payload: 65527 = 65535 (IPv6 packet size) - 8 (ICMPv6 header size)\n\nUse the higher value unless user chose the protocol.\n\nLinux kernel limits IPv4/6 packet size size exactly to these values:\n\n* ICMP datagram socket net/ipv4/ping.c in ping_common_sendmsg() (used in\nboth ping_v4_sendmsg() and ping_v6_sendmsg()):\n\n if (len > 0xFFFF)\n\t return -EMSGSIZE;\n\n* raw socket IPv4 in raw_sendmsg() in net/ipv4/raw.c:\n\n err = -EMSGSIZE;\n if (len > 0xFFFF)\n\t goto out;\n\n* raw IPv6 socket is limited similarly in __ip6_append_data() in\n include/net/ip6_route.h:\n\n /* We do not (yet ?) support IPv6 jumbograms (RFC 2675)\n * Unlike IPv4, hdr->seg_len doesn't include the IPv6 header\n */\n #define IP6_MAX_MTU (0xFFFF + sizeof(struct ipv6hdr))\n\nBecause Big TCP support for IPv4/IPv6 does does not support raw socket\nnor ICMP datagram socket, it would have to be sent as multiple packets\n(IPv4 fragmentation, IPv6 next_header packet chain).\n\nOther ping implementations on Linux also limit it to similar values\n(Busybox: 65535, fping: 65507, inetutils: IPv4: 65399, IPv6: 65527,\nlikely kernel limitation, FreeBSD limits on IPv4: 65507).\n\nCloses: https://github.com/iputils/iputils/pull/550\nSigned-off-by: Petr Vorel ","shortMessageHtmlLink":"ping: Lower max allowed -s value to 65507 (IPv4) or 65527 (IPv6)"}},{"before":"c08bf400b05e0f8b89917042135352ae9e10155f","after":"a50946ddbbcdfa302e0e59e845cac94b2549e223","ref":"refs/heads/ping/fix-s-integer-overflow","pushedAt":"2024-08-21T21:13:05.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pevik","name":"Petr Vorel","path":"/pevik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/671766?s=80&v=4"},"commit":{"message":"ping: Lower max allowed -s value to 65507 (IPv4) or 65527 (IPv6)\n\nMaximum value for ping -s option cannot be higher than maximum IPv4/v6\npacket size, which is 65535. More precisely, the value should respect\nmaximum IPv4/v6 ICMP data length.\n\nTherefore limit:\n* ICMP payload: 65507 = 65535 (IPv4 packet size) - 20 (min IPv4 header\n size) - 8 (ICMP header size)\n* ICMPv6 payload: 65527 = 65535 (IPv6 packet size) - 8 (ICMPv6 header size)\n\nUse the higher value unless user chose the protocol.\n\nLinux kernel limits IPv4/6 packet size size exactly to these values:\n\n* ICMP datagram socket net/ipv4/ping.c in ping_common_sendmsg() (used in\nboth ping_v4_sendmsg() and ping_v6_sendmsg()):\n\n if (len > 0xFFFF)\n\t return -EMSGSIZE;\n\n* raw socket IPv4 in raw_sendmsg() in net/ipv4/raw.c:\n\n err = -EMSGSIZE;\n if (len > 0xFFFF)\n\t goto out;\n\n* raw IPv6 socket is limited similarly in __ip6_append_data() in\n include/net/ip6_route.h:\n\n /* We do not (yet ?) support IPv6 jumbograms (RFC 2675)\n * Unlike IPv4, hdr->seg_len doesn't include the IPv6 header\n */\n #define IP6_MAX_MTU (0xFFFF + sizeof(struct ipv6hdr))\n\nBecause Big TCP support for IPv4/IPv6 does does not support raw socket\nnor ICMP datagram socket, it would have to be sent as multiple packets\n(IPv4 fragmentation, IPv6 next_header packet chain).\n\nOther ping implementations on Linux also limit it to similar values\n(Busybox: 65535, fping: 65507, inetutils: IPv4: 65399, IPv6: 65527,\nlikely kernel limitation, FreeBSD limits on IPv4: 65507).\n\nCloses: https://github.com/iputils/iputils/pull/550\nSigned-off-by: Petr Vorel ","shortMessageHtmlLink":"ping: Lower max allowed -s value to 65507 (IPv4) or 65527 (IPv6)"}},{"before":"e126a2019693554db192cbae0739dae745f5d1c4","after":"c08bf400b05e0f8b89917042135352ae9e10155f","ref":"refs/heads/ping/fix-s-integer-overflow","pushedAt":"2024-08-19T15:39:07.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pevik","name":"Petr Vorel","path":"/pevik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/671766?s=80&v=4"},"commit":{"message":"ping: Lower max allowed -s value to 65507 (IPv4) or 65527 (IPv6)\n\nMaximum value for ping -s option cannot be higher than maximum IPv4/v6\npacket size, which is 65535. More precisely, the value should respect\nmaximum IPv4/v6 ICMP data length.\n\nTherefore limit:\n* ICMP payload: 65507 = 65535 (IPv4 packet size) - 20 (min IPv4 header\n size) - 8 (ICMP header size)\n* ICMPv6 payload: 65527 = 65535 (IPv6 packet size) - 8 (ICMPv6 header size)\n\nUse the higher value unless user chose the protocol.\n\nLinux kernel limits IPv4/6 packet size size exactly to these values:\n\n* ICMP datagram socket net/ipv4/ping.c in ping_common_sendmsg() (used in\nboth ping_v4_sendmsg() and ping_v6_sendmsg()):\n\n if (len > 0xFFFF)\n\t return -EMSGSIZE;\n\n* raw socket IPv4 in raw_sendmsg() in net/ipv4/raw.c:\n\n err = -EMSGSIZE;\n if (len > 0xFFFF)\n\t goto out;\n\n* raw IPv6 socket is limited similarly in __ip6_append_data() in\n include/net/ip6_route.h:\n\n /* We do not (yet ?) support IPv6 jumbograms (RFC 2675)\n * Unlike IPv4, hdr->seg_len doesn't include the IPv6 header\n */\n #define IP6_MAX_MTU (0xFFFF + sizeof(struct ipv6hdr))\n\nBecause Big TCP support for IPv4/IPv6 does does not support raw socket\nnor ICMP datagram socket, it would have to be sent as multiple packets\n(IPv4 fragmentation, IPv6 next_header packet chain).\n\nOther ping implementations on Linux also limit it to similar values\n(Busybox: 65535, fping: 65507, inetutils: IPv4: 65399, IPv6: 65527), I\nsuppose due 2, FreeBSD limits on IPv4: 65507).\n\nCloses: https://github.com/iputils/iputils/pull/550\nSigned-off-by: Petr Vorel ","shortMessageHtmlLink":"ping: Lower max allowed -s value to 65507 (IPv4) or 65527 (IPv6)"}},{"before":"2df3863ba0b6fee6970b2571e4c967045ae4cb54","after":"e126a2019693554db192cbae0739dae745f5d1c4","ref":"refs/heads/ping/fix-s-integer-overflow.attempt","pushedAt":"2024-08-19T13:37:14.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pevik","name":"Petr Vorel","path":"/pevik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/671766?s=80&v=4"},"commit":{"message":"ping: Fix integer overflow for high -s values\n\na647e2c commit increased value max allowed -s value from 127992 to\nINT_MAX (2147483647). To have space for this range datalen was changed\nfrom signed int to size_t, but it forgot to change other int variables\nwhich also work with this data (hold, packlen).\n\nThis fixes signed integer overflow:\n\n$ export CC=\"clang\"\n$ export CFLAGS=\"-O0 -g -fsanitize=address,undefined\"\n$ export LDFLAGS=\"-O0 -g -fsanitize=address,undefined\"\n$ ./configure && make\n$ ./builddir/ping/ping -s 2147483647 ::1\n../ping/ping6_common.c:317:7: runtime error: signed integer overflow: -2147483641 + -1174404560 cannot be represented in type 'int'\nSUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../ping/ping6_common.c:317:7\n./builddir/ping/ping: WARNING: probably, rcvbuf is not enough to hold preload\nPING ::1 (::1) 2147483647 data bytes\n\n$ ./builddir/ping/ping -s 2147483647 127.0.0.1\n../ping/ping.c:997:7: runtime error: signed integer overflow: -2147483641 + -1090518520 cannot be represented in type 'int'\nSUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../ping/ping.c:997:7\n./builddir/ping/ping: WARNING: probably, rcvbuf is not enough to hold preload\nPING 127.0.0.1 (127.0.0.1) 2147483647(2147483675) bytes of data.\n\nNOTE: I'm not sure if it makes sense to allow -s higher than 65507\n(IPv4) or 65527 (IPv6) - more than these is over limit for IPv4/IPv6\npacket payload. It would have to be sent as multiple packets (IPv4\nfragmentation, IPv6 next_header packet chain or jumbo extension header).\nIMHO it never worked. That is probably the reason, why other\nimplementations (busybox, fping, inetutils) limit data size to <= 65535.\n\nAlso remove useless cast.\n\nFixes: a647e2c (\"ping: allow any package size to be defined by user\")\nFixes: https://github.com/iputils/iputils/issues/542\nCloses: https://github.com/iputils/iputils/pull/550\nReported-by: mimicria\nSuggested-by: Marius Tomaschewski \nSigned-off-by: Petr Vorel ","shortMessageHtmlLink":"ping: Fix integer overflow for high -s values"}},{"before":null,"after":"2df3863ba0b6fee6970b2571e4c967045ae4cb54","ref":"refs/heads/ping/fix-s-integer-overflow.attempt","pushedAt":"2024-08-19T13:36:25.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"pevik","name":"Petr Vorel","path":"/pevik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/671766?s=80&v=4"},"commit":{"message":"ping: Fix integer overflow for high -s values\n\na647e2c commit increased value max allowed -s value from 127992 to\nINT_MAX (2147483647). To have space for this range datalen was changed\nfrom signed int to size_t, but it forgot to change other int variables\nwhich also work with this data (hold, packlen).\n\nThis fixes signed integer overflow:\n\n$ export CC=\"clang\"\n$ export CFLAGS=\"-O0 -g -fsanitize=address,undefined\"\n$ export LDFLAGS=\"-O0 -g -fsanitize=address,undefined\"\n$ ./configure && make\n$ ./builddir/ping/ping -s 2147483647 ::1\n../ping/ping6_common.c:317:7: runtime error: signed integer overflow: -2147483641 + -1174404560 cannot be represented in type 'int'\nSUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../ping/ping6_common.c:317:7\n./builddir/ping/ping: WARNING: probably, rcvbuf is not enough to hold preload\nPING ::1 (::1) 2147483647 data bytes\n\n$ ./builddir/ping/ping -s 2147483647 127.0.0.1\n../ping/ping.c:997:7: runtime error: signed integer overflow: -2147483641 + -1090518520 cannot be represented in type 'int'\nSUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../ping/ping.c:997:7\n./builddir/ping/ping: WARNING: probably, rcvbuf is not enough to hold preload\nPING 127.0.0.1 (127.0.0.1) 2147483647(2147483675) bytes of data.\n\nNOTE: I'm not sure if it makes sense to allow -s higher than 65507\n(IPv4) or 65527 (IPv6) - more than these is over limit for IPv4/IPv6\npacket payload. It would have to be sent as multiple packets (IPv4\nfragmentation, IPv6 next_header packet chain or jumbo extension header).\nIMHO it never worked. That is probably the reason, why other\nimplementations (busybox, fping, inetutils) limit data size to <= 65535.\n\nAlso remove useless cast.\n\nFixes: a647e2c (\"ping: allow any package size to be defined by user\")\nFixes: https://github.com/iputils/iputils/issues/542\nCloses: https://github.com/iputils/iputils/pull/550\nReported-by: mimicria\nSuggested-by: Marius Tomaschewski \nSigned-off-by: Petr Vorel ","shortMessageHtmlLink":"ping: Fix integer overflow for high -s values"}},{"before":"d1b460e98d53d6887fbb84ed6950a093de9aa9f7","after":"3258f8edb43b196f6717fa44ae0b0535bfac73a6","ref":"refs/heads/ping/fix-max-s","pushedAt":"2024-08-16T15:24:01.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pevik","name":"Petr Vorel","path":"/pevik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/671766?s=80&v=4"},"commit":{"message":"ping: Limit -s max. value\n\nMax value for ping -s option cannot be higher than maximum IPv4/v6\npacket size, which is 65535. More precisely, the value should respect\nmaximum IPv4/v6 ICMP data length.\n\nUse the higher value unless user chose the protocol.\n\nFixes: https://github.com/iputils/iputils/issues/542\nReported-by: mimicria\nSigned-off-by: Petr Vorel ","shortMessageHtmlLink":"ping: Limit -s max. value"}},{"before":"37046b20a3635ab35bd7f96afb3d1b270e82475d","after":"e126a2019693554db192cbae0739dae745f5d1c4","ref":"refs/heads/ping/fix-s-integer-overflow","pushedAt":"2024-08-16T13:31:39.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pevik","name":"Petr Vorel","path":"/pevik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/671766?s=80&v=4"},"commit":{"message":"ping: Fix integer overflow for high -s values\n\na647e2c commit increased value max allowed -s value from 127992 to\nINT_MAX (2147483647). To have space for this range datalen was changed\nfrom signed int to size_t, but it forgot to change other int variables\nwhich also work with this data (hold, packlen).\n\nThis fixes signed integer overflow:\n\n$ export CC=\"clang\"\n$ export CFLAGS=\"-O0 -g -fsanitize=address,undefined\"\n$ export LDFLAGS=\"-O0 -g -fsanitize=address,undefined\"\n$ ./configure && make\n$ ./builddir/ping/ping -s 2147483647 ::1\n../ping/ping6_common.c:317:7: runtime error: signed integer overflow: -2147483641 + -1174404560 cannot be represented in type 'int'\nSUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../ping/ping6_common.c:317:7\n./builddir/ping/ping: WARNING: probably, rcvbuf is not enough to hold preload\nPING ::1 (::1) 2147483647 data bytes\n\n$ ./builddir/ping/ping -s 2147483647 127.0.0.1\n../ping/ping.c:997:7: runtime error: signed integer overflow: -2147483641 + -1090518520 cannot be represented in type 'int'\nSUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../ping/ping.c:997:7\n./builddir/ping/ping: WARNING: probably, rcvbuf is not enough to hold preload\nPING 127.0.0.1 (127.0.0.1) 2147483647(2147483675) bytes of data.\n\nNOTE: I'm not sure if it makes sense to allow -s higher than 65507\n(IPv4) or 65527 (IPv6) - more than these is over limit for IPv4/IPv6\npacket payload. It would have to be sent as multiple packets (IPv4\nfragmentation, IPv6 next_header packet chain or jumbo extension header).\nIMHO it never worked. That is probably the reason, why other\nimplementations (busybox, fping, inetutils) limit data size to <= 65535.\n\nAlso remove useless cast.\n\nFixes: a647e2c (\"ping: allow any package size to be defined by user\")\nFixes: https://github.com/iputils/iputils/issues/542\nCloses: https://github.com/iputils/iputils/pull/550\nReported-by: mimicria\nSuggested-by: Marius Tomaschewski \nSigned-off-by: Petr Vorel ","shortMessageHtmlLink":"ping: Fix integer overflow for high -s values"}},{"before":null,"after":"8dd0b5b90319721c6f8b1a246e09a7257ecdc9c0","ref":"refs/heads/release/2024-08","pushedAt":"2024-08-16T11:26:16.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"pevik","name":"Petr Vorel","path":"/pevik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/671766?s=80&v=4"},"commit":{"message":"CHANGES: Preparations for release 2024-08\n\nCloses: #547\nSigned-off-by: Petr Vorel ","shortMessageHtmlLink":"CHANGES: Preparations for release 2024-08"}},{"before":null,"after":"37046b20a3635ab35bd7f96afb3d1b270e82475d","ref":"refs/heads/ping/fix-s-integer-overflow","pushedAt":"2024-08-16T10:15:55.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"pevik","name":"Petr Vorel","path":"/pevik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/671766?s=80&v=4"},"commit":{"message":"ping: Fix integer overflow for high -s values\n\na647e2c commit increased value max allowed -s value from 127992 to\nINT_MAX (2147483647). To have space for this range datalen was changed\nfrom signed int to size_t, but it forgot to change other int variables\nwhich also work with this data (hold, packlen).\n\nThis fixes signed integer overflow:\n\n$ export CC=\"clang\"\n$ export CFLAGS=\"-O0 -g -fsanitize=address,undefined\"\n$ export LDFLAGS=\"-O0 -g -fsanitize=address,undefined\"\n$ ./configure && make\n$ ./builddir/ping/ping -s 2147483647 ::1\n../ping/ping6_common.c:317:7: runtime error: signed integer overflow: -2147483641 + -1174404560 cannot be represented in type 'int'\nSUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../ping/ping6_common.c:317:7\n./builddir/ping/ping: WARNING: probably, rcvbuf is not enough to hold preload\nPING ::1 (::1) 2147483647 data bytes\n\n$ ./builddir/ping/ping -s 2147483647 127.0.0.1\n../ping/ping.c:997:7: runtime error: signed integer overflow: -2147483641 + -1090518520 cannot be represented in type 'int'\nSUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../ping/ping.c:997:7\n./builddir/ping/ping: WARNING: probably, rcvbuf is not enough to hold preload\nPING 127.0.0.1 (127.0.0.1) 2147483647(2147483675) bytes of data.\n\nNOTE: I'm not sure if it makes sense to allow -s higher than 65507\n(IPv4) or 65527 (IPv6) - more than these is over limit for IPv4/IPv6\npacket payload. It would have to be sent as multiple packets (IPv4\nfragmentation, IPv6 next_header packet chain or jumbo extension header).\nIMHO it never worked. That is probably the reason, why other\nimplementations (busybox, fping, inetutils) limit data size to <= 65535.\n\nFixes: a647e2c (\"ping: allow any package size to be defined by user\")\nFixes: https://github.com/iputils/iputils/issues/542\nReported-by: mimicria\nSuggested-by: Marius Tomaschewski \nSigned-off-by: Petr Vorel ","shortMessageHtmlLink":"ping: Fix integer overflow for high -s values"}},{"before":null,"after":"d1b460e98d53d6887fbb84ed6950a093de9aa9f7","ref":"refs/heads/ping/limit-max-s","pushedAt":"2024-08-16T08:41:06.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"pevik","name":"Petr Vorel","path":"/pevik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/671766?s=80&v=4"},"commit":{"message":"ping: Limit -s max. value\n\nMax value for ping -s option cannot be higher than maximum IPv4/v6\npacket size, which is 65535. More precisely, the value should respect\nmaximum IPv4/v6 ICMP data length.\n\nUse the higher value unless user chose the protocol.\n\nFixes: https://github.com/iputils/iputils/issues/542\nReported-by: mimicria\nSigned-off-by: Petr Vorel ","shortMessageHtmlLink":"ping: Limit -s max. value"}},{"before":"1f1db6b6d12ffe44c2c1b4744bc0eb93e0f2a8aa","after":"d1b460e98d53d6887fbb84ed6950a093de9aa9f7","ref":"refs/heads/ping/fix-max-s","pushedAt":"2024-08-09T13:59:26.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pevik","name":"Petr Vorel","path":"/pevik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/671766?s=80&v=4"},"commit":{"message":"ping: Limit -s max. value\n\nMax value for ping -s option cannot be higher than maximum IPv4/v6\npacket size, which is 65535. More precisely, the value should respect\nmaximum IPv4/v6 ICMP data length.\n\nUse the higher value unless user chose the protocol.\n\nFixes: https://github.com/iputils/iputils/issues/542\nReported-by: mimicria\nSigned-off-by: Petr Vorel ","shortMessageHtmlLink":"ping: Limit -s max. value"}},{"before":"e4fe11033d54a5da2d62d98285da20e219f6301d","after":"1f1db6b6d12ffe44c2c1b4744bc0eb93e0f2a8aa","ref":"refs/heads/ping/fix-max-s","pushedAt":"2024-08-07T15:43:31.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pevik","name":"Petr Vorel","path":"/pevik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/671766?s=80&v=4"},"commit":{"message":"ping: Limit -s max. value\n\nMax value for ping -s option cannot be higher than maximum IPv4/v6\npacket size, which is 65535. More precisely, the value should respect\nmaximum IPv4/v6 ICMP data length.\n\nUse the higher value unless user chose the protocol.\n\nFixes: https://github.com/iputils/iputils/issues/542\nReported-by: mimicria\nSigned-off-by: Petr Vorel ","shortMessageHtmlLink":"ping: Limit -s max. value"}},{"before":null,"after":"e4fe11033d54a5da2d62d98285da20e219f6301d","ref":"refs/heads/ping/fix-max-s","pushedAt":"2024-08-07T15:42:06.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"pevik","name":"Petr Vorel","path":"/pevik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/671766?s=80&v=4"},"commit":{"message":"ping: Limit -s max. value\n\nMax value for ping -s option cannot be higher than maximum IPv4/v6\npacket size, which is 65535. More precisely, the value should respect\nmaximum IPv4/v6 ICMP data length.\n\nUse the higher value unless user chose the protocol.\n\nFixes: https://git.savannah.gnu.org/git/inetutils.git\nSigned-off-by: Petr Vorel ","shortMessageHtmlLink":"ping: Limit -s max. value"}},{"before":null,"after":"0f12e6d5bb325df4eb9273b1e294a2cf94a53120","ref":"refs/heads/po/2024-08-02","pushedAt":"2024-08-02T09:12:44.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"pevik","name":"Petr Vorel","path":"/pevik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/671766?s=80&v=4"},"commit":{"message":"ping: check return value of write() to avoid integer overflow\n\nError: INTEGER_OVERFLOW (CWE-190):\niputils-20240117/ping/ping.h:291: tainted_data_return: Called function \"write(1, str + o, len - o)\", and a possible return value may be less than zero.\niputils-20240117/ping/ping.h:291: assign: Assigning: \"cc\" = \"write(1, str + o, len - o)\".\niputils-20240117/ping/ping.h:292: overflow: The expression \"o += cc\" might be negative, but is used in a context that treats it as unsigned.\niputils-20240117/ping/ping.h:291: overflow: The expression \"len - o\" is deemed underflowed because at least one of its arguments has underflowed.\niputils-20240117/ping/ping.h:291: overflow_sink: \"len - o\", which might have underflowed, is passed to \"write(1, str + o, len - o)\".\n 289| ssize_t cc;\n 290| do {\n 291|-> cc = write(STDOUT_FILENO, str + o, len - o);\n 292| o += cc;\n 293| } while (len > o || cc < 0);\n\nCloses: https://github.com/iputils/iputils/pull/545\nReviewed-by: Petr Vorel \nReviewed-by: Cyril Hrubis \nSigned-off-by: Jan Macku ","shortMessageHtmlLink":"ping: check return value of write() to avoid integer overflow"}},{"before":null,"after":"48ae5c97eb7217db59c919e9be3d8c7fcad795a8","ref":"refs/heads/gh540","pushedAt":"2024-08-02T04:50:56.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"pevik","name":"Petr Vorel","path":"/pevik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/671766?s=80&v=4"},"commit":{"message":"ping: Add option -3 (don't round up the RTT time)\n\nCloses: https://github.com/iputils/iputils/pull/540\nReviewed-by: Petr Vorel \nSigned-off-by: Boris Litvinenko \nCo-developed-by: Petr Vorel \n[ pvorel: avoid printing time when not timing, rename opt + use\nbitfield, update man page, cleanup ]\nSigned-off-by: Petr Vorel ","shortMessageHtmlLink":"ping: Add option -3 (don't round up the RTT time)"}},{"before":null,"after":"1db976d90984e9504112c003a94f5d303b1492e3","ref":"refs/heads/meson/run_command-add-check.test","pushedAt":"2024-07-09T23:11:47.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"pevik","name":"Petr Vorel","path":"/pevik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/671766?s=80&v=4"},"commit":{"message":"meson: Add check parameter to run_command\n\nThis fixes warnings:\n\nProgram xsltproc found: YES (/usr/bin/xsltproc)\nWARNING: You should add the boolean check kwarg to the run_command call.\n It currently defaults to false,\n but it will default to true in future releases of meson.\n See also: https://github.com/mesonbuild/meson/issues/9300\n\nSigned-off-by: Petr Vorel ","shortMessageHtmlLink":"meson: Add check parameter to run_command"}},{"before":"a6c1b8de4399623be8767e4f7df90f4d9b090d7f","after":"a8f437a80b5c1f1985f789d5d2b703120451028f","ref":"refs/heads/meson/run_command-add-check","pushedAt":"2024-07-09T23:07:36.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pevik","name":"Petr Vorel","path":"/pevik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/671766?s=80&v=4"},"commit":{"message":"meson: Add check parameter to run_command\n\nThis fixes warnings:\n\nProgram xsltproc found: YES (/usr/bin/xsltproc)\nWARNING: You should add the boolean check kwarg to the run_command call.\n It currently defaults to false,\n but it will default to true in future releases of meson.\n See also: https://github.com/mesonbuild/meson/issues/9300\n\nSigned-off-by: Petr Vorel ","shortMessageHtmlLink":"meson: Add check parameter to run_command"}},{"before":"4db1de672559804bebcb7073d231924339ca8cd8","after":"8037de533abf60037f0adc9ffa33c6925004dcf2","ref":"refs/heads/master","pushedAt":"2024-07-09T23:06:00.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"pevik","name":"Petr Vorel","path":"/pevik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/671766?s=80&v=4"},"commit":{"message":"ci: Remove Centos 7\n\nCentos 7 is EOL since 2024-06. Therefore CI build fails with:\n\nCould not resolve host: mirrorlist.centos.org; Unknown error\n\nCloses: https://github.com/iputils/iputils/pull/548\nReviewed-by: Robert Scheck \nSigned-off-by: Petr Vorel ","shortMessageHtmlLink":"ci: Remove Centos 7"}},{"before":null,"after":"a6c1b8de4399623be8767e4f7df90f4d9b090d7f","ref":"refs/heads/meson/run_command-add-check","pushedAt":"2024-07-09T23:04:52.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"pevik","name":"Petr Vorel","path":"/pevik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/671766?s=80&v=4"},"commit":{"message":"meson: Add check parameter to run_command\n\nThis fixes warnings:\n\nProgram xsltproc found: YES (/usr/bin/xsltproc)\nWARNING: You should add the boolean check kwarg to the run_command call.\n It currently defaults to false,\n but it will default to true in future releases of meson.\n See also: https://github.com/mesonbuild/meson/issues/9300\n\nSigned-off-by: Petr Vorel ","shortMessageHtmlLink":"meson: Add check parameter to run_command"}},{"before":"0c8bcffd855803d9184b64401e5504aa02d58c05","after":"8037de533abf60037f0adc9ffa33c6925004dcf2","ref":"refs/heads/ci/remove-centos7","pushedAt":"2024-07-07T22:23:39.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pevik","name":"Petr Vorel","path":"/pevik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/671766?s=80&v=4"},"commit":{"message":"ci: Remove Centos 7\n\nCentos 7 is EOL since 2024-06. Therefore CI build fails with:\n\nCould not resolve host: mirrorlist.centos.org; Unknown error\n\nCloses: https://github.com/iputils/iputils/pull/548\nReviewed-by: Robert Scheck \nSigned-off-by: Petr Vorel ","shortMessageHtmlLink":"ci: Remove Centos 7"}},{"before":null,"after":"0c8bcffd855803d9184b64401e5504aa02d58c05","ref":"refs/heads/ci/remove-centos7","pushedAt":"2024-07-07T19:05:03.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"pevik","name":"Petr Vorel","path":"/pevik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/671766?s=80&v=4"},"commit":{"message":"ci: Remove Centos 7\n\nCentos 7 is EOL since 2024-06. Therefore CI build fails with:\n\nCould not resolve host: mirrorlist.centos.org; Unknown error\n\nSigned-off-by: Petr Vorel ","shortMessageHtmlLink":"ci: Remove Centos 7"}},{"before":"c007d698bad2f6477d195a3d6f81765575383c77","after":"b589819d820a037c3492b2766eabc0c5bc011de7","ref":"refs/heads/arping/fix-multiple-arping.gh538","pushedAt":"2024-06-10T20:07:57.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pevik","name":"Petr Vorel","path":"/pevik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/671766?s=80&v=4"},"commit":{"message":"arping: Fix exit code if receive more replies than sent\n\nARP protocol, unlike ICMP protocol, has no way to link REQUEST and REPLY\ntogether (detect to which sender belongs the response). E.g. running\nmore arping instances currently causes failure due receiving more\nreplies than sent probes:\n\n # ./builddir/arping -c2 -I eth0 192.168.255.1 -w10 &\n # ./builddir/arping -c2 -I eth0 192.168.255.1 -w10 &\n ARPING 192.168.255.1 from 192.168.255.133 eth0\n ARPING 192.168.255.1 from 192.168.255.133 eth0\n Unicast reply from 192.168.255.1 [50:EB:F6:87:9D:D0] 1.722ms\n Unicast reply from 192.168.255.1 [50:EB:F6:87:9D:D0] 1.726ms\n Unicast reply from 192.168.255.1 [50:EB:F6:87:9D:D0] 1.910ms\n Unicast reply from 192.168.255.1 [50:EB:F6:87:9D:D0] 1.915ms\n Sent 1 probes (1 broadcast(s))\n Sent 1 probes (1 broadcast(s))\n Received 2 response(s)\n Received 2 response(s)\n [ ENTER ]\n [1]- Exit 1 ./builddir/arping -c2 -I eth0 192.168.255.1 -w10\n [2]+ Exit 1 ./builddir/arping -c2 -I eth0 192.168.255.1 -w10\n\n84ca65c (fix for 67e070d) introduced this regression.\n\nLater e594ca5 introduced more precise timing - before arping sent 2\nprobes instead of 1 with -w1.\n\nThen 854873b unified behavior with ping, i.e. using -w (deadline)\n*without* -c (count) exit 0 if at least one reply arrived (backwards\nincompatibility, also now incompatible with busybox). But that still\nkept problematic using -w with -c on multiple instances / replies.\n\nFixing the problem by adding a special condition.\n\nAlso, when at it, move all exit code evaluation into finish() (before\nit was in finish() but also event_loop()). This improves code introduced\nin 67e070d.\n\nFixes: 84ca65c (\"arping: fix sent vs received packages return value\")\nFixes: https://github.com/iputils/iputils/issues/538\nCloses: https://github.com/iputils/iputils/pull/546\nReported-by: Mingyang Liu \nTested-by: Mingyang Liu \nReviewed-by: Clemens Famulla-Conrad \nReviewed-by: \nTested-by: \nSigned-off-by: Petr Vorel ","shortMessageHtmlLink":"arping: Fix exit code if receive more replies than sent"}},{"before":"f301588b18cf4612d142ee9c8655868b09174127","after":"c007d698bad2f6477d195a3d6f81765575383c77","ref":"refs/heads/arping/fix-multiple-arping.gh538","pushedAt":"2024-06-10T15:07:46.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"pevik","name":"Petr Vorel","path":"/pevik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/671766?s=80&v=4"},"commit":{"message":"arping: Fix exit code if receive more replies than sent\n\nARP protocol, unlike ICMP protocol, has no way to link REQUEST and REPLY\ntogether (detect to which sender belongs the response). E.g. running\nmore arping instances currently causes failure due receiving more\nreplies than sent probes:\n\n # ./builddir/arping -c2 -I eth0 192.168.255.1 -w10 &\n # ./builddir/arping -c2 -I eth0 192.168.255.1 -w10 &\n ARPING 192.168.255.1 from 192.168.255.133 eth0\n ARPING 192.168.255.1 from 192.168.255.133 eth0\n Unicast reply from 192.168.255.1 [50:EB:F6:87:9D:D0] 1.722ms\n Unicast reply from 192.168.255.1 [50:EB:F6:87:9D:D0] 1.726ms\n Unicast reply from 192.168.255.1 [50:EB:F6:87:9D:D0] 1.910ms\n Unicast reply from 192.168.255.1 [50:EB:F6:87:9D:D0] 1.915ms\n Sent 1 probes (1 broadcast(s))\n Sent 1 probes (1 broadcast(s))\n Received 2 response(s)\n Received 2 response(s)\n [ ENTER ]\n [1]- Exit 1 ./builddir/arping -c2 -I eth0 192.168.255.1 -w10\n [2]+ Exit 1 ./builddir/arping -c2 -I eth0 192.168.255.1 -w10\n\n84ca65c (fix for 67e070d) introduced this regression.\n\nLater e594ca5 introduced more precise timing - before arping sent 2\nprobes instead of 1 with -w1.\n\nThen 854873b unified behavior with ping, i.e. using -w (deadline)\n*without* -c (count) exit 0 if at least one reply arrived (backwards\nincompatibility, also now incompatible with busybox). But that still\nkept problematic using -w with -c on multiple instances / replies.\n\nFixing the problem by adding a special condition.\n\nAlso, when at it, move all exit code evaluation into finish() (before\nit was in finish() but also event_loop()). This improves code introduced\nin 67e070d.\n\nFixes: 84ca65c (\"arping: fix sent vs received packages return value\")\nFixes: https://github.com/iputils/iputils/issues/538\nCloses: https://github.com/iputils/iputils/pull/546\nReported-by: Mingyang Liu \nTested-by: Mingyang Liu \nReviewed-by: Clemens Famulla-Conrad \nSigned-off-by: Petr Vorel ","shortMessageHtmlLink":"arping: Fix exit code if receive more replies than sent"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEpmVGFgA","startCursor":null,"endCursor":null}},"title":"Activity · pevik/iputils"}