diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java
index 3da685ff6..767ab588c 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java
@@ -362,40 +362,82 @@ public class ProviderHelper {
values.put(Keys.CAN_SIGN, s);
values.put(Keys.CAN_AUTHENTICATE, a);
values.put(Keys.IS_REVOKED, key.isRevoked());
+
if (masterKeyId == keyId) {
- if (c) {
- if (e) {
- log(s ? LogType.MSG_IP_MASTER_FLAGS_CES
- : LogType.MSG_IP_MASTER_FLAGS_CEX);
+ // yes it's ugly. got any better ideas?
+ if (a) {
+ if (c) {
+ if (e) {
+ log(s ? LogType.MSG_IP_MASTER_FLAGS_CESA
+ : LogType.MSG_IP_MASTER_FLAGS_CEXA);
+ } else {
+ log(s ? LogType.MSG_IP_MASTER_FLAGS_CXSA
+ : LogType.MSG_IP_MASTER_FLAGS_CXXA);
+ }
} else {
- log(s ? LogType.MSG_IP_MASTER_FLAGS_CXS
- : LogType.MSG_IP_MASTER_FLAGS_CXX);
+ if (e) {
+ log(s ? LogType.MSG_IP_MASTER_FLAGS_XESA
+ : LogType.MSG_IP_MASTER_FLAGS_XEXA);
+ } else {
+ log(s ? LogType.MSG_IP_MASTER_FLAGS_XXSA
+ : LogType.MSG_IP_MASTER_FLAGS_XXXA);
+ }
}
} else {
- if (e) {
- log(s ? LogType.MSG_IP_MASTER_FLAGS_XES
- : LogType.MSG_IP_MASTER_FLAGS_XEX);
+ if (c) {
+ if (e) {
+ log(s ? LogType.MSG_IP_MASTER_FLAGS_CESX
+ : LogType.MSG_IP_MASTER_FLAGS_CEXX);
+ } else {
+ log(s ? LogType.MSG_IP_MASTER_FLAGS_CXSX
+ : LogType.MSG_IP_MASTER_FLAGS_CXXX);
+ }
} else {
- log(s ? LogType.MSG_IP_MASTER_FLAGS_XXS
- : LogType.MSG_IP_MASTER_FLAGS_XXX);
+ if (e) {
+ log(s ? LogType.MSG_IP_MASTER_FLAGS_XESX
+ : LogType.MSG_IP_MASTER_FLAGS_XEXX);
+ } else {
+ log(s ? LogType.MSG_IP_MASTER_FLAGS_XXSX
+ : LogType.MSG_IP_MASTER_FLAGS_XXXX);
+ }
}
}
} else {
- if (c) {
- if (e) {
- log(s ? LogType.MSG_IP_SUBKEY_FLAGS_CES
- : LogType.MSG_IP_SUBKEY_FLAGS_CEX);
+ if (a) {
+ if (c) {
+ if (e) {
+ log(s ? LogType.MSG_IP_SUBKEY_FLAGS_CESA
+ : LogType.MSG_IP_SUBKEY_FLAGS_CEXA);
+ } else {
+ log(s ? LogType.MSG_IP_SUBKEY_FLAGS_CXSA
+ : LogType.MSG_IP_SUBKEY_FLAGS_CXXA);
+ }
} else {
- log(s ? LogType.MSG_IP_SUBKEY_FLAGS_CXS
- : LogType.MSG_IP_SUBKEY_FLAGS_CXX);
+ if (e) {
+ log(s ? LogType.MSG_IP_SUBKEY_FLAGS_XESA
+ : LogType.MSG_IP_SUBKEY_FLAGS_XEXA);
+ } else {
+ log(s ? LogType.MSG_IP_SUBKEY_FLAGS_XXSA
+ : LogType.MSG_IP_SUBKEY_FLAGS_XXXA);
+ }
}
} else {
- if (e) {
- log(s ? LogType.MSG_IP_SUBKEY_FLAGS_XES
- : LogType.MSG_IP_SUBKEY_FLAGS_XEX);
+ if (c) {
+ if (e) {
+ log(s ? LogType.MSG_IP_SUBKEY_FLAGS_CESX
+ : LogType.MSG_IP_SUBKEY_FLAGS_CEXX);
+ } else {
+ log(s ? LogType.MSG_IP_SUBKEY_FLAGS_CXSX
+ : LogType.MSG_IP_SUBKEY_FLAGS_CXXX);
+ }
} else {
- log(s ? LogType.MSG_IP_SUBKEY_FLAGS_XXS
- : LogType.MSG_IP_SUBKEY_FLAGS_XXX);
+ if (e) {
+ log(s ? LogType.MSG_IP_SUBKEY_FLAGS_XESX
+ : LogType.MSG_IP_SUBKEY_FLAGS_XEXX);
+ } else {
+ log(s ? LogType.MSG_IP_SUBKEY_FLAGS_XXSX
+ : LogType.MSG_IP_SUBKEY_FLAGS_XXXX);
+ }
}
}
}
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/results/OperationResult.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/results/OperationResult.java
index cd9c29996..fc8fbd4e4 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/results/OperationResult.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/results/OperationResult.java
@@ -242,25 +242,41 @@ public abstract class OperationResult implements Parcelable {
MSG_IP_MASTER (LogLevel.DEBUG, R.string.msg_ip_master),
MSG_IP_MASTER_EXPIRED (LogLevel.DEBUG, R.string.msg_ip_master_expired),
MSG_IP_MASTER_EXPIRES (LogLevel.DEBUG, R.string.msg_ip_master_expires),
- MSG_IP_MASTER_FLAGS_CES (LogLevel.DEBUG, R.string.msg_ip_master_flags_ces),
- MSG_IP_MASTER_FLAGS_CEX (LogLevel.DEBUG, R.string.msg_ip_master_flags_cex),
- MSG_IP_MASTER_FLAGS_CXS (LogLevel.DEBUG, R.string.msg_ip_master_flags_cxs),
- MSG_IP_MASTER_FLAGS_XES (LogLevel.DEBUG, R.string.msg_ip_master_flags_xes),
- MSG_IP_MASTER_FLAGS_CXX (LogLevel.DEBUG, R.string.msg_ip_master_flags_cxx),
- MSG_IP_MASTER_FLAGS_XEX (LogLevel.DEBUG, R.string.msg_ip_master_flags_xex),
- MSG_IP_MASTER_FLAGS_XXS (LogLevel.DEBUG, R.string.msg_ip_master_flags_xxs),
- MSG_IP_MASTER_FLAGS_XXX (LogLevel.DEBUG, R.string.msg_ip_master_flags_xxx),
+ MSG_IP_MASTER_FLAGS_CESA (LogLevel.DEBUG, R.string.msg_ip_master_flags_cesa),
+ MSG_IP_MASTER_FLAGS_CESX (LogLevel.DEBUG, R.string.msg_ip_master_flags_cesx),
+ MSG_IP_MASTER_FLAGS_CEXA (LogLevel.DEBUG, R.string.msg_ip_master_flags_cexa),
+ MSG_IP_MASTER_FLAGS_CEXX (LogLevel.DEBUG, R.string.msg_ip_master_flags_cexx),
+ MSG_IP_MASTER_FLAGS_CXSA (LogLevel.DEBUG, R.string.msg_ip_master_flags_cxsa),
+ MSG_IP_MASTER_FLAGS_CXSX (LogLevel.DEBUG, R.string.msg_ip_master_flags_cxsx),
+ MSG_IP_MASTER_FLAGS_CXXA (LogLevel.DEBUG, R.string.msg_ip_master_flags_cxxa),
+ MSG_IP_MASTER_FLAGS_CXXX (LogLevel.DEBUG, R.string.msg_ip_master_flags_cxxx),
+ MSG_IP_MASTER_FLAGS_XESA (LogLevel.DEBUG, R.string.msg_ip_master_flags_xesa),
+ MSG_IP_MASTER_FLAGS_XESX (LogLevel.DEBUG, R.string.msg_ip_master_flags_xesx),
+ MSG_IP_MASTER_FLAGS_XEXA (LogLevel.DEBUG, R.string.msg_ip_master_flags_xexa),
+ MSG_IP_MASTER_FLAGS_XEXX (LogLevel.DEBUG, R.string.msg_ip_master_flags_xexx),
+ MSG_IP_MASTER_FLAGS_XXSA (LogLevel.DEBUG, R.string.msg_ip_master_flags_xxsa),
+ MSG_IP_MASTER_FLAGS_XXSX (LogLevel.DEBUG, R.string.msg_ip_master_flags_xxsx),
+ MSG_IP_MASTER_FLAGS_XXXA (LogLevel.DEBUG, R.string.msg_ip_master_flags_xxxa),
+ MSG_IP_MASTER_FLAGS_XXXX (LogLevel.DEBUG, R.string.msg_ip_master_flags_xxxx),
MSG_IP_SUBKEY (LogLevel.DEBUG, R.string.msg_ip_subkey),
MSG_IP_SUBKEY_EXPIRED (LogLevel.DEBUG, R.string.msg_ip_subkey_expired),
MSG_IP_SUBKEY_EXPIRES (LogLevel.DEBUG, R.string.msg_ip_subkey_expires),
- MSG_IP_SUBKEY_FLAGS_CES (LogLevel.DEBUG, R.string.msg_ip_subkey_flags_ces),
- MSG_IP_SUBKEY_FLAGS_CEX (LogLevel.DEBUG, R.string.msg_ip_subkey_flags_cex),
- MSG_IP_SUBKEY_FLAGS_CXS (LogLevel.DEBUG, R.string.msg_ip_subkey_flags_cxs),
- MSG_IP_SUBKEY_FLAGS_XES (LogLevel.DEBUG, R.string.msg_ip_subkey_flags_xes),
- MSG_IP_SUBKEY_FLAGS_CXX (LogLevel.DEBUG, R.string.msg_ip_subkey_flags_cxx),
- MSG_IP_SUBKEY_FLAGS_XEX (LogLevel.DEBUG, R.string.msg_ip_subkey_flags_xex),
- MSG_IP_SUBKEY_FLAGS_XXS (LogLevel.DEBUG, R.string.msg_ip_subkey_flags_xxs),
- MSG_IP_SUBKEY_FLAGS_XXX (LogLevel.DEBUG, R.string.msg_ip_subkey_flags_xxx),
+ MSG_IP_SUBKEY_FLAGS_CESA (LogLevel.DEBUG, R.string.msg_ip_subkey_flags_cesa),
+ MSG_IP_SUBKEY_FLAGS_CESX (LogLevel.DEBUG, R.string.msg_ip_subkey_flags_cesx),
+ MSG_IP_SUBKEY_FLAGS_CEXA (LogLevel.DEBUG, R.string.msg_ip_subkey_flags_cexa),
+ MSG_IP_SUBKEY_FLAGS_CEXX (LogLevel.DEBUG, R.string.msg_ip_subkey_flags_cexx),
+ MSG_IP_SUBKEY_FLAGS_CXSA (LogLevel.DEBUG, R.string.msg_ip_subkey_flags_cxsa),
+ MSG_IP_SUBKEY_FLAGS_CXSX (LogLevel.DEBUG, R.string.msg_ip_subkey_flags_cxsx),
+ MSG_IP_SUBKEY_FLAGS_CXXA (LogLevel.DEBUG, R.string.msg_ip_subkey_flags_cxxa),
+ MSG_IP_SUBKEY_FLAGS_CXXX (LogLevel.DEBUG, R.string.msg_ip_subkey_flags_cxxx),
+ MSG_IP_SUBKEY_FLAGS_XESA (LogLevel.DEBUG, R.string.msg_ip_subkey_flags_xesa),
+ MSG_IP_SUBKEY_FLAGS_XESX (LogLevel.DEBUG, R.string.msg_ip_subkey_flags_xesx),
+ MSG_IP_SUBKEY_FLAGS_XEXA (LogLevel.DEBUG, R.string.msg_ip_subkey_flags_xexa),
+ MSG_IP_SUBKEY_FLAGS_XEXX (LogLevel.DEBUG, R.string.msg_ip_subkey_flags_xexx),
+ MSG_IP_SUBKEY_FLAGS_XXSA (LogLevel.DEBUG, R.string.msg_ip_subkey_flags_xxsa),
+ MSG_IP_SUBKEY_FLAGS_XXSX (LogLevel.DEBUG, R.string.msg_ip_subkey_flags_xxsx),
+ MSG_IP_SUBKEY_FLAGS_XXXA (LogLevel.DEBUG, R.string.msg_ip_subkey_flags_xxxa),
+ MSG_IP_SUBKEY_FLAGS_XXXX (LogLevel.DEBUG, R.string.msg_ip_subkey_flags_xxxx),
MSG_IP_SUCCESS (LogLevel.OK, R.string.msg_ip_success),
MSG_IP_SUCCESS_IDENTICAL (LogLevel.OK, R.string.msg_ip_success_identical),
MSG_IP_UID_CERT_BAD (LogLevel.WARN, R.string.msg_ip_uid_cert_bad),
diff --git a/OpenKeychain/src/main/res/values/strings.xml b/OpenKeychain/src/main/res/values/strings.xml
index e5e320585..38161933f 100644
--- a/OpenKeychain/src/main/res/values/strings.xml
+++ b/OpenKeychain/src/main/res/values/strings.xml
@@ -561,25 +561,41 @@
"Processing master key %s"
"Keyring expired on %s"
"Keyring expires on %s"
- "Master key flags: certify, encrypt, sign"
- "Master key flags: certify, encrypt"
- "Master key flags: certify, sign"
- "Master key flags: encrypt, sign"
- "Master key flags: certify"
- "Master key flags: encrypt"
- "Master key flags: sign"
- "Master key flags: none"
+ "Master flags: certify, encrypt, sign, authenticate"
+ "Master flags: certify, encrypt, sign"
+ "Master flags: certify, encrypt, authenticate"
+ "Master flags: certify, encrypt"
+ "Master flags: certify, sign, authenticate"
+ "Master flags: certify, sign"
+ "Master flags: certify, authentcate"
+ "Master flags: certify"
+ "Master flags: encrypt, sign, authenticate"
+ "Master flags: encrypt, sign"
+ "Master flags: encrypt, authenticate"
+ "Master flags: encrypt"
+ "Master flags: sign, authenticate"
+ "Master flags: sign"
+ "Master flags: authenticate"
+ "Master flags: none"
"Processing subkey %s"
"Subkey expired on %s"
"Subkey expires on %s"
- "Subkey flags: certify, encrypt, sign"
- "Subkey flags: certify, encrypt"
- "Subkey flags: certify, sign"
- "Subkey flags: encrypt, sign"
- "Subkey flags: certify"
- "Subkey flags: encrypt"
- "Subkey flags: sign"
- "Subkey flags: none"
+ "Subkey flags: certify, encrypt, sign, authenticate"
+ "Subkey flags: certify, encrypt, sign"
+ "Subkey flags: certify, encrypt, authenticate"
+ "Subkey flags: certify, encrypt"
+ "Subkey flags: certify, sign, authenticate"
+ "Subkey flags: certify, sign"
+ "Subkey flags: certify, authentcate"
+ "Subkey flags: certify"
+ "Subkey flags: encrypt, sign, authenticate"
+ "Subkey flags: encrypt, sign"
+ "Subkey flags: encrypt, authenticate"
+ "Subkey flags: encrypt"
+ "Subkey flags: sign, authenticate"
+ "Subkey flags: sign"
+ "Subkey flags: authenticate"
+ "Subkey flags: none"
"Successfully imported public keyring"
"Keyring contains no new data, nothing to do"
"Re-inserting secret key"