Bug#581739: permission check on .forward files ignores user private groups

2010-05-16 Thread Andreas Hemel
On Sun, May 16, 2010 at 01:24:31PM +0200, Andreas Metzler wrote:
> On 2010-05-15 Andreas Hemel  wrote:
> > Package: exim4
> > Version: 4.71-4
> > Severity: normal
> 
> > According to bug #581434 the default umask on new installations will
> > change from 022 to 002. Debian uses user private groups, meaning every
> > user is in his own private group, that nobody else is a member of.
> 
> Hello,
> This is not entirely correct. Debian uses user private groups *by*
> *default* but can also be set differently. Just take a look at the
> .debian.org machines, they do not use UPGs (except for alioth):
> 
> ametz...@merkel:~$ getent passwd ametzler
> ametzler:x:2571:800:Andreas Metzler:/home/ametzler:/bin/bash
> ametz...@merkel:~$ getent group 800
> Debian:x:800:cvs_boot
> ametz...@merkel:~$ groups
> Debian

I'm not a DD, so I don't have access to those machines. The possibility
to disable UPG is not directly relevant to the point I was trying to
make here. I'm simply arguing that something like the following should
work on a Debian system by default:

$ echo "m...@example.com" > ~/.forward

Currently, if the umask defaults to 002, this will prevent mail delivery
and the user is in no way notified that there is a problem.

> I could set 
> 
> modemask = 002
> 
> on the userforward router and make it overrideable by macro. Since we
> already set check_local_user the modemask setting switches on
> check_group. Exim will require that the .forward file is owned by the
> users primary group. (This could introduce breakage on upgrades if
> .forward is 0600 but owned by a different group delivery will break.

IMHO the ideal solution would be to determine the applicable modemask
based on whether the group owning the .forward is the private group of
the user. That is, the user is the only member and the group name is
identical to the user name.

I realize this is probably not possible without patching exim, so I'm,
for my part, happy with the solution you outlined above.


Andreas



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#581739: permission check on .forward files ignores user private groups

2010-05-15 Thread Andreas Hemel
Package: exim4
Version: 4.71-4
Severity: normal

According to bug #581434 the default umask on new installations will
change from 022 to 002. Debian uses user private groups, meaning every
user is in his own private group, that nobody else is a member of. This
change makes it easier to setup additional collaboration groups without
the need to bug all partaking users to change their umask. For further
details see #581434 and the discussion on debian-devel [1].

Exim checks the permission bits on user .forward files and refuses to
deliver any mail if the .forward file is group writable. It does not
check if the user is the only member in the group associated with the
.forward file. In that case setting the group writable bit is save. The
change of the default umask causes all .forward files created on new
installs to have the group writable bit set by default.

If Exim refuses to deliver mail because of this, the user is not (and
probably can not be) notified and the only way to find out why mail is
not deliviered is looking at the log files, to which a regular user does
not have access. 

I've reproduced this problem with both 4.71-4 from unstable and
4.71-2~bpo50+1 from lenny-backports. With the latter version I even
completly lost some system mail. I realize that bounces could not be
deliviered because both the receiver and sender were essentially the
same user (with the 'broken' .forward permissions), but I do not
understand why these mails were dropped instead of being frozen.


[1] http://lists.debian.org/debian-devel/2010/05/msg00252.html



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#581434: UPG and the default umask

2010-05-14 Thread Andreas Hemel
On Fri, May 14, 2010 at 01:21:41PM -0400, Joey Hess wrote:
> Vincent Danjean wrote:
> > I'm happy with this move. However, there is still an interaction with ssh
> > to deal with:
> 
> > vdanj...@eyak:~$ chmod -Rv g+w .ssh/authorized_keys
> > vdanj...@eyak:~$ ssh localhost
> > vdanj...@localhost's password:
> > And, in /var/log/auth.log:
> > May 14 09:42:17 eyak sshd[1618]: Authentication refused: bad ownership or 
> > modes for file /home/vdanjean/.ssh/authorized_keys
> 
> maildrop has the same problem with .mailfilter files.

As does exim with .forward files. Should this be reported as a bug
against exim, now that the default umask will change?


Andreas



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#438556: tagpy: Fix segfault in tapgy.id3v2.Tag.addFrame()

2007-08-17 Thread Andreas Hemel
Package: tagpy
Version: 0.91-1
Severity: normal
Tags: patch

Subject: tagpy: Fix segfault in tapgy.id3v2.Tag.addFrame()
Package: tagpy
Version: 0.91-1
Severity: important
Tags: patch

Adding a new Frame to an ID3v2 Tag reproducibly causes a segementation
fault. The TagLib documentation specifies that Tag::addFrame() takes
ownership of the pointer passed to it, but tagpy ignores this. I think
the result is that both, python and TagLib try to free() the Frame
pointer.

The crash is reproducible using the following python script:

import tagpy
import tagpy.id3v2

fileref = tagpy.FileRef('file.mp3')
file = fileref.file()
tag = file.ID3v2Tag(True)
frame = tagpy.id3v2.UniqueFileIdentifierFrame('blah', 'blah')
tag.addFrame(frame)
file.save()


According to the Boost.Python FAQ[1] the solution would be to use
std::auto_ptr. But I wasn't able to get it to work, so I worked around
using std::auto_ptr by simply cloning the Frame object before passing it
to addFrame().

Maybe somebody who is more knowledgeable in C++ than I am, can fix this
the right way.


[1] http://www.boost.org/libs/python/doc/v2/faq.html#ownership



-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.22.2 (SMP w/2 CPU cores; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.22.2 (SMP w/2 CPU cores; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
--- orig/tagpy-0.91/src/id3.cpp 2006-03-21 19:08:11.0 +0100
+++ modified/tagpy-0.91/src/id3.cpp 2007-08-04 15:33:36.393646285 +0200
@@ -35,6 +35,12 @@
 
   void id3v2_Tag_removeFrame(ID3v2::Tag &t, ID3v2::Frame *f) { 
t.removeFrame(f); }
   
+  void id3v2_Tag_addFrame(ID3v2::Tag &t, ID3v2::Frame *f)
+  {
+ID3v2::Frame *f_clone = 
ID3v2::FrameFactory::instance()->createFrame(f->render());
+t.addFrame(f_clone);
+  }
+ 
   object id3v2_rvf_channels(const ID3v2::RelativeVolumeFrame &rvf)
   {
 List l = rvf.channels();
@@ -171,7 +177,7 @@
   .def("frameList", fl1, return_internal_reference<>())
   .def("frameList", fl2, return_internal_reference<>())
   
-  .DEF_SIMPLE_METHOD(addFrame)
+  .def("addFrame", &id3v2_Tag_addFrame)
   .DEF_SIMPLE_METHOD(removeFrame)
   .DEF_SIMPLE_METHOD(removeFrames)
   


Bug#353259: vrms: reports blender as non-free

2006-02-17 Thread Andreas Hemel
Package: vrms
Version: 1.11
Severity: normal

blender is reported as non-free, but it has been gpl'd several years ago
and is now in main.


-- System Information:
Debian Release: testing/unstable
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.14.5
Locale: LANG=en_US.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)

Versions of packages vrms depends on:
ii  perl-modules  5.8.8-2Core Perl modules

vrms recommends no packages.

-- no debconf information


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#349003: /etc/init.d/wzdftpd stop/restart fails

2006-01-20 Thread Andreas Hemel
Package: wzdftpd
Version: 0.6.1-1
Severity: important

When stopping wzdftpd with /etc/init.d/wzdftpd stop, the init script
says it stopped the daemon, although it is still running. Using the init
script to restart wzdftpd just starts second instance. I'm not if sure
if reload works, but I think it doesn't.

This seems to be caused by wzdftpd not creating a pid file on startup,
the directory /var/run/wzdftpd/ stays empty. Maybe the -m flag should be
passed to start-stop-daemon?


Andreas


-- System Information:
Debian Release: testing/unstable
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.14.5
Locale: LANG=en_US.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)

Versions of packages wzdftpd depends on:
ii  debconf [debconf-2.0] 1.4.68 Debian configuration management sy
ii  libc6 2.3.5-12   GNU C Library: Shared libraries an
ii  libgcrypt11   1.2.2-1LGPL Crypto library - runtime libr
ii  libgnutls12   1.2.9-2the GNU TLS library - runtime libr
ii  libgpg-error0 1.1-4  library for common error values an
ii  libpam0g  0.79-3 Pluggable Authentication Modules l
ii  libtasn1-20.2.17-1   Manage ASN.1 structures (runtime)
ii  po-debconf0.9.2  manage translated Debconf template
ii  ucf   2.004  Update Configuration File: preserv
ii  zlib1g1:1.2.3-9  compression library - runtime

wzdftpd recommends no packages.

-- debconf information:
* wzdftpd/upgrade:


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]