Compare commits

...

4 commits
main ... 4.1.2

4 changed files with 13 additions and 11 deletions

View file

@ -6,6 +6,10 @@ SPDX-License-Identifier: Apache-2.0
# Changelog
## 4.1.2
- Do not throw `NoSignature` (exit code 3) if no valid signatures were found during `decrypt`, even though
signature verification was requested.
## 4.1.1
- Restructure test suite to allow simultaneous testing of multiple backends
- Fix IOException in `sop sign` due to premature stream closing

View file

@ -115,11 +115,6 @@ public class DecryptCmd extends AbstractSopCmd {
private void writeVerifyOut(DecryptionResult result) throws IOException {
if (verifyOut != null) {
if (result.getVerifications().isEmpty()) {
String errorMsg = getMsg("sop.error.runtime.no_verifiable_signature_found");
throw new SOPGPException.NoSignature(errorMsg);
}
try (OutputStream fileOut = getOutput(verifyOut)) {
PrintWriter writer = new PrintWriter(fileOut);
for (Verification verification : result.getVerifications()) {

View file

@ -21,6 +21,7 @@ import sop.operation.Decrypt;
import sop.util.HexUtil;
import sop.util.UTCUtil;
import javax.annotation.Nonnull;
import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.File;
@ -246,15 +247,17 @@ public class DecryptCmdTest {
}
@Test
@ExpectSystemExitWithStatus(SOPGPException.NoSignature.EXIT_CODE)
public void assertNoSignatureExceptionCausesExit3() throws SOPGPException.CannotDecrypt, SOPGPException.MissingArg, SOPGPException.BadData, IOException {
public void assertNoVerificationsIsOkay() throws SOPGPException.CannotDecrypt, SOPGPException.MissingArg, SOPGPException.BadData, IOException {
File tempFile = File.createTempFile("verify-with-", ".tmp");
File verifyOut = new File(tempFile.getParent(), "verifications.out");
verifyOut.deleteOnExit();
when(decrypt.ciphertext((InputStream) any())).thenReturn(new ReadyWithResult<DecryptionResult>() {
@Override
public DecryptionResult writeTo(OutputStream outputStream) throws SOPGPException.NoSignature {
throw new SOPGPException.NoSignature();
public DecryptionResult writeTo(@Nonnull OutputStream outputStream) throws SOPGPException.NoSignature {
return new DecryptionResult(null, Collections.emptyList());
}
});
SopCLI.main(new String[] {"decrypt"});
SopCLI.main(new String[] {"decrypt", "--verify-with", tempFile.getAbsolutePath(), "--verifications-out", verifyOut.getAbsolutePath()});
}
@Test

View file

@ -5,7 +5,7 @@
allprojects {
ext {
shortVersion = '4.1.2'
isSnapshot = true
isSnapshot = false
minAndroidSdk = 10
javaSourceCompatibility = 1.8
gsonVersion = '2.10.1'