David Seifert
2023-04-30 12:06:03 +02:00
parent 75e9c73056
commit c74c520c8d
7 changed files with 0 additions and 280 deletions

View File

@@ -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

View File

@@ -1 +0,0 @@
DIST shellinabox-2.20.tar.gz 745920 BLAKE2B 34d360d2e4f0474f64490894f4ba9b9457ca7915156fc3364e874c89d9792ec52c8e756d5f356da6f680425fcc4cf9c9025a47d56cb0b0671a2749f0ba90d5b9 SHA512 369fb6e0041fc3eb52a533f14d1f856a71ec1bf166441e25a5d61bb129f2db5de6b61205ddd0cb08d53384baaf4e087bd2c549f7919b96ee465d4cc3318d2237

View File

@@ -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}"

View File

@@ -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 $?
}

View File

@@ -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

View File

@@ -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>

View File

@@ -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
}