Merge commit '816dce0334e8b8d9da3cb00d31d26033b17040a3'
This commit is contained in:
@@ -117,7 +117,7 @@ public class PgpHelper {
|
||||
}
|
||||
}
|
||||
|
||||
public static String getPgpContent(@NonNull CharSequence input) {
|
||||
public static String getPgpMessageContent(@NonNull CharSequence input) {
|
||||
Log.dEscaped(Constants.TAG, "input: " + input);
|
||||
|
||||
Matcher matcher = PgpHelper.PGP_MESSAGE.matcher(input);
|
||||
@@ -141,4 +141,18 @@ public class PgpHelper {
|
||||
}
|
||||
}
|
||||
|
||||
public static String getPgpKeyContent(@NonNull CharSequence input) {
|
||||
Log.dEscaped(Constants.TAG, "input: " + input);
|
||||
|
||||
Matcher matcher = PgpHelper.PGP_PUBLIC_KEY.matcher(input);
|
||||
if (matcher.matches()) {
|
||||
String text = matcher.group(1);
|
||||
text = fixPgpMessage(text);
|
||||
|
||||
Log.dEscaped(Constants.TAG, "input fixed: " + text);
|
||||
return text;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -701,24 +701,17 @@ public class OpenPgpService extends RemoteService {
|
||||
Intent result = new Intent();
|
||||
result.putExtra(OpenPgpApi.RESULT_CODE, OpenPgpApi.RESULT_CODE_SUCCESS);
|
||||
|
||||
// return public key if requested by defining a output stream
|
||||
if (outputStream != null) {
|
||||
boolean requestAsciiArmor =
|
||||
data.getBooleanExtra(OpenPgpApi.EXTRA_REQUEST_ASCII_ARMOR, false);
|
||||
boolean requestedKeyData = outputStream != null;
|
||||
if (requestedKeyData) {
|
||||
boolean requestAsciiArmor = data.getBooleanExtra(OpenPgpApi.EXTRA_REQUEST_ASCII_ARMOR, false);
|
||||
|
||||
ArmoredOutputStream arOutStream = null;
|
||||
try {
|
||||
if (requestAsciiArmor) {
|
||||
arOutStream = new ArmoredOutputStream(outputStream);
|
||||
keyRing.encode(arOutStream);
|
||||
} else {
|
||||
keyRing.encode(outputStream);
|
||||
outputStream = new ArmoredOutputStream(outputStream);
|
||||
}
|
||||
keyRing.encode(outputStream);
|
||||
} finally {
|
||||
try {
|
||||
if (arOutStream != null) {
|
||||
arOutStream.close();
|
||||
}
|
||||
outputStream.close();
|
||||
} catch (IOException e) {
|
||||
Log.e(Constants.TAG, "IOException when closing OutputStream", e);
|
||||
|
||||
@@ -200,7 +200,7 @@ public class DecryptActivity extends BaseActivity {
|
||||
}
|
||||
|
||||
// clean up ascii armored message, fixing newlines and stuff
|
||||
String cleanedText = PgpHelper.getPgpContent(text);
|
||||
String cleanedText = PgpHelper.getPgpMessageContent(text);
|
||||
if (cleanedText == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -29,6 +29,9 @@ import android.view.ViewGroup;
|
||||
import org.sufficientlysecure.keychain.Constants;
|
||||
import org.sufficientlysecure.keychain.R;
|
||||
import org.sufficientlysecure.keychain.compatibility.ClipboardReflection;
|
||||
import org.sufficientlysecure.keychain.pgp.PgpHelper;
|
||||
import org.sufficientlysecure.keychain.ui.util.Notify;
|
||||
import org.sufficientlysecure.keychain.ui.util.Notify.Style;
|
||||
import org.sufficientlysecure.keychain.util.FileHelper;
|
||||
|
||||
public class ImportKeysFileFragment extends Fragment {
|
||||
@@ -78,12 +81,16 @@ public class ImportKeysFileFragment extends Fragment {
|
||||
String sendText = "";
|
||||
if (clipboardText != null) {
|
||||
sendText = clipboardText.toString();
|
||||
sendText = PgpHelper.getPgpKeyContent(sendText);
|
||||
if (sendText == null) {
|
||||
Notify.create(mImportActivity, "Bad data!", Style.ERROR).show();
|
||||
return;
|
||||
}
|
||||
mImportActivity.loadCallback(new ImportKeysListFragment.BytesLoaderState(sendText.getBytes(), null));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
return view;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user