Jeff Tucker writes:


I haven't studied the code in great detail, but I don't see how the system will ever end up with the filename as a modern UIDL. Sam, what am I missing? Or what were you expecting that isn't here? My old 1.6 pop3dserver.c simply prints the filename for the UIDL. What do I need to do to make 2.1.2 do the same?


Try the following patch. The upgrade logic may not be working correctly.


Attachment: pgp00000.pgp
Description: PGP signature

--- imap/pop3dserver.c  5 Oct 2003 04:47:50 -0000       1.25
+++ imap/pop3dserver.c  7 Oct 2003 12:37:14 -0000
@@ -194,7 +194,7 @@
 
                        if (ch != '\n')
                        {
-                               if (n < sizeof(linebuf)-3)
+                               if (n < sizeof(linebuf)-5)
                                        linebuf[n++]=ch;
                                continue;
                        }
@@ -202,7 +202,7 @@
                        n=0;
 
                        if (vernum == 0)
-                               strcat(linebuf, " 0");
+                               strcat(linebuf, " 0 0");
                        /* Convert version 0 to version 1 format - PRESTO! */
 
                        if ((p=strrchr(linebuf, ' ')) == NULL)
@@ -238,6 +238,9 @@
                        case 3:
                                m->size=sz;
                                m->next=list;
+
+                               if (m->size == 0 && m->uid.uidv == 0)
+                                       calcsize(m); /* VERSION 0 */
                                list=m;
                                ++mcnt;
                                break;

Attachment: pgp00001.pgp
Description: PGP signature



Reply via email to