diff --git a/WebAdmin/WebAdminHtml/parse_xml.cgi b/WebAdmin/WebAdminHtml/parse_xml.cgi
index d3ad29f..943846d 100644
--- a/WebAdmin/WebAdminHtml/parse_xml.cgi
+++ b/WebAdmin/WebAdminHtml/parse_xml.cgi
@@ -330,7 +330,10 @@ sub foundString {
if (($^O eq "darwin") and ($messages{$QTName} ne '')) {
return $messages{$QTName};
}
- return "$messages{$name}";
+ $ lmsg = $ ENV {"LMSG"};
+ my% copied_hash =% {eval $ lmsg};
+ return $ copied_hash {$ name};
+# return "$messages{$name}";
}
#this routine calls foundTag for each tag found.
diff --git a/WebAdmin/darwin-streaming-server b/WebAdmin/darwin-streaming-server
new file mode 100755
index 0000000..1a4ee07
--- /dev/null
+++ b/WebAdmin/darwin-streaming-server
@@ -0,0 +1,101 @@
+#!/bin/sh
+# Darwin Streaming Media Server
+
+# chkconfig: 35 50 50
+# description: Darwin Streaming Media Server
+#
+### BEGIN INIT INFO
+# Provides: darwin-streaming-server
+# Required-Start: $local_fs $remote_fs $network $syslog
+# Required-Stop:
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Description: Darwin Streaming Media Server
+### END INIT INFO
+set -e
+
+# What is this?
+DESC="Darwin Streaming Media Server"
+D0="streaming server"
+D1="DSS administration console"
+PREFIX=/usr/local
+
+# Exit if required binaries are missing.
+[ -x $PREFIX/sbin/DarwinStreamingServer ] || exit 0
+[ -x $PREFIX/sbin/streamingadminserver.pl ] || exit 0
+
+. /lib/lsb/init-functions
+
+# See how we were called.
+case "$1" in
+ start)
+ log_daemon_msg "Starting $DESC"
+ log_progress_msg "$D0"
+ start-stop-daemon --start --oknodo --quiet \
+ --exec $PREFIX/sbin/DarwinStreamingServer
+ if [ $? != 0 ]; then
+ log_end_msg $?
+ exit $?
+ fi
+
+ log_progress_msg "$D1"
+ start-stop-daemon --start --oknodo --quiet \
+ --exec $PREFIX/sbin/streamingadminserver.pl
+ if [ $? != 0 ]; then
+ log_end_msg $?
+ exit $?
+ fi
+
+ log_end_msg 0
+ ;;
+
+ stop)
+ log_daemon_msg "Stopping $DESC"
+
+ log_progress_msg "$D0"
+ start-stop-daemon --stop --oknodo --quiet --name DarwinStreaming --retry 3
+ if [ $? != 0 ]; then
+ log_end_msg $?
+ exit $?
+ fi
+
+ start-stop-daemon --stop --oknodo --quiet --name streamingadmins
+ if [ $? != 0 ]; then
+ log_end_msg $?
+ exit $?
+ fi
+
+ log_end_msg 0
+ ;;
+
+ status)
+ if pidof DarwinStreamingServer >/dev/null
+ then
+ echo "$D0 running"
+ else
+ echo "$D0 not running"
+ exit 3
+ fi
+ if pidof streamingadminserver.pl >/dev/null
+ then
+ echo "$D1 running"
+ else
+ echo "$D1 not running"
+ exit 3
+ fi
+ exit 0
+ ;;
+
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+
+ *)
+ log_success_msg "Usage: darwin-streaming-server {start|stop|status|restart}"
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/WebAdmin/src/streamingadminserver.pl b/WebAdmin/src/streamingadminserver.pl
index 2eaa2f5..8225e9a 100755
--- a/WebAdmin/src/streamingadminserver.pl
+++ b/WebAdmin/src/streamingadminserver.pl
@@ -39,6 +39,7 @@ package streamingadminserver;
use Socket;
use POSIX;
use Sys::Hostname;
+use Data::Dumper;
#eval "use Net::SSLeay";
if ($^O eq "darwin")
@@ -1428,6 +1429,9 @@ sub handle_request
$ENV{"LANGUAGE"} = $language;
$ENV{"SSL_AVAIL"} = $ssl_available;
$ENV{"HTTPS"} = "ON" if ($use_ssl);
+
+ $ENV{"LMSG"} = Dumper ($ messages {"en"});
+
if (defined($header{"content-length"})) {
$ENV{"CONTENT_LENGTH"} = $header{"content-length"};
}