jira-importer commented on issue #987:
URL: 
https://github.com/apache/maven-javadoc-plugin/issues/987#issuecomment-2957366347

   **[Michael 
Osipov](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=michael-o)**
 commented
   
   You can set it in `HttpURLConnection` via code only, not via properties.
   
   I can't help myself, see:
   
   ```
   [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;
   ```
   
   and for C
   
   ```
   [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);
   ```
   
   Same applies for OpenJDK 8.
   
   Please show me the codespot where these properties are read and go in effect.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to