DragonFly kernel List (threaded) for 2008-06
DragonFly BSD
DragonFly kernel List (threaded) for 2008-06
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

GSoC 2008 dma enhancements


From: "Max Lindner" <gisanka@xxxxxxxxxxxxxx>
Date: Tue, 3 Jun 2008 00:27:10 +0200

Hi out there!

I'm Max, a 25 year old graduate computer science student from germany.
I finished my diploma thesis in April and held my final talk about my
thesis the friday before. That's why I was nearly invisible since my
accepted application. Besides computers I'm very keen on running,
biking, climbing (and many other sports). I live in Erlangen, which is
in Frankonia (Bavaria) where we have many little breweries and most of
them produce very good beer :-) My nickname in #dragonflybsd is
gisanka.
I'm very happy to have the opportunity to work this summer at the
dragonflybsd project.

My project consists of two parts:

-add .forward support
-enhance smarthost handling

Where the .forward handling should be done by July and the smarthost
handling by August.

For the .forward support I planned to support any combination of the
following 3 ways to redirect a message:

|/pipe/to/executable
mailbox@remote.host
!deliverdirekttomailbox

To integrate these schemes I plan to extend the parser which parses
/etc/aliases for now. I think it would be appreciated if in
/etc/aliases would be the same support for these 3 lines above. I'm
not really sure how fast I can get used to the parser language, maybe
I will need some help on this topic. We will see.

In order to read a users .forward file, the dma-process must be run as
root, so it must be set setuid root. This would solve the problem
which I read at the mailinglist the last week, where it was not
possible to write a mail from non-root to non-root ootb.
I would not run the dma process as a daemon. It should be sufficient
if it runs as long as it tries to deliver a message and terminate
after the last message was sent. I guess when dma is used on a host,
then the mailsetup is a very tiny one (and mostly with a smarthost)
and so there should be no need to listen on port 25 or have a
queue-runner-daemon because there are not many mails to send.

I guess thats the whole thing which would change central things in dma
during the first coding period.

Things to care about:
-make sure that dma reads only .forward and could not be used to read
other files of another user
-make sure that the input is sanitized when running as root
-drop privileges asap during execution (if possible at all)
-if mail is piped to executable, run the executable as user, not as root

Do you think I disregarded something? Is there anything to add to the
list I should care about?

Greetings,
Max



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]