Package: mcabber Version: 0.8.3-1 Severity: minor Tags: patch My .mcabberrc is a symlink to an encfs-encrypted file because it contains a password:
[EMAIL PROTECTED]:~$ ls -l .mcabberrc lrwxrwxrwx 1 dh3 dh3 16 2008-03-20 09:37 .mcabberrc -> encfs/.mcabberrc [EMAIL PROTECTED]:~$ ls -l encfs/.mcabberrc -rw------- 1 dh3 dh3 10004 2008-03-28 14:47 encfs/.mcabberrc When mcabber starts, it complains about the file permissions: [EMAIL PROTECTED]:~$ mcabber MCabber 0.8.3 -- Email: mcabber [at] lilotux [dot] net [15:31:29] MCabber 0.8.3 -- Email: mcabber [at] lilotux [dot] net [15:31:29] Bad permissions [/home/dh3/.mcabberrc] [15:31:29] Permissions have been corrected I believe this is because mcabber is using lstat when it should be using stat to check the file permissions. The permissions of the symlink are irrelevant, it's the permissions on the target file that should be checked. (Incidentally, the message claiming that the permissions have been corrected is false because chmod works on the target file not the symlink.) I've attached a small patch to fix this. thanks, Dave -- System Information: Debian Release: 4.0 APT prefers stable APT policy: (500, 'stable') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.18-6-686 Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Versions of packages mcabber depends on: ii libc6 2.3.6.ds1-13etch5 GNU C Library: Shared libraries ii libglib2.0-0 2.12.4-2 The GLib library of C routines ii libncursesw5 5.5-5 Shared libraries for terminal hand ii libssl0.9.8 0.9.8c-4etch1 SSL shared libraries mcabber recommends no packages. -- no debconf information -- The Wellcome Trust Sanger Institute is operated by Genome Research Limited, a charity registered in England with number 1021457 and a company registered in England with number 2742969, whose registered office is 215 Euston Road, London, NW1 2BE.
--- mcabber-0.8.3/src/utils.c 2006-11-16 20:54:21.000000000 +0000 +++ mcabber-0.8.3-patched/src/utils.c 2008-04-09 15:36:12.307000000 +0100 @@ -127,7 +127,7 @@ return 0; #endif - fd = lstat(name, &buf); + fd = stat(name, &buf); if (fd == -1) return -1; if (buf.st_uid != geteuid()) {