lynx-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: lynx-dev Lynx 2.8.3 with nmh problems


From: Michael Abraham Shulman
Subject: Re: lynx-dev Lynx 2.8.3 with nmh problems
Date: Sun, 07 May 2000 14:31:44 -0700

"Klaus" == Klaus Weide <address@hidden> writes:

Klaus> The subdirectory should be created within the directory given
Klaus> by a TMPDIR (or LYNX_TEMP_SPACE) environment, or a built-in
Klaus> default ("/tmp/").  The double-// in /tmp//vgFD4E looks
Klaus> suspicious, I don't know whether it is causing problems.  Try
Klaus> to set TMPDIR to "/tmp" or something else *not* ending with a
Klaus> '/', see whether that changes anything.

I set LYNX_TEMP_SPACE to /tmp and recreated the error.  This time in
Lynx.trace I get:

LYOpenTemp(,.html,w)
-> '/tmp/blIU0d/L12663-4762TMP.html'
... LYOpenTemp(/tmp/blIU0d/L12663-4762TMP.html) failed: Permission denied
Lynx: Can't open temporary file!
LYCleanupTemp removing /tmp/blIU0d

So it looks like the double-// isn't the primary problem, at least.

Klaus> You may want to start lynx with a minimal config file.

When I do this, the problem disappears.  I experimented a bit, and
apparently setting GLOBAL_MAILCAP to /dev/null is what does it.  (I
commented out everything else in the null config file and it still
works.)

Klaus> Could you check whether the temp subdirectory is created at
Klaus> all?  And if yes, with which permissions?  (running under
Klaus> strace probably will show that, see below)

Klaus> You may want to run lynx under strace, and again try to figure
Klaus> out where the relevant differences are;

Did this (returning to normal config file).  The relevant lines appear
to be:

...
stat("/tmp/IihoXi", 0xbffff71c)         = -1 ENOENT (No such file or directory)
mkdir("/tmp/IihoXi", 0700)              = 0
...
open("/tmp/IihoXi/L12910-2160TMP.html", O_WRONLY|O_CREAT|O_EXCL, 0600) = -1 
EACCES (Permission denied)
rt_sigaction(SIGHUP, {SIG_DFL}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGTERM, {SIG_DFL}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGINT, {SIG_DFL}, {SIG_DFL}, 8) = 0
rmdir("/tmp/IihoXi")                    = 0
... [dies]

When I strace lynx opening a normal html file, the corresponding lines
look like:

...
stat("/tmp/vIGn1b", 0xbffff7ac)         = -1 ENOENT (No such file or directory)
mkdir("/tmp/vIGn1b", 0700)              = 0
...
open("/tmp/vIGn1b/L13090-1787TMP.html", O_WRONLY|O_CREAT|O_EXCL, 0600) = 5
... [succeeds]

It looks like lynx is doing the same thing in both cases, but failing
for some reason when run by nmh.  The only thing I can think of is
that nmh is running lynx as a different user who ends up not having
write access to the temporary directory, since its mode is 700.  But I
don't see why that would matter, since lynx creates the temporary
directory, so whoever it's running as should be the owner, right?  I
don't see anything in the strace that indicates the user is changing.
How could I find out who owns the temporary directory and who lynx is
running as?  I can attach the strace files if you want.

Thanks for your help.

\\// | R | T R | L B | /\ mailto:address@hidden
 \/ (Michael Shulman) //\\ http://kurukshetra.cjb.net/

A man finds room in the few square inches of his face for the traits
of all his ancestors; for the expression of all his history, and his
wants.
        -- Ralph Waldo Emerson

; To UNSUBSCRIBE: Send "unsubscribe lynx-dev" to address@hidden

reply via email to

[Prev in Thread] Current Thread [Next in Thread]