Nov 181999
 

Dynamic DNS problems prompt move to cucipop

This article documents the problems I was having with qpopper today.  To be fair, this isn’t actually a qpopper problem; it was performing as advertised.  It was actually a dynamic DNS problem which affect qpopper preformance.

see also: DNS – the dynamic way, installing qpopper (a POP server), and notes on qpopper.

The problem

My mail client was having trouble accessing the POP server on my FreeBSD box.  A long delay would occur between starting the connection and actually downloading the messages.  It was taking about 30 seconds for what was normally a 1 second job.  Unacceptable.

I tracked the problem down to my dynamic dns provider, www.yi.org but to be fair, it is a free service.  They had gone down.  Coincidentally, I had only recently obtained a static IP.  I was already in the process of modifying my DNS to reflect this.

The install

Since I have the entire ports tree installed, all I needed to do was:
cd /usr/ports/mail/cucipop
make
make install

I decided to run cucipop as a standalone daemon as opposed to starting it up on demand.  See man cucipop for more details.

On demand

According to the man pages, I can start cucipop from inetd, I need the following: >
In order to start cucipop from within inetd(8),  the  fol-
lowing entry in inetd.conf(5) would be suitable:
pop3   stream  tcp     nowait  root    /usr/local/libexec/cucipop cucipop -Y

Standalone

I created the following file: /usr/local/etc/rc.d/cucipop.sh
#!/bin/sh
[ -x /usr/local/libexec/cucipop ] && /usr/local/libexec/cucipop -Y && echo -n ' cucipop'

And don’t forget to make it executable:

chmod 750 /usr/local/etc/rc.d/cucipop.sh

And if you make a change to /etc/inetd.conf, don’t forget to hup inetd:

killall -hup inetd  

The results

It appears that cucipop does not do the same dns checks which qpopper does.  Checking my mailbox via POP now takes about 1 second (maybe less).

In addition to changing POP servers, I also went from starting my POP daemon on demand (i.e. /etc/inetd.conf) to running it standalone (/usr/local/etc/rc.d/cucipop.sh).   Running standalone is a good idea if you run a busy site (with lots of people checking their mail).  I can’t see any problems running standalone on most boxes.   I have an old 486 with 16MB of memory.  I don’t anticipate any problems but will report them if any arise.