DragonFly kernel List (threaded) for 2008-06
GSoC 2008 dma enhancements
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
I'm very happy to have the opportunity to work this summer at the
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:
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?