Skip to main content
aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2022-02-13Bug 578024 - Improve the TrustCertificateDialogI20220213-1800Ed Merks1-1/+13
Generally use lower case hex fingerprints everywhere. It's just easier on the eyes and is generally what the keyservers show as well. Change-Id: I7d5526332be58fc8ea5de98ac9fc9c212d254f93 Signed-off-by: Ed Merks <ed.merks@gmail.com> Reviewed-on: https://git.eclipse.org/r/c/equinox/rt.equinox.p2/+/190750
2022-02-08Bug 578024 - Improve the TrustCertificateDialogY20220209-0600I20220208-1800Ed Merks1-0/+96
Introduce org.eclipse.equinox.p2.repository.artifact.spi.IArtifactUIServices optionally implemented by UIServices implementations for enriched information that includes information about the artifacts associated with certificates and keys. Ensure that the new interface can delegate to older UIServices implementations. Upgrade CertificateChecker to compute the more detailed information and that it uses IArtifactUIServices when available, but also works properly when it's not available. Update ValidationDialogServiceUI so that it implements IArtifactUIServices and uses the enhanced information when available. Completely overhaul the TrustCertificateDialog implementation. Change-Id: I268bc7176af3eeb98b1d38a47b92d525f9b9f285 Signed-off-by: Ed Merks <ed.merks@gmail.com> Reviewed-on: https://git.eclipse.org/r/c/equinox/rt.equinox.p2/+/190518
2022-02-02Bug 578322 - Provide a more flexible mechanism for managing and locatingY20220203-0600Y20220202-0910I20220203-0300I20220202-1800Ed Merks1-0/+231
PGP public keys Provide org.eclipse.equinox.p2.repository.spi.PGPPublicKeyService and its default registered implementation DefaultPGPPublicKeyService that supports network access to zero or more key servers with offline caching, caching of all locally added keys, and access to keys in the GPG pubring. Extend ValidationDialogServiceUI to make it aware of the agent such that it can access the PGPPublicKeyService to provide web-of-trust details to the user. Ensure that PGPPublicKeyStore properly handles multiple keys per key ID. Provide access to the target artifact descriptor via SimpleArtifactRepository.ArtifactOutputStream.getAdapter so that the special case handling of PGP properties in MirrorRequest.getDestinationDescriptor can be moved to PGPSignatureVerifier.close() to ensure that signatures and the keys used to verify them follow the artifact during a mirror request. Simplify CertificateChecker such that it expects the keys used for signature verification to be present in the artifact properties. Ensure that PGPSignatureVerifier can deal with multiple keys with the same key ID. Also verify key expiration (log a warning) and key revocation (abort the download), guarded by system properties p2.pgp.verifyExpiration and p2.pgp.verifyRevocation to disable the checks. Fix TrustPreferencePage to store keys in a file based on the fingerprint rather than the key ID and to present to the user the fingerprint rather than the key ID. Add a .options file to provide access to the debug/tracing options. Change-Id: I8c50ce886b9af175db129c7508774d00972a0432 Signed-off-by: Ed Merks <ed.merks@gmail.com> Reviewed-on: https://git.eclipse.org/r/c/equinox/rt.equinox.p2/+/189910 Tested-by: Equinox Bot <equinox-bot@eclipse.org> Reviewed-by: Mickael Istria <mistria@redhat.com>
2021-03-19Bug 572043 - Deprecate pack200 support for removalI20210319-1800Alexander Kurtakov1-23/+24
Mark for removal and annotate with pde.apitools so projects start seeing the future breakage and act on it. Change-Id: I947650999c584bb70356859a94e8124eb5441775 Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2019-07-16Remove useless non-javadoc comments.Alexander Kurtakov1-3/+0
Change-Id: Ifc2500a2a4cafd13addc6ebc50fda66ba82e2a1a Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2019-06-10Remove unnecessary type specificationsCarsten Hammer1-1/+1
Since Java 7 the diamond operator can be used instead of explicit type parameters. Change-Id: I1f4692522a6ed6429f79eea1d898f0cc4a84131a Signed-off-by: Carsten Hammer <carsten.hammer@t-online.de>
2019-03-18Bug 545330 - Problems in javadoc for platformI20190325-1800I20190325-0105I20190324-1800I20190323-1800I20190322-1800I20190321-1800I20190321-0435I20190321-0245I20190320-1800I20190318-1800Alexander Kurtakov3-10/+12
Fix p2 javadoc warnings. Change-Id: I4f9cd9c79917a70f9b69e75557d6a137cfaa1473 Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2019-03-16Add missing Override/Deprecated annotations to p2.repository bundle.Alexander Kurtakov7-61/+78
Change-Id: Iec7809dcb1596a843bbc5c8a3b82201b4f15f985 Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2019-02-15Bug 543933 - Build javadocs with Java 11Y20190222-0110Y20190220-2200S4_11_0_M3I20190220-1800I20190220-0600I20190219-1800I20190219-0600I20190218-1800I20190218-0600I20190217-1800I20190217-0600I20190216-1800I20190216-0600Alexander Kurtakov8-8/+8
Fix javadoc warnings catched by Java 11 tool with XDoclint:html. Change-Id: I06b05f4c190658ed8c8d79b1e1d33ac534f1adb3 Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2018-10-03Fix typo in IArtifactDescriptor.*_CHECKSUM javadocsMykola Nikishov1-2/+2
Change-Id: I41c5af886d3cb354aa61a77a39e852adfbe6160b Signed-off-by: Mykola Nikishov <mn@mn.com.ua>
2018-08-22Bug 535802 - Update p2 EPL-2.0 for its plug-ins - Part 3Lars Vogel23-69/+138
Change-Id: I7b922fdd409b7f004a77cf1d662a72034bd18a58 Signed-off-by: Lars Vogel <Lars.Vogel@vogella.com>
2018-08-22Adds linebreak before the EPL 1.0 licenceLars Vogel1-1/+2
Change-Id: Ic1638772d5f58d4567a83b519ecd885b80f5602b Signed-off-by: Lars Vogel <Lars.Vogel@vogella.com>
2018-08-22Fixes incorrectly formated EPL 1.0 license headerI20180822-0800Lars Vogel1-1/+2
Change-Id: I6337f0a9e32e7eb71ba6e368137e180a456bb8da Signed-off-by: Lars Vogel <Lars.Vogel@vogella.com>
2018-03-02Bug 423715 - Fix since tagsI20180304-2000I20180304-0800I20180303-1500I20180303-1200I20180303-0800I20180303-0335I20180303-0155I20180303-0055I20180302-2000Alexander Kurtakov1-2/+2
Change-Id: I8a5532c9ef2a12cc13e125b1545b466472ec4e0c Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2018-03-02Bug 531917 - Remove redundant type parametersAlexander Kurtakov2-7/+7
With Java 8 and properly generified some apis it's not needed to specify the types anymore. Change-Id: Ib758c6f50b1b1fd3f56bd52eb7e664b89b6cc776 Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2018-03-01Bug 423715 - Support multiple algorithms for artifact checksumsI20180301-2000Mykola Nikishov1-1/+24
Developer of p2-based software should be able to check integrity of artifact checksums using any MessageDigest implementation available, at his own discretion, without ever touching p2 internals. For the purpose of this bug, limit enabled checksum algorithms to: - MD5 (legacy one, deprecated now, for backward compatibility only) - SHA-256 (more collision-resistant than MD5) See artifactChecksums.exsd for more details. First, encode ID of the checksum algorithm into the name of the property itself so that artifact descriptor now may look like: <artifact classifier='binary' id='testKeyId' version='1.2.3'> <properties size='6'> <property name='download.md5' value='b3788632488d48b850255acf68669651'/> <property name='artifact.md5' value='b3788632488d48b850255acf68669651'/> <property name='download.checksum.sha-256' value='d594816b995d1689c2dfc97dc244859abe6bdb9ebeb4b396e401afd85a97ee16'/> <property name='download.checksum.whirlpool' value='e4f3ece3d3f289cc2686a68f0b1b5a2d03da3a8ccdc3cd6d03209e4c789af724c8fa915bb890079e1abe78df44875cec132885dd6ae1176eed7938dfb3c7b551'/> <property name='artifact.checksum.sha-256' value='d594816b995d1689c2dfc97dc244859abe6bdb9ebeb4b396e401afd85a97ee16'/> <property name='artifact.checksum.tiger' value='462a72a1a593b9e2de8721b8d79335fd03e974f2e2e1f35a'/> </properties> </artifact> Prefix helps to avoid conflicts with other, not checksum-related, properties. To find checksums of specific type, we need all properties with prefix 'artifact.checksum.', Extracting checksum id from the name of the property is also trivial. Store these prefixes in IArtifactDescriptor's DOWNLOAD_CHECKSUM and ARTIFACT_CHECKSUM. ChecksumUtilities provides internal API to deal with properties. Second, map ID of checksum algorithm to the name of MessageDigest implementation with a contribution to a new extension point org.eclipse.equinox.p2.artifact.repository.artifactChecksums: <extension point="org.eclipse.equinox.p2.artifact.repository.artifactChecksums"> <artifactChecksum algorithm="SHA-256" id="sha-256" ... /> </extension> Number of actual checksums in artifact descriptor depends on the configuration of the application that created such descriptor because p2 will: - handle MD5 checksums as usual, preserving backward compatibility - calculate other checksums using extensions that contribute to artifactChecksums extension point Last, we use id of specific checksum to get MessageDigest instance with getInstance(String). There is a number of standalone applications (like MirrorApplication) and Ant tasks (like ValidateTask) that allow user to chose specific comparator by id and ArtifactComparatorFactory is responsible for instantiating it. Legacy MD5 comparator requires no special configuration while the new ArtifactChecksumComparator is more generic and needs some parameters to instantiate. ArtifactComparatorFactory handles this by accepting fake comparator id - concatenated ArtifactChecksumComparator's id and checksum algorithm id. In other words, to compare artifacts using SHA-256 algorithm use 'org.eclipse.equinox.artifact.comparator.checksum.sha-256' as comparator id. We generate, consume and compare artifact checksums using all enabled algorithms. Ideally, configuration options should provide more control for both repository publisher and p2 client like: - a priority (compare with SHA-512 first, then SHA-256 and, finally, MD5) - skip specific checksum (do not use MD5 even if provided) - mandatory checksum (require Whirlpool and it's an error if its not available) While I have no good solution for this right now, there are some configuration options provided. Also, number of new enabled checksum algorithms is limited to SHA-256 only (more checksums = more reasons to fail = more reasons to disable). To turn checksum verification off completely: - for p2 client, use property 'eclipse.p2.checksums.disable' (see SimpleArtifactRepository.CHECKSUMS_ENABLED constant). - for p2 publisher, the old PublisherInfo's setArtifactOptions(int) and IPublisherInfo.A_NO_MD5 still could be used. To disable MD5 checksums only, existing properties 'eclipse.p2.MD5Check' and 'eclipse.p2.MD5ArtifactCheck' still can be used. Change-Id: Iacd267e13d5d096694001d34cafbaea5451e7157 Signed-off-by: Mykola Nikishov <mn@mn.com.ua>
2017-09-05Bug 521298 - Enhance deprecation messages in AbstractArtifactRepository I20170906-0225I20170905-2000Alexander Kurtakov1-1/+1
Fix @link to point to existing method. Change-Id: Ia440f5bc3782582549b96d4e836a4e4b29d5bf5c Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2017-08-23Bug 521298 - Enhance deprecation messages in AbstractArtifactRepository Alexander Kurtakov1-8/+8
Remove dubious comments and add messages to the deprecation tags pointing to the replacement methods. Change-Id: I24780e83ccf5cba61ca4c92b138f93c9a516d24f Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2017-04-05Bug 514807 - [memory] Use EMPTY_STEPS always for empty processingStepsKarsten Thoms1-2/+2
Change-Id: I829ded8e6a6cf5c10a30508d00710d1af56e3e79 Signed-off-by: Karsten Thoms <karsten.thoms@itemis.de>
2013-11-19Bug 422026 - Get rid of ColletionUtils.empty[Set|List|Map]Alexander Kurtakov1-2/+1
Now that p2 has Java 1.5 as a minimum there is no reason to not use the JVM methods. Change-Id: I89444e8d1e174c316e2b17fb4f53bc7b1d097c0a Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2012-12-11Fixed API tools warningsv20121211-151920John Arthorne1-0/+1
2012-11-17Allow to install from a repository without copying the artifactsepasrap1-0/+6
2012-05-01Bug 378158 - org.eclipse.equinox.p2.repository version number needs bumpv20120501-1446John Arthorne1-1/+1
2012-01-17364929 support customizable download statisticsv20120117-1140v20120117-0330Mengxin Zhu1-1/+18
Signed-off-by: Mengxin Zhu <kane.zhu@windriver.com>
2011-12-08Bug 365390 - [doc] spell typo ofv20111208-2045DJ Houghton1-1/+1
IArtifactRepository.createArtifactDescriptor(IArtifactKey)
2011-12-08Bug 365390 - [doc] spell typo ofDJ Houghton1-1/+1
IArtifactRepository.createArtifactDescriptor(IArtifactKey)
2011-08-11Fix up javadocPascal Rapicault1-3/+1
2011-05-02copyright updateIan Bull12-11/+22
2011-04-05typo in APIPascal Rapicault1-1/+1
2011-03-17Fixed API Tooling errors w.r.t. invalid @since tags.DJ Houghton1-4/+7
2011-03-07NEW - bug 339106: recursive error produces too many files openIan Bull1-1/+1
https://bugs.eclipse.org/bugs/show_bug.cgi?id=339106 -- I didn't mean to mark that method 'final'.
2011-03-05NEW - bug 301903: Consider a file level lock during batch executionv20110305-0130Ian Bull4-3/+168
https://bugs.eclipse.org/bugs/show_bug.cgi?id=301903
2011-01-19Bug 324873 - [repository] Share IUs for Composite RepositoriesDJ Houghton2-2/+27
2010-09-01added missing @sinceJohn Arthorne1-1/+9
2010-08-26Bug 244628 - [api] [repository] artifact repos do not support bulk removeDJ Houghton2-0/+24
2010-03-30bug 305237: [repository] Handle operation cancelled exception in execute batchIan Bull2-1/+5
https://bugs.eclipse.org/bugs/show_bug.cgi?id=305237
2010-03-12Java doc tweaks (@noextend, @noimplement, final, etc)Pascal Rapicault13-5/+23
2010-03-09bug 301902: [api] Add an executeBatch to the MetadataRepositoryv20100311-1400ibull2-2/+31
https://bugs.eclipse.org/bugs/show_bug.cgi?id=301902
2010-03-09bug 305064: [api] Add a progress monitor to the execute batch methodibull1-0/+1
https://bugs.eclipse.org/bugs/show_bug.cgi?id=305064
2010-03-09bug 305064: [api] Add a progress monitor to the execute batch methodibull3-4/+38
https://bugs.eclipse.org/bugs/show_bug.cgi?id=305064
2010-03-09Bug 229183 - [director] [api] ProvisioningContex does not handle repository ↵Susan Franklin1-2/+11
in a consistent way
2010-03-08bug 305069 - IArtifactKey apiAndrew Niefer2-2/+18
2010-03-08Filled in missing javadocJohn Arthorne7-16/+72
2010-03-05Bug 293340 - [api][repository] Review of the repository packageJohn Arthorne5-34/+174
2010-03-05Bug 266196 - [repo] flags used in getKnownRepositories(int) are confusingJohn Arthorne1-10/+23
2010-03-05Bug 266384 - [repo] clarify behavior for various repo property flagsJohn Arthorne2-8/+31
2010-03-04javadoc workJohn Arthorne1-4/+7
2010-03-03Removing deprecated methodsPascal Rapicault3-27/+5
2010-03-02@sinceAndrew Niefer1-0/+3
2010-03-02275800 : It is impossible to mirror repository references.Thomas Hallgren4-43/+114

Back to the top