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: