diff options
Diffstat (limited to 'net-misc/termpkg/files')
-rw-r--r-- | net-misc/termpkg/files/termnetd.confd | 14 | ||||
-rw-r--r-- | net-misc/termpkg/files/termnetd.initd | 50 | ||||
-rw-r--r-- | net-misc/termpkg/files/termpkg-3.3-ttydforfax.diff | 28 | ||||
-rw-r--r-- | net-misc/termpkg/files/termpkg-3.3.9.1-gcc43.diff | 11 | ||||
-rw-r--r-- | net-misc/termpkg/files/ttyd.confd | 63 | ||||
-rw-r--r-- | net-misc/termpkg/files/ttyd.initd | 96 |
6 files changed, 262 insertions, 0 deletions
diff --git a/net-misc/termpkg/files/termnetd.confd b/net-misc/termpkg/files/termnetd.confd new file mode 100644 index 000000000000..4eb95a989d41 --- /dev/null +++ b/net-misc/termpkg/files/termnetd.confd @@ -0,0 +1,14 @@ +# Config file for /etc/init.d/termnetd + +# Set the configuration file to one other than the default of /etc/termnetd.conf +# +#CONFIG_FILE="/etc/termnetd.conf" + +# Sets the IP port to listen to for the control port (default = none). +# +#CONTROL_PORT="" + +# see the termnetd(1) manual page for additional options you can configure here +# +#EXTRA_OPTS="" + diff --git a/net-misc/termpkg/files/termnetd.initd b/net-misc/termpkg/files/termnetd.initd new file mode 100644 index 000000000000..73d095c8717b --- /dev/null +++ b/net-misc/termpkg/files/termnetd.initd @@ -0,0 +1,50 @@ +#!/sbin/runscript +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/termpkg/files/termnetd.initd,v 1.1 2008/09/23 19:34:00 sbriesen Exp $ + +description="Terminal Server daemon (${RC_SVCNAME#*.})" +description_reload="Reread configuration file and make the appropriate changes" +extra_started_commands="reload" +command="/usr/sbin/termnetd" +name="termnetd" + +depend() { + use logger + need net +} + +config_check() { + command_args="${EXTRA_OPTS}" + CONFIG_FILE_DEFAULT="/etc/termnetd.conf" + + [ -z "${CONFIG_FILE}" ] && CONFIG_FILE="${CONFIG_FILE_DEFAULT}" + [ -n "${CONTROL_PORT}" ] && command_args="${command_args} -s ${CONTROL_PORT}" + [ "${CONFIG_FILE}" != "${CONFIG_FILE_DEFAULT}" ] && command_args="${command_args} -c ${CONFIG_FILE}" + + if [ ! -f "${CONFIG_FILE}" ]; then + eerror "Please create ${CONFIG_FILE}" + eerror "Sample conf: ${CONFIG_FILE_DEFAULT}.dist" + return 1 + fi + return 0 +} + +start() { + config_check || return ${?} + ebegin "Starting ${description}" + start-stop-daemon --start --quiet --exec "${command}" -- ${command_args} + eend ${?} +} + +stop() { + ebegin "Stopping ${description}" + start-stop-daemon --stop --quiet --oknodo --exec "${command}" --name "${name}" + eend ${?} +} + +reload() { + ebegin "Reloading ${description}" + start-stop-daemon --stop --signal HUP --oknodo --exec "${command}" --name "${name}" + eend ${?} +} diff --git a/net-misc/termpkg/files/termpkg-3.3-ttydforfax.diff b/net-misc/termpkg/files/termpkg-3.3-ttydforfax.diff new file mode 100644 index 000000000000..0471fde13154 --- /dev/null +++ b/net-misc/termpkg/files/termpkg-3.3-ttydforfax.diff @@ -0,0 +1,28 @@ +--- termpkg-3.3/termnet/ttyd.c.orig 2005-09-29 08:59:05.000000000 -1000 ++++ termpkg-3.3/termnet/ttyd.c 2005-09-29 08:51:33.000000000 -1000 +@@ -340,7 +340,10 @@ + char *cp; + int x; + for (cp = commbuf, x = 0; x < cnt; x++, cp++) ++if (isprint(*cp)) + syslog(LOG_DEBUG, "ttyd: Have net char 0x%x, |%c|", *cp, *cp); ++else ++syslog(LOG_DEBUG, "ttyd: Have net char 0x%x", *cp); + } + write(fd, commbuf, cnt); + } +@@ -366,9 +369,13 @@ + char *cp; + int x; + for (cp = commbuf, x = 0; x < cnt; x++, cp++) ++if (isprint(*cp)) + syslog(LOG_DEBUG, "ttyd: Have key char 0x%x, |%c|", *cp, *cp); ++else ++syslog(LOG_DEBUG, "ttyd: Have key char 0x%x", *cp); + } +- inputTerminal(commbuf, cnt); ++// inputTerminal(commbuf, cnt); ++write(fileno(tnlout), commbuf, cnt); + } + else + break; diff --git a/net-misc/termpkg/files/termpkg-3.3.9.1-gcc43.diff b/net-misc/termpkg/files/termpkg-3.3.9.1-gcc43.diff new file mode 100644 index 000000000000..8d17fc5dd8b9 --- /dev/null +++ b/net-misc/termpkg/files/termpkg-3.3.9.1-gcc43.diff @@ -0,0 +1,11 @@ +diff -Naur termpkg-3.3.orig/libtn/SocketIO.c termpkg-3.3/libtn/SocketIO.c +--- termpkg-3.3.orig/libtn/SocketIO.c 2008-09-03 18:21:28.881220673 +0200 ++++ termpkg-3.3/libtn/SocketIO.c 2008-09-03 18:23:29.106343243 +0200 +@@ -25,6 +25,7 @@ + #endif + #include <sys/socket.h> + #include <netinet/in.h> ++#include <arpa/inet.h> + #include <fcntl.h> + #include <string.h> + #include <stdlib.h> diff --git a/net-misc/termpkg/files/ttyd.confd b/net-misc/termpkg/files/ttyd.confd new file mode 100644 index 000000000000..5b0e2b8c0002 --- /dev/null +++ b/net-misc/termpkg/files/ttyd.confd @@ -0,0 +1,63 @@ +# Configfile for /etc/init.d/ttyd + +# HINT: if you only need one virtual TTY, then you can use this config. +# Otherwise you should use it as a template for specific configurations. +# Just copy /etc/conf.d/ttyd to /etc/conf.d/ttyd.<foo> and symlink +# /etc/init.d/ttyd to /etc/init.d/ttyd.<foo> + + +# Master pseudo tty device to open and wait for a connection on. +# For reference, in Linux the master pseudo tty devices are the +# devices /dev/pty[a-ep-z][0-9a-f] and the slave devices are +# /dev/tty[a-ep-z][0-9a-f]. +# +PTY="/dev/ptyp0" + +# The host and port parameters specify the host and IP port to +# connect to when the slave pseudo device is opened. +# +HOST="host.example.com" +PORT=3000 + +# The optional mode and user options specify the filesystem +# permissions of the slave pseudo device. We set them right +# after the ttyd daemon has started. After stopping, we reset +# them to the permissions of the master pseudo device. +# +#MODE=660 +#USER="root:uucp" + +# Sets the initial baud-rate of the device (optional). +# +#BAUDRATE=115200 + +# Optional port settings. Specified by a string of one of +# more of the following concatenated together with no +# intervening spaces: +# +# 8: 8 bits/character +# 7: 7 bits/character +# 6: 6 bits/character +# 5: 5 bits/character +# N: No parity +# E: Even parity +# O: Odd parity +# C0: No hardware flow control +# C1: Hardware flow control +# S0: No software flow control +# S1: Software flow control +# +#PORT_SETTINGS="8NC0" + +# You can create symlinks to the slave pseudo device, so you +# have an easy to remember name for your virtual device. You +# can add as many links as you want, if you blank-seperate the +# names. All links *must* be relative and beneath to /dev. +# +#SYMLINK="ttyd/modem ttyNET0" + +# Some odd programs just don't work with symlinks, so you +# can also create hardlinks (even in addition to symlinks). +# Same rules apply as for symlinks. +# +#HARDLINK="ttyS5" diff --git a/net-misc/termpkg/files/ttyd.initd b/net-misc/termpkg/files/ttyd.initd new file mode 100644 index 000000000000..3302ea37bc9b --- /dev/null +++ b/net-misc/termpkg/files/ttyd.initd @@ -0,0 +1,96 @@ +#!/sbin/runscript +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/termpkg/files/ttyd.initd,v 1.1 2008/09/23 19:34:00 sbriesen Exp $ + +description="Remote Modem Utility (${RC_SVCNAME#*.})" +command="/usr/sbin/ttyd" + +depend() { + use logger + need net +} + +config_check() { + # sanitize PTY/TTY names + DEV_PTY="/dev/${PTY/\/dev\/}" + DEV_TTY="${DEV_PTY/\/pty//tty}" + + # create command args + command_args="-d ${DEV_PTY}" + [ -n "${BAUDRATE}" ] && command_args="${command_args} -b ${BAUDRATE}" + [ -n "${PORT_SETTINGS}" ] && command_args="${command_args} -p ${PORT_SETTINGS}" + command_args="${command_args} ${HOST} ${PORT}" +} + +device_check() { + if [ ! -e "${DEV_PTY}" ]; then + eerror "PTY doesn't exist: ${DEV_PTY}" + return 1 + fi + if [ ! -e "${DEV_TTY}" ]; then + eerror "TTY doesn't exist: ${DEV_TTY}" + return 1 + fi + return 0 +} + +linkrel() { # <from> <to> + local LINK="${1%/*}/${2/\/dev\/}" + echo "${LINK/\/dev\/}" | sed "s:[^/]\+/:../:g" +} + +setup_links() { + local LINK NODE + for LINK in ${SYMLINK}; do + NODE="/dev/${LINK/\/dev\/}" + mkdir -p -- "${NODE%/*}" && ln -snf -- $(linkrel "${NODE}" "${DEV_TTY}") "${NODE}" + done + for LINK in ${HARDLINK}; do + NODE="/dev/${LINK/\/dev\/}" + mkdir -p -- "${NODE%/*}" && ln -nf -- "${DEV_TTY}" "${NODE}" + done +} + +unset_links() { + local LINK LIST="" + for LINK in ${SYMLINK} ${HARDLINK}; do + LIST="${LIST} /dev/${LINK/\/dev\/}" + done + [ -n "${LIST}" ] && rm -f -- ${LIST} +} + +setup_perms() { + [ -n "${MODE}" ] && chmod "${MODE}" -- "${DEV_TTY}" + [ -n "${USER}" ] && chown "${USER}" -- "${DEV_TTY}" +} + +unset_perms() { + [ -n "${USER}" ] && chown --reference "${DEV_PTY}" -- "${DEV_TTY}" + [ -n "${MODE}" ] && chmod --reference "${DEV_PTY}" -- "${DEV_TTY}" +} + +start() { + config_check || return ${?} + device_check || return ${?} + ebegin "Starting ${description}" + start-stop-daemon --start --quiet --exec "${command}" -- ${command_args} + if eend ${?}; then + setup_perms + setup_links + return 0 # from here we never fail + fi +} + +stop() { + config_check || return ${?} + # we can't use start-stop-daemon, because we don't have a pidfile + # *and* multiple processes can run at the same time. So we use + # pkill to identify *our* process via commandline args. + ebegin "Stopping ${description}" + /usr/bin/pkill -f "^${command} -d ${DEV_PTY} " + eend ${?} + unset_links + unset_perms + return 0 # never fail +} |