sshd blocks SIGALRM

Loic Domaigne loic-dev at gmx.net
Tue Dec 27 03:11:49 EST 2005


Hi Damien, 

> > After some non trivial investigations, we found out that SIGALRM was
> > blocked in the signal set of the remote shell we were using, and hence 
> > in our command since the signal mask is inherited accross fork()/exec().

> 
> I don't think it makes any sense to inherit a custom SIGALRM handler
> across exec(). That sounds like an OS bug.

I am not speaking about SIGALRM handler, I am speaking about the process
signal mask, which is something entirely different. See sigprocmask().  

On UNIX, process signal mask is inherited accross fork()/exec() as specified
by the Single Unix Specification V3 standard: 

<copy>
The new process shall inherit at least the following attributes from the
calling process image:

    * Process ID
...
    * Process signal mask (see sigprocmask())
...

</copy>

However, as pointed out by Dan, the problem could come from a broken PAM
module that didn't cleared SIGALRM before starting the user session. This is
more likely than a bug in sshd, IMHO. 


Regards,
Loic. 

-- 
--
<< Manager keeps us telling "Do not reinvent the wheel" because they want us
to reinvent the car that fits to that wheel. That's definitively more useful
than a stupid wheel. >> -- Loic Domaigne. 

GMX DSL-Flatrate 1 Jahr kostenlos* + WLAN-Router ab 0,- Euro*
Bis 31.12.2005 einsteigen! Infos unter: http://www.gmx.net/de/go/dsl




More information about the openssh-unix-dev mailing list