diff --git a/packages/3rdparty/multimedia/vdr-iptv/build b/packages/3rdparty/multimedia/vdr-iptv/build index 0d6d147be4..0f52c67181 100755 --- a/packages/3rdparty/multimedia/vdr-iptv/build +++ b/packages/3rdparty/multimedia/vdr-iptv/build @@ -24,6 +24,6 @@ VDR_DIR=`basename $BUILD/vdr-[0-9]*` -cd $BUILD/iptv-* +cd $PKG_BUILD make VDRDIR="../$VDR_DIR" LIBDIR="." LOCALEDIR="./locale" diff --git a/packages/3rdparty/multimedia/vdr-iptv/patches/vdr-iptv-0.5.0-http_socket_connect.patch b/packages/3rdparty/multimedia/vdr-iptv/patches/vdr-iptv-0.5.0-http_socket_connect.patch new file mode 100644 index 0000000000..866c7f70ea --- /dev/null +++ b/packages/3rdparty/multimedia/vdr-iptv/patches/vdr-iptv-0.5.0-http_socket_connect.patch @@ -0,0 +1,36 @@ +commit 9766e893eb3ed1076e41f89b663b3be122355f39 +Author: Stefan Saraev +Date: Wed Mar 7 00:13:55 2012 +0200 + + vdr-iptv: protocolhttp socket connect() fix + +diff --git a/protocolhttp.c b/protocolhttp.c +index 62abbd6..2d5277a 100644 +--- a/protocolhttp.c ++++ b/protocolhttp.c +@@ -42,6 +42,25 @@ bool cIptvProtocolHttp::Connect(void) + if (!isActive && !isempty(streamAddr) && !isempty(streamPath)) { + // Ensure that socket is valid and connect + OpenSocket(socketPort, streamAddr); ++ ++ // First try only the IP address ++ sockAddr.sin_addr.s_addr = inet_addr(streamAddr); ++ ++ if (sockAddr.sin_addr.s_addr == INADDR_NONE) { ++ debug("Cannot convert %s directly to internet address\n", streamAddr); ++ ++ // It may be a host name, get the name ++ struct hostent *host; ++ host = gethostbyname(streamAddr); ++ if (!host) { ++ char tmp[64]; ++ error("%s is not valid address: %s", streamAddr, strerror_r(h_errno, tmp, sizeof(tmp))); ++ return false; ++ } ++ ++ sockAddr.sin_addr.s_addr = inet_addr(*host->h_addr_list); ++ } ++ + if (!ConnectSocket()) { + CloseSocket(); + return false; diff --git a/packages/3rdparty/multimedia/vdr-iptv/rename b/packages/3rdparty/multimedia/vdr-iptv/rename new file mode 100644 index 0000000000..3c2bd91fe2 --- /dev/null +++ b/packages/3rdparty/multimedia/vdr-iptv/rename @@ -0,0 +1,6 @@ +#!/bin/sh + +. config/options $1 + +cd $BUILD +mv iptv-${PKG_VERSION} ${PKG_NAME}-${PKG_VERSION} diff --git a/packages/addons/service/multimedia/vdr-addon/addon b/packages/addons/service/multimedia/vdr-addon/addon index 0a2858aeeb..66592a7860 100755 --- a/packages/addons/service/multimedia/vdr-addon/addon +++ b/packages/addons/service/multimedia/vdr-addon/addon @@ -38,7 +38,7 @@ mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/plugin cp -PR $BUILD/vdr-plugin-xvdr-*/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin cp -PR $BUILD/vdr-dynamite-*/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin - cp -PR $BUILD/iptv-*/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin + cp -PR $BUILD/vdr-iptv-*/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin cp -PR $BUILD/wirbelscan-*/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin cp -PR $BUILD/vdr-plugin-dvbapi-*/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin cp -PR $BUILD/vdr-sc-*/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin diff --git a/packages/network/openssh/init.d/51_sshd b/packages/network/openssh/init.d/51_sshd index 6e06c85812..28855eb16a 100644 --- a/packages/network/openssh/init.d/51_sshd +++ b/packages/network/openssh/init.d/51_sshd @@ -29,6 +29,8 @@ KEYGEN="/usr/bin/ssh-keygen" SSHD="/usr/sbin/sshd" + HOME="/storage" + ( if [ "$SSH" = yes -o -f /storage/.config/ssh_enable ]; then @@ -59,12 +61,16 @@ chmod 600 $DSA2_KEY fi + # ensure that $HOME/.ssh exists, is root-owned and not world-readable + mkdir -p $HOME/.ssh + chown root:root $HOME/.ssh + chmod 0700 $HOME/.ssh + # Check for predefined known hosts file if [ -f /etc/ssh/known_hosts -a ! -f $HOME/.ssh/known_hosts ] ; then progress "SSH: setup predefined known hosts" - mkdir -p /$HOME/.ssh - cp /etc/ssh/known_hosts $HOME/.ssh + cp /etc/ssh/known_hosts $HOME/.ssh fi progress "Starting SSH Server"