summaryrefslogtreecommitdiff
path: root/noncore/net/mailit/popclient.cpp
authorgroucho <groucho>2003-04-15 08:07:53 (UTC)
committer groucho <groucho>2003-04-15 08:07:53 (UTC)
commitd0de397e46581f6ed5fcfad320b2b61be3858c5d (patch) (unidiff)
tree1110503d72aa11947642a640ab50656f82c33a71 /noncore/net/mailit/popclient.cpp
parente263613e83b64fa93b5f3c1b904715daf076cc78 (diff)
downloadopie-d0de397e46581f6ed5fcfad320b2b61be3858c5d.zip
opie-d0de397e46581f6ed5fcfad320b2b61be3858c5d.tar.gz
opie-d0de397e46581f6ed5fcfad320b2b61be3858c5d.tar.bz2
- SMTP fix preventing authorization with SMTP after POP
- removed debug output - smaller bug fixes
Diffstat (limited to 'noncore/net/mailit/popclient.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mailit/popclient.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/noncore/net/mailit/popclient.cpp b/noncore/net/mailit/popclient.cpp
index 2f14ed2..f9cc337 100644
--- a/noncore/net/mailit/popclient.cpp
+++ b/noncore/net/mailit/popclient.cpp
@@ -110,37 +110,37 @@ void PopClient::errorHandling(int status)
110 110
111void PopClient::incomingData() 111void PopClient::incomingData()
112{ 112{
113 QString response, temp, temp2, timeStamp; 113 QString response, temp, temp2, timeStamp;
114 QString md5Source; 114 QString md5Source;
115 int start, end; 115 int start, end;
116// char *md5Digest; 116// char *md5Digest;
117 char md5Digest[16]; 117 char md5Digest[16];
118// if ( !socket->canReadLine() ) 118// if ( !socket->canReadLine() )
119// return; 119// return;
120 120
121 response = socket->readLine(); 121 response = socket->readLine();
122 qDebug(response +" %d", status); 122 //qDebug(response +" %d", status);
123 123
124 switch(status) { 124 switch(status) {
125 //logging in 125 //logging in
126 case Init: { 126 case Init: {
127#ifdef APOP_TEST 127#ifdef APOP_TEST
128 start = response.find('<',0); 128 start = response.find('<',0);
129 end = response.find('>', start); 129 end = response.find('>', start);
130 if( start >= 0 && end > start ) 130 if( start >= 0 && end > start )
131 { 131 {
132 timeStamp = response.mid( start , end - start + 1); 132 timeStamp = response.mid( start , end - start + 1);
133 md5Source = timeStamp + popPassword; 133 md5Source = timeStamp + popPassword;
134 qDebug( md5Source); 134 //qDebug( md5Source);
135// for( int i = 0; i < md5Source.length(); i++) { 135// for( int i = 0; i < md5Source.length(); i++) {
136// buff[i] = (QChar)md5Source[i]; 136// buff[i] = (QChar)md5Source[i];
137// } 137// }
138 138
139 md5_buffer( (char const *)md5Source, md5Source.length(),&md5Digest[0]); 139 md5_buffer( (char const *)md5Source, md5Source.length(),&md5Digest[0]);
140// md5_buffer(char const *buffer, unsigned int len, char *digest); 140// md5_buffer(char const *buffer, unsigned int len, char *digest);
141 141
142// MD5_Init( &ctx); 142// MD5_Init( &ctx);
143// MD5_Update( &ctx, buff, sizeof( buff) ); 143// MD5_Update( &ctx, buff, sizeof( buff) );
144// MD5_Final( md5Digest, &ctx); 144// MD5_Final( md5Digest, &ctx);
145// MD5( buff, md5Source.length(), md5Digest); 145// MD5( buff, md5Source.length(), md5Digest);
146 146
@@ -183,25 +183,25 @@ void PopClient::incomingData()
183 if (response[0] == '+') { 183 if (response[0] == '+') {
184 temp = response.replace(0, 4, ""); 184 temp = response.replace(0, 4, "");
185 int x = temp.find(" ", 0); 185 int x = temp.find(" ", 0);
186 temp.truncate((uint) x); 186 temp.truncate((uint) x);
187 newMessages = temp.toInt(); 187 newMessages = temp.toInt();
188 messageCount = 1; 188 messageCount = 1;
189 status = List; 189 status = List;
190 190
191 if (synchronize) { 191 if (synchronize) {
192 //messages deleted from server, reload all 192 //messages deleted from server, reload all
193 if (newMessages < lastSync) 193 if (newMessages < lastSync)
194 lastSync = 0; 194 lastSync = 0;
195 messageCount = lastSync + 1; 195 messageCount = 1;
196 } 196 }
197 197
198 if (selected) { 198 if (selected) {
199 int *ptr = mailList->first(); 199 int *ptr = mailList->first();
200 if (ptr != 0) { 200 if (ptr != 0) {
201 newMessages++; //to ensure no early jumpout 201 newMessages++; //to ensure no early jumpout
202 messageCount = *(mailList->first()); 202 messageCount = *(mailList->first());
203 } else newMessages = 0; 203 } else newMessages = 0;
204 } 204 }
205 } else errorHandling(ErrUnknownResponse); 205 } else errorHandling(ErrUnknownResponse);
206 } 206 }
207 //Read message number x, count upwards to messageCount 207 //Read message number x, count upwards to messageCount
@@ -231,25 +231,25 @@ void PopClient::incomingData()
231 //get size of message, eg "500 characters in message.." -> int 500 231 //get size of message, eg "500 characters in message.." -> int 500
232 case Size: { 232 case Size: {
233 if (status != Quit) { //because of idiotic switch 233 if (status != Quit) { //because of idiotic switch
234 if (response[0] == '+') { 234 if (response[0] == '+') {
235 temp = response.replace(0, 4, ""); 235 temp = response.replace(0, 4, "");
236 int x = temp.find(" ", 0); 236 int x = temp.find(" ", 0);
237 temp = temp.right(temp.length() - ((uint) x + 1) ); 237 temp = temp.right(temp.length() - ((uint) x + 1) );
238 mailSize = temp.toInt(); 238 mailSize = temp.toInt();
239 emit currentMailSize(mailSize); 239 emit currentMailSize(mailSize);
240 240
241 status = Retr; 241 status = Retr;
242 } else { 242 } else {
243 qWarning(response); 243 //qWarning(response);
244 errorHandling(ErrUnknownResponse); 244 errorHandling(ErrUnknownResponse);
245 } 245 }
246 } 246 }
247 } 247 }
248 //Read message number x, count upwards to messageCount 248 //Read message number x, count upwards to messageCount
249 case Retr: { 249 case Retr: {
250 if (status != Quit) { 250 if (status != Quit) {
251 if (!preview || mailSize <= headerLimit) { 251 if (!preview || mailSize <= headerLimit) {
252 *stream << "RETR " << messageCount << "\r\n"; 252 *stream << "RETR " << messageCount << "\r\n";
253 } else { //only header 253 } else { //only header
254 *stream << "TOP " << messageCount << " 0\r\n"; 254 *stream << "TOP " << messageCount << " 0\r\n";
255 } 255 }
@@ -277,25 +277,25 @@ void PopClient::incomingData()
277 response = socket->readLine(); 277 response = socket->readLine();
278 message += response; 278 message += response;
279 } 279 }
280 emit downloadedSize(message.length()); 280 emit downloadedSize(message.length());
281 int x = message.find("\r\n.\r\n",-5); 281 int x = message.find("\r\n.\r\n",-5);
282 if (x == -1) { 282 if (x == -1) {
283 break; 283 break;
284 } else { //message reach entire size 284 } else { //message reach entire size
285 //complete mail downloaded 285 //complete mail downloaded
286 if ( (!preview ) || ((preview) && (mailSize <= headerLimit)) ){ 286 if ( (!preview ) || ((preview) && (mailSize <= headerLimit)) ){
287 emit newMessage(message, messageCount-1, mailSize, TRUE); 287 emit newMessage(message, messageCount-1, mailSize, TRUE);
288 } else { //incomplete mail downloaded 288 } else { //incomplete mail downloaded
289 emit newMessage(message, messageCount-1, mailSize, FALSE); 289 emit newMessage(message, messageCount-1, mailSize, FALSE);
290 } 290 }
291 if (messageCount > newMessages) //that was the last message 291 if (messageCount > newMessages) //that was the last message
292 status = Quit; 292 status = Quit;
293 else { //ask for new message 293 else { //ask for new message
294 if (selected) { //grab next from queue 294 if (selected) { //grab next from queue
295 int *ptr = mailList->next(); 295 int *ptr = mailList->next();
296 if (ptr != 0) { 296 if (ptr != 0) {
297 messageCount = *ptr; 297 messageCount = *ptr;
298 *stream << "LIST " << messageCount << "\r\n"; 298 *stream << "LIST " << messageCount << "\r\n";
299 status = Size; 299 status = Size;
300 //completing a previously closed transfer 300 //completing a previously closed transfer
301 if ( (messageCount - lastSync) <= 0) { 301 if ( (messageCount - lastSync) <= 0) {