author | groucho <groucho> | 2003-04-24 11:19:11 (UTC) |
---|---|---|
committer | groucho <groucho> | 2003-04-24 11:19:11 (UTC) |
commit | 9671975e21266e3bfa6f3c793a3278b67cea34b7 (patch) (side-by-side diff) | |
tree | 876c77939cfd0e00fc844b1b5af09b2978564a6d /noncore/net/mailit/popclient.cpp | |
parent | 51e782b9658de61dc02579e115a9c62f396609a3 (diff) | |
download | opie-9671975e21266e3bfa6f3c793a3278b67cea34b7.zip opie-9671975e21266e3bfa6f3c793a3278b67cea34b7.tar.gz opie-9671975e21266e3bfa6f3c793a3278b67cea34b7.tar.bz2 |
- reworked size filtering
- started reworking offline download
- better tab focus switching
- Hello "Whats this" capability
- Fixed parsing of To: header files (no more Delivered-To: and Reply-To: matches)
- Good bye Settings.txt, hello Config Objects and encrypted passwords
- Translation improvements (added trs)
- Parser optimizations
Diffstat (limited to 'noncore/net/mailit/popclient.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/mailit/popclient.cpp | 24 |
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 |