[packages] sslh: update to v1.7a (#6631)
authorJo-Philipp Wich <jow@openwrt.org>
Wed, 3 Feb 2010 21:47:22 +0000 (21:47 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Wed, 3 Feb 2010 21:47:22 +0000 (21:47 +0000)
SVN-Revision: 19506

net/sslh/Makefile
net/sslh/files/sslh.init
net/sslh/patches/002-fork_fix.patch [deleted file]

index 15d26bfa9b6013985440d72fbeab4680b5342612..aed28999b7b32b0a8882dde74e07df07d9711bae 100644 (file)
@@ -1,5 +1,5 @@
 # 
-# Copyright (C) 2009 OpenWrt.org
+# Copyright (C) 2009-2010 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=sslh
-PKG_VERSION:=1.6i
-PKG_RELEASE:=3
+PKG_VERSION:=1.7a
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://rutschle.net/tech/
-PKG_MD5SUM:=b2e0a207df885d7be57713449edae815
+PKG_MD5SUM:=ee124654412198a5e11fe28acf10634d
 
 include $(INCLUDE_DIR)/package.mk
 
index b4b9e5afcc304191965a644976383bff9d531a92..98b7d84ebd0e8285b20e552d39ed0c31b5bdfa5b 100644 (file)
@@ -1,5 +1,5 @@
 #!/bin/sh /etc/rc.common
-# Copyright (C) 2009 OpenWrt.org
+# Copyright (C) 2009-2010 OpenWrt.org
 
 NAME=sslh
 PROG=/usr/sbin/sslh
@@ -60,7 +60,7 @@ stop()
        # killing all server processes
        for pidfile in `ls /var/run/${NAME}.*.pid`
         do
-               start-stop-daemon -K -s KILL -p "${pidfile}" -n "${NAME}" >/dev/null
+               start-stop-daemon -q -K -s KILL -p "${pidfile}" -n "${NAME}"
                [ $? -ne 0 ] && rc=1
                rm -f "${pidfile}"
        done
@@ -103,12 +103,10 @@ killclients()
                server=`echo ${connection} | cut -d ' ' -f 7 | cut -d '/' -f 1`
 
                # check if client connection
-               ps | grep -e "^[ ]*${server} " | grep -e "${PROG}" >/dev/null
-               if [ $? -eq 0 ]
-                then
+               grep -F -q -e "${PROG}" "/proc/${server}/cmdline" && {
                        append ignore "${server}"
                        break
-               fi
+               }
        done
 
        # get all server pids that should be ignored
@@ -121,9 +119,10 @@ killclients()
        local skip
        for pid in `pidof "${NAME}"`
         do
-               # check if correct program
-               ps | grep -e "^[ ]*${pid} " | grep -e "${PROG}" >/dev/null
-               [ $? -ne 0 ] && continue
+               # check if correct program, otherwise process next pid
+               grep -F -q -e "${PROG}" "/proc/${pid}/cmdline" || {
+                       continue
+               }
 
                # check if pid should be ignored (servers, ourself)
                skip=0
diff --git a/net/sslh/patches/002-fork_fix.patch b/net/sslh/patches/002-fork_fix.patch
deleted file mode 100644 (file)
index f404a79..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/sslh.c
-+++ b/sslh.c
-@@ -469,6 +469,7 @@
-       if (!fork())
-       {
-+         close(listen_socket);
-          start_shoveler(in_socket);
-          exit(0);
-       }