projects
/
fms.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
version 0.1.3
[fms.git]
/
src
/
nntp
/
nntpconnection.cpp
diff --git
a/src/nntp/nntpconnection.cpp
b/src/nntp/nntpconnection.cpp
index
5ee9776
..
0ccef18
100644
(file)
--- a/
src/nntp/nntpconnection.cpp
+++ b/
src/nntp/nntpconnection.cpp
@@
-7,7
+7,10
@@
#include "../../include/messagelist.h"
\r
#include "../../include/option.h"
\r
\r
#include "../../include/messagelist.h"
\r
#include "../../include/option.h"
\r
\r
-#include <zthread/Thread.h>
\r
+#include <algorithm>
\r
+
\r
+//#include <zthread/Thread.h>
\r
+#include "../../include/pthreadwrapper/thread.h"
\r
\r
#ifdef XMEM
\r
#include <xmem.h>
\r
\r
#ifdef XMEM
\r
#include <xmem.h>
\r
@@
-24,9
+27,9
@@
NNTPConnection::NNTPConnection(SOCKET sock)
m_status.m_allowpost=false;
\r
m_status.m_boardid=-1;
\r
m_status.m_messageid=-1;
\r
m_status.m_allowpost=false;
\r
m_status.m_boardid=-1;
\r
m_status.m_messageid=-1;
\r
- m_status.m_mode=
ClientMode::
MODE_NONE;
\r
+ m_status.m_mode=MODE_NONE;
\r
\r
\r
- Option::
i
nstance()->Get("NNTPAllowPost",tempval);
\r
+ Option::
I
nstance()->Get("NNTPAllowPost",tempval);
\r
if(tempval=="true")
\r
{
\r
m_status.m_allowpost=true;
\r
if(tempval=="true")
\r
{
\r
m_status.m_allowpost=true;
\r
@@
-230,7
+233,7
@@
const bool NNTPConnection::HandleLastCommand(const NNTPCommand &command)
{
\r
Message mess;
\r
\r
{
\r
Message mess;
\r
\r
- if(mess.Load(m_status.m_messageid,m_status.m_boardid))
\r
+ if(mess.Load
Previous
(m_status.m_messageid,m_status.m_boardid))
\r
{
\r
std::ostringstream tempstr;
\r
\r
{
\r
std::ostringstream tempstr;
\r
\r
@@
-479,7
+482,7
@@
const bool NNTPConnection::HandleModeCommand(const NNTPCommand &command)
StringFunctions::UpperCase(arg,arg);
\r
if(arg=="READER")
\r
{
\r
StringFunctions::UpperCase(arg,arg);
\r
if(arg=="READER")
\r
{
\r
- m_status.m_mode=
ClientMode::
MODE_READER;
\r
+ m_status.m_mode=MODE_READER;
\r
if(m_status.m_allowpost==true)
\r
{
\r
SendBufferedLine("200 Posting allowed");
\r
if(m_status.m_allowpost==true)
\r
{
\r
SendBufferedLine("200 Posting allowed");
\r
@@
-583,7
+586,7
@@
const bool NNTPConnection::HandleNextCommand(const NNTPCommand &command)
{
\r
Message mess;
\r
\r
{
\r
Message mess;
\r
\r
- if(mess.Load(m_status.m_messageid,m_status.m_boardid))
\r
+ if(mess.Load
Next
(m_status.m_messageid,m_status.m_boardid))
\r
{
\r
std::ostringstream tempstr;
\r
\r
{
\r
std::ostringstream tempstr;
\r
\r
@@
-862,10
+865,10
@@
const bool NNTPConnection::HandleQuitCommand(const NNTPCommand &command)
return true;
\r
}
\r
\r
return true;
\r
}
\r
\r
-void NNTPConnection::
r
un()
\r
+void NNTPConnection::
R
un()
\r
{
\r
struct timeval tv;
\r
{
\r
struct timeval tv;
\r
-
FD_SET
writefs,readfs;
\r
+
fd_set
writefs,readfs;
\r
int rval;
\r
\r
// seed random number generater for this thread
\r
int rval;
\r
\r
// seed random number generater for this thread
\r
@@
-908,18
+911,19
@@
void NNTPConnection::run()
SocketSend();
\r
}
\r
}
\r
SocketSend();
\r
}
\r
}
\r
- else if(rval==
-1
)
\r
+ else if(rval==
SOCKET_ERROR
)
\r
{
\r
m_log->WriteLog(LogFile::LOGLEVEL_ERROR,"NNTPConnection::run select returned -1 : "+GetSocketErrorMessage());
\r
}
\r
\r
{
\r
m_log->WriteLog(LogFile::LOGLEVEL_ERROR,"NNTPConnection::run select returned -1 : "+GetSocketErrorMessage());
\r
}
\r
\r
- }while(!Disconnected() && !ZThread::Thread::interrupted());
\r
-
\r
+// }while(!Disconnected() && !ZThread::Thread::interrupted());
\r
+ }while(!Disconnected() && !IsCancelled());
\r
+
\r
Disconnect();
\r
Disconnect();
\r
-
\r
+
\r
}
\r
\r
}
\r
\r
-void NNTPConnection::SendArticleOverInfo(
const
Message &message)
\r
+void NNTPConnection::SendArticleOverInfo(Message &message)
\r
{
\r
std::string tempval;
\r
std::string line;
\r
{
\r
std::string tempval;
\r
std::string line;
\r
@@
-934,7
+938,7
@@
void NNTPConnection::SendArticleOverInfo(const Message &message)
references=message.GetInReplyTo();
\r
if(references.size()>0)
\r
{
\r
references=message.GetInReplyTo();
\r
if(references.size()>0)
\r
{
\r
- for(std::map<long,std::string>::
const_
reverse_iterator i=references.rbegin(); i!=references.rend(); i++)
\r
+ for(std::map<long,std::string>::reverse_iterator i=references.rbegin(); i!=references.rend(); i++)
\r
{
\r
if(i!=references.rbegin())
\r
{
\r
{
\r
if(i!=references.rbegin())
\r
{
\r
@@
-1163,9
+1167,11
@@
void NNTPConnection::SocketReceive()
}
\r
else if(rval==-1)
\r
{
\r
}
\r
else if(rval==-1)
\r
{
\r
+ std::string errnostr;
\r
+ StringFunctions::Convert(GetSocketErrorNumber(),errnostr);
\r
// error on receive - close the connection
\r
Disconnect();
\r
// error on receive - close the connection
\r
Disconnect();
\r
- m_log->WriteLog(LogFile::LOGLEVEL_ERROR,"NNTPConnection::SocketReceive recv returned -1 : "+GetSocketErrorMessage());
\r
+ m_log->WriteLog(LogFile::LOGLEVEL_ERROR,"NNTPConnection::SocketReceive recv returned -1 : "+
errnostr+" - "+
GetSocketErrorMessage());
\r
}
\r
}
\r
\r
}
\r
}
\r
\r
@@
-1180,7
+1186,9
@@
void NNTPConnection::SocketSend()
}
\r
else if(rval==-1)
\r
{
\r
}
\r
else if(rval==-1)
\r
{
\r
- m_log->WriteLog(LogFile::LOGLEVEL_ERROR,"NNTPConnection::SocketSend returned -1 : "+GetSocketErrorMessage());
\r
+ std::string errnostr;
\r
+ StringFunctions::Convert(GetSocketErrorNumber(),errnostr);
\r
+ m_log->WriteLog(LogFile::LOGLEVEL_ERROR,"NNTPConnection::SocketSend returned -1 : "+errnostr+" - "+GetSocketErrorMessage());
\r
}
\r
}
\r
}
\r
}
\r
}
\r
}
\r