X-Git-Url: https://git.pterodactylus.net/?p=fms.git;a=blobdiff_plain;f=src%2Fmessage.cpp;h=dee644d919b6f6e6f9963f1751c249877e610aa7;hp=f4d3a95381dbb72cfcb114e40a978e8a22913df8;hb=f208e33c29132aacaec448e74341edea1b925a2a;hpb=d8ccfe2b3944adf07d35534459cdda19d15217c8 diff --git a/src/message.cpp b/src/message.cpp index f4d3a95..dee644d 100644 --- a/src/message.cpp +++ b/src/message.cpp @@ -22,7 +22,7 @@ Message::Message(const long messageid) const std::string Message::GetNNTPArticleID() const { - return "<"+m_messageuuid+">"; + return "<"+m_messageuuid+"@freenetproject.org>"; } const std::string Message::GetNNTPBody() const @@ -57,7 +57,7 @@ const std::string Message::GetNNTPHeaders() const { rval+=" "; } - rval+="<"+(*j).second+">"; + rval+="<"+(*j).second+"@freenetproject.org>"; } rval+="\r\n"; } @@ -276,6 +276,18 @@ const bool Message::ParseNNTPMessage(const std::string &nntpmessage) } } m_fromname=StringFunctions::TrimWhitespace(m_fromname); + + // trim off " from beginning and end + if(m_fromname.size()>0 && m_fromname[0]=='\"') + { + m_fromname.erase(0,1); + } + if(m_fromname.size()>0 && m_fromname[m_fromname.size()-1]=='\"') + { + m_fromname.erase(m_fromname.size()-1,1); + } + + m_fromname=StringFunctions::TrimWhitespace(m_fromname); } else { @@ -328,9 +340,15 @@ const bool Message::ParseNNTPMessage(const std::string &nntpmessage) 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) + { + (*i).erase((*i).find("@")); + } if((*i)!="") { m_inreplyto[count++]=(*i);