March, 1990 This is the source code for a POP3 server running under 4.3BSD. This server was written at the University of California at Davis. The server implements the minimal POP3 command list, plus two extension commands. You can get a copy of this distribution with anonymous FTP at: ftp.ucadavis.edu:/pub/pop3d.tar POP3, the Post Office Protocol (version 3), is described in RFC1225. A copy of RFC1225 is included with this distribution. At UC Davis, POP is used to deliver mail to microcomputers using a 4.3BSD system as a mail gateway. This is an addition to the normal model of using the 4.3BSD system as the mailbox and letting the microcomputer merely read the mail from there. If you ever look at the source code, you may see that this server supports two extra commands, "HOST", to allow clients to specify hostnames for gateway service, and "MBOX" to allow clients to specify an alternate mailbox file. Be assured that you can ignore these extra commands, since the server is completely upwards compatible and standard POP3 client programs will not use this command. If you discover bugs or problems with this software, please feel free to contact me. Katie Stevens Information Technology -- Campus Access Point University of California Davis, CA 95616 (916)752-3426 dkstevens@ucdavis.edu
Last update: 05/03/94 The following things have been changed for the Debian distribution: - changed the makefile (install target) - changed the definitions for the mail and pop directories in pop3.h - wrote a manpage for pop3d (from the catpage) Peter Tobias <tobias@et-inf.fho-emden.de>
Installation Instructions for POP3 server (08-19-91)
=========================================
General:
The POP3 server is a TCP/IP server. It accepts one line commands,
and responds with one or more ASCII text lines. For a complete
description of the POP3 syntax, please refer to RFC 1225.
The POP3 server is similar to the FTP and SMTP servers; it should
be installed like ftpd and smtpd.
UNIX installation:
-----------------
- copy and compile the   pop3d   program
- copy the  pop3d  program to the   /etc   directory; it should
  be owned by   root   and should have permissions   700
  once installed, its directory listing should look something like this:
     -rwx------  1 root        30720 Aug 10  1990 /etc/pop3d
- add an entry for   pop3d   in the file /etc/services
  it should look like this:
     pop3		110/tcp		postoffice
- add an entry for   pop3d   in the file /etc/inetd.conf
  it should look like this:
     pop3	stream	tcp	nowait	root	/etc/pop3d	pop3d
- restart the   inetd   program;  inetd  will connect incoming TCP/IP
  traffic for the POP3 server to the   pop3d   program. Get the PID
  number for   inetd   with the   ps   command; then restart  inetd:
     aggie: 9> ps -fax | grep inetd
        92 ?  I     3:19 /etc/inetd
     14470 p0 S     0:00 grep inetd
     aggie: 10> kill -HUP 92
     aggie: 11> 
- pop3d  is now installed
Sun OS installation:
-------------------
- copy and compile the   pop3d   program
- copy the  pop3d  program to the   /etc   directory (NOTE: network
  files may be stored in a different directory on your system); it should
  be owned by   root   and should have permissions   700
  once installed, its directory listing should look something like this:
     -rwx------  1 root        49152 Feb  8  1990 /etc/in.pop3d
- if you use an /etc/services file,  add an entry for   pop3d   in the
  file /etc/services it should look like this:
     pop3		110/tcp		postoffice
- add an entry for   pop3d   in the file /usr/etc/inetd.conf
  it should look like this:
     pop3	stream	tcp	nowait	root	/etc/in.pop3d    in.pop3d
- if you are running Yellow Pages, remake  yp
- restart the   inetd   program;  inetd  will connect incoming TCP/IP
  traffic for the POP3 server to the   pop3d   program. Get the PID
  number for   inetd   with the   ps   command; then restart  inetd:
     wilma% ps -ax | grep inetd
       114 ?  IW    0:15 inetd
      2082 p1 S     0:00 grep inetd
     wilma% kill -HUP 114
     wilma%
- pop3d  is now installed
Special note for various UNIX-like operating systems
====================================================
When you compile the server, you may get an error involving
the    flock()    function or the    LOCK_EX and LOCK_UN
constants. The purpose of these calls is to create an exclusive
lock on the mailbox file. This prevents other processes from
re-writing the mailbox while the POP server is also writing or
reading from the mailbox.
In general, the flock() function may not be avialable on your system.
The 'brute force' way to get around this problem is to simply
comment out the flock() calls. However, this will leave the mailbox
file unprotected from other processes; if two processes write to the
file at the same time, the results are undefined.
As an alternative, you should check the source code for other
e-mail prcoesses on your system. Presumably, they will have some
kind of file locking mechanism. Modify the POP3 server source
code to use the same file locking mechanism.
-----------------------------------------------------------------------------
--  Katie Stevens
    dkstevens@ucdavis.edu
    Information Technology -- Campus Access Point
    University of California, Davis
This is the latest, as of Sun Feb 11, version of pop3 compiled quad-fat for NeXTSTEP. I have only tested it on m68k and in no way take responsibility for anyone using it. It compiled with the "standard" pointer to integer comparison errors. If you have any problems with the program and its functions please contact the maintainers of pop3. If you have any questions about this compilation please contact me and not the maintainers of pop3 as they have nothing to do with this compilation. I have included the source and assorted files in order for people to see the configuration variables used. If you would like a different configuration compiled get in touch with me and I'll see what I can do. --- Torrey McMahon American University School of Communication System Administrator, WebMaster, and Security Consultant NeXT, MIME, and ASCII PGP and CyptorBundle PGP Key available via finger and home page. Check the headers for both. tm8025a@american.edu http://www.soc.american.edu/~tm8025a
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.