*** empty log message ***
[heimdal.git] / appl / popper / popper.8
blob30dc5b93fcf84a6303a25ae3f60f1ec4d51845fc
1 .\" Copyright (c) 1980 Regents of the University of California.
2 .\" All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms are permitted
5 .\" provided that this notice is preserved and that due credit is given
6 .\" to the University of California at Berkeley. The name of the University
7 .\" may not be used to endorse or promote products derived from this
8 .\" software without specific prior written permission. This software
9 .\" is provided ``as is'' without express or implied warranty.
10 .\"
11 .\" @(#)@(#)popper.8    2.3    2.3    (CCS)   4/2/91     Copyright (c) 1990 Regents of the University of California.\nAll rights reserved.\n
12 .\"
13 .TH popper 8 "August 1990"
14 .UC 6
15 .ad
16 .SH NAME
17 popper \- pop 3 server
18 .SH SYNOPSIS
19 .B /usr/etc/popper
20 [ -d ]
21 [ -a ]
22 [ -k ]
23 [ -t trace-file]
24 [ -i ]
25 [ -p portnum]
26 .SH DESCRIPTION
27 .I Popper
28 is an implementation of the Post Office Protocol server that runs on a
29 variety of Unix computers to manage electronic mail for Macintosh
30 and MS-DOS computers.  The server was developed at the University of
31 California at Berkeley and conforms fully to the specifications in RFC
32 1081 and RFC 1082.  The Berkeley server also has extensions to
33 send electronic mail on behalf of a client.
34 .PP
35 The 
36 .B \-d
37 flag sets the socket to debugging and turns on debugging.  All debugging
38 information is saved using syslog(8).  
39 .PP
40 The 
41 .B \-t trace\-file
42 flag turns on debugging and saves the trace information in
43 .I trace\-file
44 using fprintf(s).
45 .PP
46 The
47 .B \-k
48 flag tells popper to talk the kerberised POP protocol (KPOP).
49 .PP
50 The
51 .B \-a
52 flag tells popper not to accept any cleartext passwords, but only OTPs.
53 .PP
54 The
55 .B \-i
56 flag tells popper it has not been started by inetd and should create
57 its own socket and listen on it.  This is useful for debugging.
58 .PP
59 The
60 .B \-p portnum
61 flag tells popper on which port it should listen for connections when
62 creating a socket.
63 .SH HOW TO OBTAIN THE SERVER
64 .PP
65 The POP server is available via anonymous ftp from ftp.CC.Berkeley.EDU
66 (128.32.136.9, 128.32.206.12).  It is in two files in the pub directory:
67 a compressed
68 tar file popper.tar.Z and a Macintosh StuffIt archive in BinHex format
69 called MacPOP.sit.hqx.
70 .SH THE POP TRANSACTION CYCLE
71 .PP
72 The Berkeley POP server is a single program (called popper) that is
73 launched by inetd when it gets a service request on the POP TCP port.
74 (The official port number specified in RFC 1081 for POP version 3 is
75 port 110.  However, some POP3 clients attempt to contact the server at
76 port 109, the POP version 2 port.  Unless you are running both POP2 and
77 POP3 servers, you can simply define both ports for use by the POP3
78 server.  This is explained in the installation instructions later on.)
79 The popper program initializes and verifies that the peer IP address is
80 registered in the local domain, logging a warning message when a
81 connection is made to a client whose IP address does not have a
82 canonical name.  For systems using BSD 4.3 bind, it also checks to see
83 if a cannonical name lookup for the client returns the same peer IP
84 address, logging a warning message if it does not.  The the server
85 enters the authorization state, during which the client must correctly
86 identify itself by providing a valid Unix userid and password on the
87 server's host machine.  No other exchanges are allowed during this
88 state (other than a request to quit.)  If authentication fails, a
89 warning message is logged and the session ends.  Once the user is
90 identified, popper changes its user and group ids to match that of the
91 user and enters the transaction state.  The server makes a temporary
92 copy of the user's maildrop (ordinarily in /usr/spool/mail) which is
93 used for all subsequent transactions.  These include the bulk of POP
94 commands to retrieve mail, delete mail, undelete mail, and so forth.  A
95 Berkeley extension also allows the user to submit a mail parcel to the
96 server who mails it using the sendmail program (this extension is
97 supported in the HyperMail client distributed with the server).  When
98 the client quits, the server enters the final update state during which
99 the network connection is terminated and the user's maildrop is updated
100 with the (possibly) modified temporary maildrop.
101 .SH LOGGING
103 The POP server uses syslog to keep a record of its activities.  On
104 systems with BSD 4.3 syslogging, the server logs (by default) to the
105 "local0" facility at priority "notice" for all messages except
106 debugging which is logged at priority "debug".  The default log file is
107 /usr/spool/mqueue/POPlog.  These can be changed, if desired.  On
108 systems with 4.2 syslogging all messages are logged to the local log
109 file, usually /usr/spool/mqueue/syslog.
110 .SH DEBUGGING
112 The popper program will log debugging information when the -d parameter
113 is specified after its invocation in the inetd.conf file.  Care should
114 be exercised in using this option since it generates considerable
115 output in the syslog file.  Alternatively, the "-t <file-name>" option
116 will place debugging information into file "<file-name>" using fprintf
117 instead of syslog.
119 For SunOS version 3.5, the popper program is launched by inetd from
120 /etc/servers.  This file does not allow you to specify command line
121 arguments.  Therefore, if you want to enable debugging, you can specify
122 a shell script in /etc/servers to be launched instead of popper and in
123 this script call popper with the desired arguments.
125 You can confirm that the POP server is running on Unix by telneting to
126 port 110 (or 109 if you set it up that way).  For example:
129 %telnet myhost 110
130 Trying...
131 Connected to myhost.berkeley.edu.
132 Escape character is '^]'.
133 +OK UCB Pop server (version 1.6) at myhost starting.
134 quit
135 Connection closed by foreign host.
137 .SH VERSION 1.7 RELEASE NOTES
138 Extensive re-write of the maildrop processing code contributed by 
139 Viktor Dukhovni <viktor@math.princeton.edu> that greatly reduces the
140 possibility that the maildrop can be corrupted as the result of
141 simultaneous access by two or more processes.
143 Added "pop_dropcopy" module to create a temporary maildrop from
144 the existing, standard maildrop as root before the setuid and 
145 setgid for the user is done.  This allows the temporary maildrop
146 to be created in a mail spool area that is not world read-writable.
148 This version does *not* send the sendmail "From " delimiter line
149 in response to a TOP or RETR command.
151 Encased all debugging code in #ifdef DEBUG constructs.  This code can
152 be included by specifying the DEGUG compiler flag.  Note:  You still
153 need to use the -d or -t option to obtain debugging output.
154 .SH LIMITATIONS
155 The POP server copies the user's entire maildrop to /tmp and
156 then operates on that copy.  If the maildrop is particularly
157 large, or inadequate space is available in /tmp, then the
158 server will refuse to continue and terminate the connection.
160 Simultaneous modification of a single maildrop can result in 
161 confusing results.  For example, manipulating messages in a
162 maildrop using the Unix /usr/ucb/mail command while a copy of
163 it is being processed by the POP server can cause the changes
164 made by one program to be lost when the other terminates.  This
165 problem is being worked on and will be fixed in a later
166 release.
167 .SH FILES
169 /usr/spool/mail         mail files
170 /etc/inetd.conf         pop program invocation
171 /etc/syslog.conf        logging specifications
173 .SH "SEE ALSO"
174 inetd(8), 
175 RFC1081, 
176 RFC1082
177 .SH AUTHORS
178 Bob Campbell, Edward Moy, Austin Shelton, Marshall T Rose, and cast of
179 thousands at Rand, UDel, UCI, and elsewhere