--- evolution-data-server/camel/camel-cipher-context.h	2004-02-18 17:20:19.000000000 +0100
+++ evolution-data-server/camel/camel-cipher-context.h	2004-10-01 21:26:25.774082602 +0200
@@ -59,6 +59,7 @@
 	CAMEL_CIPHER_VALIDITY_SIGN_NONE,
 	CAMEL_CIPHER_VALIDITY_SIGN_GOOD,
 	CAMEL_CIPHER_VALIDITY_SIGN_BAD,
+	CAMEL_CIPHER_VALIDITY_SIGN_NEED_PUBLIC_KEY,
 	CAMEL_CIPHER_VALIDITY_SIGN_UNKNOWN,
 };
 
--- evolution-data-server/camel/camel-gpg-context.c	2004-07-19 04:11:31.000000000 +0200
+++ evolution-data-server/camel/camel-gpg-context.c	2004-10-01 21:26:25.000000000 +0200
@@ -1517,6 +1517,8 @@
 			validity->sign.status = CAMEL_CIPHER_VALIDITY_SIGN_GOOD;
 		else
 			validity->sign.status = CAMEL_CIPHER_VALIDITY_SIGN_BAD;
+	} else if (gpg->nopubkey) {
+		validity->sign.status = CAMEL_CIPHER_VALIDITY_SIGN_NEED_PUBLIC_KEY;
 	} else {
 		validity->sign.status = CAMEL_CIPHER_VALIDITY_SIGN_BAD;
 	}
@@ -1730,7 +1732,7 @@
 				else
 					valid->sign.status = CAMEL_CIPHER_VALIDITY_SIGN_BAD;
 			} else if (gpg->nopubkey) {
-				valid->sign.status = CAMEL_CIPHER_VALIDITY_SIGN_UNKNOWN;
+				valid->sign.status = CAMEL_CIPHER_VALIDITY_SIGN_NEED_PUBLIC_KEY;
 			} else {
 				valid->sign.status = CAMEL_CIPHER_VALIDITY_SIGN_BAD;
 			}
--- evolution/mail/em-format-html.c	2004-09-24 17:49:29.000000000 +0200
+++ evolution/mail/em-format-html.c	2004-10-01 21:31:55.458516814 +0200
@@ -578,10 +578,11 @@
 /* FIXME: This is duplicated in em-format-html-display, should be exported or in security module */
 static const struct {
 	const char *icon, *shortdesc;
-} smime_sign_table[4] = {
+} smime_sign_table[5] = {
 	{ "stock_signature-bad", N_("Unsigned") },
 	{ "stock_signature-ok", N_("Valid signature") },
 	{ "stock_signature-bad", N_("Invalid signature") },
+	{ "stock_signature-bad", N_("Signature but need public key") },
 	{ "stock_signature", N_("Valid signature but cannot verify sender") },
 };
 
--- evolution/mail/em-format-html-display.c	2004-09-24 17:49:29.000000000 +0200
+++ evolution/mail/em-format-html-display.c	2004-10-01 21:30:53.802110944 +0200
@@ -639,10 +639,11 @@
 /* FIXME: also in em-format-html.c */
 static const struct {
 	const char *icon, *shortdesc, *description;
-} smime_sign_table[4] = {
+} smime_sign_table[5] = {
 	{ "stock_signature-bad", N_("Unsigned"), N_("This message is not signed. There is no guarantee that this message is authentic.") },
 	{ "stock_signature-ok", N_("Valid signature"), N_("This message is signed and is valid meaning that it is very likely that this message is authentic.") },
 	{ "stock_signature-bad", N_("Invalid signature"), N_("The signature of this message cannot be verified, it may have been altered in transit.") },
+	{ "stock_signature-bad", N_("Signature, need public key"), N_("This message is signed with a signature, but there is no corresponding public key.") },
 	{ "stock_signature", N_("Valid signature, cannot verify sender"), N_("This message is signed with a valid signature, but the sender of the message cannot be verified.") },
 };
 
