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()) {

Reply via email to