diff options
author | Vincent <valodim@mugenguild.com> | 2016-02-10 18:39:55 +0100 |
---|---|---|
committer | Vincent <valodim@mugenguild.com> | 2016-02-10 18:39:55 +0100 |
commit | 2eac4ebb950c9f36fbb8852b4266529065ff6731 (patch) | |
tree | da193d233e2f753e2c31d9c446f4c2cb5ad23248 /OpenKeychain/src/main/java/org/bouncycastle/openpgp/jcajce/JcaSkipMarkerPGPObjectFactory.java | |
parent | a94713103b6c72136fbf4886bf561616b2a01e4e (diff) | |
parent | da6dfb57a0aa816919cd23752e1707ba6a2e8cae (diff) | |
download | open-keychain-2eac4ebb950c9f36fbb8852b4266529065ff6731.tar.gz open-keychain-2eac4ebb950c9f36fbb8852b4266529065ff6731.tar.bz2 open-keychain-2eac4ebb950c9f36fbb8852b4266529065ff6731.zip |
Merge pull request #1708 from open-keychain/performance
performance improvements
Diffstat (limited to 'OpenKeychain/src/main/java/org/bouncycastle/openpgp/jcajce/JcaSkipMarkerPGPObjectFactory.java')
-rw-r--r-- | OpenKeychain/src/main/java/org/bouncycastle/openpgp/jcajce/JcaSkipMarkerPGPObjectFactory.java | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/OpenKeychain/src/main/java/org/bouncycastle/openpgp/jcajce/JcaSkipMarkerPGPObjectFactory.java b/OpenKeychain/src/main/java/org/bouncycastle/openpgp/jcajce/JcaSkipMarkerPGPObjectFactory.java new file mode 100644 index 000000000..72d6036ab --- /dev/null +++ b/OpenKeychain/src/main/java/org/bouncycastle/openpgp/jcajce/JcaSkipMarkerPGPObjectFactory.java @@ -0,0 +1,32 @@ +package org.bouncycastle.openpgp.jcajce; + + +import java.io.IOException; +import java.io.InputStream; + +import org.bouncycastle.openpgp.PGPMarker; + +/** This class wraps the regular PGPObjectFactory, changing its behavior to + * ignore all PGPMarker packets it encounters while reading. These packets + * carry no semantics of their own, and should be ignored according to + * RFC 4880. + * + * @see https://tools.ietf.org/html/rfc4880#section-5.8 + * @see org.bouncycastle.openpgp.PGPMarker + * + */ +public class JcaSkipMarkerPGPObjectFactory extends JcaPGPObjectFactory { + + public JcaSkipMarkerPGPObjectFactory(InputStream in) { + super(in); + } + + @Override + public Object nextObject() throws IOException { + Object o = super.nextObject(); + while (o instanceof PGPMarker) { + o = super.nextObject(); + } + return o; + } +} |