On Thu, 11 Jan 2024 16:14:39 GMT, Joachim Kern <jk...@openjdk.org> wrote:
>> In parseAllowedMask in socketTransport.c, prefixLen of mask is compared with >> a maxValue (32 for IPv4, 128 otherwise). This fails if it is larger than >> 32, because getaddrinfo seems to detect IPv4 family, if IPv6 address has set >> only some of the last 32 Bits. So we take the wrong maxValue. > > Joachim Kern has updated the pull request incrementally with one additional > commit since the last revision: > > cosmetic changes src/jdk.jdwp.agent/share/native/libdt_socket/socketTransport.c line 420: > 418: struct in_addr addr; > 419: struct in6_addr addr6; > 420: if (inet_pton (AF_INET6, buffer, &addr6) == 1) { space is not needed before brace Suggestion: if (inet_pton(AF_INET6, buffer, &addr6) == 1) { src/jdk.jdwp.agent/share/native/libdt_socket/socketTransport.c line 422: > 420: if (inet_pton (AF_INET6, buffer, &addr6) == 1) { > 421: *isIPv4 = 0; > 422: } else if (inet_pton (AF_INET, buffer, &addr) == 1) { Space before brace Suggestion: } else if (inet_pton(AF_INET, buffer, &addr) == 1) { src/jdk.jdwp.agent/share/native/libdt_socket/socketTransport.c line 425: > 423: // IPv4 address - convert to mapped IPv6 > 424: struct sockaddr sa; > 425: memcpy(&(((struct sockaddr_in*)&sa)->sin_addr), &addr, 4); Suggestion: memcpy(&(((struct sockaddr_in*)&sa)->sin_addr), &addr, sizeof(addr)); src/jdk.jdwp.agent/share/native/libdt_socket/socketTransport.c line 426: > 424: struct sockaddr sa; > 425: memcpy(&(((struct sockaddr_in*)&sa)->sin_addr), &addr, 4); > 426: convertIPv4ToIPv6(&sa, &addr6); Comment for convertIPv4ToIPv6 says: "Input is sockaddr just because all clients have it." Now it's not true. I suggest to update convertIPv4ToIPv6 function and make 1st argument `const struct in_addr` (need to update other call of the function from isPeerAllowed()) ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/17374#discussion_r1449312487 PR Review Comment: https://git.openjdk.org/jdk/pull/17374#discussion_r1449312811 PR Review Comment: https://git.openjdk.org/jdk/pull/17374#discussion_r1449314051 PR Review Comment: https://git.openjdk.org/jdk/pull/17374#discussion_r1449329711