Cubic Circle's POP3 daemon (fully RFC1939 compliant)

PR:		ports/4047
Submitted by:	Igor Vinokurov igor@zynaps.ru
This commit is contained in:
David E. O'Brien 1997-07-15 02:01:14 +00:00
parent 111bc97bf2
commit dc270a7b27
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=7329
7 changed files with 182 additions and 0 deletions

14
mail/cucipop/Makefile Normal file
View file

@ -0,0 +1,14 @@
# New ports collection makefile for: cucipop
# Version required: 1.14
# Date created: 7 Jun 1997
# Whom: igor@zynaps.ru
DISTNAME= cucipop-1.14
CATEGORIES= mail
MASTER_SITES= ftp://ftp.informatik.rwth-aachen.de/pub/packages/cucipop/
MAINTAINER= igor@zynaps.ru
MAN8= cucipop.8
.include <bsd.port.mk>

1
mail/cucipop/distinfo Normal file
View file

@ -0,0 +1 @@
MD5 (cucipop-1.14.tar.gz) = 6a50b18ecae0b28a139b8e18324e87f9

View file

@ -0,0 +1,62 @@
--- Makefile.orig Wed Oct 30 19:24:29 1996
+++ Makefile Mon Jul 7 14:27:28 1997
@@ -1,29 +1,29 @@
#$Id: Makefile,v 1.2 1996/10/30 16:24:29 srb Exp $
-BASENAME= /usr
+BASENAME= $(PREFIX)
GCC_WARNINGS = -O2 -pedantic -Wreturn-type -Wunused -Wformat \
-Wpointer-arith -Wconversion -Waggregate-return \
#-Wimplicit -Wshadow #-Wuninitialized
-CFLAGS = -O #$(GCC_WARNINGS)
-LDFLAGS =
+#CFLAGS = -O #$(GCC_WARNINGS)
+LDFLAGS += -lcrypt -lmd
O=o
-BINDIR=$(BASENAME)/sbin
+BINDIR=$(BASENAME)/libexec
MANDIR=$(BASENAME)/man/man8
-INSTALL=install -o root -m
-BINPERM=02755 -s -g mail
-REGPERM=0644
+INSTALL=install -o bin -m
+BINPERM=02555 -s -g mail
+REGPERM=0444 -g bin
#
# When compiling without APOP support, the md5 library can be omitted.
MD5_OBJ=md5/md5c.$(O)
-OBJS=cucipop.$(O) authenticate.$(O) locking.$(O) xcreat.$(O) $(MD5_OBJ)
+OBJS=cucipop.$(O) authenticate.$(O) locking.$(O) xcreat.$(O) #$(MD5_OBJ)
all: cucipop
--- authenticate.c.orig Fri Apr 11 18:08:31 1997
+++ authenticate.c Mon Jul 7 14:23:19 1997
@@ -36,7 +36,7 @@
#include "authenticate.h"
#ifndef MAILSPOOLDIR
-#define MAILSPOOLDIR "/var/spool/mail/" /* watch the trailing / */
+#define MAILSPOOLDIR "/var/mail/" /* watch the trailing / */
#endif
#ifndef MAILSPOOLHASH
#define MAILSPOOLHASH 0 /* 2 would deliver to /var/spool/mail/b/a/bar */
--- xcreat.c.orig Thu Apr 3 05:53:24 1997
+++ xcreat.c Mon Jul 7 14:23:19 1997
@@ -22,7 +22,7 @@
/*#define NOuname /* uncomment if uname is not available */
/*#define NOstrpbrk /* uncomment if strpbrk is not available */
/*#define strchr(s,c) index(s,c) /* uncomment if strchr is not available */
-#define const /* can be undefined for ANSI compilers */
+/*#define const /* can be undefined for ANSI compilers */
#include <unistd.h> /* open() close() link() unlink()
getpid() */

View file

@ -0,0 +1,58 @@
--- cucipop.8.orig Fri Apr 11 18:08:31 1997
+++ cucipop.8 Mon Jul 7 11:19:01 1997
@@ -48,11 +48,11 @@
.SH NAME
cucipop \- Cubic Circle POP3 daemon
.SH SYNOPSIS
-.B /usr/sbin/cucipop
+.B cucipop
.RB [ \-qaYdPUSDAT ]
.RB [ "\-p \fIport\fP" ]
.br
-.B /usr/sbin/cucipop
+.B cucipop
.B \-v
.ad
.SH DESCRIPTION
@@ -118,12 +118,12 @@
.IR port .
.SH EXAMPLES
Typically
-.I pop-3
+.I pop3
service is defined in
.BR services (5)
as follows:
.Sx 1
-pop-3 110/tcp
+pop3 110/tcp
.Ex
In order to start cucipop from within
.BR inetd (8),
@@ -131,22 +131,22 @@
.BR inetd.conf (5)
would be suitable:
.Sx 1
-pop-3 stream tcp nowait root /usr/sbin/cucipop cucipop -Y
+pop3 stream tcp nowait root /usr/local/libexec/cucipop cucipop -Y
.Ex
If your site gets many hits from popclients, it would be preferable
to start cucipop standalone as in:
.Sx 1
-/usr/sbin/cucipop -Y
+cucipop -Y
.Ex
.SH FILES
.TP 2.3i
.B /etc/passwd
for the default authentication method
.TP
-.B /var/spool/mail/$LOGNAME
+.B /var/mail/$LOGNAME
system mailbox
.TP
-.B /var/spool/mail/$LOGNAME.lock
+.B /var/mail/$LOGNAME.lock
lockfile for the system mailbox
.TP
.B _????`hostname`

1
mail/cucipop/pkg-comment Normal file
View file

@ -0,0 +1 @@
Cubic Circle's POP3 daemon (fully RFC1939 compliant)

44
mail/cucipop/pkg-descr Normal file
View file

@ -0,0 +1,44 @@
A fast and robust implementation of the RFC1939 POP3 protocol.
It supports both BSD-type and SysV-type mailbox formats. Cucipop
assumes that the mailbox it serves is not simultaneously accessed
by a mailreader. Concurrency and locking issues are handled
graciously if they restrict themselves to the mail delivery agent.
Feature summary for cucipop:
+ It's fast (optimised for frequently polling POP3 clients)
+ It's less filling (i.e. small)
+ Does not use *any* temporary files (which also means that the
startup time is spectacularly short, and there can never be
any stale temporary files or doubled mailboxes)
+ It can therefore serve *any* size mailbox without requiring
additional storage beyond what the file already occupies
+ A fully compliant, all frills attached, RFC1939 implementation of
the POP3 protocol
+ This means that it supports APOP *and* UIDL
+ It includes the option to sabotage the UIDL command (to defeat
undesirable "Leave mail on server" clients)
+ It also supports an optional autodelete mechanism, so that any
RETReived message is automatically deleted
+ Autoadaptive, simply start it and it will know if it has been
started from inetd or as a standalone daemon
+ Security conscious, i.e. the APOP support, already has hooks
for shadowpasswords, and defeats password guessers by an adaptive
verification delay
+ Supports both BSD and SysV (Content-Length) mailbox formats
+ Native support for /var/spool/mail/b/a/bar type mailspools
+ Is the only popd to perform reliable mailbox locking across
NFS as well (it uses the same excellent and proven locking
algorithms as does procmail)
+ Provides flexible logging of statistics and auditing events
+ Does not impose *any* limits on line lengths, mail length,
or the use of any character (any 8-bit character, including '\0' is
allowed) in the mail
+ Secure system mailbox handling
+ Has hooks to ease moving the mailboxes to any location you'd like
+ Has hooks for other authentication schemes (e.g. Radius)
+ Has hooks to virtualise the popserver
+ It runs on any POSIX and ANSI C compliant system
+ Is clock skew immune (e.g. in the case of NFS mounted mailboxes)
- Igor
igor@zynaps.ru

2
mail/cucipop/pkg-plist Normal file
View file

@ -0,0 +1,2 @@
libexec/cucipop
man/man8/cucipop.8.gz