Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Pop3 server sends a final +OK after QUIT. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
065070385a51e584d4ba8e45b043c784 |
User & Date: | drh 2018-07-18 02:19:26.724 |
Context
2018-07-18
| ||
16:58 | Add the concept of "backoffice" processing, used to do background cleanup operations after repository changes, such sending alerts and/or syncing to peer repositories. ... (check-in: 947081aa user: drh tags: trunk) | |
16:43 | Add the backoffice module for doing post-processing actions such as sending alerts and/or syncing repositories. ... (check-in: 86b43a46 user: drh tags: backoffice) | |
02:19 | Pop3 server sends a final +OK after QUIT. ... (check-in: 06507038 user: drh tags: trunk) | |
02:14 | Enhance the pop3 TOP command so that the second argument can be zero. ... (check-in: 64493163 user: drh tags: trunk) | |
Changes
Changes to src/smtp.c.
︙ | ︙ | |||
1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 | pop3_print(pLog, "+OK POP3 server ready"); while( fgets(zIn, sizeof(zIn), stdin) ){ if( pLog ) fprintf(pLog, "C: %s", zIn); zCmd = zIn; zA1 = pop3d_arg(zCmd); zA2 = zA1 ? pop3d_arg(zA1) : 0; for(i=0; zCmd[i]; i++){ zCmd[i] = fossil_tolower(zCmd[i]); } if( strcmp(zCmd,"capa")==0 ){ static const char *azCap[] = { "TOP", "USER", "UIDL", }; int i; pop3_print(pLog, "+OK"); for(i=0; i<sizeof(azCap)/sizeof(azCap[0]); i++){ | > > > > > > > > > > | 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 | pop3_print(pLog, "+OK POP3 server ready"); while( fgets(zIn, sizeof(zIn), stdin) ){ if( pLog ) fprintf(pLog, "C: %s", zIn); zCmd = zIn; zA1 = pop3d_arg(zCmd); zA2 = zA1 ? pop3d_arg(zA1) : 0; for(i=0; zCmd[i]; i++){ zCmd[i] = fossil_tolower(zCmd[i]); } if( strcmp(zCmd,"quit")==0 ){ if( !inAuth ){ db_multi_exec( "UPDATE emailbox SET estate=2" " WHERE estate<2 AND ebid IN (SELECT ebid FROM pop3 WHERE isDel);" ); } pop3_print(pLog, "+OK"); break; } if( strcmp(zCmd,"capa")==0 ){ static const char *azCap[] = { "TOP", "USER", "UIDL", }; int i; pop3_print(pLog, "+OK"); for(i=0; i<sizeof(azCap)/sizeof(azCap[0]); i++){ |
︙ | ︙ | |||
1436 1437 1438 1439 1440 1441 1442 | " WHERE emailid=emsgid AND euser=%Q AND estate<=1" " ORDER BY edate;", zUser ); goto cmd_ok; } } | < < < < < < < < | 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 | " WHERE emailid=emsgid AND euser=%Q AND estate<=1" " ORDER BY edate;", zUser ); goto cmd_ok; } } /* Fossil cannot process APOP since the users clear-text password is ** unknown. */ goto cmd_error; }else{ if( strcmp(zCmd,"stat")==0 ){ db_prepare(&q, "SELECT count(*), sum(esz) FROM pop3 WHERE NOT isDel"); if( db_step(&q)==SQLITE_ROW ){ pop3_print(pLog, "+OK %d %d", db_column_int(&q,0), db_column_int(&q,1)); }else{ pop3_print(pLog,"-ERR"); |
︙ | ︙ |