authBuilder.addUsername( proxy.getUsername() ).addPassword( proxy.getPassword() ); proxySelector.add( new org.eclipse.aether.repository.Proxy( proxy.getProtocol(), proxy.getHost(), proxy.getPort(), authBuilder.build() ), proxy.getNonProxyHosts() ); authBuilder.addUsername( server.getUsername() ).addPassword( server.getPassword() ); authBuilder.addPrivateKey( server.getPrivateKey(), server.getPassphrase() ); authSelector.add( server.getId(), authBuilder.build() ); if ( server.getConfiguration() != null ) Xpp3Dom dom = (Xpp3Dom) server.getConfiguration(); for ( int i = dom.getChildCount() - 1; i >= 0; i-- ) configProps.put( "aether.connector.wagon.config." + server.getId(), config ); configProps.put( "aether.connector.perms.fileMode." + server.getId(), server.getFilePermissions() ); configProps.put( "aether.connector.perms.dirMode." + server.getId(), server.getDirectoryPermissions() );
private AuthConfig createAuthConfigFromServer(Server server) throws MojoExecutionException { return new AuthConfig( server.getUsername(), decrypt(server.getPassword()), extractFromServerConfiguration(server.getConfiguration(), AUTH_EMAIL), extractFromServerConfiguration(server.getConfiguration(), "auth") ); }
server = server.clone(); server.setPassword( decrypt( server.getPassword() ) ); problems.add( new DefaultSettingsProblem( "Failed to decrypt password for server " + server.getId() + ": " + e.getMessage(), Severity.ERROR, "server: " + server.getId(), -1, -1, e ) ); server.setPassphrase( decrypt( server.getPassphrase() ) ); problems.add( new DefaultSettingsProblem( "Failed to decrypt passphrase for server " + server.getId() + ": " + e.getMessage(), Severity.ERROR, "server: " + server.getId(), -1, -1, e ) ); proxy = proxy.clone(); proxy.setPassword( decrypt( proxy.getPassword() ) );
if ( server.getUsername() != null ) serializer.startTag( NAMESPACE, "username" ).text( server.getUsername() ).endTag( NAMESPACE, "username" ); if ( server.getPassword() != null ) serializer.startTag( NAMESPACE, "password" ).text( server.getPassword() ).endTag( NAMESPACE, "password" ); if ( server.getPrivateKey() != null ) serializer.startTag( NAMESPACE, "privateKey" ).text( server.getPrivateKey() ).endTag( NAMESPACE, "privateKey" ); if ( server.getPassphrase() != null ) serializer.startTag( NAMESPACE, "passphrase" ).text( server.getPassphrase() ).endTag( NAMESPACE, "passphrase" ); if ( server.getFilePermissions() != null ) serializer.startTag( NAMESPACE, "filePermissions" ).text( server.getFilePermissions() ).endTag( NAMESPACE, "filePermissions" ); if ( server.getDirectoryPermissions() != null ) serializer.startTag( NAMESPACE, "directoryPermissions" ).text( server.getDirectoryPermissions() ).endTag( NAMESPACE, "directoryPermissions" ); if ( server.getConfiguration() != null ) ((Xpp3Dom) server.getConfiguration()).writeToSerializer( NAMESPACE, serializer ); if ( ( server.getId() != null ) && !server.getId().equals( "default" ) )
if ( !serversById.containsKey( server.getId() ) ) serversById.put( server.getId(), server ); Authentication authentication = new Authentication( server.getUsername(), server.getPassword() ); authentication.setPrivateKey( server.getPrivateKey() ); authentication.setPassphrase( server.getPassphrase() );
AuthenticationInfo wagonAuth = null; for (Server server : settings.getServers()) { if (repo.getId().equals(server.getId())) { wagonAuth = new AuthenticationInfo(); wagonAuth.setUserName(server.getUsername()); wagonAuth.setPassword(server.getPassword()); wagonAuth.setPassphrase(server.getPassphrase()); wagonAuth.setPrivateKey(server.getPrivateKey()); break; if (proxy.isActive()) { wagonProxy = new ProxyInfo(); wagonProxy.setHost(proxy.getHost()); wagonProxy.setPort(proxy.getPort()); wagonProxy.setNonProxyHosts(proxy.getNonProxyHosts()); wagonProxy.setUserName(proxy.getUsername());
settings.setStringIfNotEmpty(Settings.KEYS.ANALYZER_NEXUS_URL, nexusUrl); if (nexusServerId != null) { final Server server = settingsXml.getServer(nexusServerId); if (server != null) { final String nexusUser = server.getUsername(); String nexusPassword = null; try { final String tmp = server.getPassword(); if (tmp.startsWith("{") && tmp.endsWith("}")) { getLog().error(String.format( if (Boolean.TRUE.equals(artifactoryAnalyzerEnabled)) { if (artifactoryAnalyzerServerId != null) { final Server server = settingsXml.getServer(artifactoryAnalyzerServerId); if (server != null) { settings.setStringIfNotNull(Settings.KEYS.ANALYZER_ARTIFACTORY_API_USERNAME, server.getUsername()); settings.setStringIfNotNull(Settings.KEYS.ANALYZER_ARTIFACTORY_API_TOKEN, server.getPassword()); settings.setStringIfNotEmpty(Settings.KEYS.DB_CONNECTION_STRING, connectionString); if (databaseUser == null && databasePassword == null && serverId != null) { final Server server = settingsXml.getServer(serverId); if (server != null) { databaseUser = server.getUsername(); try { databasePassword = decryptServerPassword(server); final String tmp = server.getPassword(); if (tmp.startsWith("{") && tmp.endsWith("}")) {
protected CredentialsProvider getCredentialsProvider(final Log log) throws ValidationException { if (serverId != null) { Server server = settings.getServer(serverId); if (server == null) { log.warn(format("No server configuration in Maven settings found with id %s", serverId)); } if (server.getUsername() != null && server.getPassword() != null) { return new UsernamePasswordCredentialsProvider(server.getUsername(), server.getPassword()); } } return null; }
final Map<Protocol, ProxyInfo> proxyInfos = new HashMap<Protocol, ProxyInfo>(1); if (server != null && server.getUsername() != null) { log.info(" + Using server credentials \"{}\" from Maven settings.", server.getId()); authenticationInfo = new UsernamePasswordAuthenticationInfo(server.getUsername(), server.getPassword()); if (proxy.getUsername() != null) { proxyAuthentication = new UsernamePasswordAuthenticationInfo(proxy.getUsername(), proxy.getPassword());
/** * Uploads the {@code sourceDirectory} to the {@code deployUrl} as a "whole". This means, that the "image" * (sourceDirectory) should be already prepared, as there will be no transformations applied to them, content and * filenames will be deploy as-is. */ protected void zapUp(final Server server, final Proxy proxy, final File sourceDirectory, final String deployUrl) throws IOException { final ZapperRequest request = new ZapperRequest(sourceDirectory, deployUrl); if (server != null) { request.setRemoteUsername(server.getUsername()); request.setRemotePassword(server.getPassword()); } if (proxy != null) { request.setProxyProtocol("http"); // Proxy is always HTTP request.setProxyHost(proxy.getHost()); request.setProxyPort(proxy.getPort()); request.setProxyUsername(proxy.getUsername()); request.setProxyPassword(proxy.getPassword()); } zapper.deployDirectory(request); }
@Override public void validate( Settings settings, SettingsProblemCollector problems ) if ( settings.isUsePluginRegistry() ) List<String> pluginGroups = settings.getPluginGroups(); List<Server> servers = settings.getServers(); validateStringNotEmpty( problems, "servers.server[" + i + "].id", server.getId(), null ); if ( !serverIds.add( server.getId() ) ) "must be unique but found duplicate server with id " + server.getId() ); if ( !proxyIds.add( proxy.getId() ) ) "must be unique but found duplicate proxy with id " + proxy.getId() ); validateStringNotEmpty( problems, "proxies.proxy.host", proxy.getHost(), proxy.getId() );
private MavenRepository createRepository(final File settingsFile, final Settings settings, final List<DependencyFilter> filters) { final String localRepositoryPath = settings.getLocalRepository(); final List<Mirror> mirrors = settings.getMirrors(); final String remoteRepositoryUrl; Authentication auth = null; if (!mirrors.isEmpty()) { final Mirror mirror = mirrors.get(0); remoteRepositoryUrl = mirror.getUrl(); final Server server = settings.getServer(mirror.getId()); if (server != null) { final String password = decodePassword(settingsFile, server.getPassword()); auth = new Authentication(server.getUsername(), password, server.getPrivateKey(), server.getPassphrase()); } } else { remoteRepositoryUrl = null; } final boolean offline = settings.isOffline(); return new MavenRepository(remoteRepositoryUrl, auth, localRepositoryPath, filters, offline); }
@Override public void execute(FrontendPluginFactory factory) throws InstallationException { ProxyConfig proxyConfig = MojoUtils.getProxyConfig(this.session, this.decrypter); Server server = MojoUtils.decryptServer(this.serverId, this.session, this.decrypter); if (null != server) { factory.getNodeInstaller(proxyConfig).setNodeDownloadRoot(this.nodeDownloadRoot) .setNodeVersion(this.nodeVersion).setPassword(server.getPassword()) .setUserName(server.getUsername()).install(); factory.getYarnInstaller(proxyConfig).setYarnDownloadRoot(this.yarnDownloadRoot) .setYarnVersion(this.yarnVersion).setUserName(server.getUsername()) .setPassword(server.getPassword()).install(); } else { factory.getNodeInstaller(proxyConfig).setNodeDownloadRoot(this.nodeDownloadRoot) .setNodeVersion(this.nodeVersion).install(); factory.getYarnInstaller(proxyConfig).setYarnDownloadRoot(this.yarnDownloadRoot) .setYarnVersion(this.yarnVersion).install(); } }
/** * {@link org.apache.maven.artifact.manager.WagonManager} can't configure itself from {@link Settings}, so we need to baby-sit them. * So much for dependency injection. */ private void resolveParameters(WagonManager wagonManager, Settings settings) throws ComponentLookupException, ComponentLifecycleException, SettingsConfigurationException { // TODO todo or not todo ? Proxy proxy = settings.getActiveProxy(); if (proxy != null) { if (proxy.getHost() == null) { throw new SettingsConfigurationException("Proxy in settings.xml has no host"); } //wagonManager.addProxy(proxy.getProtocol(), proxy.getHost(), proxy.getPort(), proxy.getUsername(), // proxy.getPassword(), proxy.getNonProxyHosts()); } for (Server server : (List<Server>) settings.getServers()) { //wagonManager.addAuthenticationInfo(server.getId(), server.getUsername(), server.getPassword(), // server.getPrivateKey(), server.getPassphrase()); //wagonManager.addPermissionInfo(server.getId(), server.getFilePermissions(), // server.getDirectoryPermissions()); if (server.getConfiguration() != null) { //wagonManager.addConfiguration(server.getId(), (Xpp3Dom) server.getConfiguration()); } } for (Mirror mirror : (List<Mirror>) settings.getMirrors()) { //wagonManager.addMirror(mirror.getId(), mirror.getMirrorOf(), mirror.getUrl()); } }
for ( Server server : encryptedSettings.getServers() ) String password = server.getPassword(); if ( password != null && !isEncryptedString( password ) ) server.setPassword( encryptAndDecorate( password ) ); String passphrase = server.getPassphrase(); if ( passphrase != null && !isEncryptedString( passphrase ) ) server.setPassphrase( encryptAndDecorate( passphrase ) ); for ( Proxy proxy : encryptedSettings.getProxies() ) String password = proxy.getPassword(); if ( password != null && !isEncryptedString( password ) ) proxy.setPassword( encryptAndDecorate( password ) );
private Wagon configureWagon( Wagon wagon, String repositoryId, Settings settings ) throws TransferFailedException { for ( Server server : settings.getServers() ) { String id = server.getId(); if ( id != null && id.equals( repositoryId ) && ( server.getConfiguration() != null ) ) { configureWagon( wagon, repositoryId, server); break; } } return wagon; }
private RegistryAuth createRegistryAuth(Server server) throws DockerException { SettingsDecryptionRequest decryptionRequest = new DefaultSettingsDecryptionRequest(server); SettingsDecryptionResult decryptionResult = settingsDecrypter.decrypt(decryptionRequest); if (decryptionResult.getProblems().isEmpty()) { log.debug("Successfully decrypted Maven server password"); } else { for (SettingsProblem problem : decryptionResult.getProblems()) { log.error("Settings problem for server {}: {}", server.getId(), problem); } throw new DockerException("Failed to decrypt Maven server password"); } return RegistryAuth.builder() .username(server.getUsername()) .password(decryptionResult.getServer().getPassword()) .build(); } }
return Optional.empty(); Server server = settings.getServer(id); if (server == null) { return Optional.empty(); Map<String, Object> config = MavenConfigurationExtractor.extract((Xpp3Dom) server.getConfiguration()); config.put("id", server.getId()); config.put("username", server.getUsername()); config.put("password", server.getPassword()); return Optional.of(config); })
public Server getServer( String serverId ) { Server match = null; java.util.List<Server> servers = getServers(); if ( servers != null && serverId != null ) { for ( Server server : servers ) { if ( serverId.equals( server.getId() ) ) { match = server; break; } } } return match; }
private static void printPasswords(File settingsFile, File securityFile) throws IOException, XmlPullParserException, SecDispatcherException, PlexusCipherException { Settings settings = readSettings(settingsFile); SettingsSecurity settingsSecurity = readSettingsSecurity(securityFile); String encodedMasterPassword = settingsSecurity.getMaster(); String plainTextMasterPassword = decodeMasterPassword(encodedMasterPassword); System.out.printf("Master password is : %s%n", plainTextMasterPassword); List<Server> servers = settings.getServers(); for (Server server : servers) { String encodedServerPassword = server.getPassword(); String plainTextServerPassword = decodePassword(encodedServerPassword, plainTextMasterPassword); System.out.println("-------------------------------------------------------------------------"); System.out.printf("Credentials for server %s are :%n", server.getId()); System.out.printf("Username : %s%n", server.getUsername()); System.out.printf("Password : %s%n", plainTextServerPassword); } } }