+ xmlfile.ParseXML(xml);\r
+\r
+ // add file attachments to xml - must do this before we change UUID\r
+ st=m_db->Prepare("SELECT Key, Size FROM tblFileInserts WHERE MessageUUID=?;");\r
+ st.Bind(0,xmlfile.GetMessageID());\r
+ st.Step();\r
+ while(st.RowReturned())\r
+ {\r
+ std::string key="";\r
+ int size;\r
+ \r
+ st.ResultText(0,key);\r
+ st.ResultInt(1,size);\r
+\r
+ xmlfile.AddFileAttachment(key,size);\r
+\r
+ st.Step();\r
+ }\r
+\r
+ // recreate messageuuid in xml - UUID of message will not match entry in MessageInserts table until we successfully insert it\r
+ // see HandlePutSuccessful\r
+ // if we don't already have an @sskpart - add it\r
+ if(xmlfile.GetMessageID().find("@")==std::string::npos)\r
+ {\r
+ // remove - and ~ from publickey part\r
+ std::string publickeypart=StringFunctions::Replace(StringFunctions::Replace(publickey.substr(4,43),"-",""),"~","");\r
+ xmlfile.SetMessageID(xmlfile.GetMessageID()+"@"+publickeypart);\r
+ }\r
+ xml=xmlfile.GetXML();\r
+\r
+ StringFunctions::Convert(xml.size(),xmlsizestr);\r
+\r