1
0
Fork 0
mirror of https://github.com/pgpainless/pgpainless.git synced 2024-11-14 16:32:06 +01:00

Rename automaton package to syntax_check

This commit is contained in:
Paul Schaub 2022-10-21 00:31:25 +02:00
parent 380dcf3f65
commit ef8eb2f55e
7 changed files with 28 additions and 27 deletions

View file

@ -43,9 +43,9 @@ import org.pgpainless.algorithm.EncryptionPurpose;
import org.pgpainless.algorithm.OpenPgpPacket; import org.pgpainless.algorithm.OpenPgpPacket;
import org.pgpainless.algorithm.StreamEncoding; import org.pgpainless.algorithm.StreamEncoding;
import org.pgpainless.algorithm.SymmetricKeyAlgorithm; import org.pgpainless.algorithm.SymmetricKeyAlgorithm;
import org.pgpainless.decryption_verification.automaton.InputAlphabet; import org.pgpainless.decryption_verification.syntax_check.InputAlphabet;
import org.pgpainless.decryption_verification.automaton.PDA; import org.pgpainless.decryption_verification.syntax_check.PDA;
import org.pgpainless.decryption_verification.automaton.StackAlphabet; import org.pgpainless.decryption_verification.syntax_check.StackAlphabet;
import org.pgpainless.decryption_verification.cleartext_signatures.ClearsignedMessageUtil; import org.pgpainless.decryption_verification.cleartext_signatures.ClearsignedMessageUtil;
import org.pgpainless.decryption_verification.cleartext_signatures.MultiPassStrategy; import org.pgpainless.decryption_verification.cleartext_signatures.MultiPassStrategy;
import org.pgpainless.exception.MalformedOpenPgpMessageException; import org.pgpainless.exception.MalformedOpenPgpMessageException;
@ -80,7 +80,7 @@ public class OpenPgpMessageInputStream extends DecryptionStream {
// Options to consume the data // Options to consume the data
protected final ConsumerOptions options; protected final ConsumerOptions options;
// Pushdown Automaton to verify validity of OpenPGP packet sequence in an OpenPGP message // Pushdown Automaton to verify validity of OpenPGP packet sequence in an OpenPGP message
protected final PDA automaton = new PDA(); protected final PDA syntaxVerifier = new PDA();
// InputStream of OpenPGP packets // InputStream of OpenPGP packets
protected TeeBCPGInputStream packetInputStream; protected TeeBCPGInputStream packetInputStream;
// InputStream of a nested data packet // InputStream of a nested data packet
@ -266,7 +266,7 @@ public class OpenPgpMessageInputStream extends DecryptionStream {
private void processLiteralData() throws IOException { private void processLiteralData() throws IOException {
LOGGER.debug("Literal Data Packet at depth " + metadata.depth + " encountered"); LOGGER.debug("Literal Data Packet at depth " + metadata.depth + " encountered");
automaton.next(InputAlphabet.LiteralData); syntaxVerifier.next(InputAlphabet.LiteralData);
PGPLiteralData literalData = packetInputStream.readLiteralData(); PGPLiteralData literalData = packetInputStream.readLiteralData();
this.metadata.setChild(new MessageMetadata.LiteralData( this.metadata.setChild(new MessageMetadata.LiteralData(
literalData.getFileName(), literalData.getFileName(),
@ -276,7 +276,7 @@ public class OpenPgpMessageInputStream extends DecryptionStream {
} }
private void processCompressedData() throws IOException, PGPException { private void processCompressedData() throws IOException, PGPException {
automaton.next(InputAlphabet.CompressedData); syntaxVerifier.next(InputAlphabet.CompressedData);
signatures.enterNesting(); signatures.enterNesting();
PGPCompressedData compressedData = packetInputStream.readCompressedData(); PGPCompressedData compressedData = packetInputStream.readCompressedData();
MessageMetadata.CompressedData compressionLayer = new MessageMetadata.CompressedData( MessageMetadata.CompressedData compressionLayer = new MessageMetadata.CompressedData(
@ -288,7 +288,7 @@ public class OpenPgpMessageInputStream extends DecryptionStream {
} }
private void processOnePassSignature() throws PGPException, IOException { private void processOnePassSignature() throws PGPException, IOException {
automaton.next(InputAlphabet.OnePassSignature); syntaxVerifier.next(InputAlphabet.OnePassSignature);
PGPOnePassSignature onePassSignature = packetInputStream.readOnePassSignature(); PGPOnePassSignature onePassSignature = packetInputStream.readOnePassSignature();
LOGGER.debug("One-Pass-Signature Packet by key " + KeyIdUtil.formatKeyId(onePassSignature.getKeyID()) + LOGGER.debug("One-Pass-Signature Packet by key " + KeyIdUtil.formatKeyId(onePassSignature.getKeyID()) +
"at depth " + metadata.depth + " encountered"); "at depth " + metadata.depth + " encountered");
@ -297,8 +297,8 @@ public class OpenPgpMessageInputStream extends DecryptionStream {
private void processSignature() throws PGPException, IOException { private void processSignature() throws PGPException, IOException {
// true if Signature corresponds to OnePassSignature // true if Signature corresponds to OnePassSignature
boolean isSigForOPS = automaton.peekStack() == StackAlphabet.ops; boolean isSigForOPS = syntaxVerifier.peekStack() == StackAlphabet.ops;
automaton.next(InputAlphabet.Signature); syntaxVerifier.next(InputAlphabet.Signature);
PGPSignature signature = packetInputStream.readSignature(); PGPSignature signature = packetInputStream.readSignature();
long keyId = SignatureUtils.determineIssuerKeyId(signature); long keyId = SignatureUtils.determineIssuerKeyId(signature);
if (isSigForOPS) { if (isSigForOPS) {
@ -317,7 +317,7 @@ public class OpenPgpMessageInputStream extends DecryptionStream {
private boolean processEncryptedData() throws IOException, PGPException { private boolean processEncryptedData() throws IOException, PGPException {
LOGGER.debug("Symmetrically Encrypted Data Packet at depth " + metadata.depth + " encountered"); LOGGER.debug("Symmetrically Encrypted Data Packet at depth " + metadata.depth + " encountered");
automaton.next(InputAlphabet.EncryptedData); syntaxVerifier.next(InputAlphabet.EncryptedData);
PGPEncryptedDataList encDataList = packetInputStream.readEncryptedDataList(); PGPEncryptedDataList encDataList = packetInputStream.readEncryptedDataList();
// TODO: Replace with !encDataList.isIntegrityProtected() // TODO: Replace with !encDataList.isIntegrityProtected()
@ -601,7 +601,7 @@ public class OpenPgpMessageInputStream extends DecryptionStream {
@Override @Override
public int read() throws IOException { public int read() throws IOException {
if (nestedInputStream == null) { if (nestedInputStream == null) {
automaton.assertValid(); syntaxVerifier.assertValid();
return -1; return -1;
} }
@ -638,7 +638,7 @@ public class OpenPgpMessageInputStream extends DecryptionStream {
if (nestedInputStream == null) { if (nestedInputStream == null) {
if (packetInputStream != null) { if (packetInputStream != null) {
automaton.assertValid(); syntaxVerifier.assertValid();
} }
return -1; return -1;
} }
@ -668,7 +668,7 @@ public class OpenPgpMessageInputStream extends DecryptionStream {
super.close(); super.close();
if (closed) { if (closed) {
if (packetInputStream != null) { if (packetInputStream != null) {
automaton.assertValid(); syntaxVerifier.assertValid();
} }
return; return;
} }
@ -686,8 +686,8 @@ public class OpenPgpMessageInputStream extends DecryptionStream {
} }
if (packetInputStream != null) { if (packetInputStream != null) {
automaton.next(InputAlphabet.EndOfSequence); syntaxVerifier.next(InputAlphabet.EndOfSequence);
automaton.assertValid(); syntaxVerifier.assertValid();
packetInputStream.close(); packetInputStream.close();
} }
closed = true; closed = true;
@ -717,7 +717,8 @@ public class OpenPgpMessageInputStream extends DecryptionStream {
for (PGPEncryptedData esk : esks) { for (PGPEncryptedData esk : esks) {
if (esk instanceof PGPPBEEncryptedData) { if (esk instanceof PGPPBEEncryptedData) {
skesks.add((PGPPBEEncryptedData) esk); skesks.add((PGPPBEEncryptedData) esk);
} else if (esk instanceof PGPPublicKeyEncryptedData) { }
else if (esk instanceof PGPPublicKeyEncryptedData) {
PGPPublicKeyEncryptedData pkesk = (PGPPublicKeyEncryptedData) esk; PGPPublicKeyEncryptedData pkesk = (PGPPublicKeyEncryptedData) esk;
if (pkesk.getKeyID() != 0) { if (pkesk.getKeyID() != 0) {
pkesks.add(pkesk); pkesks.add(pkesk);

View file

@ -2,7 +2,7 @@
// //
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
package org.pgpainless.decryption_verification.automaton; package org.pgpainless.decryption_verification.syntax_check;
import org.bouncycastle.openpgp.PGPCompressedData; import org.bouncycastle.openpgp.PGPCompressedData;
import org.bouncycastle.openpgp.PGPEncryptedDataList; import org.bouncycastle.openpgp.PGPEncryptedDataList;

View file

@ -2,7 +2,7 @@
// //
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
package org.pgpainless.decryption_verification.automaton; package org.pgpainless.decryption_verification.syntax_check;
import org.pgpainless.exception.MalformedOpenPgpMessageException; import org.pgpainless.exception.MalformedOpenPgpMessageException;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -10,9 +10,9 @@ import org.slf4j.LoggerFactory;
import java.util.Stack; import java.util.Stack;
import static org.pgpainless.decryption_verification.automaton.StackAlphabet.msg; import static org.pgpainless.decryption_verification.syntax_check.StackAlphabet.msg;
import static org.pgpainless.decryption_verification.automaton.StackAlphabet.ops; import static org.pgpainless.decryption_verification.syntax_check.StackAlphabet.ops;
import static org.pgpainless.decryption_verification.automaton.StackAlphabet.terminus; import static org.pgpainless.decryption_verification.syntax_check.StackAlphabet.terminus;
public class PDA { public class PDA {

View file

@ -2,7 +2,7 @@
// //
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
package org.pgpainless.decryption_verification.automaton; package org.pgpainless.decryption_verification.syntax_check;
public enum StackAlphabet { public enum StackAlphabet {
/** /**

View file

@ -5,4 +5,4 @@
/** /**
* Pushdown Automaton to verify validity of packet sequences according to the OpenPGP Message format. * Pushdown Automaton to verify validity of packet sequences according to the OpenPGP Message format.
*/ */
package org.pgpainless.decryption_verification.automaton; package org.pgpainless.decryption_verification.syntax_check;

View file

@ -4,9 +4,9 @@
package org.pgpainless.exception; package org.pgpainless.exception;
import org.pgpainless.decryption_verification.automaton.InputAlphabet; import org.pgpainless.decryption_verification.syntax_check.InputAlphabet;
import org.pgpainless.decryption_verification.automaton.PDA; import org.pgpainless.decryption_verification.syntax_check.PDA;
import org.pgpainless.decryption_verification.automaton.StackAlphabet; import org.pgpainless.decryption_verification.syntax_check.StackAlphabet;
/** /**
* Exception that gets thrown if the OpenPGP message is malformed. * Exception that gets thrown if the OpenPGP message is malformed.

View file

@ -1,4 +1,4 @@
package org.pgpainless.decryption_verification.automaton; package org.pgpainless.decryption_verification.syntax_check;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.pgpainless.exception.MalformedOpenPgpMessageException; import org.pgpainless.exception.MalformedOpenPgpMessageException;