DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: R T

⟦2c925b49e⟧ TextFile

    Length: 11103 (0x2b5f)
    Types: TextFile
    Names: »README«

Derivation

└─⟦9ae75bfbd⟧ Bits:30007242 EUUGD3: Starter Kit
    └─⟦ac17ffda3⟧ »EurOpenD3/mail/popper-1.7b1.tar.Z« 
        └─⟦d6ac5563a⟧ 
            └─⟦this⟧ »README« 

TextFile

%W%	%G%


The Post Office Protocol Server:  Installation Guide



Introduction

The Post Office Protocol server runs on a variety of Unix[1] computers
to manage electronic mail for Macintosh and MS-DOS computers.  The
server was developed at the University of California at Berkeley and
conforms fully to the specifications in RFC 1081[2] and RFC 1082[3].
The Berkeley server also has extensions to send electronic mail on
behalf of a client.

This guide explains how to install the POP server on your Unix
computer.  It assumes that you are not only familiar with Unix but also
capable of performing Unix system administration.


How to Obtain the Server

The POP server is available via anonymous ftp from lilac.Berkeley.EDU
(128.32.136.12).  It is in two files in the pub directory: a compressed
tar file popper.tar.Z and a Macintosh StuffIt archive in BinHex format
called MacPOP.sit.hqx.


Contents of the Distribution

The distribution contains the following:

+	All of the C source necessary to create the server program.

+	A visual representation of how the POP system works.

+	Reprints of RFC 1081 and RFC 1082.

+	A HyperCard stack POP client implementation using MacTCP.

+	A man page for the popper daemon.

+	This guide.


Compatibility

The Berkeley POP server has been successfully tested on the following
Unix operating systems:

+	Berkeley Systems Distribution 4.3

+	Sun Microsystems Operating System versions 3.5 and 4.0

+	Ultrix version 2.3

The following POP clients operate correctly with the Berkeley POP server:

+	The Berkeley HyperMail HyperCard stack for the Apple Macintosh 
	(distributed with the server).

+	The Stanford University Macintosh Internet Protocol MacMH program.

+	The Stanford University Personal Computer Internet Protocol MH 
	program.

+	The mh version 6.0 programs for Unix.


Support

The Berkeley POP server is not officially supported and is without any
warranty, explicit or implied.  However, we are interested in your
experiences using the server.  Bugs, comments and suggestions should be
sent electronically to netinfo@garnet.Berkeley.EDU.


Operational Characteristics

The POP Transaction Cycle

The Berkeley POP server is a single program (called popper) that is
launched by inetd when it gets a service request on the POP TCP port.
(The official port number specified in RFC 1081 for POP version 3 is
port 110.  However, some POP3 clients attempt to contact the server at
port 109, the POP version 2 port.  Unless you are running both POP2 and
POP3 servers, you can simply define both ports for use by the POP3
server.  This is explained in the installation instructions later on.)
The popper program initializes and verifies that the peer IP address is
registered in the local domain, logging a warning message when a
connection is made to a client whose IP address does not have a
canonical name.  For systems using BSD 4.3 bind, it also checks to see
if a cannonical name lookup for the client returns the same peer IP
address, logging a warning message if it does not.  The the server
enters the authorization state, during which the client must correctly
identify itself by providing a valid Unix userid and password on the
server's host machine.  No other exchanges are allowed during this
state (other than a request to quit.)  If authentication fails, a
warning message is logged and the session ends.  Once the user is
identified, popper changes its user and group ids to match that of the
user and enters the transaction state.  The server makes a temporary
copy of the user's maildrop (ordinarily in /usr/spool/mail) which is
used for all subsequent transactions.  These include the bulk of POP
commands to retrieve mail, delete mail, undelete mail, and so forth.  A
Berkeley extension also allows the user to submit a mail parcel to the
server who mails it using the sendmail program (this extension is
supported in the HyperMail client distributed with the server).  When
the client quits, the server enters the final update state during which
the network connection is terminated and the user's maildrop is updated
with the (possibly) modified temporary maildrop.


Logging

The POP server uses syslog to keep a record of its activities.  On
systems with BSD 4.3 syslogging, the server logs (by default) to the
"local0" facility at priority "notice" for all messages except
debugging which is logged at priority "debug".  The default log file is
/usr/spool/mqueue/POPlog.  These can be changed, if desired.  On
systems with 4.2 syslogging all messages are logged to the local log
file, usually /usr/spool/mqueue/syslog.


Debugging

The popper program will log debugging information when the -d parameter
is specified after its invocation in the inetd.conf file.  Care should
be exercised in using this option since it generates considerable
output in the syslog file.  Alternatively, the "-t <file-name>" option
will place debugging information into file "<file-name>" using fprintf
instead of syslog.

For SunOS version 3.5, the popper program is launched by inetd from
/etc/servers.  This file does not allow you to specify command line
arguments.  Therefore, if you want to enable debugging, you can specify
a shell script in /etc/servers to be launched instead of popper and in
this script call popper with the desired arguments.


Installation

1.	Examine this file for the latest information, warnings, etc.

2.	Check the Makefile for conformity with your system.

3.	Issue the make command in the directory containing the popper 
	source.

4.	Issue the make install command in the directory containing the 
	popper source to copy the program to /usr/etc.

5.	Enable syslogging:

	+	For systems with 4.3 syslogging:

		Add the following line to the /etc/syslog.conf file:

			local0.notice;local0.debug	/usr/spool/mqueue/POPlog

		Create the empty file /usr/spool/mqueue/POPlog.

		Kill and restart the syslogd daemon.

	+	For systems with 4.2 syslogging:

		Be sure that you are logging messages of priority 7 and higher.  
		For example:

			7/usr/spool/mqueue/syslog
			9/dev/null

6.	Update /etc/services:

	Add the following line to the /etc/services file:

		pop	110/tcp

	Note:  This is the official port number for version 3 of the
	Post Office Protocol as defined in RFC 1081.  However, some
	POP3 clients use port 109, the port number for the previous
	version (2) of POP.  Therefore you may also want to add the
	following line to the /etc/services file:

	pop2	109/tcp

	For Sun systems running yp, also do the following:

	+	Change to the /var/yp directory.

	+	Issue the make services command.

7.	Update the inetd daemon configuration.  Include the second line ONLY if you
	are running the server at both ports.

	+	On BSD 4.3 and SunOS 4.0 systems, add the following line to the 
		/etc/inetd.conf file:

		pop stream tcp nowait root /usr/etc/popper popper
		pop2 stream tcp nowait root /usr/etc/popper popper

	+	On Ultrix systems, add the following line to the 
		/etc/inetd.conf file:

		pop stream tcp nowait /usr/etc/popper popper
		pop2 stream tcp nowait /usr/etc/popper popper

	+	On SunOS 3.5 systems, add the following line to the 
		/etc/servers file:

		pop tcp /usr/etc/popper
		pop2 tcp /usr/etc/popper

		Kill and restart the inetd daemon.

You can confirm that the POP server is running on Unix by telneting to
port 110 (or 109 if you set it up that way).  For example:

%telnet myhost 110
Trying...
Connected to myhost.berkeley.edu.
Escape character is '^]'.
+OK UCB Pop server (version 1.6) at myhost starting.
quit
Connection closed by foreign host.


Release Notes

1.7		Extensive re-write of the maildrop processing code contributed by 
		Viktor Dukhovni <viktor@math.princeton.edu> that greatly reduces the
		possibility that the maildrop can be corrupted as the result of
		simultaneous access by two or more processes.

		Encased all debugging code in #ifdef DEBUG constructs.  This code can
		be included by specifying the DEGUG compiler flag.  Note:  You still
		need to use the -d or -t option to obtain debugging output.

1.6		Corrects a bug that causes the server to crash on SunOS
		4.0 systems.

		Uses varargs and vsprintf (if available) in pop_log and
		pop_msg.  This is enabled by the "HAVE_VSPRINTF"
		compiler flag.

		For systems with BSD 4.3 bind, performs a cannonical
		name lookup and searches the returned address(es) for
		the client's address, logging a warning message if it
		is not located.  This is enabled by the "BIND43"
		comiler flag.

		Removed all the includes from popper.h and distributed
		them throughout the porgrams files, as needed.

		Reformatted the source to convert tabs to spaces and
		shorten lines for display on 80-column terminals.

1.5		Creates the temporary maildrop with mode "600" and
		immediately unlinks it.

		Uses client's IP address in lieu of a canonical name if
		the latter cannot be obtained.

		Added "-t <file-name>" option.  The presence of this
		option causes debugging output to be placed in the file
		"file-name" using fprintf instead of the system log
		file using syslog.

		Corrected maildrop parsing problem.

1.4		Copies user's mail into a temporary maildrop on which
		all subsequent activity is performed.

		Added "pop_log" function and replaced "syslog" calls
		throughout the code with it.

1.3		Corrected updating of Status: header line.

		Added strncasecmp for systems that do not have one.
		Used strncasecmp in all appropriate places.  This is
		enabled by the STRNCASECMP compiler flag.

1.2		Support for version 4.2 syslogging added.  This is
		enabled by the SYSLOG42 compiler flag.

1.1		Several bugs fixed.

1.0		Original version.


Limitations

+	The POP server copies the user's entire maildrop to /tmp and
	then operates on that copy.  If the maildrop is particularly
	large, or inadequate space is available in /tmp, then the
	server will refuse to continue and terminate the connection.

+	Simultaneous modification of a single maildrop can result in 
	confusing results.  For example, manipulating messages in a
	maildrop using the Unix /usr/ucb/mail command while a copy of
	it is being processed by the POP server can cause the changes
	made by one program to be lost when the other terminates.  This
	problem is being worked on and will be fixed in a later
	release.


Credits

The POP server was written by Edward Moy and Austin Shelton with
contributions from Robert Campbell (U.C. Berkeley) and Viktor Dukhovni
(Princeton University).  Edward Moy wrote the HyperMail stack and drew
the POP operation diagram.  This installation guide was written by
Austin Shelton.


Footnotes

[1] Copyright (c) 1990 Regents of the University of California.
	All rights reserved.  The Berkeley software License Agreement
	specifies the terms and conditions for redistribution.  Unix is
	a registered trademark of AT&T corporation.  HyperCard and
	Macintosh are registered trademarks of Apple Corporation.

[2] M. Rose, Post Office Protocol - Version 3.  RFC  1081, NIC, 
	November 1988.

[3] M. Rose, Post Office Protocol - Version 3 Extended Service 
	Offerings.  RFC 1082, NIC, November 1988.