Hi Sam,
A client of mine managed to find the following boundary case in the Pop3 server (I'm running 0.45.something).
(1) create a new mail account
(2) wait for the maildir to be created [on our system, there are scripts that do this]
(3) send a message (from webmail, cone - whatever)
(4) check mail - the first message will report a long UID
(5) all subsequent messages will have standard, shortened UIDs.
While a minor bug, there are a couple of (stupid) email clients out there that have buffer overruns with the longer UIDs and crash when this occurs, which is why I think you'd added code to create short UIDs. My best guess from a quick read is that, in pop3dserver.c, line 715:
if (msglist_a[i]->uid.n != 0)
is true for the first message ever received in an email account (e.g., the first message happens to have a unique id of 0), which is causing the shorter UID code to be bypassed for that first message. I haven't traced through the code, though, so treat this as the wild-ass guess that it is... :-)
Is this easy to get fixed?
best, Jeff
+OK Hello there.
USER [EMAIL PROTECTED]
+OK Password required.
PASS superSecretPassword
+OK logged in.
UIDL
+OK
1 1083201440.M718711P9340V0000000000000816I00391DE0_0.foobar.example.com,S =332
2 UID2-1083201497
3 UID3-1083201497
.
DELE 1
+OK Deleted.
UIDL
+OK
2 UID2-1083201497
3 UID3-1083201497
.
-------------------------------------------------------
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id=3149&alloc_id=8166&op=click
_______________________________________________
courier-users mailing list
[EMAIL PROTECTED]
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-users