/usr/tmp/.pop/{username} HELP!

Anyone familiar with this problem?  Users mail files are appearing in the directory /usr/tmp/.pop directory when not reading email, and can't read their email again until this file has been deleted.  How can I make this problem go away?

Using Slackware 3.5
Kernel 2.0.35
pop3 server that comes with slackware 3.5

Who is Participating?
fmismettiConnect With a Mentor Commented:
I had this problem before. After some research I found this Ian Kinner that wrote the following script:

## 8-1-97 Ian Kinner (ian@llc.net)
## Simple sh script to remove stale files left in the in.pop3d tmp
## directory, which cause DoS for POP3 users. Should be run by a contab
## every 15 minutes or so.

# Logfile to write deletions: (/dev/null valid)

# in.pop3d tmp directory:

ls -l $TMPDIR | awk '{print $9}' >/tmp/.usrtmp
NUMBER=`wc -l /tmp/.usrtmp | awk '{print $1}'`

while [ $NUMBER -gt 1 ]
USER=`head -$NUMBER /tmp/.usrtmp | tail -1`
ps aux | grep in.pop3d | grep $USER >/tmp/.poptmp
SIZE=`ls -l /tmp/.poptmp | awk '{print $5}'`
if [ $SIZE -eq 0 ] ; then
  echo `date` -- removed stale file for: $USER >> $LOGFILE
  rm -f $TMPDIR/$USER
TMP=`expr $NUMBER - 1`
rm -f /tmp/{.poptmp,.usrtmp}

END SCRIPT======================

Then I put the following line in root crontab file:

0,15,30,45 * * * * /usr/local/bin/rm_stale.sh > /dev/null

So, every 15 minutes the script handles an eventual dead lock file. I never had problems again. Try it and let me know the results

POP3 email works as follows:

1)  machine receives a request to read / retrieve mail

2)  a copy of the user's mail file, ie. /usr/spool/mail/USERID is copied to some other file
     on the mail server, in some cases, it's /usr/spool/mail/USERID.pop, but it can
     potentially be something else..

3)  a POPPER session is established on the machine, and the .pop file is transfered
     down to the user..  meanwhile, new mail goes to the normal /usr/spool/mail files
     so it's available (and not lost) during the next pop cycle..

4)  after successful completion of the download of the .pop file, it's deleted from the
     system, (or recopied to the original if LEAVE MAIL ON SERVER is selected).. and the
     system POPPER process terminates..

if the files you're seeing remain on the server, the problem you're seeing is that users aren't successfully transferring their mail.. the end result is that when they try again, the system sees an existing process and throws it's hands in the air and says "you're already receiving mail, why try again..."  and fails..

to fix the problem, look for exisiting POPPER processes on the machine and kill them..
and recopy the .pop files to the users /usr/spool/mail/ file, appending it if needed (due to new mail since the process was attempted)..  remember to delete or rename the .pop files

if the problem persists after you've made the above corrective actions, then you need to look at the links between the client machines and your server..  

 good luck

Q010797Author Commented:
I am aware of ALL of the above,  There are no pop processing running however, when the problem occurs.  I don't need to copy it back over /var/spool/mail/{username} as it is still ALL there.

I want to fix this problem permanently and not do what I am doing now (when someone complains, I delete it!)

it never had this problem with slackware 3.2, I got it first with slackware 3.4 and someone said, upgrade to 3.5, which I did at no advantage.

Is there a FIX for this problem?

A proven path to a career in data science

At Springboard, we know how to get you a job in data science. With Springboard’s Data Science Career Track, you’ll master data science  with a curriculum built by industry experts. You’ll work on real projects, and get 1-on-1 mentorship from a data scientist.

Q010797Author Commented:
It's not quite an ANSWER but if it just can't be fixed then so be it.  It never used to happen with slackware 3.2 but I get it all the time with slackware 3.4 or 3.5.

Not tried 3.6 yet.

I agree that it's not a real answer but it works.

Also, I had this problem first time with slackware 3.2. In fact I think it's a problem in pop3d daemon. I download the source code for the latest pop3d daemons, compile and install -- and the problem was not solved. It's possible to comment out from the source code the test for this file -- but I think that this will introduce a more nasty problem, specially if the same pop client tries to log on at the same time.

Q010797Author Commented:
I agree.. thank you for your help
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.