aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations
diff options
context:
space:
mode:
authorVincent Breitmoser <valodim@mugenguild.com>2015-11-14 23:37:29 +0100
committerVincent Breitmoser <valodim@mugenguild.com>2015-11-14 23:37:33 +0100
commitba2c5c3bd0a2c4b6c7f0f0af74a6fd22e6213c4a (patch)
tree71874ffb0ae9c0bee4792b9df2f45f5c1cbca94f /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations
parentd263bade92c2161ad7759f471341647b4fe2d580 (diff)
downloadopen-keychain-ba2c5c3bd0a2c4b6c7f0f0af74a6fd22e6213c4a.tar.gz
open-keychain-ba2c5c3bd0a2c4b6c7f0f0af74a6fd22e6213c4a.tar.bz2
open-keychain-ba2c5c3bd0a2c4b6c7f0f0af74a6fd22e6213c4a.zip
inputdataop: leave content as-is if no header found (fixes #1592)
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/InputDataOperation.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/InputDataOperation.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/InputDataOperation.java
index a09cf4f27..d3f4cd2f3 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/InputDataOperation.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/InputDataOperation.java
@@ -165,6 +165,7 @@ public class InputDataOperation extends BaseOperation<InputDataParcel> {
parser.setContentDecoding(true);
parser.setRecurse();
parser.setContentHandler(new AbstractContentHandler() {
+ private boolean mFoundHeaderWithFields = false;
private Uri uncheckedSignedDataUri;
String mFilename;
@@ -221,11 +222,19 @@ public class InputDataOperation extends BaseOperation<InputDataParcel> {
}
@Override
+ public void endHeader() throws MimeException {
+ if ( ! mFoundHeaderWithFields) {
+ parser.stop();
+ }
+ }
+
+ @Override
public void field(Field field) throws MimeException {
field = DefaultFieldParser.getParser().parse(field, DecodeMonitor.SILENT);
if (field instanceof ContentDispositionField) {
mFilename = ((ContentDispositionField) field).getFilename();
}
+ mFoundHeaderWithFields = true;
}
private void bodySignature(BodyDescriptor bd, InputStream is) throws MimeException, IOException {