[NNTP] Fwd: Gen-art review of draft-ietf-nntpext-streaming-05

Andrew - Supernews andrew at supernews.net
Mon Jun 13 15:32:19 PDT 2005


>>>>> "Russ" == Russ Allbery <rra at stanford.edu> writes:

 Russ> The difference with CHECK, and the thing that it allows you to
 Russ> do that IHAVE doesn't (and TAKETHIS doesn't) is that you can
 Russ> prevent a host from ever receiving an article by repeatly
 Russ> claiming you're going to send it with CHECK and then never
 Russ> sending it.

It's simple to protect against this. What I do is: a precommit entry
for the article can only be created by the _first_ IHAVE, CHECK or
TAKETHIS command to mention the message-id. If that entry is then not
committed within the timeout and it expires, then we _keep it_ in the
precommit cache as an expired entry, and further IHAVEs or CHECKs for
it, from any source, will return a "yes, we want the article"
response.  The entry stays in place until it is overwritten (in our
implementation the precommit and history caches are a single cyclic
buffer, which on machines with inbound feeds from outside is sized to
contain a large fraction of the daily number of articles), or until
we actually receive the article, in which case the entry becomes a
history cache entry instead.

-- 
Andrew, Supernews
http://www.supernews.com




More information about the ietf-nntp mailing list