1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-26 00:55:14 +00:00

POPular is a suite of programs for setting up large POP3 server systems. It

consists of a POP3 proxy, a storage server and lots of utility programs. Note
that this program is intended to be used in large email systems and is
therefore quite complex to configure. If you only have a few thousand
mailboxes, you are probably better of with a different POP3 server.
This commit is contained in:
Pav Lucistnik 2005-08-30 14:09:24 +00:00
parent 5720214bcf
commit b6ab23fb4f
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=141451
17 changed files with 399 additions and 0 deletions

View File

@ -371,6 +371,7 @@
SUBDIR += popper
SUBDIR += poppwd
SUBDIR += poppy
SUBDIR += popular
SUBDIR += postfinger
SUBDIR += postfix
SUBDIR += postfix-current

52
mail/popular/Makefile Normal file
View File

@ -0,0 +1,52 @@
# New ports collection makefile for: popular
# Date created: 11 July 2005
# Whom: Pav Lucistnik <pav@FreeBSD.org>
#
# $FreeBSD$
#
PORTNAME= popular
PORTVERSION= 1.5.5
CATEGORIES= mail
MASTER_SITES= http://www.remote.org/jochen/mail/popular/download/
MAINTAINER= pav@FreeBSD.org
COMMENT= Suite of programs for setting up large POP3 server systems
BUILD_DEPENDS= ${SITE_PERL}/XML/DOM.pm:${PORTSDIR}/textproc/p5-XML-DOM
USE_GMAKE= yes
USE_LIBTOOL_VER=15
USE_OPENSSL= yes
USE_PERL5= yes
PDM_MODULES= any master
CONFIGURE_ARGS= --without-bdb --disable-docbook --with-confdir=${PREFIX}/etc/popular \
--enable-ssl --with-pdm="${PDM_MODULES}"
CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" LIBS="-L${LOCALBASE}/lib"
USE_RC_SUBR= pcheckd.sh pproxy.sh pserv.sh 0ringd.sh
MAN1= pcheck.1 pcontrol.1 pdeliver.1 pstatus.1 ptestpdm.1
MAN7= popular-log.7
MAN8= pcheckd.8 pproxy.8 pserv.8 ringd.8
OPTIONS= DB4 "Build db4 pdm module" on
.include <bsd.port.pre.mk>
.if !defined(WITHOUT_DB4)
LIB_DEPENDS+= db4.0:${PORTSDIR}/databases/db4
PLIST_SUB+= WITH_DB4=""
PDM_MODULES+= db4
.else
PLIST_SUB+= WITH_DB4="@comment "
.endif
post-install:
${MKDIR} ${PREFIX}/etc/popular
${INSTALL_DATA} ${WRKSRC}/conf/pproxy.rc ${PREFIX}/etc/popular/pproxy.rc.sample
${INSTALL_DATA} ${WRKSRC}/conf/pserv.rc ${PREFIX}/etc/popular/pserv.rc.sample
${MKDIR} ${PREFIX}/include/popular
${FIND} ${WRKSRC}/src -name *.h | ${XARGS} -n 1 -J % ${INSTALL_DATA} % ${PREFIX}/include/popular
.include <bsd.port.post.mk>

2
mail/popular/distinfo Normal file
View File

@ -0,0 +1,2 @@
MD5 (popular-1.5.5.tar.gz) = 5288bbd7ae7eeda2b23784e76e464cbc
SIZE (popular-1.5.5.tar.gz) = 1161921

View File

@ -0,0 +1,37 @@
#!/bin/sh
#
# $FreeBSD$
#
# PROVIDE: ringd
# REQUIRE: NETWORKING SERVERS
# BEFORE: DAEMON
# KEYWORD: shutdown
# /etc/rc.conf lines:
# ringd_enable="YES" # enable ringd
# ringd_socket_user="pop" # user to own /var/run sockets
. %%RC_SUBR%%
name="ringd"
rcvar=`set_rcvar`
load_rc_config $name
: ${ringd_enable="NO"}
: ${ringd_socket_user="pop"}
command="%%PREFIX%%/sbin/ringd"
command_args="--user ${ringd_socket_user}"
start_precmd="${name}_prestart"
ringd_prestart()
{
mkdir -p /var/log/popular
chown ${ringd_socket_user} /var/log/popular
mkdir -p /var/run/popular
chown ${ringd_socket_user} /var/run/popular
}
run_rc_command "$1"

View File

@ -0,0 +1,28 @@
--- configure.orig Sat Aug 21 12:21:50 2004
+++ configure Mon Jul 11 17:20:12 2005
@@ -22157,13 +22157,13 @@
-echo "$as_me:$LINENO: checking for db_create in -ldb-4.0" >&5
-echo $ECHO_N "checking for db_create in -ldb-4.0... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for db_create in -ldb4" >&5
+echo $ECHO_N "checking for db_create in -ldb4... $ECHO_C" >&6
if test "${ac_cv_lib_db_4_0_db_create+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldb-4.0 $LIBS"
+LIBS="-ldb4 $LIBS"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -22221,7 +22221,7 @@
echo "$as_me:$LINENO: result: $ac_cv_lib_db_4_0_db_create" >&5
echo "${ECHO_T}$ac_cv_lib_db_4_0_db_create" >&6
if test $ac_cv_lib_db_4_0_db_create = yes; then
- LIB_DB40=db-4.0
+ LIB_DB40=db4
else
LIB_DB40=""
fi

View File

@ -0,0 +1,27 @@
--- src/Makefile.in.orig Sat Aug 21 12:26:23 2004
+++ src/Makefile.in Mon Jul 11 16:47:17 2005
@@ -132,7 +132,7 @@
have_sgml = @have_sgml@
prefix = @prefix@
-CFLAGS = -g -O2 -Wall
+CFLAGS += -Wall
#LDFLAGS = -static -lc_p
@@ -166,13 +166,13 @@
LDADD = @LIB_STRL@ @LIB_GETOPT@
-pproxy_LDADD = $(LDADD) @SSL_LIBS@ -ldl
+pproxy_LDADD = $(LDADD) @SSL_LIBS@
pserv_LDADD = $(LDADD) @SSL_LIBS@
pcontrol_LDADD = $(LDADD) @LIB_READLINE@
-ptestpdm_LDADD = $(LDADD) -ldl
+ptestpdm_LDADD = $(LDADD)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =

View File

@ -0,0 +1,12 @@
--- src/io.c.orig Sat Aug 21 12:19:29 2004
+++ src/io.c Mon Jul 11 16:16:50 2005
@@ -307,7 +307,8 @@
* A null byte was encountered in input from a network socket. This
* can never happen in a normal POP3 connection. */
xlog_printf(xlog_adm, 0x0035, "null_byte_in_input ctx='%s' len=%d data='%s'", ioc->io_desc, len, buf);
- errno = EPROTO;
+ /* Uh oh, nice to overload socket errcos for application level signalization */
+ errno = EPIPE;
return -1;
}
}

View File

@ -0,0 +1,10 @@
--- src/pcheckd.c.orig Sat Nov 22 22:27:22 2003
+++ src/pcheckd.c Mon Jul 11 16:20:48 2005
@@ -511,7 +511,6 @@
case SIGQUIT: /* fallthrough */
case SIGINT: /* fallthrough */
case SIGTERM: /* fallthrough */
- case SIGPWR: /* fallthrough */
/* XLOG-DOC:INF:0078:shutdown
* pcheckd received a QUIT, INT, TER, or PWR signal and is
* shutting down. */

View File

@ -0,0 +1,12 @@
--- src/popular.h.orig Thu Nov 28 14:56:03 2002
+++ src/popular.h Mon Jul 11 16:19:50 2005
@@ -26,9 +26,7 @@
*****************************************************************************/
-#include <alloca.h>
#include <arpa/inet.h>
-#include <crypt.h>
#include <ctype.h>
#include <dirent.h>
#include <dlfcn.h>

View File

@ -0,0 +1,12 @@
--- src/pproxy.c.orig Mon Nov 24 20:23:30 2003
+++ src/pproxy.c Mon Jul 11 16:21:13 2005
@@ -580,9 +580,6 @@
case SIGTERM:
pproxy_shutdown(SHUTDOWN_CHILDREN | SHUTDOWN_SERVER);
break;
- case SIGPWR:
- pproxy_shutdown(SHUTDOWN_DELAYED);
- break;
case SIGHUP:
logfd = xlog_reopen(conf.logfile, PPROXY_LOG_MODE);
break;

View File

@ -0,0 +1,12 @@
--- src/pserv.c.orig Sun Sep 15 14:27:16 2002
+++ src/pserv.c Mon Jul 11 16:23:03 2005
@@ -484,9 +484,6 @@
case SIGTERM:
pserv_shutdown(SHUTDOWN_CHILDREN | SHUTDOWN_SERVER);
break;
- case SIGPWR:
- pserv_shutdown(SHUTDOWN_DELAYED);
- break;
case SIGHUP:
xlog_reopen(conf.logfile, PSERV_LOG_MODE);
break;

View File

@ -0,0 +1,18 @@
--- src/sig.c.orig Sun Sep 15 14:27:16 2002
+++ src/sig.c Mon Jul 11 16:21:23 2005
@@ -114,7 +114,6 @@
signal_set(sigHandler, SIGQUIT, 0);
signal_set(sigHandler, SIGUSR1, 0);
signal_set(sigHandler, SIGUSR2, 0);
- signal_set(sigHandler, SIGPWR, 0);
}
@@ -138,7 +137,6 @@
signal_set(sigDefault, SIGQUIT, 0);
signal_set(sigDefault, SIGUSR1, 0);
signal_set(sigDefault, SIGUSR2, 0);
- signal_set(sigDefault, SIGPWR, 0);
if (signal_remember[SIGTERM] || signal_remember[SIGINT]) {
/* XLOG-DOC:INF:0133:got_term_signal

View File

@ -0,0 +1,37 @@
#!/bin/sh
#
# $FreeBSD$
#
# PROVIDE: pcheckd
# REQUIRE: NETWORKING SERVERS
# BEFORE: DAEMON
# KEYWORD: shutdown
# /etc/rc.conf lines:
# pcheckd="YES" # enable pcheckd
# pcheckd="pop" # user for pcheckd
. %%RC_SUBR%%
name="pcheckd"
rcvar=`set_rcvar`
load_rc_config $name
: ${pcheckd="NO"}
: ${pcheckd="pop"}
command="%%PREFIX%%/sbin/pcheckd"
start_precmd="${name}_prestart"
extra_commands="reload"
pproxy_prestart()
{
mkdir -p /var/log/popular
chown ${pproxy_user} /var/log/popular
mkdir -p /var/run/popular
chown ${pproxy_user} /var/run/popular
}
run_rc_command "$1"

View File

@ -0,0 +1,47 @@
#!/bin/sh
#
# $FreeBSD$
#
# PROVIDE: pproxy
# REQUIRE: NETWORKING SERVERS
# BEFORE: DAEMON
# KEYWORD: shutdown
# /etc/rc.conf lines:
# pproxy_enable="YES" # enable pproxy
# pproxy_user="pop" # user to pproxy
. %%RC_SUBR%%
name="pproxy"
rcvar=`set_rcvar`
load_rc_config $name
: ${pproxy_enable="NO"}
: ${pproxy_user="pop"}
command="%%PREFIX%%/sbin/pproxy"
start_precmd="${name}_prestart"
start_postcmd="${name}_configure"
extra_commands="reload"
reload_cmd="${name}_configure"
pproxy_prestart()
{
mkdir -p /var/log/popular
chown ${pproxy_user} /var/log/popular
mkdir -p /var/run/popular
chown ${pproxy_user} /var/run/popular
}
pproxy_configure()
{
if [ -f %%PREFIX%%/etc/popular/pproxy.rc ]; then
sleep 1;
su -m ${pproxy_user} -c "%%PREFIX%%/bin/pcontrol --program=pproxy %%PREFIX%%/etc/popular/pproxy.rc"
fi
}
run_rc_command "$1"

View File

@ -0,0 +1,47 @@
#!/bin/sh
#
# $FreeBSD$
#
# PROVIDE: pserv
# REQUIRE: NETWORKING SERVERS
# BEFORE: DAEMON
# KEYWORD: shutdown
# /etc/rc.conf lines:
# pserv="YES" # enable pserv
# pserv="pop" # user for pserv
. %%RC_SUBR%%
name="pserv"
rcvar=`set_rcvar`
load_rc_config $name
: ${pserv="NO"}
: ${pserv="pop"}
command="%%PREFIX%%/sbin/pserv"
start_precmd="${name}_prestart"
start_postcmd="${name}_configure"
extra_commands="reload"
reload_cmd="${name}_configure"
pproxy_prestart()
{
mkdir -p /var/log/popular
chown ${pproxy_user} /var/log/popular
mkdir -p /var/run/popular
chown ${pproxy_user} /var/run/popular
}
pproxy_configure()
{
if [ -f %%PREFIX%%/etc/popular/pserv.rc ]; then
sleep 1;
su -m ${pproxy_user} -c "%%PREFIX%%/bin/pcontrol --program=pserv %%PREFIX%%/etc/popular/pserv.rc"
fi
}
run_rc_command "$1"

7
mail/popular/pkg-descr Normal file
View File

@ -0,0 +1,7 @@
POPular is a suite of programs for setting up large POP3 server systems. It
consists of a POP3 proxy, a storage server and lots of utility programs. Note
that this program is intended to be used in large email systems and is
therefore quite complex to configure. If you only have a few thousand
mailboxes, you are probably better of with a different POP3 server.
WWW: http://www.remote.org/jochen/mail/popular/

38
mail/popular/pkg-plist Normal file
View File

@ -0,0 +1,38 @@
bin/pcheck
bin/pstatus
bin/pdeliver
bin/pcontrol
bin/ptestpdm
etc/popular/pproxy.rc.sample
etc/popular/pserv.rc.sample
include/popular/ctrl.h
include/popular/daemon.h
include/popular/info.h
include/popular/io.h
include/popular/mailbox.h
include/popular/net.h
include/popular/pconfig.h
include/popular/pdm.h
include/popular/pop3.h
include/popular/popular.h
include/popular/pproxy.h
include/popular/pserv.h
include/popular/ringd.h
include/popular/sig.h
include/popular/smtp_after_pop.h
include/popular/uds.h
include/popular/util.h
include/popular/xlog.h
lib/popular/libpdm_any-1.5.5.so
lib/popular/libpdm_any.so
lib/popular/libpdm_master-1.5.5.so
lib/popular/libpdm_master.so
%%WITH_DB4%%lib/popular/libpdm_db4-1.5.5.so
%%WITH_DB4%%lib/popular/libpdm_db4.so
sbin/pcheckd
sbin/pproxy
sbin/pserv
sbin/ringd
@dirrm include/popular
@dirrm lib/popular
@unexec rmdir %D/etc/popular 2>/dev/null || true