summaryrefslogtreecommitdiffstats
path: root/mailnews/mime/src/mimemcms.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'mailnews/mime/src/mimemcms.cpp')
-rw-r--r--mailnews/mime/src/mimemcms.cpp19
1 files changed, 11 insertions, 8 deletions
diff --git a/mailnews/mime/src/mimemcms.cpp b/mailnews/mime/src/mimemcms.cpp
index b8b6a8669..1a281b162 100644
--- a/mailnews/mime/src/mimemcms.cpp
+++ b/mailnews/mime/src/mimemcms.cpp
@@ -83,6 +83,7 @@ typedef struct MimeMultCMSdata
bool parent_is_encrypted_p;
bool parent_holds_stamp_p;
nsCOMPtr<nsIMsgSMIMEHeaderSink> smimeHeaderSink;
+ nsCString url;
MimeMultCMSdata()
:hash_type(0),
@@ -125,6 +126,7 @@ extern void MimeCMSRequestAsyncSignatureVerification(nsICMSMessage *aCMSMsg,
const char *aFromAddr, const char *aFromName,
const char *aSenderAddr, const char *aSenderName,
nsIMsgSMIMEHeaderSink *aHeaderSink, int32_t aMimeNestingLevel,
+ const nsCString &aMsgNeckoURL,
unsigned char* item_data, uint32_t item_len,
int16_t digest_type);
extern char *MimeCMS_MakeSAURL(MimeObject *obj);
@@ -231,8 +233,7 @@ MimeMultCMS_init (MimeObject *obj)
channel->GetURI(getter_AddRefs(uri));
if (uri)
{
- nsAutoCString urlSpec;
- rv = uri->GetSpec(urlSpec);
+ rv = uri->GetSpec(data->url);
// We only want to update the UI if the current mime transaction
// is intended for display.
@@ -246,10 +247,10 @@ MimeMultCMS_init (MimeObject *obj)
// If we do not find header=filter, we assume the result of the
// processing will be shown in the UI.
- if (!strstr(urlSpec.get(), "?header=filter") &&
- !strstr(urlSpec.get(), "&header=filter")&&
- !strstr(urlSpec.get(), "?header=attach") &&
- !strstr(urlSpec.get(), "&header=attach"))
+ if (!strstr(data->url.get(), "?header=filter") &&
+ !strstr(data->url.get(), "&header=filter") &&
+ !strstr(data->url.get(), "?header=attach") &&
+ !strstr(data->url.get(), "&header=attach"))
{
msgurl = do_QueryInterface(uri);
if (msgurl)
@@ -425,10 +426,11 @@ MimeMultCMS_generate (void *crypto_closure)
// We were not given all parts of the message.
// We are therefore unable to verify correctness of the signature.
- if (data->smimeHeaderSink)
+ if (data->smimeHeaderSink) {
data->smimeHeaderSink->SignedStatus(aRelativeNestLevel,
nsICMSMessageErrors::VERIFY_NOT_YET_ATTEMPTED,
- nullptr);
+ nullptr, data->url);
+ }
return nullptr;
}
@@ -455,6 +457,7 @@ MimeMultCMS_generate (void *crypto_closure)
from_addr.get(), from_name.get(),
sender_addr.get(), sender_name.get(),
data->smimeHeaderSink, aRelativeNestLevel,
+ data->url,
data->item_data, data->item_len,
data->hash_type);