You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2009/11/20 15:40:42 UTC
svn commit: r882580 - in /maven/maven-3/trunk:
maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java
maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulator.java
Author: bentmann
Date: Fri Nov 20 14:40:42 2009
New Revision: 882580
URL: http://svn.apache.org/viewvc?rev=882580&view=rev
Log:
[MNG-4459] [regression] Effective settings as visible to plugins contain plain text passwords
Modified:
maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulator.java
Modified: maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java?rev=882580&r1=882579&r2=882580&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java (original)
+++ maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java Fri Nov 20 14:40:42 2009
@@ -55,10 +55,16 @@
import org.apache.maven.repository.ArtifactTransferFailedException;
import org.apache.maven.settings.Mirror;
import org.apache.maven.settings.Server;
+import org.apache.maven.settings.building.SettingsProblem;
+import org.apache.maven.settings.crypto.DefaultSettingsDecryptionRequest;
+import org.apache.maven.settings.crypto.SettingsDecrypter;
+import org.apache.maven.settings.crypto.SettingsDecryptionRequest;
+import org.apache.maven.settings.crypto.SettingsDecryptionResult;
import org.codehaus.plexus.PlexusContainer;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
+import org.codehaus.plexus.logging.Logger;
import org.codehaus.plexus.util.StringUtils;
/**
@@ -68,6 +74,10 @@
public class LegacyRepositorySystem
implements RepositorySystem
{
+
+ @Requirement
+ private Logger logger;
+
@Requirement
private ArtifactFactory artifactFactory;
@@ -89,6 +99,9 @@
@Requirement
private MirrorSelector mirrorSelector;
+ @Requirement
+ private SettingsDecrypter settingsDecrypter;
+
public Artifact createArtifact( String groupId, String artifactId, String version, String scope, String type )
{
return artifactFactory.createArtifact( groupId, artifactId, version, scope, type );
@@ -509,6 +522,18 @@
if ( server != null )
{
+ SettingsDecryptionRequest request = new DefaultSettingsDecryptionRequest( server );
+ SettingsDecryptionResult result = settingsDecrypter.decrypt( request );
+ server = result.getServer();
+
+ if ( logger.isDebugEnabled() )
+ {
+ for ( SettingsProblem problem : result.getProblems() )
+ {
+ logger.debug( problem.getMessage(), problem.getException() );
+ }
+ }
+
Authentication authentication = new Authentication( server.getUsername(), server.getPassword() );
repository.setAuthentication( authentication );
@@ -548,6 +573,18 @@
if ( proxy != null )
{
+ SettingsDecryptionRequest request = new DefaultSettingsDecryptionRequest( proxy );
+ SettingsDecryptionResult result = settingsDecrypter.decrypt( request );
+ proxy = result.getProxy();
+
+ if ( logger.isDebugEnabled() )
+ {
+ for ( SettingsProblem problem : result.getProblems() )
+ {
+ logger.debug( problem.getMessage(), problem.getException() );
+ }
+ }
+
Proxy p = new Proxy();
p.setHost( proxy.getHost() );
p.setProtocol( proxy.getProtocol() );
Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulator.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulator.java?rev=882580&r1=882579&r2=882580&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulator.java (original)
+++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulator.java Fri Nov 20 14:40:42 2009
@@ -20,7 +20,6 @@
*/
import java.io.File;
-import java.io.FileNotFoundException;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -35,10 +34,7 @@
import org.apache.maven.settings.SettingsUtils;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.logging.Logger;
import org.codehaus.plexus.util.StringUtils;
-import org.sonatype.plexus.components.sec.dispatcher.SecDispatcher;
-import org.sonatype.plexus.components.sec.dispatcher.SecDispatcherException;
@Component(role = MavenExecutionRequestPopulator.class)
public class DefaultMavenExecutionRequestPopulator
@@ -46,14 +42,8 @@
{
@Requirement
- private Logger logger;
-
- @Requirement
private RepositorySystem repositorySystem;
- @Requirement( hint = "maven" )
- private SecDispatcher securityDispatcher;
-
public MavenExecutionRequest populateFromSettings( MavenExecutionRequest request, Settings settings )
throws MavenExecutionRequestPopulationException
{
@@ -74,10 +64,6 @@
{
server = server.clone();
- String password = decrypt( server.getPassword(), "password for server " + server.getId() );
-
- server.setPassword( password );
-
request.addServer( server );
}
@@ -102,10 +88,6 @@
proxy = proxy.clone();
- String password = decrypt( proxy.getPassword(), "password for proxy " + proxy.getId() );
-
- proxy.setPassword( password );
-
request.addProxy( proxy );
}
@@ -134,35 +116,6 @@
return request;
}
- private String decrypt( String encrypted, String source )
- {
- try
- {
- return securityDispatcher.decrypt( encrypted );
- }
- catch ( SecDispatcherException e )
- {
- logger.warn( "Not decrypting " + source + " due to exception in security handler: " + e.getMessage() );
-
- Throwable cause = e;
-
- while ( cause.getCause() != null )
- {
- cause = cause.getCause();
- }
-
- if ( cause instanceof FileNotFoundException )
- {
- logger.warn( "Ensure that you have configured your master password file (and relocation if appropriate)." );
- logger.warn( "See the installation instructions for details." );
- }
-
- logger.debug( "Full stack trace follows", e );
-
- return encrypted;
- }
- }
-
private void populateDefaultPluginGroups( MavenExecutionRequest request )
{
request.addPluginGroup( "org.apache.maven.plugins" );