mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
www-misc/shellinabox: treeclean
Closes: https://bugs.gentoo.org/712658 Closes: https://bugs.gentoo.org/777396 Closes: https://bugs.gentoo.org/811192 Closes: https://bugs.gentoo.org/833087 Closes: https://bugs.gentoo.org/891057 Closes: https://bugs.gentoo.org/892089 Closes: https://bugs.gentoo.org/893898 Closes: https://bugs.gentoo.org/902069 Signed-off-by: David Seifert <soap@gentoo.org>
This commit is contained in:
@@ -371,7 +371,6 @@ games-rpg/coe2
|
||||
# Removal on 2023-04-27. Bug #902069.
|
||||
acct-group/shellinaboxd
|
||||
acct-user/shellinaboxd
|
||||
www-misc/shellinabox
|
||||
|
||||
# Sam James <sam@gentoo.org> (2023-03-27)
|
||||
# The upstream tzinfo maintainers recommend using 2023a for now because of the
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
DIST shellinabox-2.20.tar.gz 745920 BLAKE2B 34d360d2e4f0474f64490894f4ba9b9457ca7915156fc3364e874c89d9792ec52c8e756d5f356da6f680425fcc4cf9c9025a47d56cb0b0671a2749f0ba90d5b9 SHA512 369fb6e0041fc3eb52a533f14d1f856a71ec1bf166441e25a5d61bb129f2db5de6b61205ddd0cb08d53384baaf4e087bd2c549f7919b96ee465d4cc3318d2237
|
||||
@@ -1,77 +0,0 @@
|
||||
# conf.d file for shellinaboxd
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Options available (copied from the man page):
|
||||
#
|
||||
# Sometimes, it is not necessary to replace the entire style sheet using the
|
||||
# --static-file option. But instead a small incremental change should be made to
|
||||
# the visual appearance of the terminal. The --css option provides a means to
|
||||
# append additional style rules to the end of the default styles.css sheet. More
|
||||
# than one --css option can be given on the same command line.
|
||||
#
|
||||
# You shouldn't need to change this value
|
||||
# unless you want to load your own style sheets.
|
||||
SIAB_CSS_DIR="/usr/share/shellinabox-resources"
|
||||
|
||||
# If built with SSL/TLS support enabled, the daemon will look in SIAB_CERT_DIR for any
|
||||
# certificates. If unspecified, this defaults to the current working directory.
|
||||
#
|
||||
# If the browser negotiated a Server Name Identification the daemon will look for
|
||||
# a matching certificate-SERVERNAME.pem file. This allows for virtual hosting
|
||||
# of multiple server names on the same IP address and port.
|
||||
#
|
||||
# If no SNI handshake took place, it falls back on using the certificate in the
|
||||
# certificate.pem file.
|
||||
#
|
||||
# The administrator should make sure that there are matching certificates for
|
||||
# each of the virtual hosts on this server, and that there is a generic certifi‐
|
||||
# cate.pem file.
|
||||
|
||||
# If no suitable certificate is installed, shellinaboxd will attempt to invoke
|
||||
# /usr/bin/openssl and create a new self-signed certificate. This only
|
||||
# succeeds if, after dropping privileges, shellinaboxd has write
|
||||
# permissions for SIAB_CERT_DIR.
|
||||
#
|
||||
# Most browsers show a warning message when encountering a self-signed
|
||||
# certificate and then allow the user the option of accepting the certificate.
|
||||
# Due to this usability problem, and due to the perceived security
|
||||
# implications, the use of auto-generated self-signed certificates is intended
|
||||
# for testing or in intranet deployments, only.
|
||||
#
|
||||
SIAB_CERT_DIR="/etc/shellinabox/cert"
|
||||
|
||||
# By default, shellinaboxd redirects all incoming HTTP requests to their
|
||||
# equivalent HTTPS URLs. If promoting of connections to encrypted SSL/TLS
|
||||
# sessions is undesired, this behavior can be disabled.
|
||||
#
|
||||
# This option is also useful during testing or for deployment in trusted
|
||||
# intranets, if SSL certificates are unavailable.
|
||||
#
|
||||
# SIAB_DISABLE_SSL and SIAB_CERT_DIR are mutually exclusive options.
|
||||
|
||||
# Add this option to SIAB_OPTS if you don't want SSL support.
|
||||
SIAB_DISABLE_SSL="--disable-ssl"
|
||||
|
||||
# Default port to listen on.
|
||||
SIAB_HTTP_PORT="4200"
|
||||
|
||||
# Run shellinabox as this user.
|
||||
SIAB_USER="shellinaboxd"
|
||||
|
||||
# Run shellinabox as this group.
|
||||
SIAB_GROUP="shellinaboxd"
|
||||
|
||||
# Default service to launch
|
||||
SIAB_SERVICE="/:LOGIN"
|
||||
|
||||
# SIAB log file.
|
||||
SIAB_LOGFILE="/var/log/shellinabox.log"
|
||||
|
||||
# Do not add both SIAB_CSS_DIR or SIAB_CERT_DIR to SIAB_OPTS.
|
||||
|
||||
# Default setup turns off SSL.
|
||||
SIAB_OPTS="${SIAB_DISABLE_SSL} --port=${SIAB_HTTP_PORT} --user=${SIAB_USER} --group=${SIAB_GROUP} --service=${SIAB_SERVICE} --verbose"
|
||||
|
||||
# Uncomment this line to activate SSL.
|
||||
# SIAB_OPTS="--cert=${SIAB_CERT_DIR} --port=${SIAB_HTTP_PORT} --user=${SIAB_USER} --group=${SIAB_GROUP} --service=${SIAB_SERVICE}"
|
||||
@@ -1,64 +0,0 @@
|
||||
#!/sbin/openrc-run
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
my_daemon="shellinaboxd"
|
||||
pidfile="/var/run/${my_daemon}.pid"
|
||||
command="/usr/sbin/${my_daemon}"
|
||||
command_args="${SIAB_OPTS}"
|
||||
|
||||
depend() {
|
||||
use net
|
||||
}
|
||||
|
||||
start_pre() {
|
||||
function my_join() { local IFS="${1}"; shift; echo "$*"; }
|
||||
|
||||
if [[ -n ${SIAB_CSS_DIR} ]]; then
|
||||
# This code searches SIAB_CSS_DIR for CSS files
|
||||
# and formats the --user-css option accordingly.
|
||||
local CSS_FILES=( "${SIAB_CSS_DIR}"/*.css )
|
||||
local SIAB_CSS_FILES=()
|
||||
|
||||
# Try to keep environment pollution low.
|
||||
local _CSS _BASE _NAME
|
||||
|
||||
for _CSS in "${CSS_FILES[@]}"; do
|
||||
_BASE="$(basename ${_CSS})"
|
||||
_NAME="${_BASE%%\.css}"
|
||||
_NAME="${_NAME//-/_}"
|
||||
_NAME="${_NAME^}"
|
||||
# These are the default style sheets. Don't load them.
|
||||
[[ ${_NAME} =~ ^(Print|Styles).*? ]] && continue
|
||||
SIAB_CSS_FILES+=("\"${_NAME}\":-${_CSS}")
|
||||
done
|
||||
|
||||
# The 1st one, which is the default one, must be turned on using the + sign.
|
||||
SIAB_CSS_FILES[0]=$(sed 's#:-#:+#' <<< ${SIAB_CSS_FILES[0]})
|
||||
|
||||
command_args="${command_args} --user-css=$(my_join , "${SIAB_CSS_FILES[@]}")"
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin "Starting ${my_daemon}"
|
||||
start-stop-daemon \
|
||||
--start \
|
||||
--background \
|
||||
--pidfile ${pidfile} \
|
||||
--make-pidfile \
|
||||
--exec ${command} \
|
||||
-1 ${SIAB_LOGFILE} -2 ${SIAB_LOGFILE} \
|
||||
-- ${command_args}
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping ${my_daemon}"
|
||||
start-stop-daemon \
|
||||
--stop \
|
||||
--pidfile ${pidfile}
|
||||
eend $?
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
[Unit]
|
||||
Description=Shell In A Box daemon
|
||||
Documentation=man:shellinaboxd(1)
|
||||
After=network.target nss-lookup.target
|
||||
|
||||
[Service]
|
||||
EnvironmentFile=/etc/conf.d/shellinaboxd
|
||||
WorkingDirectory=/usr/share/shellinabox-resources
|
||||
ExecStart=/usr/sbin/shellinaboxd ${SIAB_DISABLE_SSL} --port=${SIAB_HTTP_PORT} --user=${SIAB_USER} --group=${SIAB_GROUP} --service=${SIAB_SERVICE}
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>monsieurp@gentoo.org</email>
|
||||
<name>Patrice Clement</name>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>shell-tools@gentoo.org</email>
|
||||
<name>Gentoo Shell Tools Project</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="github">shellinabox/shellinabox</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
@@ -1,108 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit autotools systemd
|
||||
|
||||
DESCRIPTION="Export command line tools to a web based terminal emulator"
|
||||
HOMEPAGE="https://github.com/shellinabox/shellinabox"
|
||||
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ppc ppc64 x86"
|
||||
IUSE="+pam"
|
||||
|
||||
RDEPEND="
|
||||
acct-user/shellinaboxd
|
||||
acct-group/shellinaboxd"
|
||||
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
dev-libs/openssl:0=
|
||||
pam? ( sys-libs/pam )"
|
||||
|
||||
SIAB_CERT_DIR="/etc/shellinabox/cert"
|
||||
SIAB_SSL_BASH="${SIAB_CERT_DIR}/gen_ssl_cert.bash"
|
||||
SIAB_DAEMON="${PN}d"
|
||||
|
||||
shellinbox_gen_ssl_setup() {
|
||||
read -r -d '' SIAB_SSL_SETUP << EOF
|
||||
cd ${SIAB_CERT_DIR}
|
||||
openssl genrsa -des3 -out server.key 1024
|
||||
openssl req -new -key server.key -out server.csr
|
||||
cp server.key server.key.org
|
||||
openssl rsa -in server.key.org -out server.key
|
||||
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
|
||||
cat server.crt server.key > certificate.pem
|
||||
EOF
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myeconf=(
|
||||
--disable-runtime-loading
|
||||
--enable-ssl
|
||||
)
|
||||
|
||||
econf \
|
||||
$(use_enable pam) \
|
||||
"${myeconf[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
# make installs the binary in bin...
|
||||
rm -rf "${D}/usr/bin" || die
|
||||
|
||||
# ... whereas it should put it in sbin.
|
||||
dosbin "${SIAB_DAEMON}"
|
||||
|
||||
# Install init+conf files.
|
||||
newinitd "${FILESDIR}/${SIAB_DAEMON}.init" "${SIAB_DAEMON}"
|
||||
newconfd "${FILESDIR}/${SIAB_DAEMON}.conf" "${SIAB_DAEMON}"
|
||||
|
||||
# Install systemd unit file.
|
||||
systemd_dounit "${FILESDIR}"/shellinaboxd.service
|
||||
|
||||
# Install CSS files.
|
||||
insinto "/usr/share/${PN}-resources"
|
||||
doins -r "${PN}"/*.css
|
||||
|
||||
# Create directory where SSL certificates will be generated.
|
||||
dodir "${SIAB_CERT_DIR}"
|
||||
|
||||
# Generate set up variable.
|
||||
shellinbox_gen_ssl_setup
|
||||
|
||||
# Dump it in a bash script.
|
||||
echo "#!/usr/bin/env bash" > "${D}/${SIAB_SSL_BASH}" || die
|
||||
echo "${SIAB_SSL_SETUP}" >> "${D}/${SIAB_SSL_BASH}" || die
|
||||
chmod +x "${D}/${SIAB_SSL_BASH}" || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
ewarn
|
||||
ewarn "The default configuration exposes a login shell"
|
||||
ewarn "with SSL disabled on the localhost interface only."
|
||||
ewarn
|
||||
|
||||
shellinbox_gen_ssl_setup
|
||||
|
||||
einfo
|
||||
einfo "To generate self-signed SSL certificates"
|
||||
einfo "please read the procedure explained here:"
|
||||
einfo "https://code.google.com/p/shellinabox/issues/detail?id=59#c15"
|
||||
einfo
|
||||
einfo "${SIAB_SSL_SETUP}"
|
||||
einfo
|
||||
einfo "This walkthrough has been written in ${SIAB_SSL_BASH} for your convenience."
|
||||
einfo "Make sure to execute this script."
|
||||
einfo
|
||||
}
|
||||
Reference in New Issue
Block a user