I've added a page to the wiki with your last three emails. I think we're at the point where we should hammer out a plan for the implementation.
http://dbmail.org/dokuwiki/doku.php?id=unique_token There's just one piece left to properly refute, and I think that we need an actual analysis (Geo, the one you provided regarding UIDVALIDITY, inodes and file offsets would be ideal) http://dbmail.org/dokuwiki/doku.php?id=unique_id_guid Because on that page it is currently stated: Contrary to earlier thoughts this would be consistent with the RFC. This is due to the fact that the RFC does not require increment-only ids as defined in the current DBMail implemenation. The unique_ids detailed in the below RFC Overview can be guids, they must be unique and ascending, but do not have to be sequential. Aaron On Tue, May 31, 2005, Geo Carncross <[EMAIL PROTECTED]> said: > I want to clarify here: > >> 1. write the message - state=0 > > at state==0, a message doesn't have a valid UID. > >> 2. wait for token - generate uid, state -> 1 > > at state==1, a message might have a valid UID, but it isn't proven to be > valid- that is, it's still not allowed to be seen by clients. > >> 3. wait for token to prove validity, state -> 2 (now visible) > > > This way, the token pass always writes the message with a junk UID and > state=0, > > then when it has the token, it moves to state=1 > when it sees that same token the second time, it moves to state=2 > > You can encode the tokens seen in the database so you just say: > > UPDATE db_tokens SET state=2 WHERE state=1 AND token=? AND host=? > UPDATE db_tokens SET uid=?, token=?, state=1 WHERE state < 2 AND host=? > > whenever you see a token. > > I might not have specified adequately what the token actually contains: > > 1. a globally unique random junk-string (big, minimum 128 bytes) > 2. a uid number > > the junk-string (#1) is generated with the token and remains the same as > long as the token is valid. It's what my example db_tokens table refers > to as "token" > > UID number is the 31-bit unsigned IMAP UID number. > > host is the local hosts identifier. Use whatever you like- just so long > as two hosts will NEVER use the same value. > > > I hope this gives everyone a good idea on what exactly is going on. > > -- > Internet Connection High Quality Web Hosting > http://www.internetconnection.net/ > > _______________________________________________ > Dbmail-dev mailing list > Dbmail-dev@dbmail.org > http://twister.fastxs.net/mailman/listinfo/dbmail-dev > --