projects
/
fms.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
version 0.3.29
[fms.git]
/
src
/
nntp
/
nntpconnection.cpp
diff --git
a/src/nntp/nntpconnection.cpp
b/src/nntp/nntpconnection.cpp
index
0212e23
..
431c1e6
100644
(file)
--- a/
src/nntp/nntpconnection.cpp
+++ b/
src/nntp/nntpconnection.cpp
@@
-17,9
+17,8
@@
#include <xmem.h>
\r
#endif
\r
\r
#include <xmem.h>
\r
#endif
\r
\r
-NNTPConnection::NNTPConnection(SOCKET sock):m_socket(sock)
\r
+NNTPConnection::NNTPConnection(SOCKET sock):m_socket(sock)
,m_status(0)
\r
{
\r
{
\r
- std::string tempval("");
\r
\r
m_tempbuffer.resize(32768);
\r
\r
\r
m_tempbuffer.resize(32768);
\r
\r
@@
-30,12
+29,6
@@
NNTPConnection::NNTPConnection(SOCKET sock):m_socket(sock)
m_status.m_mode=MODE_NONE;
\r
m_status.m_authenticated=false;
\r
\r
m_status.m_mode=MODE_NONE;
\r
m_status.m_authenticated=false;
\r
\r
- Option::Instance()->Get("NNTPAllowPost",tempval);
\r
- if(tempval=="true")
\r
- {
\r
- m_status.m_allowpost=true;
\r
- }
\r
-
\r
}
\r
\r
NNTPConnection::~NNTPConnection()
\r
}
\r
\r
NNTPConnection::~NNTPConnection()
\r
@@
-96,7
+89,7
@@
const bool NNTPConnection::HandleAuthInfoCommand(const NNTPCommand &command)
}
\r
if(arg=="USER")
\r
{
\r
}
\r
if(arg=="USER")
\r
{
\r
- LocalIdentity localid;
\r
+ LocalIdentity localid
(m_db)
;
\r
if(localid.Load(name))
\r
{
\r
m_status.m_authuser=localid;
\r
if(localid.Load(name))
\r
{
\r
m_status.m_authuser=localid;
\r
@@
-273,7
+266,7
@@
const bool NNTPConnection::HandleGetTrustCommand(const NNTPCommand &command)
nntpname+=command.m_arguments[i];
\r
}
\r
\r
nntpname+=command.m_arguments[i];
\r
}
\r
\r
- TrustExtension tr(m_status.m_authuser.GetID());
\r
+ TrustExtension tr(m_
db,m_
status.m_authuser.GetID());
\r
\r
if(type=="MESSAGE")
\r
{
\r
\r
if(type=="MESSAGE")
\r
{
\r
@@
-341,7
+334,7
@@
const bool NNTPConnection::HandleGetTrustListCommand(const NNTPCommand &command)
{
\r
if(m_status.m_authenticated)
\r
{
\r
{
\r
if(m_status.m_authenticated)
\r
{
\r
- TrustExtension tr(m_status.m_authuser.GetID());
\r
+ TrustExtension tr(m_
db,m_
status.m_authuser.GetID());
\r
std::map<std::string,TrustExtension::trust> trustlist;
\r
if(tr.GetTrustList(trustlist))
\r
{
\r
std::map<std::string,TrustExtension::trust> trustlist;
\r
if(tr.GetTrustList(trustlist))
\r
{
\r
@@
-410,7
+403,7
@@
const bool NNTPConnection::HandleGroupCommand(const NNTPCommand &command)
{
\r
if(command.m_arguments.size()==1)
\r
{
\r
{
\r
if(command.m_arguments.size()==1)
\r
{
\r
- Board board;
\r
+ Board board
(m_db)
;
\r
if(board.Load(command.m_arguments[0])==true)
\r
{
\r
std::ostringstream tempstr;
\r
if(board.Load(command.m_arguments[0])==true)
\r
{
\r
std::ostringstream tempstr;
\r
@@
-462,7
+455,7
@@
const bool NNTPConnection::HandleLastCommand(const NNTPCommand &command)
{
\r
if(m_status.m_messageid!=-1)
\r
{
\r
{
\r
if(m_status.m_messageid!=-1)
\r
{
\r
- Message mess;
\r
+ Message mess
(m_db)
;
\r
\r
if(mess.LoadPrevious(m_status.m_messageid,m_status.m_boardid))
\r
{
\r
\r
if(mess.LoadPrevious(m_status.m_messageid,m_status.m_boardid))
\r
{
\r
@@
-532,7
+525,7
@@
const bool NNTPConnection::HandleListCommand(const NNTPCommand &command)
{
\r
bool show;
\r
std::ostringstream tempstr;
\r
{
\r
bool show;
\r
std::ostringstream tempstr;
\r
- BoardList bl;
\r
+ BoardList bl
(m_db)
;
\r
bl.Load();
\r
\r
SendBufferedLine("215 list of newsgroups follows");
\r
bl.Load();
\r
\r
SendBufferedLine("215 list of newsgroups follows");
\r
@@
-563,7
+556,7
@@
const bool NNTPConnection::HandleListCommand(const NNTPCommand &command)
{
\r
bool show;
\r
std::ostringstream tempstr;
\r
{
\r
bool show;
\r
std::ostringstream tempstr;
\r
- BoardList bl;
\r
+ BoardList bl
(m_db)
;
\r
bl.Load();
\r
\r
SendBufferedLine("215 list of newsgroups follows");
\r
bl.Load();
\r
\r
SendBufferedLine("215 list of newsgroups follows");
\r
@@
-616,7
+609,7
@@
const bool NNTPConnection::HandleListGroupCommand(const NNTPCommand &command)
{
\r
\r
std::ostringstream tempstr;
\r
{
\r
\r
std::ostringstream tempstr;
\r
- Board board;
\r
+ Board board
(m_db)
;
\r
bool validgroup=false;
\r
int lownum=-1;
\r
int highnum=-1;
\r
bool validgroup=false;
\r
int lownum=-1;
\r
int highnum=-1;
\r
@@
-685,7
+678,7
@@
const bool NNTPConnection::HandleListGroupCommand(const NNTPCommand &command)
tempstr << "211 " << board.GetMessageCount() << " " << board.GetLowMessageID() << " " << board.GetHighMessageID() << " " << board.GetBoardName();
\r
SendBufferedLine(tempstr.str());
\r
\r
tempstr << "211 " << board.GetMessageCount() << " " << board.GetLowMessageID() << " " << board.GetHighMessageID() << " " << board.GetBoardName();
\r
SendBufferedLine(tempstr.str());
\r
\r
- MessageList ml;
\r
+ MessageList ml
(m_db)
;
\r
ml.LoadRange(lownum,highnum,board.GetBoardID());
\r
\r
for(std::vector<Message>::iterator i=ml.begin(); i!=ml.end(); i++)
\r
ml.LoadRange(lownum,highnum,board.GetBoardID());
\r
\r
for(std::vector<Message>::iterator i=ml.begin(); i!=ml.end(); i++)
\r
@@
-791,7
+784,7
@@
const bool NNTPConnection::HandleNewGroupsCommand(const NNTPCommand &command)
}
\r
}
\r
\r
}
\r
}
\r
\r
- BoardList bl;
\r
+ BoardList bl
(m_db)
;
\r
\r
bl.LoadNew(Poco::DateTimeFormatter::format(date,"%Y-%m-%d %H:%M:%S"));
\r
\r
\r
bl.LoadNew(Poco::DateTimeFormatter::format(date,"%Y-%m-%d %H:%M:%S"));
\r
\r
@@
-826,7
+819,7
@@
const bool NNTPConnection::HandleNextCommand(const NNTPCommand &command)
{
\r
if(m_status.m_messageid!=-1)
\r
{
\r
{
\r
if(m_status.m_messageid!=-1)
\r
{
\r
- Message mess;
\r
+ Message mess
(m_db)
;
\r
\r
if(mess.LoadNext(m_status.m_messageid,m_status.m_boardid))
\r
{
\r
\r
if(mess.LoadNext(m_status.m_messageid,m_status.m_boardid))
\r
{
\r
@@
-916,7
+909,7
@@
const bool NNTPConnection::HandleOverCommand(const NNTPCommand &command)
\r
if(messageuuid!="")
\r
{
\r
\r
if(messageuuid!="")
\r
{
\r
- Message mess;
\r
+ Message mess
(m_db)
;
\r
if(mess.Load(messageuuid))
\r
{
\r
SendBufferedLine("224 Overview information follows");
\r
if(mess.Load(messageuuid))
\r
{
\r
SendBufferedLine("224 Overview information follows");
\r
@@
-930,13
+923,13
@@
const bool NNTPConnection::HandleOverCommand(const NNTPCommand &command)
}
\r
else
\r
{
\r
}
\r
else
\r
{
\r
- Board bd;
\r
+ Board bd
(m_db)
;
\r
if(m_status.m_boardid!=-1 && bd.Load(m_status.m_boardid))
\r
{
\r
// single message
\r
if(highmessageid==-2)
\r
{
\r
if(m_status.m_boardid!=-1 && bd.Load(m_status.m_boardid))
\r
{
\r
// single message
\r
if(highmessageid==-2)
\r
{
\r
- Message mess;
\r
+ Message mess
(m_db)
;
\r
if(mess.Load(lowmessageid,m_status.m_boardid))
\r
{
\r
SendBufferedLine("224 Overview information follows");
\r
if(mess.Load(lowmessageid,m_status.m_boardid))
\r
{
\r
SendBufferedLine("224 Overview information follows");
\r
@@
-951,7
+944,7
@@
const bool NNTPConnection::HandleOverCommand(const NNTPCommand &command)
// range with no upper bound
\r
else if(highmessageid==-1)
\r
{
\r
// range with no upper bound
\r
else if(highmessageid==-1)
\r
{
\r
- MessageList ml;
\r
+ MessageList ml
(m_db)
;
\r
ml.LoadRange(lowmessageid,bd.GetHighMessageID(),m_status.m_boardid);
\r
if(ml.size()>0)
\r
{
\r
ml.LoadRange(lowmessageid,bd.GetHighMessageID(),m_status.m_boardid);
\r
if(ml.size()>0)
\r
{
\r
@@
-970,7
+963,7
@@
const bool NNTPConnection::HandleOverCommand(const NNTPCommand &command)
// range with upper and lower bound
\r
else if(highmessageid>=lowmessageid)
\r
{
\r
// range with upper and lower bound
\r
else if(highmessageid>=lowmessageid)
\r
{
\r
- MessageList ml;
\r
+ MessageList ml
(m_db)
;
\r
ml.LoadRange(lowmessageid,highmessageid,m_status.m_boardid);
\r
if(ml.size()>0)
\r
{
\r
ml.LoadRange(lowmessageid,highmessageid,m_status.m_boardid);
\r
if(ml.size()>0)
\r
{
\r
@@
-1019,7
+1012,7
@@
const bool NNTPConnection::HandlePostCommand(const NNTPCommand &command)
\r
void NNTPConnection::HandlePostedMessage(const std::string &message)
\r
{
\r
\r
void NNTPConnection::HandlePostedMessage(const std::string &message)
\r
{
\r
- Message mess;
\r
+ Message mess
(m_db)
;
\r
\r
if(mess.ParseNNTPMessage(message))
\r
{
\r
\r
if(mess.ParseNNTPMessage(message))
\r
{
\r
@@
-1193,7
+1186,7
@@
const bool NNTPConnection::HandleSetTrustCommand(const NNTPCommand &command)
valid=true;
\r
}
\r
\r
valid=true;
\r
}
\r
\r
- TrustExtension tr(m_status.m_authuser.GetID());
\r
+ TrustExtension tr(m_
db,m_
status.m_authuser.GetID());
\r
\r
if(type=="MESSAGE")
\r
{
\r
\r
if(type=="MESSAGE")
\r
{
\r
@@
-1276,6
+1269,17
@@
void NNTPConnection::run()
struct timeval tv;
\r
fd_set writefs,readfs;
\r
int rval;
\r
struct timeval tv;
\r
fd_set writefs,readfs;
\r
int rval;
\r
+ std::string tempval("");
\r
+
\r
+ LoadDatabase();
\r
+
\r
+ m_status.m_authuser.SetDB(m_db);
\r
+ Option option(m_db);
\r
+ option.Get("NNTPAllowPost",tempval);
\r
+ if(tempval=="true")
\r
+ {
\r
+ m_status.m_allowpost=true;
\r
+ }
\r
\r
// seed random number generater for this thread
\r
srand(time(NULL));
\r
\r
// seed random number generater for this thread
\r
srand(time(NULL));
\r
@@
-1400,7
+1404,7
@@
void NNTPConnection::SendArticleParts(const NNTPConnection::NNTPCommand &command
successcode="223";
\r
}
\r
\r
successcode="223";
\r
}
\r
\r
- Message message;
\r
+ Message message
(m_db)
;
\r
int messageid=m_status.m_messageid;
\r
std::string articleid="";
\r
int type=0; // default to current messageid, 1=messageid, 2=articleid
\r
int messageid=m_status.m_messageid;
\r
std::string articleid="";
\r
int type=0; // default to current messageid, 1=messageid, 2=articleid
\r