Update to 1.9.26. This fixes numerous bugs (security and otherwise)

since version 1.9.19 as mentioned by the developer on ports@.

Also brought the port itself up to date and added myself as maintainer.

ok pvalchev@ naddy@
This commit is contained in:
marcm 2002-09-24 00:24:19 +00:00
parent 9036c052e7
commit f50b102e1e
7 changed files with 219 additions and 202 deletions

View File

@ -1,29 +1,41 @@
# $OpenBSD: Makefile,v 1.20 2001/10/28 13:05:48 espie Exp $
# $OpenBSD: Makefile,v 1.21 2002/09/24 00:24:19 marcm Exp $
COMMENT= "USENET software package designed for small sites"
COMMENT= "USENET software package designed for small sites"
DISTNAME= leafnode-1.9.19
CATEGORIES= news
NEED_VERSION= 1.402
MASTER_SITES= ftp://wpxx02.toxi.uni-wuerzburg.de/pub/ \
ftp://ftp.karlsruhe.org/pub/news/servers/leafnode/ \
ftp://ftp.unixpower.org/pub/leafnode/ \
ftp://ftp.stikman.com/pub/leafnode/ \
ftp://ftp.gigabell.net/pub/leafnode/
VERSION= 1.9.26
DISTNAME= leafnode-${VERSION}.rel
PKGNAME= leafnode-${VERSION}
CATEGORIES= news
HOMEPAGE= http://www.leafnode.org/
HOMEPAGE= http://www.leafnode.org/
MAINTAINER= Marc Matteo <marcm@openbsd.org>
# GPL/LGPL/Other
PERMIT_PACKAGE_CDROM= Yes
PERMIT_PACKAGE_FTP= Yes
PERMIT_DISTFILES_CDROM= Yes
PERMIT_DISTFILES_FTP= Yes
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=leafnode/}
EXTRACT_SUFX= .tar.bz2
LIB_DEPENDS= pcre::devel/pcre
SYSCONFDIR= /etc/leafnode
CONFIGURE_STYLE= gnu
CONFIGURE_ARGS+= --sysconfdir=/etc/leafnode --localstatedir=/var
CONFIGURE_ARGS+= --localstatedir=/var
CONFIGURE_ARGS+= --with-lockfile=/var/spool/news/fetchnews.lck
CONFIGURE_ARGS+= --with-ipv6
post-install:
$(INSTALL_DATA_DIR) ${PREFIX}/share/doc/leafnode
cd ${WRKSRC} && $(INSTALL_DATA) README INSTALL FAQ config.example \
${PREFIX}/share/doc/leafnode
@$(INSTALL_DATA_DIR) ${PREFIX}/share/doc/leafnode && \
cd ${WRKSRC} && \
$(INSTALL_DATA) README README-FQDN TROUBLESHOOTING INSTALL FAQ \
${PREFIX}/share/doc/leafnode
@${INSTALL_DATA_DIR} ${PREFIX}/share/examples/leafnode && \
mv ${WRKINST}/${SYSCONFDIR}/config.example \
${PREFIX}/share/examples/leafnode/config && \
cp -Rp ${WRKINST}/${SYSCONFDIR}/* ${PREFIX}/share/examples/leafnode/
.include <bsd.port.mk>

View File

@ -1,3 +1,3 @@
MD5 (leafnode-1.9.19.tar.gz) = dc7b33592283b92ba45ba38ae75e024e
RMD160 (leafnode-1.9.19.tar.gz) = 9ab785734ac3cd5440d2574d542796adf0a80964
SHA1 (leafnode-1.9.19.tar.gz) = 2eb67402f3ce022432c508d11b4d5ad0ae689143
MD5 (leafnode-1.9.26.rel.tar.bz2) = e2f671e0b1240c3d1274eb9b6de2b184
RMD160 (leafnode-1.9.26.rel.tar.bz2) = 79140aae6003dab6c5b3a16015469b00f374461f
SHA1 (leafnode-1.9.26.rel.tar.bz2) = a3db611ea4f6dc084fee94c850a47913c61b53ee

View File

@ -1,18 +1,17 @@
$OpenBSD: patch-INSTALL,v 1.1 2001/02/24 18:04:55 fgsch Exp $
--- INSTALL.orig Mon Jan 8 04:37:44 2001
+++ INSTALL Sat Feb 24 14:50:13 2001
@@ -64,11 +64,11 @@
9. Edit /etc/inetd.conf so that $(BINDIR)/leafnode is executed for incoming
NNTP connections. Here is my inetd.conf line:
$OpenBSD: patch-INSTALL,v 1.2 2002/09/24 00:24:19 marcm Exp $
--- INSTALL.orig Sun Sep 22 00:41:37 2002
+++ INSTALL Sun Sep 22 00:43:30 2002
@@ -160,11 +160,10 @@
for incoming NNTP connections. Here is my inetd.conf line (insert
it at the leftmost column, without leading spaces!):
-nntp stream tcp nowait news /usr/sbin/tcpd /usr/local/sbin/leafnode
+nntp stream tcp nowait news /usr/libexec/tcpd /usr/local/sbin/leafnode
- nntp stream tcp nowait news /usr/sbin/tcpd /usr/local/sbin/leafnode
+ nntp stream tcp nowait news /usr/libexec/tcpd /usr/local/sbin/leafnode
This starts leafnode for all connections on the nntp port, subject to
- /etc/hosts/allow and /etc/hosts.deny screening. If you don't have
- /usr/sbin/tcpd you might use this line instead:
+ /etc/hosts/allow and /etc/hosts.deny screening. If you don't want to use
+ /usr/libexec/tcpd you might use this line instead:
nntp stream tcp nowait news /usr/local/sbin/leafnode
This starts leafnode for all connections on the nntp port, subject to
- /etc/hosts.allow and /etc/hosts.deny screening. If you don't have
- /usr/sbin/tcpd, fetch the tcp_wrappers package and install it.
+ /etc/hosts.allow and /etc/hosts.deny screening.
Using leafnode without tcpd is not supported and opens your computer
to abuse (even happens on modem lines that are only connected during

View File

@ -1,84 +1,19 @@
$OpenBSD: patch-Makefile_in,v 1.4 2001/06/10 21:32:26 rohee Exp $
--- Makefile.in.orig Tue Jun 5 17:36:14 2001
+++ Makefile.in Thu Jun 7 23:50:19 2001
@@ -19,7 +19,7 @@ PCRELIB = @PCRELIB@
# Flags
DEBUG = -g
STRIP = -s
-CFLAGS = -I. @DEFS@ @GCC_FLAGS@ $(DEBUG)
+CFLAGS = -I. @DEFS@ @CFLAGS@
LIBS = @LIBS@
$OpenBSD: patch-Makefile_in,v 1.5 2002/09/24 00:24:19 marcm Exp $
--- Makefile.in.orig Fri Sep 20 03:49:58 2002
+++ Makefile.in Sat Sep 21 20:16:58 2002
@@ -1062,15 +1062,7 @@ install-data-hook: quickmkdir amiroot
set -e ; for i in . leaf.node failed.postings interesting.groups \
out.going message.id temp.files ; do \
mkdir -p $(DESTDIR)$(SPOOLDIR)/$$i ; \
- if ./amiroot ; then \
- chown news:news $(DESTDIR)$(SPOOLDIR)/$$i ; \
- chmod 2775 $(DESTDIR)$(SPOOLDIR)/$$i ; fi ; \
done
- d="`dirname $(DESTDIR)@LOCKFILE@`" ; mkdir -p "$${d}" && \
- if ./amiroot ; then \
- chown news:news "$${d}" ; \
- chmod 2775 "$${d}" ; fi
- ./quickmkdir $(DESTDIR)
# Directories and Paths
@@ -32,7 +32,9 @@ BINDIR = $(PREFIX_USR)/sbin
MANDIR = $(PREFIX_USR)/man
SPOOLDIR = $(PREFIX_VAR)/spool/news
LIBDIR = /etc/leafnode
-LOCKFILE = /var/lock/news/fetchnews.lck
+LOCKFILE = $(SPOOLDIR)/fetchnews.lck
+
+INSTALLROOT = $(DESTDIR)
# RPM crap
RPM = @RPM@
@@ -122,51 +124,15 @@ config.o: config.c Makefile
-DVERSION=\"$(VERSION)\" $<
install: liblnutil.a nntpd fetchnews texpire checkgroups applyfilter newsq
- $(INSTALL) -d -o root -g 0 -m 755 $(INSTALLROOT)$(MANDIR)/man1
- $(INSTALL) -d -o root -g 0 -m 755 $(INSTALLROOT)$(MANDIR)/man7
- $(INSTALL) -d -o root -g 0 -m 755 $(INSTALLROOT)$(MANDIR)/man8
- $(INSTALL) -d -o root -g bin -m 755 $(INSTALLROOT)$(BINDIR)
- $(INSTALL) -d -o root -g bin -m 755 $(INSTALLROOT)$(USRDIR)
- $(INSTALL) -c -g news -m 750 -o news $(STRIP) nntpd $(INSTALLROOT)$(BINDIR)/leafnode
- $(INSTALL) -c -g news -m 750 -o news $(STRIP) fetchnews $(INSTALLROOT)$(BINDIR)/fetchnews
- $(INSTALL) -c -g news -m 750 -o news $(STRIP) texpire $(INSTALLROOT)$(BINDIR)/texpire
- $(INSTALL) -c -g news -m 750 -o news $(STRIP) checkgroups $(INSTALLROOT)$(BINDIR)/checkgroups
- $(INSTALL) -c -g news -m 750 -o news $(STRIP) applyfilter $(INSTALLROOT)$(BINDIR)/applyfilter
- $(INSTALL) -c -g news -m 755 -o news $(STRIP) newsq $(INSTALLROOT)$(USRDIR)/newsq
- $(INSTALL) -c -m 644 $(srcdir)/*.8 $(INSTALLROOT)$(MANDIR)/man8
- if test $(PCRELIB) ; then $(INSTALL) -c -m 644 $(srcdir)/pcre/pcre.7 $(INSTALLROOT)$(MANDIR)/man7 ; fi
- $(INSTALL) -c -m 644 $(srcdir)/*.1 $(INSTALLROOT)$(MANDIR)/man1
- -mkdir -p `dirname $(INSTALLROOT)$(LOCKFILE)`
- -mkdir -p $(INSTALLROOT)$(SPOOLDIR) $(INSTALLROOT)$(LIBDIR)
- -mkdir -p $(INSTALLROOT)$(SPOOLDIR)/leaf.node
- -mkdir -p $(INSTALLROOT)$(SPOOLDIR)/failed.postings
- -mkdir -p $(INSTALLROOT)$(SPOOLDIR)/message.id
- -mkdir -p $(INSTALLROOT)$(SPOOLDIR)/interesting.groups
- -mkdir -p $(INSTALLROOT)$(SPOOLDIR)/out.going
- -chown news:news `dirname $(INSTALLROOT)$(LOCKFILE)`
- -chown news:news $(INSTALLROOT)$(SPOOLDIR) $(INSTALLROOT)$(LIBDIR)
- -chown news:news $(INSTALLROOT)$(SPOOLDIR)/leaf.node
- -chown news:news $(INSTALLROOT)$(SPOOLDIR)/failed.postings
- -chown news:news $(INSTALLROOT)$(SPOOLDIR)/message.id
- -chown news:news $(INSTALLROOT)$(SPOOLDIR)/interesting.groups
- -chown news:news $(INSTALLROOT)$(SPOOLDIR)/out.going
- cd $(INSTALLROOT)$(SPOOLDIR)/message.id ; for a in 0 1 2 3 4 5 6 7 8 9 ; do \
- for b in 0 1 2 3 4 5 6 7 8 9 ; do \
- mkdir -p $${a}$${b}0 $${a}$${b}1 $${a}$${b}2 \
- $${a}$${b}3 $${a}$${b}4 $${a}$${b}5 \
- $${a}$${b}6 $${a}$${b}7 $${a}$${b}8 \
- $${a}$${b}9 ; \
- chown news:news $${a}$${b}0 $${a}$${b}1 $${a}$${b}2 \
- $${a}$${b}3 $${a}$${b}4 $${a}$${b}5 \
- $${a}$${b}6 $${a}$${b}7 $${a}$${b}8 \
- $${a}$${b}9 ; \
- done ; done
- cp $(srcdir)/config.example $(INSTALLROOT)$(LIBDIR)
- -chown root:news $(INSTALLROOT)$(LIBDIR)/config.example
- -chmod 640 $(INSTALLROOT)$(LIBDIR)/config.example
- chmod 2755 $(INSTALLROOT)$(SPOOLDIR)
- @echo Edit /etc/inetd.conf to start $(BINDIR)/leafnode and restart inetd
- @echo If you update from a leafnode version \< 1.9.3, do a \"make update\"
+ $(INSTALL) -m 750 $(STRIP) nntpd $(INSTALLROOT)$(BINDIR)/leafnode
+ $(INSTALL) -m 750 $(STRIP) fetchnews $(INSTALLROOT)$(BINDIR)/fetchnews
+ $(INSTALL) -m 750 $(STRIP) texpire $(INSTALLROOT)$(BINDIR)/texpire
+ $(INSTALL) -m 750 $(STRIP) checkgroups $(INSTALLROOT)$(BINDIR)/checkgroups
+ $(INSTALL) -m 750 $(STRIP) applyfilter $(INSTALLROOT)$(BINDIR)/applyfilter
+ $(INSTALL) -m 755 $(STRIP) newsq $(INSTALLROOT)$(USRDIR)/newsq
+ $(BSD_INSTALL_MAN) $(srcdir)/*.8 $(INSTALLROOT)$(MANDIR)/man8
+ if test $(PCRELIB) ; then $(BSD_INSTALL_MAN) $(srcdir)/pcre/pcre.7 $(INSTALLROOT)$(MANDIR)/man7 ; fi
+ $(BSD_INSTALL_MAN) $(srcdir)/*.1 $(INSTALLROOT)$(MANDIR)/man1
uninstall: uninstall-bins
-rm -r $(SPOOLDIR)/leaf.node
uninstall-local:
rm -rf $(DESTDIR)$(SPOOLDIR) $(DESTDIR)@LOCKFILE@

View File

@ -1,17 +1,32 @@
#!/bin/sh
#
# $OpenBSD: DEINSTALL,v 1.5 2002/09/24 00:24:19 marcm Exp $
#
# Post-deinstallation cleanup of leafnode
set -e
PATH=/bin:/usr/bin:/sbin:/usr/sbin
echo ""
echo "** To completely deinstall the leafnode package you need to perform"
echo "** these steps as root:"
echo "**"
echo "** rm -rf /etc/leafnode"
echo "** rm -rf /var/spool/news"
echo "**"
echo "** Also, you should run the command \"user del news\" and remove the"
echo "** news pseudo user. Be absolutly sure you want to completely remove"
echo "** the package before issuing these commands."
echo ""
FILES='
config
'
SPOOLDIR=/var/spool/news
echo
echo "+--------------- $1"
echo "| To fully remove $1 from your system you should also"
echo "| remove the configuration files from the ${SYSCONFDIR} directory"
echo "| as well as the news spool directory ${SPOOLDIR}."
echo "|"
echo "| If you are planning on installing $1 again in the future"
echo "| you can leave them as they are."
echo "|"
echo "| FYI, the following configuration files belong to this package:"
echo "|"
for f in ${FILES}; do
echo "| ${SYSCONFDIR}/$f"
done
echo "+--------------- $1"
echo
exit 0

View File

@ -1,8 +1,26 @@
#! /bin/sh
# $OpenBSD: INSTALL,v 1.3 2001/03/07 06:33:32 fgsch Exp $
#!/bin/sh
#
# Pre/post-installation setup of leafnode - based on majordomo INSTALL
# script from daniel@reichardt.ch
# $OpenBSD: INSTALL,v 1.4 2002/09/24 00:24:19 marcm Exp $
P_NAME=leafnode
DIRS='
.
'
FILES='
config
'
SPOOLDIR=/var/spool/news
SPOOL_DIRS='
leaf.node
failed.postings
interesting.groups
out.going
message.id
temp.files
'
set -e
PATH=/bin:/usr/bin:/sbin:/usr/sbin
@ -10,84 +28,115 @@ PREFIX=${PKG_PREFIX:-/usr/local}
do_create_user()
{
echo "Leafnode requires a user news to run properly."
echo -n "Let's see if there already is a user news... "
if id -u news >/dev/null 2>/dev/null
then
echo "yes"
else
echo "no"
user add -d /var/spool/news -g news -c 'NNTP server' -s /sbin/nologin news
fi
if id -u news >/dev/null 2>/dev/null
then
echo "User news already exists... ok"
else
echo -n "Adding user news..."
user add -d /var/spool/news -g news -c 'NNTP server' -s /sbin/nologin news
echo "ok"
fi
}
do_create_local_dirs()
do_create_spool_dirs()
{
echo -n "Creating local directories... "
if [ ! -d /var/spool/news ]; then
install -d -o news -g news -m 2775 /var/spool/news
install -d -o news -g news /var/spool/news/leaf.node
install -d -o news -g news /var/spool/news/failed.postings
install -d -o news -g news /var/spool/news/message.id
install -d -o news -g news /var/spool/news/interesting.groups
install -d -o news -g news /var/spool/news/out.going
cd /var/spool/news/message.id; for a in 0 1 2 3 4 5 6 7 8 9; do
for b in 0 1 2 3 4 5 6 7 8 9; do
for c in 0 1 2 3 4 5 6 7 8 9; do
install -d -o news -g news $a$b$c
done; done; done
fi
echo "ok"
echo -n "Creating spool directories... "
for d in ${SPOOL_DIRS}; do
if [ ! -d "${SPOOLDIR}/$d" ]; then
install -d -o news -g news ${SPOOLDIR}/$d
fi
done
cd ${SPOOLDIR}/message.id
for a in 0 1 2 3 4 5 6 7 8 9; do
for b in 0 1 2 3 4 5 6 7 8 9; do
for c in 0 1 2 3 4 5 6 7 8 9; do
install -d -o news -g news $a$b$c
done
done
done
echo "ok"
}
do_set_file_permissions()
do_post()
{
echo -n "Changing ownership of leafnode files... "
chown news:news ${PREFIX}/bin/newsq
chown news:news ${PREFIX}/sbin/applyfilter
chown news:news ${PREFIX}/sbin/checkgroups
chown news:news ${PREFIX}/sbin/fetchnews
chown news:news ${PREFIX}/sbin/leafnode
chown news:news ${PREFIX}/sbin/texpire
echo "ok"
}
do_install_configuration()
{
echo -n "Let's see if there is already a configuration file... "
if [ -d /etc/leafnode -a -f /etc/leafnode/config ]; then
echo "yes"
echo "Please compare your existing configuration with"
echo "${PREFIX}/share/doc/config.example"
else
echo "no"
echo -n "Copying sample configuration file... "
install -d -o news -g news /etc/leafnode
install -o root -g news -m 640 \
${PREFIX}/share/doc/leafnode/config.example /etc/leafnode/config
echo "ok"
echo "Please review new configuration /etc/leafnode/config"
fi
DEST_PFX=${SYSCONFDIR}
SOURCE_PFX=${PREFIX}/share/examples/${P_NAME}
echo
echo "+--------------- ${P_NAME}"
# install dirs if neccessary
for d in ${DIRS}; do
if [ ! -d "${DEST_PFX}/$d" ]; then
install -d ${DEST_PFX}/$d
fi
done
# install or take note of existing config files
for f in ${FILES}; do
if [ -f "${DEST_PFX}/$f" ]; then
OLD_CONFS="${OLD_CONFS} $f"
else
if ! install -m 644 ${SOURCE_PFX}/$f ${DEST_PFX}/$f; then
echo "| ERROR: The following file could not be installed, exiting: ${DEST_PFX}/$f"
exit 1
fi
NEW_CONFS="${NEW_CONFS} $f"
fi
done
# print status report
if [ -n "${NEW_CONFS}" ]; then
echo "| The following NEW configuration files have been installed:"
echo "|"
for f in ${NEW_CONFS}; do
echo "| ${DEST_PFX}/$f"
done
fi
if [ -n "${OLD_CONFS}" ]; then
if [ -n "${NEW_CONFS}" ]; then
echo "|"
fi
echo "| The following OLD configuration files were found and have NOT been"
echo "| overwritten:"
echo "|"
for f in ${OLD_CONFS}; do
echo "| ${DEST_PFX}/$f"
done
echo "|"
echo "| You should however manually compare them to their equivalents in"
echo "|"
echo "| ${SOURCE_PFX}"
echo "|"
echo "| and update your configuration as needed."
fi
echo "+--------------- ${P_NAME}"
echo
}
# verify proper execution
#
if [ $# -ne 2 ]; then
echo "usage: $0 distname { PRE-INSTALL | POST-INSTALL }" >&2
exit 1
fi
case $2 in
PRE-INSTALL)
do_create_user
;;
POST-INSTALL)
do_create_local_dirs
do_set_file_permissions
do_install_configuration
;;
*)
echo "usage: $0 distname { PRE-INSTALL | POST-INSTALL }" >&2
exit 1
;;
fi
# Verify/process the command
#
case $2 in
PRE-INSTALL)
do_create_user
;;
POST-INSTALL)
do_create_spool_dirs
do_post
;;
*)
echo "usage: $0 distname { PRE-INSTALL | POST-INSTALL }" >&2
exit 1
;;
esac
exit 0

View File

@ -1,7 +1,6 @@
@comment $OpenBSD: PLIST,v 1.6 2000/06/10 19:00:16 fgsch Exp $
@comment $OpenBSD: PLIST,v 1.7 2002/09/24 00:24:19 marcm Exp $
bin/newsq
man/man1/newsq.1
man/man7/pcre.7
man/man8/applyfilter.8
man/man8/checkgroups.8
man/man8/fetchnews.8
@ -15,5 +14,13 @@ sbin/texpire
share/doc/leafnode/FAQ
share/doc/leafnode/INSTALL
share/doc/leafnode/README
share/doc/leafnode/config.example
share/doc/leafnode/README-FQDN
share/doc/leafnode/TROUBLESHOOTING
share/examples/leafnode/Makefile.dist
share/examples/leafnode/UNINSTALL-daemontools
share/examples/leafnode/config
share/examples/leafnode/nntp.rules.dist
share/examples/leafnode/run.tcpd.dist
share/examples/leafnode/run.tcpserver.dist
@dirrm share/examples/leafnode
@dirrm share/doc/leafnode