PLEASE TEST snapshots
Gert Doering
gert at greenie.muc.de
Sun Apr 7 20:33:14 EST 2002
Hi,
On Fri, Apr 05, 2002 at 12:16:15PM +0200, Markus Friedl wrote:
> If you want OpenSSH 3.2 to be the best version of OpenSSH,
> then please test the snapshots.
SCO 3.2v4.2 (ODT 3.0) doesn't compile.
Major stumbling block is monitor_fdpass.c - SCO does not have a
"struct cmsghdr", so all the CMSG_SPACE/CMSG_LEN macros fail with
monitor_fdpass.c:42: sizeof applied to an incomplete type
and later on
monitor_fdpass.c:51: structure has no member named `msg_control'
monitor_fdpass.c:52: structure has no member named `msg_controllen'
Further, there is no SCM_RIGHTS on this system (I assume that this has
to do with file descriptor passing, which SCO cannot do).
Next issue is monitor_mm.c, due to having neither <sys/mman.h> nor
mmap().
I don't fully understand the PrivSep stuff, so I don't really feel like
putting big #ifdef's around that stuff and trying to make it work
"without"...
All other source files compile fine, though I can see that two changes I
had to do for 3.1p1 are still not merged in:
- sftp-server.c uses "truncate()", which doesn't exist (needs to use
ftruncate()).
- entropy.c needs to do seteuid(getuid()) before doing
setuid(original_uid), otherwise the setuid() call will fail (as per
the man page, though I do not claim to understand why this is so):
diff -u -w -r1.41 entropy.c
--- entropy.c 11 Mar 2002 00:16:35 -0000 1.41
+++ entropy.c 7 Apr 2002 10:34:17 -0000
@@ -85,9 +85,10 @@
close(devnull);
if (original_uid != original_euid &&
- setuid(original_uid) == -1) {
- fprintf(stderr, "(rand child) setuid: %s\n",
- strerror(errno));
+ ( seteuid(getuid()) == -1 ||
+ setuid(original_uid) == -1) ) {
+ fprintf(stderr, "(rand child) setuid(%d): %s\n",
+ original_uid, strerror(errno));
_exit(1);
}
gert
--
USENET is *not* the non-clickable part of WWW!
//www.muc.de/~gert/
Gert Doering - Munich, Germany gert at greenie.muc.de
fax: +49-89-35655025 gert.doering at physik.tu-muenchen.de
More information about the openssh-unix-dev
mailing list