version 0.1.12
[fms.git] / src / nntp / nntpconnection.cpp
index 0ccef18..078c1c3 100644 (file)
@@ -319,7 +319,7 @@ const bool NNTPConnection::HandleListCommand(const NNTPCommand &command)
 \r
                        if(show==true)\r
                        {\r
-                               tempstr << (*i).GetBoardName() << "\t" << (*i).GetHighMessageID() << "\t" << (*i).GetLowMessageID() << "\t" << (m_status.m_allowpost ? "y" : "n");\r
+                               tempstr << (*i).GetBoardName() << " " << (*i).GetHighMessageID() << " " << (*i).GetLowMessageID() << " " << (m_status.m_allowpost ? "y" : "n");\r
                                SendBufferedLine(tempstr.str());\r
                        }\r
                }\r
@@ -387,7 +387,6 @@ const bool NNTPConnection::HandleListGroupCommand(const NNTPCommand &command)
        std::ostringstream tempstr;\r
        Board board;\r
        bool validgroup=false;\r
-       int tempint;\r
        int lownum=-1;\r
        int highnum=-1;\r
 \r
@@ -636,6 +635,13 @@ const bool NNTPConnection::HandleOverCommand(const NNTPCommand &command)
                        messageuuid=command.m_arguments[0];\r
                        messageuuid=StringFunctions::Replace(messageuuid,"<","");\r
                        messageuuid=StringFunctions::Replace(messageuuid,">","");\r
+                       /*\r
+                       // get rid of @ and everything after\r
+                       if(messageuuid.find("@")!=std::string::npos)\r
+                       {\r
+                               messageuuid.erase(messageuuid.find("@"));\r
+                       }\r
+                       */\r
                }\r
                // single article or range\r
                else\r
@@ -774,7 +780,14 @@ void NNTPConnection::HandlePostedMessage(const std::string &message)
 \r
        if(mess.ParseNNTPMessage(message))\r
        {\r
-               mess.StartFreenetInsert();\r
+               if(mess.PostedToAdministrationBoard()==true)\r
+               {\r
+                       mess.HandleAdministrationMessage();\r
+               }\r
+               else\r
+               {\r
+                       mess.StartFreenetInsert();\r
+               }\r
                SendBufferedLine("240 Article received OK");\r
        }\r
        else\r
@@ -944,7 +957,7 @@ void NNTPConnection::SendArticleOverInfo(Message &message)
                        {\r
                                line+=" ";\r
                        }\r
-                       line+="<"+(*i).second+">";\r
+                       line+="<"+(*i).second+">"; //+"@freenetproject.org>";\r
                }\r
                line+="\t";\r
        }\r
@@ -1004,6 +1017,21 @@ void NNTPConnection::SendArticleParts(const NNTPConnection::NNTPCommand &command
                else\r
                {\r
                        articleid=command.m_arguments[0];\r
+                       //strip off < and > and everthing after @\r
+                       if(articleid.size()>0 && articleid[0]=='<')\r
+                       {\r
+                               articleid.erase(0,1);\r
+                       }\r
+                       if(articleid.size()>0 && articleid[articleid.size()-1]=='>')\r
+                       {\r
+                               articleid.erase(articleid.size()-1);\r
+                       }\r
+                       /*\r
+                       if(articleid.size()>0 && articleid.find('@')!=std::string::npos)\r
+                       {\r
+                               articleid.erase(articleid.find('@'));\r
+                       }\r
+                       */\r
                        message.Load(articleid);\r
                        type=2;\r
                }\r