Re: running resin as non-root usr

Scott Ferguson <[email protected]> Wed, 5 Jul 2006 09:22:25 -0700
Newsgroups gmane.text.xml.resin.user
Message-ID <[email protected]>
On Jul 5, 2006, at 7:48 AM, David Campbell wrote:
>
>> Our plan to make this work properly involves replacing wrapper.pl/  
>> httpd.exe with a Java-based watchdog (which will give us better   
>> manageability as well).
>
> Interesting - can you expand?

The watchdog process is a small process which has the responsibility  
for starting the JVM and restarting the JVM if it dies.  Right now,  
it's implemented by wrapper.pl on Unix and httpd.exe on Windows.

Since the watchdog isn't really doing much, it's not going to run  
into problems like OOM or deadlocks.  In other words, it's  
essentially guaranteed to be up no matter what happens to the main  
JVM process.  Also, since it's not doing much it's less of a security  
risk, and can just run as root.

When the watchdog starts up Resin, it will parse the resin.conf,  
looking for the <srun> and the <boot> sections and ignoring  
everything else.  It can then bind to port 80 (since it's root), and  
launch the new JVM as "resin" or whatever the setuid is, and passing  
the opened file descriptor.  (That part is a little trickier.)

>
>> However, that's enough of a change to people's starting of Resin  
>> that  we're putting it off until the 3.1 branch (which will happen  
>> when  3.0.20 is released.)
>
> I think the change is significant enough to warrant this but I am a  
> little concerned about the impact of another branch.  Is 3.1 going  
> to be considered gold out of the box?

3.1 will have changes, e.g. the new servlet, jsp specs, etc.  So it  
will have more changes than the 3.0 branch, but the changes won't be  
anything as radical as the initial 3.0 split.

The 3.0 branch will then only have bug fixes.

-- Scott