You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "David Poon (JIRA)" <ji...@apache.org> on 2008/01/17 08:36:34 UTC

[jira] Commented: (AXIS2-3146) Axis client fails if http.nonProxyHosts contains * as wildcard

    [ https://issues.apache.org/jira/browse/AXIS2-3146?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12559848#action_12559848 ] 

David Poon commented on AXIS2-3146:
-----------------------------------

We have the same issue. Axis2 1.3, Solaris 8, IBM WebSphere Application Server v6.0.x. 

We use Commons HttpClient for other things that require http.nonProxyHosts to be defined where the asterisk ("*") is used in host names as a wildcard character as permitted by Commons HttpClient. 

However, axis2's ProxyConfiguration.validateNonProxyHosts() method chose to use java.util.regex to validate the hostnames; but under java.util.regex, "*" alone is not a valid regular expression. So Axis2's use of java.util.regex is fundamentally incompatible with the format used by Commons HttpClient. 

The suggested fix of appending "\\w" above does not cater for all types of domain/hostnames. Eg, we have domain names with the hypen character ("-"). So using dot "." would be better. 

This bug is a blocker for us. we cannot use axis2 in production.


> Axis client fails if http.nonProxyHosts contains * as wildcard
> --------------------------------------------------------------
>
>                 Key: AXIS2-3146
>                 URL: https://issues.apache.org/jira/browse/AXIS2-3146
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: transports
>    Affects Versions: 1.3
>         Environment: Websphere with jdk 1.4.2 / local XP machine with java5
>            Reporter: Bernd Frey
>            Assignee: Saminda Wishwajith Abeyruwan
>            Priority: Critical
>
> I get the following error if I have defined -Dhttp.nonProxyHosts=yyy|mbfq0202|*.epu.mycorp.com:
> java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0
> *.epu.mycorp.com
> ^
> 	at java.util.regex.Pattern.error(Pattern.java:1650)
> 	at java.util.regex.Pattern.sequence(Pattern.java:1787)
> 	at java.util.regex.Pattern.expr(Pattern.java:1687)
> 	at java.util.regex.Pattern.compile(Pattern.java:1397)
> 	at java.util.regex.Pattern.<init>(Pattern.java:1124)
> 	at java.util.regex.Pattern.compile(Pattern.java:817)
> 	at java.util.regex.Pattern.matches(Pattern.java:919)
> 	at java.lang.String.matches(String.java:1921)
> 	at org.apache.axis2.transport.http.ProxyConfiguration.validateNonProxyHosts(ProxyConfiguration.java:261)
> 	at org.apache.axis2.transport.http.ProxyConfiguration.isProxyEnabled(ProxyConfiguration.java:223)
> 	at org.apache.axis2.transport.http.AbstractHTTPSender.getHostConfiguration(AbstractHTTPSender.java:271)
> 	at org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(AbstractHTTPSender.java:502)
> 	at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:191)
> 	at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:77)
> 	at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:327)
> 	at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:206)
> 	at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:396)
> ...
> the problem is Axis2 does a String.match on "*.epu.mycorp.com" in ProxyConfiguration.validateNonProxyHosts. This must fail because "*.epu.mycorp.com" is a valid entry for http.nonProxyHosts, but it is not a valid regexp.
> I suggest to add
>         for (int i=0; i<nonProxyHostsArray.length; i++) {
>         	if (nonProxyHostsArray[i].startsWith("*")) {
>         		nonProxyHostsArray[i] = "\\w" + nonProxyHostsArray[i];
>         	}
>         }
> after
>         String[] nonProxyHostsArray = nonProxyHosts.split("\\|");
>         
> Bernd

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org