Re: [Imap-protocol] Working around the evils of LITERAL+
Brandon Long <[email protected]>
| Newsgroups | gmane.mail.imap.general |
|---|---|
| Message-ID | <CABa8R6vv_fupAVX6bv018L9j-uW=YdW5wJ+oACrd3W_WVJq9Ow@mail.gmail.com> |
We actually had that failure mode to begin with due to a bug, and then we'd drop the connection after too many bad commands... but of course, they'd just retry. I think this is partially an issue that IMAP doesn't have the concept of temp vs perm failures... though, thinking about it, that's because it probably doesn't believe in temp failures, so NO is a perm failure, but client inevitably treat it as a temp failure. And I'm unclear how this is a Gmail only issue, all other IMAP servers accept 4GB email messages? Or have no abuse limits? I have to imagine that at least Yahoo and probably iCloud have the same issue, though perhaps not the scale to have seen it yet... or maybe they're using something more off the shelf and so aren't limiting APPENDs though they would never accept such mail for SMTP. Heck, as someone pointed out, this potential issue is in the RFC. Tarpitting accepting the data ... still broken behavior, takes longer for the client to find it out... Hmm, or maybe we should implement RFC 5738 so clients can just use utf-8 for regular commands instead of having to use literals. Brandon On Wed, Mar 27, 2013 at 5:52 AM, Timo Sirainen <[email protected]> wrote: > On Wed, 2013-03-27 at 21:19 +0900, Takeshi Chiba wrote: > > It seems like not general problem but gmail :-) > > (There are many special clients for gmail such as gmail filesystem) > > > > If I were gmail developper, eat the data *slowly*. > > > > C: tag APPEND INBOX {1000000+} > > S: tag NO quota limit exceeded > > C: From: [email protected] > > S: From: BAD unknown command > > That would be a broken server. The server has no choice but to eat away > the data. > > > (server detect bad client by several invalid command, so sleep 10 > seconds) > > Now, the server could of course start sleeping a bit after sending the > NO reply. If some client were able to parse the NO reply it would > realize that it should disconnect instead of waste bandwidth by sending > the whole 1 MB of data. So if server sees a literal e.g. >= 1 MB, it > could sleep(10) + disconnect. But I don't know how helpful that is with > the current clients, probably not very. > > > _______________________________________________ Imap-protocol mailing list [email protected] http://mailman2.u.washington.edu/mailman/listinfo/imap-protocol