[jira] [Updated] (SUREFIRE-2220) SurefireForkChannel#getForkNodeConnectionString() returns invalid URI string if localHost resolves to IPv6 address

2023-12-08 Thread Michael Osipov (Jira)


 [ 
https://issues.apache.org/jira/browse/SUREFIRE-2220?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Osipov updated SUREFIRE-2220:
-
Summary: SurefireForkChannel#getForkNodeConnectionString() returns invalid 
URI string if localHost resolves to IPv6 address  (was: 
SurefireForkChannel.getForkNodeConnectionString returning invalid URI String if 
localHost resolves to IPv6 address literal)

> SurefireForkChannel#getForkNodeConnectionString() returns invalid URI string 
> if localHost resolves to IPv6 address
> --
>
> Key: SUREFIRE-2220
> URL: https://issues.apache.org/jira/browse/SUREFIRE-2220
> Project: Maven Surefire
>  Issue Type: Bug
>  Components: process forking
>Affects Versions: 3.2.2
>Reporter: Lutz Neugebauer
>Priority: Major
>
> [SurefireForkChannel.getForkNodeConnectionString|https://github.com/apache/maven-surefire/blob/2d7675397e884b18d59a596c004e73982368ee7c/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/SurefireForkChannel.java#L114]
>  returns invalid URI string if localhost is an IPv6 address literal:
> {code:java}
>     public String getForkNodeConnectionString() {
>         return "tcp://" + localHost + ":" + localPort + (isBlank(sessionId) ? 
> "" : "?sessionId=" + sessionId);
>     } {code}
> localHost is initialized from 
> [InetSocketAddress.getHostString()|https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/net/InetSocketAddress.html#getHostString()]
>  at 
> [SurefireForkChannel.SurefireForkChannel()|https://github.com/apache/maven-surefire/blob/2d7675397e884b18d59a596c004e73982368ee7c/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/SurefireForkChannel.java#L100]
>  which may return "... the String form of the address if it doesn't have a 
> hostname (it was created using a literal)."
> If an IPv6 address is returned, then the URI computed is something like
> {code:java}
> tcp://0:0:0:0:0:0:0:1:34398?sessionId=... {code}
> instead of required format (cf. 
> [URI.URI()|https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/net/URI.html#%3Cinit%3E(java.lang.String])
> {code:java}
> tcp://[0:0:0:0:0:0:0:1]:34398?sessionId=...  {code}
> At my end the incorrect URI seems to cause hanging build, probably when it is 
> consumed at 
> [SurefireMasterProcessChannelProcessorFactory.connect()|https://github.com/apache/maven-surefire/blob/2d7675397e884b18d59a596c004e73982368ee7c/surefire-booter/src/main/java/org/apache/maven/surefire/booter/spi/SurefireMasterProcessChannelProcessorFactory.java#L74].



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (SUREFIRE-2220) SurefireForkChannel#getForkNodeConnectionString() returns invalid URI string if localHost resolves to IPv6 address

2023-12-08 Thread Michael Osipov (Jira)


 [ 
https://issues.apache.org/jira/browse/SUREFIRE-2220?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Osipov updated SUREFIRE-2220:
-
Fix Version/s: 3.2.3

> SurefireForkChannel#getForkNodeConnectionString() returns invalid URI string 
> if localHost resolves to IPv6 address
> --
>
> Key: SUREFIRE-2220
> URL: https://issues.apache.org/jira/browse/SUREFIRE-2220
> Project: Maven Surefire
>  Issue Type: Bug
>  Components: process forking
>Affects Versions: 3.2.2
>Reporter: Lutz Neugebauer
>Assignee: Michael Osipov
>Priority: Major
> Fix For: 3.2.3
>
>
> [SurefireForkChannel.getForkNodeConnectionString|https://github.com/apache/maven-surefire/blob/2d7675397e884b18d59a596c004e73982368ee7c/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/SurefireForkChannel.java#L114]
>  returns invalid URI string if localhost is an IPv6 address literal:
> {code:java}
>     public String getForkNodeConnectionString() {
>         return "tcp://" + localHost + ":" + localPort + (isBlank(sessionId) ? 
> "" : "?sessionId=" + sessionId);
>     } {code}
> localHost is initialized from 
> [InetSocketAddress.getHostString()|https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/net/InetSocketAddress.html#getHostString()]
>  at 
> [SurefireForkChannel.SurefireForkChannel()|https://github.com/apache/maven-surefire/blob/2d7675397e884b18d59a596c004e73982368ee7c/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/SurefireForkChannel.java#L100]
>  which may return "... the String form of the address if it doesn't have a 
> hostname (it was created using a literal)."
> If an IPv6 address is returned, then the URI computed is something like
> {code:java}
> tcp://0:0:0:0:0:0:0:1:34398?sessionId=... {code}
> instead of required format (cf. 
> [URI.URI()|https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/net/URI.html#%3Cinit%3E(java.lang.String])
> {code:java}
> tcp://[0:0:0:0:0:0:0:1]:34398?sessionId=...  {code}
> At my end the incorrect URI seems to cause hanging build, probably when it is 
> consumed at 
> [SurefireMasterProcessChannelProcessorFactory.connect()|https://github.com/apache/maven-surefire/blob/2d7675397e884b18d59a596c004e73982368ee7c/surefire-booter/src/main/java/org/apache/maven/surefire/booter/spi/SurefireMasterProcessChannelProcessorFactory.java#L74].



--
This message was sent by Atlassian Jira
(v8.20.10#820010)