Added support for MIC (thanks to Mehmet Bozkurt).

This commit is contained in:
Vincent Richard 2013-09-04 20:34:41 +02:00
parent 2b3424d594
commit a4cb3dc862
2 changed files with 22 additions and 0 deletions

View File

@ -69,11 +69,18 @@ const disposition receivedMDNInfos::getDisposition() const
}
const string receivedMDNInfos::getContentMIC() const
{
return m_contentMIC;
}
void receivedMDNInfos::copyFrom(const receivedMDNInfos& other)
{
m_msg = other.m_msg;
m_omid = other.m_omid;
m_disp = other.m_disp;
m_contentMIC = other.m_contentMIC;
}
@ -109,6 +116,13 @@ void receivedMDNInfos::extract()
try { m_disp = *fields.Disposition()->getValue().dynamicCast <const disposition>(); }
catch (exceptions::no_such_field&) { /* Ignore */ }
try
{
text t = *fields.findField("Received-content-MIC")->getValue().dynamicCast <const text>();
m_contentMIC = t.generate();
}
catch (exceptions::no_such_field&) { /* Ignore */ }
}
}
}

View File

@ -65,6 +65,13 @@ public:
*/
const disposition getDisposition() const;
/** Return the Message Integrity Check (MIC), that is the value
* of the "Received-content-MIC" field.
*
* @return MIC hash value, or an empty string if not specified
*/
const string getContentMIC() const;
private:
void copyFrom(const receivedMDNInfos& other);
@ -76,6 +83,7 @@ private:
disposition m_disp;
messageId m_omid;
string m_contentMIC;
};