[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [leafnode-list] Problem with texpire
Matthias Andree <ma@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> writes:
> Stefan Wiens <s.wi@xxxxxxx> writes:
>> All subdirectories under /var/spool/news whose name is a valid
>> newsgroup name are considered for expiry. The only character that
>> will never show up in a group name is ".". (lost+found is also
>> All files whose name is all-digits or ".overview" and which can be
>> accessed via directories whose names could form valid newsgroup
>> names may be affected by expiry.
>> If you have to put something under /var/spool/news that leafnode
>> doesn't know about, give it a name containing ".".
> No. /var/spool/news belongs to leafnode and nobody else. Don't store
> your data in a directory that does not belong to you.
IMHO my proposal is the least intrusive way to solve the problem.
Why should we perform a destructive operation on data we don't know
about if it isn't absolutely necessary?
> Yup. That's what my new nntpd draft does as well. It also logs files
> that don't belong into groups (core dumps e. g.), they should just be
> killed instead).
Logging may be acceptable. Be careful when removing unknown files.
> Whatever. At the moment, I'd rather think of optimizing the reads from
> the spool, thus, I'd force incoming articles to use CRLF line ends and
> have dots escaped, so that nntpd can just feed the entire article out
> with a simple file copy (read/write on a fixed block size), without
> looking for line endings, escaping dots and so on.
That's indeed worth thinking about.
Besides performance issues, Leafnode could then get rid of arbitrary
line length restrictions. E.g. nntpd.c:doarticle() may chop legal
article lines because it uses a ridiculously small fixed-size buffer.
And it could deal with '\n' characters not preceded by '\r'. >:-)
Searching for "\r\n\r\n" (across block boundaries) would still be
necessary as long as HEAD and BODY are stored in a single file.
Storing HEAD and BODY in distinct files could make many things easier.
leafnode-list@xxxxxxxxxxxxxxxxxxxxxxxxxxxx -- mailing list for leafnode
To unsubscribe, send mail with "unsubscribe" in the subject to the list