[3819] in Release_7.7_team

home help back first fref pref prev next nref lref last post

Re: MIT license wrapper problems with soffice on Athena 9.2 Linux machines

daemon@ATHENA.MIT.EDU (Garry Zacheiss)
Sat Apr 26 01:22:37 2003

Message-Id: <200304260522.BAA24577@riff-raff.mit.edu>
To: Alex T Prengel <alexp@MIT.EDU>
cc: ops@MIT.EDU, release-team@MIT.EDU, acst@MIT.EDU
In-Reply-To: Your message of "Fri, 25 Apr 2003 12:08:47 EDT."
             <200304251608.MAA05990@dit.mit.edu> 
Date: Sat, 26 Apr 2003 01:22:34 -0400
From: Garry Zacheiss <zacheiss@MIT.EDU>

>> Could someone (Garry?) please take a look at this? The wrapped Linux
>> main Star Office binary doesn't launch properly on our Linux-Athena 9.2
>> test machine-

   I think this is fixed now, and a new unwrap binary is in the slw
locker.  I tested that I could start soffice and matlab on 9.1 and 9.2
machines, and that the unwrap binary itself wouldn't blow out with
undefined symbols on 9.0.

   The problem is currently a bit mysterious to me, although the patch
below was all that was necessary to fix it:

--- dec-exec.c  2000/11/08 09:16:58     1.1
+++ dec-exec.c  2003/04/26 03:41:11
@@ -34,7 +34,7 @@
   unlink(tempfilename);
 
   /* user execute, no read, no write */
-  fd = open(tempfilename, O_WRONLY | O_CREAT | O_EXCL, 0100);
+  fd = open(tempfilename, O_WRONLY | O_CREAT | O_EXCL, 0500);
   if (fd == -1)
     {
       fprintf(stderr, "%s: unable to open temporary file: %s\n",

As far as I can tell, something changed on Linux making it necessary for
the executable to be reread in the process of being executed.  I suspect
it has something to do with the new threading implementation, but that's
just a guess.  The patch certainly shouldn't hurt anything, and doesn't
really increase our exposure of someone snagging an unencrypted copy of
the binary since it will be unlinked less than a second after the child
unwrap process execv()'s it, and someone sufficiently motivated could
just have LD_PRELOAD'ed a wrapper around unlink() if they wanted to get
the unencrypted binary anyway.

    If there are any problems with the new unwrap binary, you can move
/mit/slw/arch/i386_linux24/bin/unwrap.old back into place and release
aproj.slw.

Garry

home help back first fref pref prev next nref lref last post