Your message dated Tue, 25 Jan 2005 09:47:26 -0500 with message-id <[EMAIL PROTECTED]> and subject line Bug#287899: fixed in vdr 1.2.6-6 has caused the attached Bug report to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what I am talking about this indicates a serious mail system misconfiguration somewhere. Please contact me immediately.) Debian bug tracking system administrator (administrator, Debian Bugs database) -------------------------------------- Received: (at submit) by bugs.debian.org; 30 Dec 2004 20:08:07 +0000 >From [EMAIL PROTECTED] Thu Dec 30 12:08:07 2004 Return-path: <[EMAIL PROTECTED]> Received: from anchor-post-30.mail.demon.net [194.217.242.88] by spohr.debian.org with esmtp (Exim 3.35 1 (Debian)) id 1Ck6ac-00047F-00; Thu, 30 Dec 2004 12:08:07 -0800 Received: from youmustbejoking.demon.co.uk ([212.228.127.8] helo=pentagram.youmustbejoking.demon.co.uk) by anchor-post-30.mail.demon.net with esmtp (Exim 4.42) id 1Ck6aY-000Hce-2F for [EMAIL PROTECTED]; Thu, 30 Dec 2004 20:08:05 +0000 Received: from riscpc ([192.168.0.2]) by pentagram.youmustbejoking.demon.co.uk with esmtp (Exim 3.36 #1 (Debian)) id 1Ck6YS-0002p5-00 for <[EMAIL PROTECTED]>; Thu, 30 Dec 2004 20:05:52 +0000 Date: Thu, 30 Dec 2004 19:45:37 +0000 From: Darren Salt <[EMAIL PROTECTED]> Message-ID: <[EMAIL PROTECTED]> User-Agent: Messenger-Pro/3.03b4 (MsgServe/2.16) (RISC-OS/4.02) POPstar/2.06-ds.3 Subject: vdr: run as non-root user X-Editor: Zap 1.46 (23 Oct 2004) [TEST], ZapEmail 0.28.2 (15 Oct 2004) (32) X-SDate: Thu, 4139 Sep 1993 19:45:37 +0000 To: [EMAIL PROTECTED] MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="53954486--1713177131--579965269" Delivered-To: [EMAIL PROTECTED] X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2004_03_25 (1.212-2003-09-23-exp) on spohr.debian.org X-Spam-Status: No, hits=-8.0 required=4.0 tests=BAYES_00,HAS_PACKAGE autolearn=no version=2.60-bugs.debian.org_2004_03_25 X-Spam-Level: This message is in MIME format which your mailer apparently does not support. You either require a newer version of your software which supports MIME, or a separate MIME decoding utility. Alternatively, ask the sender of this message to resend it in a different format. --53954486--1713177131--579965269 Content-Type: text/plain; charset=us-ascii Package: vdr Version: 1.2.6-5 Priority: wishlist Patch and postinst/postrm scripts are attached for making vdr run as non-root. (These are from my vdr 1.3.17 package. My runvdr is significantly different, so I'm not attaching the init.d script.) If more is needed, see my apt archive, or go directly to the directory containing the vdr source and diffs: <URL:http://zap.tartarus.org/~ds/debian/dists/sarge/main/source/misc/> -- | Darren Salt | nr. Ashington, | RISC OS, | [EMAIL PROTECTED] | Northumberland | Linux | [EMAIL PROTECTED] | *Toon Army* | Say NO to UK ID cards | http://www.no2id.net/ 2+2=4. 2*2=4. 2^2=4. Therefore, +, *, and ^ are the same operation. --53954486--1713177131--579965269 Content-Type: text/plain; charset=iso-8859-1; name="05_not_as_root.dpatch" Content-Disposition: attachment; filename="05_not_as_root.dpatch" Content-Transfer-Encoding: quoted-printable #!/bin/sh /usr/share/dpatch/dpatch-run ## 02_not_as_root.dpatch by Darren Salt <[EMAIL PROTECTED] k> ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Refuse to run as root. @DPATCH@ diff -urNad vdr-1.3.17/vdr.c /tmp/dpep.r9beBp/vdr-1.3.17/vdr.c --- vdr-1.3.17/vdr.c 2004-11-21 16:04:59.000000000 +0000 +++ /tmp/dpep.r9beBp/vdr-1.3.17/vdr.c 2004-11-21 16:05:00.000000000 +0000= @@ -31,6 +31,7 @@ #include <stdlib.h> #include <termios.h> #include <unistd.h> +#include <sys/types.h> #include "audio.h" #include "channels.h" #include "config.h" @@ -108,6 +109,9 @@ // Save terminal settings: =20 struct termios savedTm; + + bool isroot =3D !getuid () || !getgid () || !geteuid () || !getegid ()= ; + =20 bool HasStdin =3D (tcgetpgrp(STDIN_FILENO) =3D=3D getpid() || getppid(= ) !=3D (pid_t)1) && tcgetattr(STDIN_FILENO, &savedTm) =3D=3D 0; =20 // Initiate locale: @@ -158,7 +162,17 @@ }; =20 int c; - while ((c =3D getopt_long(argc, argv, "a:c:dD:E:hl:L:mp:P:r:s:t:v:Vw:"= , long_options, NULL)) !=3D -1) { + if (isroot) + while ((c =3D getopt_long(argc, argv, "a:c:dD:E:hl:L:mp:P:r:s:t:v:Vw= :", long_options, NULL)) !=3D -1) { + switch (c) { + case 'h': DisplayHelp =3D true; + break; + case 'V': DisplayVersion =3D true; + break; + } + } + else + while ((c =3D getopt_long(argc, argv, "a:c:dD:E:hl:L:mp:P:r:s:t:v:Vw= :", long_options, NULL)) !=3D -1) { switch (c) { case 'a': AudioCommand =3D optarg; break; @@ -255,9 +269,11 @@ // Help and version info: =20 if (DisplayHelp || DisplayVersion) { + if (!isroot) { if (!PluginManager.HasPlugins()) PluginManager.AddPlugin("*"); // adds all available plugins PluginManager.LoadPlugins(); + } if (DisplayHelp) { printf("Usage: vdr [OPTIONS]\n\n" // for easier orienta= tion, this is column 80| " -a CMD, --audio=3DCMD send Dolby Digital audio to= stdin of command CMD\n" @@ -300,7 +316,7 @@ } if (DisplayVersion) printf("vdr (%s) - The Video Disk Recorder\n", VDRVERSION); - if (PluginManager.HasPlugins()) { + if (!isroot && PluginManager.HasPlugins()) { if (DisplayHelp) printf("Plugins: vdr -P\"name [OPTIONS]\"\n\n"); for (int i =3D 0; ; i++) { @@ -320,6 +336,11 @@ return 0; } =20 + if (isroot) { + fprintf (stderr, "%s: sorry, I refuse to run with root privileges\n= ", argv[0]); + return 0; + } + // Log file: =20 if (SysLogLevel > 0) --53954486--1713177131--579965269 Content-Type: text/plain; charset=iso-8859-1; name="vdr.postinst" Content-Disposition: attachment; filename="vdr.postinst" Content-Transfer-Encoding: quoted-printable #! /bin/sh # postinst script for vdr # # see: dh_installdeb(1) set -e # summary of how this script can be called: # * <postinst> `configure' <most-recently-configured-version> # * <old-postinst> `abort-upgrade' <new version> # * <conflictor's-postinst> `abort-remove' `in-favour' <package> # <new-version> # * <deconfigured's-postinst> `abort-deconfigure' `in-favour' # <failed-install-package> <version> `removing' # <conflicting-package> <version> # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package # # quoting from the policy: # Any necessary prompting should almost always be confined to the # post-installation script, and should be protected with a conditiona= l # so that unnecessary prompting doesn't happen if a package's # installation fails and the `postinst' is called with `abort-upgrade= ', # `abort-remove' or `abort-deconfigure'. # source debconf lib . /usr/share/debconf/confmodule case "$1" in configure) # install channels.conf db_get vdr/select_dvb_card # move cfg files from /etc/vdr to /var/lib/vdr for FILE in remote.conf setup.conf timers.conf; do if [ -e /etc/vdr/$FILE -a ! -e /var/lib/vdr/$FILE ]; then echo "Note: Moving /etc/vdr/$FILE to /var/lib/vdr/$FILE" mv /etc/vdr/$FILE /var/lib/vdr/$FILE fi done # install/move channels.conf if [ ! -e /var/lib/vdr/channels.conf ]; then if [ -e /etc/vdr/channels.conf ]; then echo "Note: Moving /etc/vdr/channels.conf to /var/lib/vdr/channels.c= onf" mv /etc/vdr/channels.conf /var/lib/vdr/channels.conf else db_get vdr/select_dvb_card case "$RET" in Sattelite|Satellite) gzip -dc /usr/share/doc/vdr/examples/channels.conf.gz > /var/lib/vdr/ch= annels.conf chmod 644 /var/lib/vdr/channels.conf ;; Terrestrial) gzip -dc /usr/share/doc/vdr/examples/channels.conf.terr.gz > /var/lib/v= dr/channels.conf chmod 644 /var/lib/vdr/channels.conf ;; Cable) gzip -dc /usr/share/doc/vdr/examples/channels.conf.cable.gz > /var/lib/= vdr/channels.conf chmod 644 /var/lib/vdr/channels.conf ;; esac fi fi # create needed devices nodes if [ ! -e /dev/dvb ]; then db_get vdr/create_devices if $RET; then # Create device nodes if they're not already # present. Currently (at least, as of kernel # 2.6.4), there's no sysfs support for this. I'm # assuming that there's devfs support (memory says # so). if [ \! -e /dev/dvb ] && [ \! -f /dev/.devfsd ]; then (cd /dev && ./MAKEDEV dvb) fi fi fi # check if /var/lib/video should be created if [ ! -e /var/lib/video ]; then db_get vdr/create_video_dir if $RET; then mkdir /var/lib/video fi fi # move any erroneously-placed files from /var/lib/vdr/plugins if [ -d /var/lib/vdr/plugins ] && [ ! -L /var/lib/vdr/plugins ]; then find /var/lib/vdr/plugins ! -type d -maxdepth 1 -print0 | xargs -0 -i mv -f {} /etc/vdr/plugins rmdir /var/lib/vdr/plugins ln -s /etc/vdr/plugins /var/lib/vdr/plugins fi # ensure that user and group 'vdr' exist adduser --system --home /video --shell /bin/false --no-create-home \ --disabled-login --group vdr # put vdr in group video so that it can access the DVB device nodes adduser vdr video # ensure that vdr's config and recording files are correctly owned [ ! -e /var/lib/video ] || chown -R vdr:vdr /var/lib/video/ [ ! -e /var/lib/vdr ] || chown -R vdr:vdr /var/lib/vdr/ update-alternatives --install /usr/bin/vdr vdr /usr/bin/vdr-daemon 120 update-alternatives --install /usr/bin/vdr vdr /usr/bin/vdr-kbd 100 update-alternatives --install /usr/bin/vdr vdr /usr/bin/vdr-lirc 110 update-alternatives --install /usr/bin/vdr vdr /usr/bin/vdr-rcu 105 ;; abort-upgrade|abort-remove|abort-deconfigure) ;; *) echo "postinst called with unknown argument \`$1'" >&2 exit 1 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0 --53954486--1713177131--579965269 Content-Type: text/plain; charset=iso-8859-1; name="vdr.postrm" Content-Disposition: attachment; filename="vdr.postrm" Content-Transfer-Encoding: quoted-printable #! /bin/sh -e #DEBHELPER# exit 0 --53954486--1713177131--579965269-- --------------------------------------- Received: (at 287899-close) by bugs.debian.org; 25 Jan 2005 14:53:13 +0000 >From [EMAIL PROTECTED] Tue Jan 25 06:53:13 2005 Return-path: <[EMAIL PROTECTED]> Received: from newraff.debian.org [208.185.25.31] (mail) by spohr.debian.org with esmtp (Exim 3.35 1 (Debian)) id 1CtS49-0005UQ-00; Tue, 25 Jan 2005 06:53:13 -0800 Received: from katie by newraff.debian.org with local (Exim 3.35 1 (Debian)) id 1CtRyY-000104-00; Tue, 25 Jan 2005 09:47:26 -0500 From: Debian VDR Team <[EMAIL PROTECTED]> To: [EMAIL PROTECTED] X-Katie: $Revision: 1.55 $ Subject: Bug#287899: fixed in vdr 1.2.6-6 Message-Id: <[EMAIL PROTECTED]> Sender: Archive Administrator <[EMAIL PROTECTED]> Date: Tue, 25 Jan 2005 09:47:26 -0500 Delivered-To: [EMAIL PROTECTED] X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2005_01_02 (1.212-2003-09-23-exp) on spohr.debian.org X-Spam-Status: No, hits=-6.0 required=4.0 tests=BAYES_00,HAS_BUG_NUMBER autolearn=no version=2.60-bugs.debian.org_2005_01_02 X-Spam-Level: X-CrossAssassin-Score: 3 Source: vdr Source-Version: 1.2.6-6 We believe that the bug you reported is fixed in the latest version of vdr, which is due to be installed in the Debian FTP archive: vdr-daemon_1.2.6-6_i386.deb to pool/main/v/vdr/vdr-daemon_1.2.6-6_i386.deb vdr-dev_1.2.6-6_all.deb to pool/main/v/vdr/vdr-dev_1.2.6-6_all.deb vdr-kbd_1.2.6-6_i386.deb to pool/main/v/vdr/vdr-kbd_1.2.6-6_i386.deb vdr-lirc_1.2.6-6_i386.deb to pool/main/v/vdr/vdr-lirc_1.2.6-6_i386.deb vdr-plugin-examples_1.2.6-6_i386.deb to pool/main/v/vdr/vdr-plugin-examples_1.2.6-6_i386.deb vdr-plugin-sky_1.2.6-6_i386.deb to pool/main/v/vdr/vdr-plugin-sky_1.2.6-6_i386.deb vdr-rcu_1.2.6-6_i386.deb to pool/main/v/vdr/vdr-rcu_1.2.6-6_i386.deb vdr_1.2.6-6.diff.gz to pool/main/v/vdr/vdr_1.2.6-6.diff.gz vdr_1.2.6-6.dsc to pool/main/v/vdr/vdr_1.2.6-6.dsc vdr_1.2.6-6_i386.deb to pool/main/v/vdr/vdr_1.2.6-6_i386.deb A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to [EMAIL PROTECTED], and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Debian VDR Team <[EMAIL PROTECTED]> (supplier of updated vdr package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing [EMAIL PROTECTED]) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Format: 1.7 Date: Wed, 19 Jan 2005 00:12:03 +0100 Source: vdr Binary: vdr-kbd vdr-plugin-sky vdr-lirc vdr-daemon vdr-rcu vdr vdr-dev vdr-plugin-examples Architecture: source i386 all Version: 1.2.6-6 Distribution: unstable Urgency: high Maintainer: Debian VDR Team <[EMAIL PROTECTED]> Changed-By: Debian VDR Team <[EMAIL PROTECTED]> Description: vdr - Video Disk Recorder for DVB cards vdr-daemon - Server version of Video Disk Recorder for DVB cards vdr-dev - Video Disk Recorder for DVB cards vdr-kbd - Video Disk Recorder for DVB cards with keyboard control vdr-lirc - Video Disk Recorder for DVB cards with IR remote control vdr-plugin-examples - Plugins for vdr to show some possible features vdr-plugin-sky - Plugin for using a Sky Digibox with vdr vdr-rcu - Video Disk Recorder for DVB cards with RCU control Closes: 273643 287428 287899 287914 Changes: vdr (1.2.6-6) unstable; urgency=high . * Urgency high because it includes a fix for CAN-2005-0071 * Thomas Günther <[EMAIL PROTECTED]> - new (optional) plugin check (with "vdr -V -P plugin") - Extracted patchlevel code to patchlevel.sh - Installing patchlevel.sh into vdr-dev package * Tobias Grimm <[EMAIL PROTECTED]> - fixed small bug in vdr-recordingaction - moved PLUGIN_DIR, PLUGIN_PREFIX, CFG_DIR, PLUGIN_CFG_DIR, PLUGIN_ORDER_FILE, CMDHOOKSDIR, REC_CMD from the default file to the init script - fixed bug in shutdown script (OSD messages have to be deferred until the shutdown script is finished) - removed PLUGIN_ORDER_FILE paramter, order.conf should always be in PLUGIN_CFG_DIR - set default location for epg.data to /var/cache/vdr (vdr -E) - The default command to shutdown the system when the power-off-key of the remote is pressed, can now be configured in /etc/default/vdr. - When processing the shutdown hooks, no further hook scripts will be processed, if one script requests to delay the shutdown. - Extracted loading of VDR daemon config options to separate file for later reuse by other start scripts - Fixed warning message in generated commands.conf and reccmds.conf * Thomas Schmidt <[EMAIL PROTECTED]> - Do not run as user root anymore, the user vdr will be created and the video-directory and config-files will be changed, so the owner/group is vdr:vdr (closes: #287899) - Added 07_not_as_root.dpatch - vdr exists when it should run as user or with group-id root (adapted from Darren Salt's patch for vdr 1.3.x) - Added 08_security_CAN-2005-0071.dpatch - do not overwrite existing files with the GRAB-Command anymore (CAN-2005-0071) - Set default port for SVDRP to 0, users who run vdr from the commandline will have to enable it by using the --port option (in the init-script SVDRP will still be enabled and on the default port 2001) - Added vdr-shutdown.wrapper with owner/group root:vdr and mode 6750, which calls the normal vdr-shutdown-script so that the user vdr is able to run vdr's shutdown-hooks - The automatic shutdown is now disabled by default, to enable it again you have to change ENABLE_SHUTDOWN=0 to 1 in /etc/default/vdr - Changed package vdr to Architecture: any, because it now contains a binary file - Added patch from Ludwig Nussel to be able to syncronize the system- time via DVB, even when vdr runs as user - Build-depend on libcap-dev - Package vdr: depend on adduser - Remove some files under /var/lib/vdr and /var/cache/vdr in postrm on purge (closes: #287914) - Added german (de.po) debconf-translation from Jens Nachtigall <[EMAIL PROTECTED]> (closes: #273643) - Added a note to the package description and README.Debian that vdr (without special plugins) requires a DVB-Card with an mpeg-decoder (Closes: #287428) - Improved runvdr-script: when no loaded dvb-modules were found, try to load the module dvb (could be an alias for the real dvb-module) - Added XB-VDR-Patchlevel-field in debian/control to vdr-plugin-sky and vdr-plugin-examples - Build-depend on dpatch (>= 2.0.9) - Converted existing dpatch-files to the new short format - Added newplugin-script as vdr-newplugin to vdr-dev, so plugin-developers can initialize a new plugin-directory without a normal vdr-source-tree - Added debianize-vdrplugin-script and the plugin-template-dir from c't-vdr - Added lintian-override to avoid the lintian-warnings for the plugin-template-scripts - Default VIDEO_DIR is now /var/lib/video.00, so new harddiscs can be added very easy by mounting them to /var/lib/video.0{1,2,...} (if the old directory /var/lib/video exists, create /var/lib/video.00 as symlink to the old directory, if it does not exist, /var/lib/video will be a symlink to /var/lib/video.00) - Removed unnecessary debconf-question about creating the dvb devices, they will now be created without any question when they are not existing allready - Removed libncurses5-dev from Build-Depends Files: d968ef3de8f9ac5b2eb6fec49f29aa5d 873 misc extra vdr_1.2.6-6.dsc 4ebaed84803bf6fd8fe481404e2978a1 87691 misc extra vdr_1.2.6-6.diff.gz 7b21cce980ebf5db0de48e6a302b4185 87032 misc extra vdr-dev_1.2.6-6_all.deb 3ef227680165e91d32959b7abe391f5d 160260 misc extra vdr_1.2.6-6_i386.deb f22496f800caeceefbc43b55fdcc09cb 273970 misc extra vdr-kbd_1.2.6-6_i386.deb ab27267be539091ebad0ac8adf8f6576 273898 misc extra vdr-lirc_1.2.6-6_i386.deb 7a2bfae494f9a30ecda8f8e255f4a50e 273922 misc extra vdr-rcu_1.2.6-6_i386.deb ec7f58fa570fd910bb27e472e22fb954 273944 misc extra vdr-daemon_1.2.6-6_i386.deb 37c6823bf905e5efb19ba3e7d3ac2d98 17860 misc extra vdr-plugin-sky_1.2.6-6_i386.deb 27f7f7bfdedd07686396d9014d705632 12228 misc extra vdr-plugin-examples_1.2.6-6_i386.deb -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) iD8DBQFB9ln3geVih7XOVJcRAllnAJ9rUpx3KMj+75GPKlQhP+o4I+c9aQCfTIU+ q9LcAPoZhWpoeGKKy25mE+0= =mGK3 -----END PGP SIGNATURE----- -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]