X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmessage.cpp;h=e078c95c84a2a746d198b644c3c347d842c25343;hb=fcb124f8d6d3f5678e82049fb8e5e23c8cfaec6d;hp=526dbd2fc4ad1cd048dddf84bc3009bbeca37780;hpb=dec33c63afafabf83c3039e916725cac6faef9b3;p=fms.git diff --git a/src/message.cpp b/src/message.cpp index 526dbd2..e078c95 100644 --- a/src/message.cpp +++ b/src/message.cpp @@ -250,7 +250,9 @@ void Message::HandleAdministrationMessage() insert.Bind(0,Poco::DateTimeFormatter::format(now,"%Y-%m-%d")); insert.Bind(1,Poco::DateTimeFormatter::format(now,"%H:%M:%S")); insert.Bind(2,identityname+" Trust Changed"); - insert.Bind(3,uuid.toString()); + std::string uuidstr=uuid.toString(); + StringFunctions::UpperCase(uuidstr,uuidstr); + insert.Bind(3,uuidstr); insert.Bind(4,boardid); insert.Bind(5,messagebody); insert.Step(true); @@ -557,6 +559,8 @@ const bool Message::ParseNNTPMessage(const std::string &nntpmessage) try { uuid=uuidgen.createRandom(); + m_messageuuid=uuid.toString(); + StringFunctions::UpperCase(m_messageuuid,m_messageuuid); } catch(...) { @@ -674,31 +678,34 @@ const bool Message::ParseNNTPMessage(const std::string &nntpmessage) std::string temp=mime.GetFieldValue("References"); // remove any path folding temp=StringFunctions::Replace(temp,"\r\n",""); - temp=StringFunctions::Replace(temp,"\t",""); + temp=StringFunctions::Replace(temp,"\t"," "); std::vector parts; int count=0; StringFunctions::SplitMultiple(temp,", \t",parts); for(std::vector::reverse_iterator i=parts.rbegin(); i!=parts.rend(); i++) { - // get rid of < and > and any whitespace - (*i)=StringFunctions::Replace((*i),"<",""); - (*i)=StringFunctions::Replace((*i),">",""); - (*i)=StringFunctions::TrimWhitespace((*i)); - /* - // erase @ and everything after - if((*i).find("@")!=std::string::npos) + if((*i).size()>2) { - (*i).erase((*i).find("@")); - } - */ - // only erase after @ if message is old type with @freenetproject.org - if((*i).find("@freenetproject.org")!=std::string::npos) - { - (*i).erase((*i).find("@")); - } - if((*i)!="") - { - m_inreplyto[count++]=(*i); + // get rid of < and > and any whitespace + (*i)=StringFunctions::Replace((*i),"<",""); + (*i)=StringFunctions::Replace((*i),">",""); + (*i)=StringFunctions::TrimWhitespace((*i)); + /* + // erase @ and everything after + if((*i).find("@")!=std::string::npos) + { + (*i).erase((*i).find("@")); + } + */ + // only erase after @ if message is old type with @freenetproject.org + if((*i).find("@freenetproject.org")!=std::string::npos) + { + (*i).erase((*i).find("@")); + } + if((*i)!="") + { + m_inreplyto[count++]=(*i); + } } } }