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

Bug#239999: Debian bug #239999: an explanation of the cause



tags 239999 pending
thanks

On Thu, Apr 01, 2004 at 02:27:43PM +1000, Darren Tucker wrote:
> 	I have some information regarding the bug you reported ("Read from 
> socket failed on Alpha" [and SPARC]).
> 
> 	This issue is caused because OpenSSH is configured to use setresuid 
> (and setresgid), but the kernel you are running does not actually 
> implement that syscall.  When sshd attempts to use setresgid it fails 
> (with ENOSYS), and sshd aborts.
> 
> 	OpenSSH's configure specifically tests for this condition, but in 
> 	your case it appears that sshd was built on a system that has it (eg kernel 
> 2.4.x) but is run on a system that does not (eg kernel 2.2.x).
> 
> 	Debian may wish to manually define BROKEN_SETRESUID and 
> BROKEN_SETRESGID during the build, or add some kind of run-time check 
> for this condition.

Thanks for that, Darren. I've fixed this in CVS by defining
BROKEN_SETRES[UG]ID; the setreuid/setregid code appears to be precisely
equivalent, so there's no harm in this.

This is another case where I wish there were a sharper division between
tests that distinguish between binary-incompatible platforms at
compile-time and tests that distinguish between binary-compatible
platforms at run-time. :( It's probably more of an issue on Linux than
anywhere else, unlike say BSD where the kernel and userland often need
to be upgraded in step.

Cheers,

-- 
Colin Watson                                  [cjwatson@flatline.org.uk]




Reply to: