summaryrefslogtreecommitdiff
path: root/noncore/net/mailit/popclient.cpp
Side-by-side diff
Diffstat (limited to 'noncore/net/mailit/popclient.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mailit/popclient.cpp24
1 files changed, 8 insertions, 16 deletions
diff --git a/noncore/net/mailit/popclient.cpp b/noncore/net/mailit/popclient.cpp
index f9cc337..67306be 100644
--- a/noncore/net/mailit/popclient.cpp
+++ b/noncore/net/mailit/popclient.cpp
@@ -116,36 +116,25 @@ void PopClient::incomingData()
// char *md5Digest;
char md5Digest[16];
// if ( !socket->canReadLine() )
// return;
response = socket->readLine();
- //qDebug(response +" %d", status);
switch(status) {
//logging in
case Init: {
#ifdef APOP_TEST
start = response.find('<',0);
end = response.find('>', start);
if( start >= 0 && end > start )
{
timeStamp = response.mid( start , end - start + 1);
md5Source = timeStamp + popPassword;
- //qDebug( md5Source);
-// for( int i = 0; i < md5Source.length(); i++) {
-// buff[i] = (QChar)md5Source[i];
-// }
md5_buffer( (char const *)md5Source, md5Source.length(),&md5Digest[0]);
-// md5_buffer(char const *buffer, unsigned int len, char *digest);
-
-// MD5_Init( &ctx);
-// MD5_Update( &ctx, buff, sizeof( buff) );
-// MD5_Final( md5Digest, &ctx);
-// MD5( buff, md5Source.length(), md5Digest);
for(int j =0;j < MD5_DIGEST_LENGTH ;j++)
{
printf("%x", md5Digest[j]);
}
printf("\n");
@@ -161,13 +150,13 @@ void PopClient::incomingData()
*stream << "USER " << popUserName << "\r\n";
status = Pass;
}
break;
}
- //password shhh. don't tell anyone (implement APOP...)
+
case Pass: {
*stream << "PASS " << popPassword << "\r\n";
status = Stat;
break;
}
//ask for number of messages
@@ -245,16 +234,17 @@ void PopClient::incomingData()
}
}
}
//Read message number x, count upwards to messageCount
case Retr: {
if (status != Quit) {
- if (!preview || mailSize <= headerLimit) {
+ if (mailSize <= headerLimit)
+ {
*stream << "RETR " << messageCount << "\r\n";
} else { //only header
- *stream << "TOP " << messageCount << " 0\r\n";
+ *stream << "TOP " << messageCount << " 0\r\n";
}
messageCount++;
status = Ignore;
break;
} }
case Ignore: {
@@ -280,14 +270,16 @@ void PopClient::incomingData()
emit downloadedSize(message.length());
int x = message.find("\r\n.\r\n",-5);
if (x == -1) {
break;
} else { //message reach entire size
//complete mail downloaded
- if ( (!preview ) || ((preview) && (mailSize <= headerLimit)) ){
- emit newMessage(message, messageCount-1, mailSize, TRUE);
+ //if ( (!preview ) || ((preview) && (mailSize <= headerLimit)) ){
+ if ( mailSize <= headerLimit)
+ {
+ emit newMessage(message, messageCount-1, mailSize, TRUE);
} else { //incomplete mail downloaded
emit newMessage(message, messageCount-1, mailSize, FALSE);
}
if (messageCount > newMessages) //that was the last message
status = Quit;
else { //ask for new message