Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMickael Istria2021-12-17 14:35:06 +0000
committerMickael Istria2021-12-20 18:25:21 +0000
commit9973476a28c6b1717e0102ef836e04d512388dbf (patch)
tree0ddca21818c1e1bc52779526f1823948849af570
parent8120cb3dc5c685a56163fa432448dae3dc140fe6 (diff)
downloadrt.equinox.p2-9973476a28c6b1717e0102ef836e04d512388dbf.tar.gz
rt.equinox.p2-9973476a28c6b1717e0102ef836e04d512388dbf.tar.xz
rt.equinox.p2-9973476a28c6b1717e0102ef836e04d512388dbf.zip
Override prompt action for PGP keys as well. Change-Id: Iad5ec56724fc8eff6c64a2952ad79d5202306f53 Reviewed-on: https://git.eclipse.org/r/c/equinox/rt.equinox.p2/+/188954 Tested-by: Equinox Bot <equinox-bot@eclipse.org> Reviewed-by: Mickael Istria <mistria@redhat.com>
-rw-r--r--bundles/org.eclipse.equinox.p2.core/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.p2.core/pom.xml2
-rw-r--r--bundles/org.eclipse.equinox.p2.director.app/META-INF/MANIFEST.MF7
-rw-r--r--bundles/org.eclipse.equinox.p2.director.app/pom.xml2
-rw-r--r--bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/DirectorApplication.java16
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/DirectorApplicationTest.java20
6 files changed, 44 insertions, 7 deletions
diff --git a/bundles/org.eclipse.equinox.p2.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.core/META-INF/MANIFEST.MF
index fdd4ec76f..4f7488195 100644
--- a/bundles/org.eclipse.equinox.p2.core/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.core/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.equinox.p2.core;singleton:=true
-Bundle-Version: 2.8.100.qualifier
+Bundle-Version: 2.8.200.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.equinox.internal.p2.core.Activator
Bundle-Vendor: %providerName
@@ -64,7 +64,7 @@ Export-Package: org.eclipse.equinox.internal.p2.core;x-friends:="org.eclipse.equ
org.eclipse.equinox.p2.updatesite,
org.eclipse.equinox.p2.director.app,
org.eclipse.equinox.p2.transport.ecf",
- org.eclipse.equinox.p2.core;version="2.7.0",
+ org.eclipse.equinox.p2.core;version="2.8.0",
org.eclipse.equinox.p2.core.spi;version="2.1.0"
Require-Bundle: org.eclipse.equinox.common;bundle-version="[3.5.0,4.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-11
diff --git a/bundles/org.eclipse.equinox.p2.core/pom.xml b/bundles/org.eclipse.equinox.p2.core/pom.xml
index 4126209ae..f41904dca 100644
--- a/bundles/org.eclipse.equinox.p2.core/pom.xml
+++ b/bundles/org.eclipse.equinox.p2.core/pom.xml
@@ -9,6 +9,6 @@
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.p2.core</artifactId>
- <version>2.8.100-SNAPSHOT</version>
+ <version>2.8.200-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.equinox.p2.director.app/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.director.app/META-INF/MANIFEST.MF
index 04b4a7068..7cbc86f19 100644
--- a/bundles/org.eclipse.equinox.p2.director.app/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.director.app/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.equinox.p2.director.app;singleton:=true
-Bundle-Version: 1.2.0.qualifier
+Bundle-Version: 1.2.100.qualifier
Bundle-Activator: org.eclipse.equinox.internal.p2.director.app.Activator
Bundle-Vendor: %providerName
Bundle-Localization: plugin
@@ -10,14 +10,15 @@ Export-Package: org.eclipse.equinox.internal.p2.director.app;x-internal:=true
Require-Bundle: org.eclipse.equinox.common;bundle-version="[3.5.0,4.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-11
Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.equinox.app,
+Import-Package: org.bouncycastle.openpgp,
+ org.eclipse.equinox.app,
org.eclipse.equinox.internal.p2.core.helpers,
org.eclipse.equinox.internal.p2.director,
org.eclipse.equinox.internal.p2.engine,
org.eclipse.equinox.internal.provisional.p2.core.eventbus,
org.eclipse.equinox.internal.provisional.p2.director,
org.eclipse.equinox.internal.provisional.p2.repository,
- org.eclipse.equinox.p2.core;version="[2.0.0,3.0.0)",
+ org.eclipse.equinox.p2.core;version="[2.8.0,3.0.0)",
org.eclipse.equinox.p2.core.spi;version="[2.1.0,3.0.0)",
org.eclipse.equinox.p2.engine;version="[2.0.0,3.0.0)",
org.eclipse.equinox.p2.engine.query;version="[2.0.0,3.0.0)",
diff --git a/bundles/org.eclipse.equinox.p2.director.app/pom.xml b/bundles/org.eclipse.equinox.p2.director.app/pom.xml
index 0ee657185..2934027d5 100644
--- a/bundles/org.eclipse.equinox.p2.director.app/pom.xml
+++ b/bundles/org.eclipse.equinox.p2.director.app/pom.xml
@@ -9,6 +9,6 @@
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.p2.director.app</artifactId>
- <version>1.2.0-SNAPSHOT</version>
+ <version>1.2.100-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/DirectorApplication.java b/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/DirectorApplication.java
index d163af047..4710d4cc1 100644
--- a/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/DirectorApplication.java
+++ b/bundles/org.eclipse.equinox.p2.director.app/src/org/eclipse/equinox/internal/p2/director/app/DirectorApplication.java
@@ -32,6 +32,7 @@ import java.util.*;
import java.util.Map.Entry;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
+import org.bouncycastle.openpgp.PGPPublicKey;
import org.eclipse.core.runtime.*;
import org.eclipse.equinox.app.IApplication;
import org.eclipse.equinox.app.IApplicationContext;
@@ -85,6 +86,21 @@ public class DirectorApplication implements IApplication, ProvisioningListener {
}
return new TrustInfo(trusted, false, true);
}
+
+ @Override
+ public TrustInfo getTrustInfo(Certificate[][] untrustedChains, Collection<PGPPublicKey> untrustedPGPKeys,
+ String[] unsignedDetail) {
+ final Collection<Certificate> trusted;
+ if (untrustedChains == null) {
+ trusted = List.of();
+ } else {
+ trusted = new ArrayList<>(untrustedChains.length);
+ for (Certificate[] untrustedChain : untrustedChains) {
+ trusted.add(untrustedChain[0]);
+ }
+ }
+ return new TrustInfo(trusted, untrustedPGPKeys, false, true);
+ }
}
class LocationQueryable implements IQueryable<IInstallableUnit> {
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/DirectorApplicationTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/DirectorApplicationTest.java
index 973a234ff..9ac6d4b8a 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/DirectorApplicationTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/DirectorApplicationTest.java
@@ -838,4 +838,24 @@ public class DirectorApplicationTest extends AbstractProvisioningTest {
return avoidTrustPromptService.getTrustInfo(untrustedChain, null);
}
+ public void testPGPSignedArtifact() throws Exception {
+ File srcRepo = getTestData(null, "/testData/pgp/repoPGPOK");
+
+ IArtifactRepositoryManager artifactManager = getAgent().getService(IArtifactRepositoryManager.class);
+ IMetadataRepositoryManager metadataManager = getAgent().getService(IMetadataRepositoryManager.class);
+ assertNotNull(artifactManager);
+ assertNotNull(metadataManager);
+
+ File destinationRepo = new File(getTempFolder(), "DirectorApp Destination");
+ String[] args = getSingleRepoArgs(null, srcRepo, srcRepo, destinationRepo, "blah");
+
+ destinationRepo.mkdirs();
+
+ StringBuffer buffer = runDirectorApp(null, args);
+ assertFalse(buffer.toString(), buffer.toString().contains("failed"));
+
+ artifactManager.removeRepository(srcRepo.toURI());
+ metadataManager.removeRepository(srcRepo.toURI());
+ delete(destinationRepo);
+ }
}

Back to the top