[3819] in Release_7.7_team
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