This is a discussion on Re: -ERR [SYS/TEMP] Unable to copy mail spool file, quota exceeded (122) within the mailing.postfix.users forums, part of the Mail Servers and Related category; On Sat, Feb 07, 2004 at 06:56:43PM -0500, Wietse Venema wrote: Hi, > > If the POP daemon ...
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
On Sat, Feb 07, 2004 at 06:56:43PM -0500, Wietse Venema wrote:
Hi, > > If the POP daemon only deletes mail, and don't write any new information > > to the mbox, it doesn't need to keep a copy of every mail in memory. > In order to delete the first message in a mailbox file, the software > has to keep a complete copy of the rest of the mailbox file in > memory. Since this is a tad off-topic I will try to not prolong this too much, but I don't follow your reasoning here. Say a user have five letters, of different length, in the mailbox, looking like this: AAAAABBBBBBBBBCCCDDDDDDEEEEEEEEEE With just a reference to the beginning of each letter, the POP daemon could easily overwrite the first mail with the second and getting a mailbox looking like this (lower case meaning old junk left): BBBBBBBBBbbbbbCCCDDDDDDEEEEEEEEEE Since the daemon knows where the new first mail ends (which is actually the current position, ftell(3)) and have a reference to where mail C starts, it can easily overwrite bbbbb with CCC, ie: BBBBBBBBBCCCbbcccDDDDDDEEEEEEEEEE And then start writing over the letter D, and so on. This could be accomplished by extensive use of something like ftell and jumping position, or open the mailbox twice; a write stream and a read stream. I'm sure someone clever could thing of more ways. //Ibo |