Hi Igor,

Thanks for the reply.

*> [...] kind of proxy is this? [...] http/https proxies are expected to
work.*

Humm ... I hope network team will not see my post so I quote :
- Some two headers in 401 response is "WWW-Authenticate: BASIC
realm="Unspecified"" and "Server: BigIP"
- Detail : the main product of this company, same name as the key of
keyboard used in a browser for reload the page ^^
=> Standard

*> Can you confirm you get auth popup with recent m2e 1.6 build?*

*No* :-(. No authentication popup with v1.6.0.20150203-1921.

In my "home" use case : internet -> reverse-proxy -> maven repository
(settings.xml contains only "server" configuration)
In my today "job" use case for test : intranet -> proxy (iron port) ->
[internet] -> reverse-proxy -> maven repository (settings.xml contains only
"server" & "proxy" configuration)

In this case I have the error message : "Failed to authenticate with proxy"
The wireshark analysis shows :
1) Https URL connect through proxy :
---
CONNECT repository.company.com:443 HTTP/1.1
Host: repository.company.com
Proxy-Connection: Keep-Alive
User-Agent: m2e/3.10.1.v20140909-1633/1.6.0.20150203-1921/1.7.0_71
---
2) Proxy answer :
---
HTTP/1.1 407 Proxy Authentication Required
Proxy-Authenticate: Basic realm="[The name of] Security Appliance"
...
---
... and nothing else.

=> *m2e is supposed to open an authentication popup even if user/password
is defined in settings.xml ?*

If yes ... perhaps this is the root cause : There is no (logically)
preemptive authentication (=> basic auth not in first call) ... but 401/407
doesn't provide popup.

*> [...] Can you confirm your configuration uses protocol https?*

Yes, I check the bug link : active=true / protocol=https



*> [...] need to run m2e through debugger [...]*
Humm ... ok. I will try to load m2e source and write unit test in my real
case.

Thanks.
Best regards.

2015-02-13 1:28 GMT+01:00 Igor Fedorenko <[email protected]>:

> What kind of proxy is this? m2e does not support ntlm, but standard
> http/https proxies are expected to work.
>
> Can you confirm you get auth popup with recent m2e 1.6 build?
>
> m2e and command line maven appear to disagree how to handle https proxy
> configuration. More specifically, m2e expects proxy configuration
> protocol https, while command line maven accepts http. This is tracked
> as bug 459638 [1]. Can you confirm your configuration uses protocol https?
>
> Beyond that, you'll need to run m2e through debugger and see what
> happens. I usually just change m2e http transport library (okhttp) to
> print dump all traffic to console.
>
> [1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=459638
>
> --
> Regards,
> Igor
>
> On 2015-02-12 17:19, Alix Lourme wrote:
>
>> Hi,
>>
>> I'm faced to a infrastructure/network problem ... and I can't determine
>> if it's a feature not supported, a bug, or other (configuration ?).
>>
>> _Environment_ :
>> - Eclipse Kepler SR2 & m2e 1.4.0 or Luna SR1 & m2e 1.6.0
>> - External Maven v3.2.3 configured as "Installation"
>> - A settings.xml configured as global/user "User Settings" (and used
>> with previous Maven)
>> - settings.xml defines a master https company repository (repository &
>> pluginRepository)
>> - settings.xml defines "server" credendials with password encryption
>> (settings-security.xml usage)
>> - id of server/repository/pluginRepository is the same in settings.xml
>>
>> _Use case_ :
>> - My company provides a Maven repository for internal developments
>> - This repository can be accessed from internet (https) for external
>> developments (at home ^^, no VPN configured, ...) via an infrastructure
>> reverse proxy
>>
>> _Problem_ :
>> - The dependencies resolution works in Maven command line, but not
>> through m2e plugin (only when dependency doesn't exist in local
>> repository, classpath configuration works perfectly when dependency
>> exists in local repository)
>> - Error is : Access denied to
>> https://repository.my-company.com/repository/virtual/com/my-
>> company/my-artifact/1.0.0-SNAPSHOT/maven-metadata.xml.
>> Error code 401, Unauthorized
>>
>> It is minor, but with m2e, I have lost the practice to use maven command
>> line ^^.
>>
>> The error seems to be the same as the direct url access via a browser.
>> This direct http call contains the (logically) response header
>> 'WWW-Authenticate: "BASIC realm="Unspecified""', and authentication
>> popup appears.
>> (I can't simply catch m2e http call, wireshark analysis on https is not
>> trivial).
>>
>> => _Hypothesis_ :
>>
>> - m2e doesn't use server credentials defined in settings.xml
>> - m2e doesn't know re-send the http call with credentials when reverse
>> proxy answers 401
>>
>> I note that in the m2e plugin configuration, the maven embedded is used
>> for dependencies resolution ... but if settings.xml used, it "should"
>> work ...
>>
>> Plugin seems to configure server credentials
>> (org.eclipse.m2e.core.internal.repository.RepositoryRegistry), so some
>> java properties about native proxy configuration in addition to
>> settings.xml are not 'required' (i'm not facing to an outgoing proxy).
>> So ... I'm a little lost :-)
>>
>> This feature is supposed to be supported ? Or I'm wrong in somewhere ?
>> Any idea are welcome.
>>
>> Thank you in advance (and globally for your work, m2e is simply magic
>> and wonderful).
>>
>> Complete stack for information (with m2e 1.6.0) :
>> org.eclipse.aether.transfer.MetadataTransferException: [previous error]
>>      at
>> org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.newException(
>> DefaultUpdateCheckManager.java:363)
>>      at
>> org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.checkMetadata(
>> DefaultUpdateCheckManager.java:320)
>>      at
>> org.eclipse.aether.internal.impl.DefaultMetadataResolver.resolve(
>> DefaultMetadataResolver.java:332)
>>      at
>> org.eclipse.aether.internal.impl.DefaultMetadataResolver.resolveMetadata(
>> DefaultMetadataResolver.java:205)
>>      at
>> org.apache.maven.repository.internal.DefaultVersionResolver.
>> resolveVersion(DefaultVersionResolver.java:250)
>>      at
>> org.apache.maven.repository.internal.DefaultArtifactDescriptorReade
>> r.loadPom(DefaultArtifactDescriptorReader.java:258)
>>      at
>> org.apache.maven.repository.internal.DefaultArtifactDescriptorReade
>> r.readArtifactDescriptor(DefaultArtifactDescriptorReader.java:217)
>>      at
>> org.eclipse.aether.internal.impl.DefaultDependencyCollector.
>> resolveCachedArtifactDescriptor(DefaultDependencyCollector.java:525)
>>      at
>> org.eclipse.aether.internal.impl.DefaultDependencyCollector.
>> getArtifactDescriptorResult(DefaultDependencyCollector.java:509)
>>      at
>> org.eclipse.aether.internal.impl.DefaultDependencyCollector.
>> processDependency(DefaultDependencyCollector.java:409)
>>      at
>> org.eclipse.aether.internal.impl.DefaultDependencyCollector.
>> processDependency(DefaultDependencyCollector.java:363)
>>      at
>> org.eclipse.aether.internal.impl.DefaultDependencyCollector.process(
>> DefaultDependencyCollector.java:351)
>>      at
>> org.eclipse.aether.internal.impl.DefaultDependencyCollector.doRecurse(
>> DefaultDependencyCollector.java:494)
>>      at
>> org.eclipse.aether.internal.impl.DefaultDependencyCollector.
>> processDependency(DefaultDependencyCollector.java:458)
>>      at
>> org.eclipse.aether.internal.impl.DefaultDependencyCollector.
>> processDependency(DefaultDependencyCollector.java:363)
>>      at
>> org.eclipse.aether.internal.impl.DefaultDependencyCollector.process(
>> DefaultDependencyCollector.java:351)
>>      at
>> org.eclipse.aether.internal.impl.DefaultDependencyCollector.
>> collectDependencies(DefaultDependencyCollector.java:254)
>>      at
>> org.eclipse.aether.internal.impl.DefaultRepositorySystem.
>> collectDependencies(DefaultRepositorySystem.java:316)
>>      at
>> org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(
>> DefaultProjectDependenciesResolver.java:172)
>>      at
>> org.apache.maven.project.DefaultProjectBuilder.resolveDependencies(
>> DefaultProjectBuilder.java:213)
>>      at
>> org.apache.maven.project.DefaultProjectBuilder.build(
>> DefaultProjectBuilder.java:186)
>>      at
>> org.apache.maven.project.DefaultProjectBuilder.build(
>> DefaultProjectBuilder.java:118)
>>      at
>> org.eclipse.m2e.core.internal.embedder.MavenImpl.
>> readMavenProject(MavenImpl.java:634)
>>      at
>> org.eclipse.m2e.core.internal.project.registry.
>> DefaultMavenDependencyResolver.resolveProjectDependencies(
>> DefaultMavenDependencyResolver.java:63)
>>      at
>> org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.
>> refreshPhase2(ProjectRegistryManager.java:529)
>>      at
>> org.eclipse.m2e.core.internal.project.registry.
>> ProjectRegistryManager$3.call(ProjectRegistryManager.java:491)
>>      at
>> org.eclipse.m2e.core.internal.project.registry.
>> ProjectRegistryManager$3.call(ProjectRegistryManager.java:1)
>>      at
>> org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(
>> MavenExecutionContext.java:176)
>>      at
>> org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(
>> MavenExecutionContext.java:151)
>>      at
>> org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.
>> refresh(ProjectRegistryManager.java:495)
>>      at
>> org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.
>> refresh(ProjectRegistryManager.java:350)
>>      at
>> org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.
>> refresh(ProjectRegistryManager.java:297)
>>      at
>> org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.
>> configureNewMavenProjects(ProjectConfigurationManager.java:253)
>>      at
>> org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$1.call(
>> ProjectConfigurationManager.java:169)
>>      at
>> org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$1.call(
>> ProjectConfigurationManager.java:1)
>>      at
>> org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(
>> MavenExecutionContext.java:176)
>>      at
>> org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(
>> MavenExecutionContext.java:151)
>>      at
>> org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(
>> MavenExecutionContext.java:99)
>>      at
>> org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(
>> MavenImpl.java:1353)
>>      at
>> org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.
>> importProjects(ProjectConfigurationManager.java:137)
>>      at
>> org.eclipse.m2e.core.ui.internal.wizards.ImportMavenProjectsJob$1.
>> doCreateMavenProjects(ImportMavenProjectsJob.java:73)
>>      at
>> org.eclipse.m2e.core.ui.internal.wizards.AbstractCreateMavenProjectsOpe
>> ration.run(AbstractCreateMavenProjectsOperation.java:62)
>>      at
>> org.eclipse.m2e.core.ui.internal.wizards.ImportMavenProjectsJob.
>> runInWorkspace(ImportMavenProjectsJob.java:82)
>>      at
>> org.eclipse.core.internal.resources.InternalWorkspaceJob.run(
>> InternalWorkspaceJob.java:38)
>>      at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
>>
>> --
>> Alix Lourme
>>
>>
>> _______________________________________________
>> m2e-users mailing list
>> [email protected]
>> To change your delivery options, retrieve your password, or unsubscribe
>> from this list, visit
>> https://dev.eclipse.org/mailman/listinfo/m2e-users
>>
>>  _______________________________________________
> m2e-users mailing list
> [email protected]
> To change your delivery options, retrieve your password, or unsubscribe
> from this list, visit
> https://dev.eclipse.org/mailman/listinfo/m2e-users
>



-- 
Alix Lourme
_______________________________________________
m2e-users mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://dev.eclipse.org/mailman/listinfo/m2e-users

Reply via email to