cucipop - Cubic Circle POP3 daemon
Cucipop is a mailbox server which is a fully compliant implementation of Internet Post Office Protocol Version 3. The program allows remote access to UNIX mailboxes. can be started standalone or from within Cucipop will print its version number, display its compile time configuration and exit. Quiet mode, do not log statistics of regular sessions to Audit mode, also log statistics of regular sessions accessing empty mailboxes. Assume traditional Berkeley mailbox format, ignoring any fields. Force interactive debug mode, accept commands from the tty. Disable the optional USER and PASS command. Disable the optional UIDL command. Sabotage the UIDL command. Cucipop will return different UIDL values for every session, hence causing mailclients that attempt to leave mail on the server to pick up the entire mailbox every time. Turning this option on will violate Autodelete messages that have been retrieved. As soon as the QUIT command has been received or the connection drops, cucipop will behave as if those messages which have been collected using the RETR command were also specified to the DELE command. Turning this option on will violate Expire (in conjunction with the or options) messages that are older than only. is specified in seconds. You can increase the unit of measure by appending an s, m, h, w, M or y. Disable the optional APOP command. Disable the optional TOP command. Bind to a different Typically service is defined in as follows: 1 pop-3 110/tcp In order to start cucipop from within the following entry in would be suitable: 1 pop-3 stream tcp nowait root /usr/sbin/cucipop cucipop -Y If your site gets many hits from popclients, it would be preferable to start cucipop standalone as in: 1 /usr/sbin/cucipop -Y Your typical BOFH setting would be: 1 /usr/sbin/cucipop -YaSE 6w the default authentication virtual host authentication, see the man page on how this file is created AI state information and bulletin history through optional bulletin files in regular mailbox format system mailbox virtual host system mailbox lockfile for the system mailbox lockfile for the virtual host system mailbox temporary `unique' zero-length files created by cucipop When two or more cucipop sessions are accessing the same mailbox simultaneously, and at least one of them tries to update the mailbox, mild mailbox corruption might result and the other cucipop sessions will abort as soon as they detect unaccounted mailbox changes. The (unlikely) worst case scenario would result in some messages not being deleted and/or gaining some trailing garbage. Due to the ongoing consistency checks, existing messages or content is unlikely to be lost. If a local mailreader alters the mailbox content after cucipop has started and before cucipop has ended, cucipop will panic and abort the update as soon as it detects unaccounted mailbox changes. If the local maildelivery program is appending to the mailbox while cucipop is starting up, and the intervals between successive writes of the same mail are larger than 32 seconds, then cucipop will, mistakenly, show the last message in the mailbox (which is currently being written by the maildelivery agent) to be shorter than it actually is. If the last message is marked for deletion in this session, cucipop will notice the increased length shortly before actually deleting the message and abort the update at that point. The unique-id listing returned by the UIDL command is based on a hashvalue calculated on-the-fly over the message content. The actual values depend on the wordsize of the machine involved (defined as uidl_t in the source). Also, since it is just a hashvalue (constructed out of a true hash over the entire message and the length of the message), there is a very slight chance that it will produce a false positive. A continued field is not handled correctly. If the TOP command is being used, the statistics of transferred octets will become mildly inaccurate (too high, depending on the number of untransferred newlines). Cucipop will never create a nonexisting mailbox. An empty first argument after a POP command is ignored (thanks to some silly popclients that violate the standard). When running in standalone daemon mode, an idle cucipop deamon will always leave at least one zombie process behind. In order to improve performance, zombie processes are only collected when new clients connect. The Received field that is being tacked in front of a message misses the trailing "; date-time" addendum to make it fully compliant. To access the virtual host mailboxes, cucipop uses a fixed userid of Cucipop is NFS-resistant and eight-bit clean. The format of the regular syslog statistics is as follows: username originating-IP-address session-duration, retrieved messages (retrieved bytes), messages left in mailbox (octets left in mailbox). The database is autocleansed at a rate of one entry per pop access (entries that have been unused for more than three months are purged). Calling up cucipop with the -h or -? options will cause it to display a command-line help page.

SOURCE
Cucipop has graciously been made available by Cubic Circle and is 1 Copyright (c) 1996-1998, S.R. van den Berg, The Netherlands Stephen R. van den Berg, Cubic Circle, The Netherlands <srb@cuci.nl>