From 59c6558ce3e26ecc8eec00a4ea1279f6fdfc0805 Mon Sep 17 00:00:00 2001 From: Frank Schmirler Date: Fri, 9 Dec 2011 09:04:00 +0100 Subject: VDR 1.7.22 obsoletes cap_net_raw patch. Added cap_net_raw patch for VDR 1.7.5 - 1.7.21. --- HISTORY | 2 ++ README | 10 ++++++---- patches/vdr-1.6.0-cap_net_raw.diff | 11 +++++++++++ patches/vdr-1.7.21-cap_net_raw.diff | 11 +++++++++++ patches/vdr-cap_net_raw.diff | 11 ----------- 5 files changed, 30 insertions(+), 15 deletions(-) create mode 100644 patches/vdr-1.6.0-cap_net_raw.diff create mode 100644 patches/vdr-1.7.21-cap_net_raw.diff delete mode 100644 patches/vdr-cap_net_raw.diff diff --git a/HISTORY b/HISTORY index 2ca5dd6..475e5aa 100644 --- a/HISTORY +++ b/HISTORY @@ -1,6 +1,8 @@ VDR Plugin 'streamdev' Revision History --------------------------------------- +- VDR 1.7.22 obsoletes cap_net_raw patch. Added cap_net_raw patch for VDR + 1.7.5 - 1.7.21. - Update and UTF-8 conversion of Finnish po files (thanks to Rolf Ahrenberg) - Added "Hide mainmenu entry" option on server (thanks to Rolf Ahrenberg) - Added server menu with list of clients. Connections can be terminated diff --git a/README b/README index 60c803f..2b4c4f1 100644 --- a/README +++ b/README @@ -287,10 +287,12 @@ reserved according to RFC-2365). Before you can use streamdev's multicast server, you might need to patch VDR. Binding an IGMP socket is a privileged operation, so you must start VDR as root. If you pass the -u option to VDR, it will drop almost all priviledges before -streamdev is even loaded. Apply vdr-cap_net_raw.diff to keep VDR from dropping -the CAP_NET_RAW capability required to bind the IGMP socket. The patch is part -of streamdev's source distribution. Check the patches subdirectory. There's no -need to patch VDR if it is kept running as root (not recommended). +streamdev is even loaded. In VDR < 1.7.22 this prevented streamdev from binding +the socket. Apply either patch vdr-1.6.0-cap_net_raw.diff (VDR < 1.7.5) or +vdr-1.7.21-cap_net_raw.diff (VDR < 1.7.22) to keep VDR from dropping capability +CAP_NET_RAW. The patch is part of streamdev's source distribution. Check the +patches subdirectory. There's no need to patchif you are running VDR >= 1.7.22 +or if VDR is kept running as root (not recommended). The multicast server is disabled by default. Enter the streamdev-server setup menu to enable it and - IMPORTANT - bind the multicast server to the IP of your diff --git a/patches/vdr-1.6.0-cap_net_raw.diff b/patches/vdr-1.6.0-cap_net_raw.diff new file mode 100644 index 0000000..2f714b1 --- /dev/null +++ b/patches/vdr-1.6.0-cap_net_raw.diff @@ -0,0 +1,11 @@ +--- vdr.c.orig 2009-02-13 09:45:55.000000000 +0100 ++++ vdr.c 2009-02-13 09:46:24.000000000 +0100 +@@ -115,7 +115,7 @@ + static bool SetCapSysTime(void) + { + // drop all capabilities except cap_sys_time +- cap_t caps = cap_from_text("= cap_sys_time=ep"); ++ cap_t caps = cap_from_text("= cap_sys_time,cap_net_raw=ep"); + if (!caps) { + fprintf(stderr, "vdr: cap_from_text failed: %s\n", strerror(errno)); + return false; diff --git a/patches/vdr-1.7.21-cap_net_raw.diff b/patches/vdr-1.7.21-cap_net_raw.diff new file mode 100644 index 0000000..a1d1f04 --- /dev/null +++ b/patches/vdr-1.7.21-cap_net_raw.diff @@ -0,0 +1,11 @@ +--- vdr.c.orig 2011-12-09 08:47:52.000000000 +0100 ++++ vdr.c 2011-12-09 08:48:14.000000000 +0100 +@@ -116,7 +116,7 @@ + static bool DropCaps(void) + { + // drop all capabilities except selected ones +- cap_t caps = cap_from_text("= cap_sys_nice,cap_sys_time=ep"); ++ cap_t caps = cap_from_text("= cap_sys_nice,cap_sys_time,cap_net_raw=ep"); + if (!caps) { + fprintf(stderr, "vdr: cap_from_text failed: %s\n", strerror(errno)); + return false; diff --git a/patches/vdr-cap_net_raw.diff b/patches/vdr-cap_net_raw.diff deleted file mode 100644 index 2f714b1..0000000 --- a/patches/vdr-cap_net_raw.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- vdr.c.orig 2009-02-13 09:45:55.000000000 +0100 -+++ vdr.c 2009-02-13 09:46:24.000000000 +0100 -@@ -115,7 +115,7 @@ - static bool SetCapSysTime(void) - { - // drop all capabilities except cap_sys_time -- cap_t caps = cap_from_text("= cap_sys_time=ep"); -+ cap_t caps = cap_from_text("= cap_sys_time,cap_net_raw=ep"); - if (!caps) { - fprintf(stderr, "vdr: cap_from_text failed: %s\n", strerror(errno)); - return false; -- cgit v1.2.3