[
https://issues.apache.org/jira/browse/MJAVADOC-641?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17055349#comment-17055349
]
Michael Osipov commented on MJAVADOC-641:
-----------------------------------------
You can set it in {{HttpURLConnection}} via code only, not via properties.
I can't help myself, see:
{noformat}
[mosipov@mika-ion
/usr/ports/java/openjdk11/work/openjdk-jdk11u-jdk-11.0.6-10-1]$ grep -r
'\.proxy' --include='**/*.java' src --color
src/java.base/share/classes/java/lang/reflect/Proxy.java:
GetPropertyAction.privilegedGetProperty("jdk.proxy.debug", "");
src/java.base/share/classes/java/lang/reflect/Proxy.java: * a
non-exported package named com.sun.proxy.$MODULE.
src/java.base/share/classes/java/lang/reflect/Proxy.java: String
mn = "jdk.proxy" + counter.incrementAndGet();
src/java.base/share/classes/java/lang/reflect/ProxyGenerator.java:
"jdk.proxy.ProxyGenerator.saveGeneratedFiles")).booleanValue();
src/java.base/share/classes/sun/net/spi/DefaultProxySelector.java: * Supports
http/https/ftp.proxyHost, http/https/ftp.proxyPort,
src/java.base/share/classes/sun/net/spi/DefaultProxySelector.java: *
{"ftp", "ftp.proxy", "ftpProxy", "proxy", "socksProxy"},
src/java.base/share/classes/sun/net/spi/DefaultProxySelector.java: *
+ ftp.proxyHost & ftp.proxyPort
src/java.base/share/classes/sun/net/spi/DefaultProxySelector.java:
{"http", "http.proxy", "proxy", "socksProxy"},
src/java.base/share/classes/sun/net/spi/DefaultProxySelector.java:
{"https", "https.proxy", "proxy", "socksProxy"},
src/java.base/share/classes/sun/net/spi/DefaultProxySelector.java:
{"ftp", "ftp.proxy", "ftpProxy", "proxy", "socksProxy"},
src/java.base/share/classes/sun/net/www/http/HttpClient.java:
boolean compatible = Objects.equals(ret.proxy, p)
src/java.base/share/classes/sun/net/www/http/HttpClient.java: if
(ret.proxy == Proxy.NO_PROXY || ret.proxy == null) {
src/java.base/share/classes/sun/net/www/protocol/http/Handler.java:
this.proxy = proxy;
src/java.base/share/classes/sun/net/www/protocol/http/Handler.java:
this.proxyPort = port;
src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java:
p = getNetProperty("jdk.http.auth.proxying.disabledSchemes");
src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java:
ret = NTLMAuthenticationProxy.proxy.create(true, host,
src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java:
ret = NTLMAuthenticationProxy.proxy.create(false,
src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java:
* _should_ denote a URL - let's hope for "http://my.proxy.org"
src/java.base/share/classes/sun/net/www/protocol/https/Handler.java:
this.proxy = proxy;
src/java.base/share/classes/sun/net/www/protocol/https/Handler.java:
this.proxyPort = port;
src/java.base/share/classes/sun/net/www/protocol/https/HttpsClient.java: *
<LI><em>https.proxyHost</em> ... the host supporting SSL
src/java.base/share/classes/sun/net/www/protocol/https/HttpsClient.java: *
<LI><em>https.proxyPort</em> ... port to use on proxyHost
src/java.base/share/classes/sun/net/www/protocol/https/HttpsClient.java: //
HttpClient.proxyDisabled will always be false, because we don't
src/java.base/share/classes/sun/net/www/protocol/https/HttpsClient.java:
this.proxy = proxy;
src/java.base/share/classes/sun/net/www/protocol/https/HttpsClient.java:
this.proxyDisabled = true;
src/java.base/share/classes/sun/net/www/protocol/https/HttpsClient.java:
boolean compatible = ((ret.proxy != null && ret.proxy.equals(p)) ||
src/java.base/share/classes/sun/net/www/protocol/https/HttpsClient.java:
(ret.proxy == null && p == Proxy.NO_PROXY))
src/java.base/share/classes/sun/net/www/protocol/https/HttpsClient.java:
if (ret.proxy == Proxy.NO_PROXY || ret.proxy == null) {
src/java.base/share/classes/sun/reflect/misc/ReflectUtil.java: public static
final String PROXY_PACKAGE = "com.sun.proxy";
src/java.desktop/macosx/classes/com/apple/laf/AquaKeyBindings.java:
this.proxyActionName = proxyActionName;
src/java.desktop/share/classes/java/awt/Component.java:
parent.proxyEnableEvents(AWTEvent.FOCUS_EVENT_MASK);
src/java.desktop/share/classes/java/awt/Component.java:
parent.proxyEnableEvents(AWTEvent.KEY_EVENT_MASK);
src/java.desktop/share/classes/java/awt/Component.java:
parent.proxyEnableEvents(AWTEvent.MOUSE_EVENT_MASK);
src/java.desktop/share/classes/java/awt/Component.java:
parent.proxyEnableEvents(AWTEvent.MOUSE_MOTION_EVENT_MASK);
src/java.desktop/share/classes/java/awt/Component.java:
parent.proxyEnableEvents(AWTEvent.MOUSE_WHEEL_EVENT_MASK);
src/java.desktop/share/classes/java/awt/Component.java:
parent.proxyEnableEvents(eventMask);
src/java.desktop/share/classes/java/awt/Component.java:
parent.proxyEnableEvents(mask);
src/java.desktop/share/classes/java/awt/Container.java:
parent.proxyEnableEvents(events);
src/java.desktop/unix/classes/sun/awt/X11/XDropTargetProtocol.java:
this.proxy = proxy;
src/java.desktop/unix/classes/sun/awt/X11/XEmbedChildProxyPeer.java:
this.proxy = proxy;
src/java.net.http/share/classes/java/net/http/HttpClient.java: *
.proxy(ProxySelector.of(new InetSocketAddress("proxy.example.com", 80)))
src/java.net.http/share/classes/java/net/http/HttpClient.java: *
.proxy(ProxySelector.of(addr))
src/java.net.http/share/classes/jdk/internal/net/http/AsyncSSLTunnelConnection.java:
return ConnectionPool.cacheKey(address, plainConnection.proxyAddr);
src/java.net.http/share/classes/jdk/internal/net/http/AuthenticationFilter.java:
if (proxy && (proxyAddress = req.proxy()) != null) {
src/java.net.http/share/classes/jdk/internal/net/http/AuthenticationFilter.java:
proxyAddress = req.proxy();
src/java.net.http/share/classes/jdk/internal/net/http/AuthenticationFilter.java:
InetSocketAddress proxy = r.proxy();
src/java.net.http/share/classes/jdk/internal/net/http/AuthenticationFilter.java:
if (exchange.proxyauth == null) {
src/java.net.http/share/classes/jdk/internal/net/http/AuthenticationFilter.java:
exchange.proxyauth = new AuthInfo(true, ca.scheme, null,
ca);
src/java.net.http/share/classes/jdk/internal/net/http/AuthenticationFilter.java:
} else if (r.proxy() != null) {
src/java.net.http/share/classes/jdk/internal/net/http/AuthenticationFilter.java:
if (exchange.proxyauth != null && !exchange.proxyauth.fromcache) {
src/java.net.http/share/classes/jdk/internal/net/http/AuthenticationFilter.java:
AuthInfo au = exchange.proxyauth;
src/java.net.http/share/classes/jdk/internal/net/http/AuthenticationFilter.java:
} else if (req.proxy() != null) {
src/java.net.http/share/classes/jdk/internal/net/http/AuthenticationFilter.java:
AuthInfo au = proxy ? exchange.proxyauth : exchange.serverauth;
src/java.net.http/share/classes/jdk/internal/net/http/AuthenticationFilter.java:
exchange.proxyauth = au;
src/java.net.http/share/classes/jdk/internal/net/http/AuthenticationFilter.java:
exchange.proxyauth = au;
src/java.net.http/share/classes/jdk/internal/net/http/AuthenticationFilter.java:
this.proxy = proxy;
src/java.net.http/share/classes/jdk/internal/net/http/AuthenticationFilter.java:
if (this.proxy != proxy) {
src/java.net.http/share/classes/jdk/internal/net/http/ConnectionPool.java:
this.proxy = proxy;
src/java.net.http/share/classes/jdk/internal/net/http/ConnectionPool.java:
if (!Objects.equals(this.proxy, other.proxy)) {
src/java.net.http/share/classes/jdk/internal/net/http/Exchange.java:
request, request.proxy());
src/java.net.http/share/classes/jdk/internal/net/http/Exchange.java:
Response proxyResponse = ((ProxyAuthenticationRequired)t).proxyResponse;
src/java.net.http/share/classes/jdk/internal/net/http/Exchange.java:
ProxySelector ps = client.proxySelector();
src/java.net.http/share/classes/jdk/internal/net/http/Exchange.java:
URLPermission proxyPerm = permissionForProxy(request.proxy());
src/java.net.http/share/classes/jdk/internal/net/http/Stream.java:
return Utils.proxyHasDisabledSchemes(filter == Utils.PROXY_TUNNEL_FILTER)
src/java.net.http/share/classes/jdk/internal/net/http/Http1Request.java:
if ((request.proxy() == null && !method.equals("CONNECT"))
src/java.net.http/share/classes/jdk/internal/net/http/Http2ClientImpl.java:
InetSocketAddress proxy = req.proxy();
src/java.net.http/share/classes/jdk/internal/net/http/Http2Connection.java:
keyFor(request.uri(), request.proxy()));
src/java.net.http/share/classes/jdk/internal/net/http/HttpClientBuilderImpl.java:
this.proxy = proxy;
src/java.net.http/share/classes/jdk/internal/net/http/HttpClientFacade.java:
return impl.proxy();
src/java.net.http/share/classes/jdk/internal/net/http/HttpClientImpl.java:
this.userProxySelector = builder.proxy;
src/java.net.http/share/classes/jdk/internal/net/http/HttpClientImpl.java:
this.proxySelector = Optional.ofNullable(userProxySelector)
src/java.net.http/share/classes/jdk/internal/net/http/HttpClientImpl.java:
this.proxySelector, userProxySelector != null);
src/java.net.http/share/classes/jdk/internal/net/http/HttpConnection.java:
InetSocketAddress proxy = Utils.resolveAddress(request.proxy());
src/java.net.http/share/classes/jdk/internal/net/http/HttpConnection.java:
assert request.proxy() == null;
src/java.net.http/share/classes/jdk/internal/net/http/HttpConnection.java:
} else if (request.proxy() != null) {
src/java.net.http/share/classes/jdk/internal/net/http/HttpConnection.java:
// assert request.proxy() == null && !request.isConnect();
src/java.net.http/share/classes/jdk/internal/net/http/HttpRequestImpl.java:
this.proxy = null;
src/java.net.http/share/classes/jdk/internal/net/http/HttpRequestImpl.java:
this.proxy = ((HttpRequestImpl) request).proxy;
src/java.net.http/share/classes/jdk/internal/net/http/HttpRequestImpl.java:
this.proxy = retrieveProxy(ps, uri);
src/java.net.http/share/classes/jdk/internal/net/http/HttpRequestImpl.java:
this.proxy = null;
src/java.net.http/share/classes/jdk/internal/net/http/HttpRequestImpl.java:
this.proxy = other.proxy;
src/java.net.http/share/classes/jdk/internal/net/http/HttpRequestImpl.java:
this.proxy = null;
src/java.net.http/share/classes/jdk/internal/net/http/HttpRequestImpl.java:
this.proxy = null;
src/java.net.http/share/classes/jdk/internal/net/http/HttpRequestImpl.java:
this.proxy = proxy;
src/java.net.http/share/classes/jdk/internal/net/http/MultiExchange.java:
if (vers == HttpClient.Version.HTTP_2 && !request.secure() && request.proxy()
!= null)
src/java.net.http/share/classes/jdk/internal/net/http/PlainTunnelingConnection.java:
this.proxyAddr = proxy;
src/java.net.http/share/classes/jdk/internal/net/http/PlainTunnelingConnection.java:
this.proxyHeaders = proxyHeaders;
src/java.net.http/share/classes/jdk/internal/net/http/ProxyAuthenticationRequired.java:
this.proxyResponse = proxyResponse;
src/java.net.http/share/classes/jdk/internal/net/http/common/Utils.java:
getNetProperty("jdk.http.auth.proxying.disabledSchemes");
src/java.net.http/share/classes/jdk/internal/net/http/websocket/BuilderImpl.java:
this.proxySelector = proxySelector;
src/java.net.http/share/classes/jdk/internal/net/http/websocket/BuilderImpl.java:
assert !client.proxy().isPresent()
src/java.net.http/share/classes/jdk/internal/net/http/websocket/BuilderImpl.java:
|| client.proxy().equals(proxySelector);
src/java.security.jgss/share/classes/javax/security/auth/kerberos/JavaxSecurityAuthKerberosAccessImpl.java:
return t.proxy;
src/java.security.jgss/share/classes/javax/security/auth/kerberos/JavaxSecurityAuthKerberosAccessImpl.java:
t.proxy = p;
src/java.security.jgss/share/classes/javax/security/auth/kerberos/KerberosTicket.java:
if (!Objects.equals(proxy, otherTicket.proxy)) {
src/java.security.jgss/share/classes/sun/security/jgss/krb5/Krb5InitCredential.java:
result.proxyTicket =
KerberosSecrets.getJavaxSecurityAuthKerberosAccess().
src/java.security.jgss/share/classes/sun/security/jgss/krb5/Krb5ProxyCredential.java:
KerberosTicket proxy = initiator.proxyTicket;
src/java.security.jgss/share/classes/sun/security/krb5/Credentials.java:
this.proxy = proxy;
src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverDirectHTTP.java:
* resourceResolver.setProperty("http.proxy.host", "proxy.company.com");
src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverDirectHTTP.java:
* resourceResolver.setProperty("http.proxy.port", "8080");
src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverDirectHTTP.java:
* resourceResolver.setProperty("http.proxy.username", "proxyuser3");
src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverDirectHTTP.java:
* resourceResolver.setProperty("http.proxy.password", "secretca");
src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverDirectHTTP.java:
"http.proxy.host",
"http.proxy.port",
src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverDirectHTTP.java:
"http.proxy.username",
"http.proxy.password",
src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java:
this.proxyOn = c;
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/EntryProxyNode.java:
this.proxyPoint = proxyPoint;
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/GraphDecoder.java:
this.proxyPoint = proxyPoint;
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/GraphDecoder.java:
GraalError.guarantee(value instanceof ProxyPlaceholder &&
((ProxyPlaceholder) value).proxyPoint == loopExplosionMerge,
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/LoopExitNode.java:
return proxyNode.proxyPoint() != this;
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/LoopExitNode.java:
return proxyNode.proxyPoint() == this;
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ValueProxyNode.java:
return this.proxyPoint();
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/util/GraphUtil.java:
AbstractBeginNode proxyPoint = vpn.proxyPoint();
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/util/GraphUtil.java:
length = new ValueProxyNode(length, proxy.proxyPoint());
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/schedule/SchedulePhase.java:
otherBlock = currentNodeMap.get(proxyNode.proxyPoint());
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/schedule/SchedulePhase.java:
nodeToBlock.set(proxyNode,
nodeToBlock.get(proxyNode.proxyPoint()));
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/util/GraphOrder.java:
if (input != proxy.proxyPoint()) {
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/PEReadEliminationClosure.java:
if (!(value instanceof ProxyNode) || ((ProxyNode)
value).proxyPoint() != exitNode) {
src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Main.java:
"\n -J-Dhttp.proxyHost=<hostname>" +
src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Main.java:
"\n -J-Dhttp.proxyPort=<portnumber>\n" +
src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Main.java:
"\n -J-Dhttps.proxyHost=<hostname> " +
src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Main.java:
"\n -J-Dhttps.proxyPort=<portnumber> ";
src/jdk.jconsole/share/classes/sun/tools/jconsole/VMPanel.java:
this.proxyClient = proxyClient;
{noformat}
and for C
{noformat}
[mosipov@mika-ion
/usr/ports/java/openjdk11/work/openjdk-jdk11u-jdk-11.0.6-10-1]$ grep -r
'\.proxy' --include='**/*.c' src --color
src/java.base/share/native/libjava/System.c: PUTPROP(props,
"http.proxyHost", sprops->httpHost);
src/java.base/share/native/libjava/System.c: PUTPROP(props,
"http.proxyPort", sprops->httpPort);
src/java.base/share/native/libjava/System.c: PUTPROP(props,
"https.proxyHost", sprops->httpsHost);
src/java.base/share/native/libjava/System.c: PUTPROP(props,
"https.proxyPort", sprops->httpsPort);
src/java.base/share/native/libjava/System.c: PUTPROP(props,
"ftp.proxyHost", sprops->ftpHost);
src/java.base/share/native/libjava/System.c: PUTPROP(props,
"ftp.proxyPort", sprops->ftpPort);
{noformat}
Same applies for OpenJDK 8.
Please show me the codespot where these properties are read and go in effect.
> 3.1.1 does not handle proxy username or proxy password
> ------------------------------------------------------
>
> Key: MJAVADOC-641
> URL: https://issues.apache.org/jira/browse/MJAVADOC-641
> Project: Maven Javadoc Plugin
> Issue Type: Bug
> Components: jar
> Affects Versions: 3.1.1
> Reporter: Thomas Cunningham
> Priority: Major
> Fix For: wontfix-candidate
>
>
> I'm seeing the following trying to build camel behind a firewall :
> [ERROR] Failed to execute goal
> org.apache.maven.plugins:maven-javadoc-plugin:3.1.1:jar (attach-javadocs) on
> project camel-util: MavenReportException: Error while generating Javadoc:
> [ERROR] Exit code: 1 - javadoc: error - Error fetching URL:
> https://download.oracle.com/javase/7/docs/api/
> [ERROR] javadoc: error - Error fetching URL:
> [https://download.oracle.com/javaee/7/api/]
>
> This is a new issue for us, and maven-javadoc-plugin 3.0.1 seems to work fine
> while 3.1.1 gives this error.
>
> I dug in a little and I think the issue is that in 3.0.1 handles proxy
> username and password :
> [https://github.com/apache/maven-javadoc-plugin/blob/maven-javadoc-plugin-3.0.1/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java#L3606-L3614]
>
> As far as I can see (and I might be missing something here), 3.1.1 does not :
> [https://github.com/apache/maven-javadoc-plugin/blob/maven-javadoc-plugin-3.1.1/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java#L3674-L3690]
>
>
>
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)