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