Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10 5/3/83; site packet.UUCP
Path: utzoo!linus!philabs!seismo!hao!hplabs!hpda!fortune!amd70!packet!cfv
From: cfv@packet.UUCP
Newsgroups: net.news
Subject: history and expirations
Message-ID: <246@packet.UUCP>
Date: Tue, 21-Jun-83 20:07:13 EDT
Article-I.D.: packet.246
Posted: Tue Jun 21 20:07:13 1983
Date-Received: Thu, 23-Jun-83 19:40:28 EDT
Organization: PacketCable,Inc. Cupertino, CA.
Lines: 40

A couple of things to ponder:

I muffed the setuid bit the afternoon after I made my comment  that  expire
probably should be setuid to news.  Result: when expire ran that night, the
history files became owned by root.  When the  news  came  in  after  that,
inews  couldn't  touch those files, and so history didn't update.  I am set
up so that /usr/lib/news, and usr/spool/{news,oldnews} are  writeable  only
by  the news account.  I assume I am not the only person who has to do this
(as an aside, if expire isn't setuid to news, anything archived in  oldnews
by  a  crontab  process  becomes  owned by root, not news.  This might be a
problem at some sites, I don't know).  Anyway, in  future  releases  expire
should  probably  be [chown news expire; chmod 4700 expire] in the Makefile
to keep this from happening.  It  does  bring  up  an  interesting  problem
though:  my  history  file  is now out of date, and so I am goin to have to
(eventually) expire those articles that came in by hand or figure  out  how
to get them into history.  Assuming that this problem has occurred at least
once before, has someone solved this and has a program they want to  donate
to the cause, or at least a hint?

Second, a strange thought:  Has anyone given any thought to the possibility
of  keeping  track  of  the  users  and  what they have seen and expiring a
message  after  everyone  has  seen  it?   This  might  cut   down   rather
significantly of the filesystem requirements for news, and it would keep me
from having to manually keep track of our users  .newsrc  files  (my  spool
file  is  a  little  tight  for  space temporarily, so I have been expiring
select topics early to keep things from overflowing until I can expand  it.
If  expire  was  smart enough to get rid of it when my system was done with
it, it would save me some time).

It seems to me that what you would have to do is map all  of  the  messages
and  then  check  each  .newsrc for the list of read messages.  Any message
that has not been read is removed from the map, and when all of the .newsrc
files  are  read,  anything  left  in  the  map  can  be  removed.  Special
dispensation for 'Expires:' messages would have  to  be  made  as  well,  I
guess, but this might make the history file obsolete.  Any comments?
-- 
>From the dungeons of the Warlock:
					      Chuck Von Rospach
					      ucbvax!amd70!packet!cfv
					      (chuqui@mit-mc)  <- obsolete!