AltME: R3 Protocols

Messages

GrahamC
I mean it's a potential source of bugs
destructive ones at that
Maxim
are the delete ones still visible while the deletes are pending?
Andreas
you are at 10th, skip 10, so move to 20, record direction and on the next interaction run LIST n to see if you really are at a non-deleted message and continue onwards if you aren't
Maxim
deleted
Andreas
but if you don't want it to be positional, you could use POKE port msgnum NONE for deletion
or MODIFY port 'delete msgnum
RSET could be query/mode port 'reset or indeed a write port 'reset
maxim: messages marked for deletion are no long accessible, but their message number is still taken
GrahamC
Anyway, this logic can be added later on easily enough.  basic retrieval is working  :)
Andreas
with FSM or without :) ?
GrahamC
I only did a FSM version.  Yours you have to answer that one.
Maxim
maybe deleted messages should be completely ignored in all actions, so that they seem to be deleted immediately.
IIRC once deleted, messages cannot be "undelete" unless the port is shutdown and a new connection made.
Andreas
you have to issue an RSET to undelete all messages at once.
and yes, they should be ignored in a positional scheme :)
GrahamC
Max, incorrect.
You can RSET in transactional mode
@Andreas, did your pop3 scheme check every single line of data coming down for codes?
Andreas
no, you only have to check the immediate response line or the line after that, depending on the command.
for message data (RETR) you know beforehand how many data you ought to receive.
then it's just a question if you want to rely on that, or be very defensive, assume the pop3 server is broken regarding size calculation and rather continuously check for `crlf #"." crlf` instead.

Last message posted 486 weeks ago.