1
0
Fork 0
mirror of https://github.com/pgpainless/pgpainless.git synced 2025-09-09 18:29:39 +02:00

Checkstyle issues

This commit is contained in:
Paul Schaub 2025-07-30 13:25:09 +02:00
parent fed6cbcd6e
commit 4b179d750a
Signed by: vanitasvitae
GPG key ID: 62BEE9264BF17311
6 changed files with 59 additions and 57 deletions

View file

@ -139,7 +139,8 @@ class OpenPgpMessageInputStream(
// Comsume packets, potentially stepping into nested layers // Comsume packets, potentially stepping into nested layers
layer@ while (run { layer@ while (run {
packet = try { packet =
try {
pIn.nextPacketTag() pIn.nextPacketTag()
} catch (e: NoSuchElementException) { } catch (e: NoSuchElementException) {
throw MalformedOpenPgpMessageException(e.message) throw MalformedOpenPgpMessageException(e.message)
@ -210,13 +211,16 @@ class OpenPgpMessageInputStream(
syntaxVerifier.next(InputSymbol.LITERAL_DATA) syntaxVerifier.next(InputSymbol.LITERAL_DATA)
val literalData = packetInputStream!!.readLiteralData() val literalData = packetInputStream!!.readLiteralData()
val streamEncoding = try { val streamEncoding =
try {
StreamEncoding.requireFromCode(literalData.format) StreamEncoding.requireFromCode(literalData.format)
} catch (e: NoSuchElementException) { } catch (e: NoSuchElementException) {
throw PGPException("Invalid stream encoding format encountered: ${literalData.format}; ${e.message}") throw PGPException(
"Invalid stream encoding format encountered: ${literalData.format}; ${e.message}")
} }
val fileName = try { val fileName =
try {
literalData.fileName literalData.fileName
} catch (e: IllegalArgumentException) { } catch (e: IllegalArgumentException) {
// Non UTF8 // Non UTF8
@ -224,11 +228,7 @@ class OpenPgpMessageInputStream(
} }
// Extract Metadata // Extract Metadata
layerMetadata.child = layerMetadata.child = LiteralData(fileName, literalData.modificationTime, streamEncoding)
LiteralData(
fileName,
literalData.modificationTime,
streamEncoding)
nestedInputStream = literalData.inputStream nestedInputStream = literalData.inputStream
} }
@ -238,17 +238,15 @@ class OpenPgpMessageInputStream(
signatures.enterNesting() signatures.enterNesting()
val compressedData = packetInputStream!!.readCompressedData() val compressedData = packetInputStream!!.readCompressedData()
val compAlg = try { val compAlg =
try {
CompressionAlgorithm.requireFromId(compressedData.algorithm) CompressionAlgorithm.requireFromId(compressedData.algorithm)
} catch (e: NoSuchElementException) { } catch (e: NoSuchElementException) {
throw PGPException(e.message) throw PGPException(e.message)
} }
// Extract Metadata // Extract Metadata
val compressionLayer = val compressionLayer = CompressedData(compAlg, layerMetadata.depth + 1)
CompressedData(
compAlg,
layerMetadata.depth + 1)
LOGGER.debug( LOGGER.debug(
"Compressed Data Packet (${compressionLayer.algorithm}) at depth ${layerMetadata.depth} encountered.") "Compressed Data Packet (${compressionLayer.algorithm}) at depth ${layerMetadata.depth} encountered.")
@ -347,7 +345,9 @@ class OpenPgpMessageInputStream(
"Symmetrically Encrypted Data Packet at depth ${layerMetadata.depth} encountered.") "Symmetrically Encrypted Data Packet at depth ${layerMetadata.depth} encountered.")
syntaxVerifier.next(InputSymbol.ENCRYPTED_DATA) syntaxVerifier.next(InputSymbol.ENCRYPTED_DATA)
val encDataList = packetInputStream!!.readEncryptedDataList() val encDataList = packetInputStream!!.readEncryptedDataList()
if (!encDataList.isIntegrityProtected && !encDataList.isEmpty && !encDataList.get(0).isAEAD) { if (!encDataList.isIntegrityProtected &&
!encDataList.isEmpty &&
!encDataList.get(0).isAEAD) {
LOGGER.warn("Symmetrically Encrypted Data Packet is not integrity-protected.") LOGGER.warn("Symmetrically Encrypted Data Packet is not integrity-protected.")
if (!options.isIgnoreMDCErrors()) { if (!options.isIgnoreMDCErrors()) {
throw MessageNotIntegrityProtectedException() throw MessageNotIntegrityProtectedException()
@ -569,7 +569,8 @@ class OpenPgpMessageInputStream(
pkesk: PGPPublicKeyEncryptedData pkesk: PGPPublicKeyEncryptedData
): Boolean { ): Boolean {
try { try {
val decrypted = try { val decrypted =
try {
pkesk.getDataStream(decryptorFactory) pkesk.getDataStream(decryptorFactory)
} catch (e: ClassCastException) { } catch (e: ClassCastException) {
throw PGPException(e.message) throw PGPException(e.message)

View file

@ -165,13 +165,13 @@ class SignatureUtils {
// having them compressed, // having them compressed,
// except for an attacker who is trying to exploit flaws in the decompression // except for an attacker who is trying to exploit flaws in the decompression
// algorithm. // algorithm.
// Therefore, we ignore compressed data packets without attempting decompression. // Therefore, we ignore compressed data packets without attempting
// decompression.
if (nextObject is PGPCompressedData) { if (nextObject is PGPCompressedData) {
// getInputStream() does not do decompression, contrary to getDataStream(). // getInputStream() does not do decompression, contrary to getDataStream().
Streams.drain( Streams.drain(
(nextObject as PGPCompressedData) (nextObject as PGPCompressedData)
.inputStream .inputStream) // Skip packet without decompressing
) // Skip packet without decompressing
} }
if (nextObject is PGPSignatureList) { if (nextObject is PGPSignatureList) {

View file

@ -247,7 +247,8 @@ class ArmorUtils {
.add(OpenPgpFingerprint.of(publicKey).prettyPrint()) .add(OpenPgpFingerprint.of(publicKey).prettyPrint())
// Primary / First User ID // Primary / First User ID
(primary ?: first)?.let { (primary ?: first)?.let {
headerMap.getOrPut(HEADER_COMMENT) { mutableSetOf() } headerMap
.getOrPut(HEADER_COMMENT) { mutableSetOf() }
.add(it.replace("\n", "\\n").replace("\r", "\\r")) .add(it.replace("\n", "\\n").replace("\r", "\\r"))
} }
// X-1 further identities // X-1 further identities

View file

@ -6,13 +6,13 @@ package org.pgpainless.bouncycastle.fuzzing
import com.code_intelligence.jazzer.api.FuzzedDataProvider import com.code_intelligence.jazzer.api.FuzzedDataProvider
import com.code_intelligence.jazzer.junit.FuzzTest import com.code_intelligence.jazzer.junit.FuzzTest
import java.io.EOFException
import java.io.IOException
import org.bouncycastle.bcpg.ArmoredInputException import org.bouncycastle.bcpg.ArmoredInputException
import org.bouncycastle.bcpg.UnsupportedPacketVersionException import org.bouncycastle.bcpg.UnsupportedPacketVersionException
import org.bouncycastle.openpgp.PGPException import org.bouncycastle.openpgp.PGPException
import org.bouncycastle.openpgp.PGPUtil import org.bouncycastle.openpgp.PGPUtil
import org.bouncycastle.openpgp.bc.BcPGPObjectFactory import org.bouncycastle.openpgp.bc.BcPGPObjectFactory
import java.io.EOFException
import java.io.IOException
class PGPObjectFactoryFuzzingTest { class PGPObjectFactoryFuzzingTest {

View file

@ -5,6 +5,7 @@
package org.pgpainless.sop package org.pgpainless.sop
import java.io.BufferedOutputStream import java.io.BufferedOutputStream
import java.io.IOException
import java.io.InputStream import java.io.InputStream
import java.io.OutputStream import java.io.OutputStream
import kotlin.jvm.Throws import kotlin.jvm.Throws
@ -14,7 +15,6 @@ import org.pgpainless.util.ArmoredOutputStreamFactory
import sop.Ready import sop.Ready
import sop.exception.SOPGPException import sop.exception.SOPGPException
import sop.operation.Armor import sop.operation.Armor
import java.io.IOException
/** Implementation of the `armor` operation using PGPainless. */ /** Implementation of the `armor` operation using PGPainless. */
class ArmorImpl : Armor { class ArmorImpl : Armor {
@ -27,7 +27,8 @@ class ArmorImpl : Armor {
val bufferedOutputStream = BufferedOutputStream(outputStream) val bufferedOutputStream = BufferedOutputStream(outputStream)
// Determine the nature of the given data // Determine the nature of the given data
val openPgpIn = OpenPgpInputStream(data, false).apply { val openPgpIn =
OpenPgpInputStream(data, false).apply {
try { try {
inspectBuffer() inspectBuffer()
} catch (e: IOException) { } catch (e: IOException) {

View file

@ -4,11 +4,13 @@
package org.pgpainless.sop package org.pgpainless.sop
import org.bouncycastle.bcpg.UnsupportedPacketVersionException
import java.io.IOException import java.io.IOException
import java.io.InputStream import java.io.InputStream
import java.io.OutputStream import java.io.OutputStream
import java.util.* import java.util.*
import java.util.zip.ZipException
import kotlin.NoSuchElementException
import org.bouncycastle.bcpg.UnsupportedPacketVersionException
import org.bouncycastle.openpgp.PGPException import org.bouncycastle.openpgp.PGPException
import org.bouncycastle.util.io.Streams import org.bouncycastle.util.io.Streams
import org.pgpainless.PGPainless import org.pgpainless.PGPainless
@ -25,8 +27,6 @@ import sop.SessionKey
import sop.exception.SOPGPException import sop.exception.SOPGPException
import sop.operation.Decrypt import sop.operation.Decrypt
import sop.util.UTF8Util import sop.util.UTF8Util
import java.util.zip.ZipException
import kotlin.NoSuchElementException
/** Implementation of the `decrypt` operation using PGPainless. */ /** Implementation of the `decrypt` operation using PGPainless. */
class DecryptImpl : Decrypt { class DecryptImpl : Decrypt {
@ -61,8 +61,7 @@ class DecryptImpl : Decrypt {
throw SOPGPException.BadData(e) throw SOPGPException.BadData(e)
} catch (e: ModificationDetectionException) { } catch (e: ModificationDetectionException) {
throw SOPGPException.BadData(e) throw SOPGPException.BadData(e)
} } finally {
finally {
// Forget passphrases after decryption // Forget passphrases after decryption
protector.clear() protector.clear()
} }