~ubuntu-branches/ubuntu/vivid/sslh/vivid-proposed

« back to all changes in this revision

Viewing changes to scripts/etc.rc.d.init.d.sslh.centos

  • Committer: Package Import Robot
  • Author(s): Guillaume Delacour
  • Date: 2014-08-07 00:06:06 UTC
  • mfrom: (1.1.6)
  • Revision ID: package-import@ubuntu.com-20140807000606-y1tg7j8i5t7d4drr
Tags: 1.16-1
* New upstream release: fix some startup problem when interfaces are not
  ready at boot time (IP_FREEBIND support when available) and can use libcap
  for transparent mode
* Enable libcap and libwrap support at build time
* Enable dpkg-buildflags: Drop hardening-wrapper Build-Depends and use
  DEB_BUILD_HARDENING instead of DEB_BUILD_MAINT_OPTIONS
* Remove old .gitignore as upstream has one too
* debian/sslh.tmpfile: Create /run/sslh for systemd as root because sslh
  write its pid before dropping privileges (Closes: #740560)
* debian/patches/disable_ip_freebind_test.diff: Remove "Can't bind address"
  upstream test because IP_FREEBIND is now enabled upstream
* debian/docs: upstream README is now README.md
* debian/rules:
  + use DESTDIR in addition of PREFIX as upstream change Makefile
* Refresh debian/patches/disable_valgrind_launch.diff due to upstream
  changes
* Stop service in case of purge (to be able to remove the user too)
* Use DEB_BUILD_OPTIONS to speed the build
* debian/patches/fixed_version.diff: Fix the version of binaries based on
  debian/changelog (instead of relying on git)
* Update Description as sslh is not only a ssl/ssh multiplexer but a
  protocol multiplexer

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
#!/bin/bash
2
2
#
3
 
#       /etc/rc.d/init.d/sslh
4
 
# sslh          This shell script takes care of starting and stopping
5
 
#               sslh - a daemon switching incoming connection between SSH and SSL/HTTPS servers
6
 
#
7
 
# Author: Andre Krajnik akrajnik@gmail.com
8
 
# 2010-03-20
9
 
#
10
 
#
11
 
# chkconfig: 2345 13 87
12
 
#
13
 
# description: sslh - a daemon switching incoming connection between SSH and SSL/HTTPS servers
 
3
# sslh         Startup script for the SSL/SSH multiplexer
 
4
#
 
5
# chkconfig: - 13 87
 
6
# description: Sslh accepts connections on specified ports, and forwards
 
7
#              them further based on tests performed on the first data
 
8
#              packet sent by the remote client.
 
9
# processname: sslh
 
10
# config: /etc/sslh.cfg
 
11
# config: /etc/sysconfig/sslh
 
12
# pidfile: /var/run/sslh/sslh.pid
 
13
#
 
14
# Authors:
 
15
# Andre Krajnik akrajnik@gmail.com - 2010-03-20
 
16
# Julien Thomas julthomas@free.fr - 2013-08-25
14
17
 
15
18
# Source function library.
16
19
. /etc/init.d/functions
17
20
 
18
 
# ./sslh -p  0.0.0.0:8443 -l 127.0.0.1:443 -s 127.0.0.1:22
19
 
 
20
 
SSLH="/usr/local/sbin/sslh"
21
 
PIDFILE="/var/run/sslh"
22
 
 
23
 
OPTIONS="--user nobody --pidfile $PIDFILE -p  0.0.0.0:8443 --ssl 127.0.0.1:443 --ssh 127.0.0.1:22"
24
 
 
25
21
if [ -f /etc/sysconfig/sslh ]; then
26
22
        . /etc/sysconfig/sslh
27
23
fi
28
24
 
 
25
PROGNAME=sslh
 
26
SSLH=${SSLH:-/usr/sbin/sslh-select}
 
27
SSLH_LANG=${SSLH_LANG:-C}
 
28
CONFIG=${CONFIG:-/etc/sslh.cfg}
 
29
PIDFILE=${PIDFILE:-/var/run/sslh/sslh.pid}
 
30
LOCKFILE=${LOCKFILE:-/var/lock/subsys/sslh}
 
31
STOP_TIMEOUT=${STOP_TIMEOUT:-10}
 
32
RETVAL=0
 
33
 
29
34
start() {
30
 
        echo -n "Starting SSL-SSH-Switch: "
31
 
        if [ -f $PIDFILE ]; then
32
 
                PID=`cat $PIDFILE`
33
 
                echo sslh already running: $PID
34
 
                exit 2;
35
 
        else
36
 
                daemon  $SSLH $OPTIONS
37
 
                RETVAL=$?
38
 
                echo
39
 
                [ $RETVAL -eq 0 ] && touch $PIDFILE
40
 
                return $RETVAL
41
 
        fi
42
 
 
 
35
    echo -n "Starting $PROGNAME: "
 
36
    LANG=$SSLH_LANG daemon --pidfile="$PIDFILE" \
 
37
                           ${SSLH_USER:+--user="${SSLH_USER}"} \
 
38
                           "$SSLH" ${CONFIG:+-F "$CONFIG"} "$OPTIONS"
 
39
    RETVAL=$?
 
40
    echo
 
41
    [ $RETVAL = 0 ] && touch "$LOCKFILE"
 
42
    return $RETVAL
43
43
}
44
44
 
45
45
stop() {
46
 
        echo -n "Shutting down SSL-SSH-Switch: "
47
 
        echo
48
 
        killproc sslh
49
 
        echo
50
 
        rm -f $PIDFILE
51
 
        return 0
 
46
    echo -n "Stopping $PROGNAME: "
 
47
    killproc -p "$PIDFILE" -d "$STOP_TIMEOUT" "$SSLH"
 
48
    RETVAL=$?
 
49
    echo
 
50
    [ $RETVAL = 0 ] && rm -f "$LOCKFILE" "$PIDFILE"
52
51
}
53
52
 
 
53
# See how we were called.
54
54
case "$1" in
55
55
    start)
56
56
        start
59
59
        stop
60
60
        ;;
61
61
    status)
62
 
        status sslh
 
62
        status -p "$PIDFILE" "$SSLH"
 
63
        RETVAL=$?
63
64
        ;;
64
65
    restart)
65
66
        stop
66
67
        start
67
68
        ;;
68
69
    *)
69
 
        echo "Usage:  {start|stop|status|restart}"
70
 
        exit 1
 
70
        echo "Usage: $PROGNAME {start|stop|status|restart}"
 
71
        RETVAL=2
71
72
        ;;
72
73
esac
73
 
exit $?
74
 
 
75
 
 
76
 
 
 
74
 
 
75
exit $RETVAL