#include <xmem.h>\r
#endif\r
\r
+std::string MessageRequester::m_validuuidchars="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890~@_-";\r
+\r
MessageRequester::MessageRequester(SQLite3DB::DB *db):IIndexRequester<std::string>(db)\r
{\r
Initialize();\r
StringFunctions::SplitMultiple(publickey,"@,",keyparts);\r
StringFunctions::SplitMultiple(xml.GetMessageID(),"@",uuidparts);\r
\r
- if(uuidparts.size()>1 && keyparts.size()>1)\r
+ if(uuidparts.size()>1 && keyparts.size()>1 && xml.GetMessageID().find_first_not_of(m_validuuidchars)==std::string::npos)\r
{\r
keypart=StringFunctions::Replace(StringFunctions::Replace(keyparts[1],"-",""),"~","");\r
if(keypart!=uuidparts[1])\r
\r
m_db->Execute("BEGIN;");\r
\r
- st=m_db->Prepare("INSERT INTO tblMessage(IdentityID,FromName,MessageDate,MessageTime,Subject,MessageUUID,ReplyBoardID,Body,MessageIndex) VALUES(?,?,?,?,?,?,?,?,?);");\r
+ st=m_db->Prepare("INSERT INTO tblMessage(IdentityID,FromName,MessageDate,MessageTime,Subject,MessageUUID,ReplyBoardID,Body,MessageIndex,InsertDate) VALUES(?,?,?,?,?,?,?,?,?,?);");\r
st.Bind(0,identityid);\r
st.Bind(1,GetIdentityName(identityid));\r
st.Bind(2,xml.GetDate());\r
st.Bind(6,GetBoardID(xml.GetReplyBoard(),GetIdentityName(identityid)));\r
st.Bind(7,nntpbody);\r
st.Bind(8,index);\r
+ st.Bind(9,idparts[3]);\r
inserted=st.Step(true);\r
- int messageid=st.GetLastInsertRowID();\r
+ long messageid=st.GetLastInsertRowID();\r
\r
if(inserted==true)\r
{\r