diff options
author | Alexey Shvetsov <alexxy@gentoo.org> | 2022-03-01 15:54:02 +0300 |
---|---|---|
committer | Alexey Shvetsov <alexxy@gentoo.org> | 2022-03-01 15:54:13 +0300 |
commit | 3c5d8a46a252853fd8b54c8c6537e08b768fbc7a (patch) | |
tree | 0d6490cf9873729f0e0f0582d44fac5cc3f7a7b4 /www-servers/webfs | |
parent | sci-libs/avogadrolibs: remove USE=static-plugins (diff) | |
download | gentoo-3c5d8a46a252853fd8b54c8c6537e08b768fbc7a.tar.gz gentoo-3c5d8a46a252853fd8b54c8c6537e08b768fbc7a.tar.bz2 gentoo-3c5d8a46a252853fd8b54c8c6537e08b768fbc7a.zip |
www-servers/webfs: Add webfsd
Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Alexey Shvetsov <alexxy@gentoo.org>
Diffstat (limited to 'www-servers/webfs')
-rw-r--r-- | www-servers/webfs/Manifest | 1 | ||||
-rw-r--r-- | www-servers/webfs/files/webfs-1.21-CVE-2013-0347.patch | 15 | ||||
-rw-r--r-- | www-servers/webfs/files/webfs-1.21-Variables.mk-dont-strip-binaries-on-install.patch | 12 | ||||
-rw-r--r-- | www-servers/webfs/files/webfs.confd | 27 | ||||
-rw-r--r-- | www-servers/webfs/files/webfs.initd | 29 | ||||
-rw-r--r-- | www-servers/webfs/files/webfs.service | 10 | ||||
-rw-r--r-- | www-servers/webfs/files/webfs.service.conf | 27 | ||||
-rw-r--r-- | www-servers/webfs/metadata.xml | 8 | ||||
-rw-r--r-- | www-servers/webfs/webfs-1.21.ebuild | 55 |
9 files changed, 184 insertions, 0 deletions
diff --git a/www-servers/webfs/Manifest b/www-servers/webfs/Manifest new file mode 100644 index 000000000000..7736407698cb --- /dev/null +++ b/www-servers/webfs/Manifest @@ -0,0 +1 @@ +DIST webfs-1.21.tar.gz 44249 BLAKE2B 3d1bf7023f271f06079378a9a8e957deb611d567209ebd0ee947cae9852aecc2704ec8ce115b1f03ec39299040f44d7caf53fb30241f4990521aeda7b5815f3f SHA512 68b9b3163a21be8a549e395295b27dd8ce9b575183d6c36b05b98bdc310917cf2dc653ff73bdb78a8c063674a8e9480211ec5c28b8a676f9cee41fa962cfd473 diff --git a/www-servers/webfs/files/webfs-1.21-CVE-2013-0347.patch b/www-servers/webfs/files/webfs-1.21-CVE-2013-0347.patch new file mode 100644 index 000000000000..26e225def360 --- /dev/null +++ b/www-servers/webfs/files/webfs-1.21-CVE-2013-0347.patch @@ -0,0 +1,15 @@ +--- ./webfsd.c ++++ ./webfsd.c +@@ -918,8 +918,11 @@ + } else { + if (NULL == (logfh = fopen(logfile,"a"))) + xperror(LOG_WARNING,"open access log",NULL); +- else ++ else { + close_on_exec(fileno(logfh)); ++ if (0 != chmod(logfile,S_IRUSR|S_IWUSR)) ++ xperror(LOG_WARNING,"chmod access log",NULL); ++ } + } + } + diff --git a/www-servers/webfs/files/webfs-1.21-Variables.mk-dont-strip-binaries-on-install.patch b/www-servers/webfs/files/webfs-1.21-Variables.mk-dont-strip-binaries-on-install.patch new file mode 100644 index 000000000000..03f2f5c59816 --- /dev/null +++ b/www-servers/webfs/files/webfs-1.21-Variables.mk-dont-strip-binaries-on-install.patch @@ -0,0 +1,12 @@ +diff -Naur webfs-1.21.orig/mk/Variables.mk webfs-1.21/mk/Variables.mk +--- webfs-1.21.orig/mk/Variables.mk 2009-02-03 01:14:18.000000000 +0100 ++++ webfs-1.21/mk/Variables.mk 2009-02-03 01:16:01.000000000 +0100 +@@ -23,7 +23,7 @@ + CXX ?= g++ + MOC ?= $(if $(QTDIR),$(QTDIR)/bin/moc,moc) + INSTALL ?= install +-INSTALL_BINARY := $(INSTALL) -s ++INSTALL_BINARY := $(INSTALL) + INSTALL_SCRIPT := $(INSTALL) + INSTALL_DATA := $(INSTALL) -m 644 + INSTALL_DIR := $(INSTALL) -d diff --git a/www-servers/webfs/files/webfs.confd b/www-servers/webfs/files/webfs.confd new file mode 100644 index 000000000000..5c4de3ad9b74 --- /dev/null +++ b/www-servers/webfs/files/webfs.confd @@ -0,0 +1,27 @@ +# Configuration for webfsd init script + +WEBFS_PORT=80 +WEBFS_DOCROOT=/var/www/localhost/htdocs +WEBFS_INDEX=index.html +WEBFS_LOG=/var/log/webfsd.log + +# set server name +#WEBFS_SERVNAME= + +# uncomment to chroot to specified dir +#WEBFS_CHROOT="/var/www/localhost" + +# max allowed connections (defaults to 32) +#WEBFS_MAXCONN=50 + +# uncomment to enable directory listings +#WEBFS_DIR_LIST=true + +# uncomment to enable SSL (you'll need to add -C <cert> -P <pass> to WEBFS_OPTS) +#WEBFS_SSL=true + +# uncomment to enable ipv6 +#WEBFS_IPV6=true + +# Add any extra options here. See webfsd for more information. +#WEBFS_OPTS="" diff --git a/www-servers/webfs/files/webfs.initd b/www-servers/webfs/files/webfs.initd new file mode 100644 index 000000000000..ec328b662f83 --- /dev/null +++ b/www-servers/webfs/files/webfs.initd @@ -0,0 +1,29 @@ +#!/sbin/openrc-run +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +depend() { + need net +} + +start() { + WEBFS_OPTS="-p ${WEBFS_PORT:-80} -f ${WEBFS_INDEX:-index.html} ${WEBFS_OPTS}" + [ -n "${WEBFS_DOCROOT}" ] && WEBFS_OPTS="${WEBFS_OPTS} -r ${WEBFS_DOCROOT}" + [ -n "${WEBFS_CHROOT}" ] && WEBFS_OPTS="${WEBFS_OPTS} -R ${WEBFS_CHROOT}" + [ -n "${WEBFS_LOG}" ] && WEBFS_OPTS="${WEBFS_OPTS} -L ${WEBFS_LOG}" + [ -n "${WEBFS_MAXCONN}" ] && WEBFS_OPTS="${WEBFS_OPTS} -c ${WEBFS_MAXCONN}" + [ -n "${WEBFS_IPV6}" ] && WEBFS_OPTS="${WEBFS_OPTS} -6" + [ -n "${WEBFS_SSL}" ] && WEBFS_OPTS="${WEBFS_OPTS} -S" + [ -n "${WEBFS_SERVNAME}" ] && WEBFS_OPTS="${WEBFS_OPTS} -n ${WEBFS_SERVNAME}" + [ -n "${WEBFS_DIR_LIST}" ] || WEBFS_OPTS="${WEBFS_OPTS} -j" + + ebegin "Starting webfsd" + start-stop-daemon --start --quiet --exec /usr/bin/webfsd -- ${WEBFS_OPTS} + eend $? "Failed to start webfsd" +} + +stop() { + ebegin "Stopping webfsd" + start-stop-daemon --stop --quiet --exec /usr/bin/webfsd + eend $? "Failed to stop webfsd" +} diff --git a/www-servers/webfs/files/webfs.service b/www-servers/webfs/files/webfs.service new file mode 100644 index 000000000000..f8857655e28f --- /dev/null +++ b/www-servers/webfs/files/webfs.service @@ -0,0 +1,10 @@ +[Unit] +Description=Simple and instant http server. +Documentation=man:webfsd(1) +After=network.target + +[Service] +ExecStart=/usr/bin/webfsd -p ${WEBFS_PORT:-80} -f ${WEBFS_INDEX:-index.html} ${WEBFS_OPTS} -F + +[Install] +WantedBy=multi-user.target diff --git a/www-servers/webfs/files/webfs.service.conf b/www-servers/webfs/files/webfs.service.conf new file mode 100644 index 000000000000..80daa14dc7ae --- /dev/null +++ b/www-servers/webfs/files/webfs.service.conf @@ -0,0 +1,27 @@ +# Configuration for webfsd + +WEBFS_PORT=80 +WEBFS_DOCROOT=/var/www/localhost/htdocs +WEBFS_INDEX=index.html +WEBFS_LOG=/var/log/webfsd.log + +# set server name +#WEBFS_SERVNAME= + +# uncomment to chroot to specified dir +#WEBFS_CHROOT="/var/www/localhost" + +# max allowed connections (defaults to 32) +#WEBFS_MAXCONN=50 + +# uncomment to enable directory listings +#WEBFS_DIR_LIST=true + +# uncomment to enable SSL (you'll need to add -C <cert> -P <pass> to WEBFS_OPTS) +#WEBFS_SSL=true + +# uncomment to enable ipv6 +#WEBFS_IPV6=true + +# Add any extra options here. See webfsd for more information. +#WEBFS_OPTS="" diff --git a/www-servers/webfs/metadata.xml b/www-servers/webfs/metadata.xml new file mode 100644 index 000000000000..34f42ecf020c --- /dev/null +++ b/www-servers/webfs/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>alexxy@gentoo.org</email> + <name>Alexey Shvetsov</name> + </maintainer> +</pkgmetadata> diff --git a/www-servers/webfs/webfs-1.21.ebuild b/www-servers/webfs/webfs-1.21.ebuild new file mode 100644 index 000000000000..7b512f519cdf --- /dev/null +++ b/www-servers/webfs/webfs-1.21.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit systemd + +DESCRIPTION="Lightweight HTTP server for static content" +SRC_URI="http://dl.bytesex.org/releases/${PN}/${P}.tar.gz" +HOMEPAGE="http://linux.bytesex.org/misc/webfs.html" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="ssl threads" + +DEPEND="ssl? ( dev-libs/openssl:0= )" + +RDEPEND="${DEPEND} + app-misc/mime-types" + +PATCHES=( + "${FILESDIR}/${P}-Variables.mk-dont-strip-binaries-on-install.patch" + "${FILESDIR}/${P}-CVE-2013-0347.patch" +) + +src_prepare() { + sed -e "s:/etc/mime.types:${EPREFIX}\\0:" -i GNUmakefile || die "sed failed" + default +} + +src_compile() { + local myconf + use ssl || myconf="${myconf} USE_SSL=no" + use threads && myconf="${myconf} USE_THREADS=yes" + + emake prefix="${EPREFIX}/usr" ${myconf} +} + +src_install() { + local myconf + use ssl || myconf="${myconf} USE_SSL=no" + use threads && myconf="${myconf} USE_THREADS=yes" + emake DESTDIR="${D}" install prefix="${EPREFIX}/usr" ${myconf} mandir="${ED}/usr/share/man" + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + systemd_dounit "${FILESDIR}/${PN}.service" + systemd_install_serviced "${FILESDIR}/${PN}.service.conf" + dodoc README +} + +pkg_preinst() { + # Fix existing log permissions for bug #458892. + chmod 0600 "${EROOT}/var/log/webfsd.log" 2>/dev/null +} |