Comment 1 for bug 212711

Revision history for this message
Jacob Nevins (0jacobnk-ulp) wrote : Re: [Bug 212711] [NEW] putty shutdown when trying to connect over http proxy

> putty suddenly exit with the following error message when trying to
> connect over http proxy :
>
> putty: ../unix/uxmisc.c:144: f_open: Assertion `mode[0] == 'w'' failed.
> Aborted (core dumped)

This can happen if you've enabled PuTTY's logging and it tries to append
to a file ('What to do if the log file already exists' either set to
'Always append to the end of it', or 'Ask the user every time' and the
user hit 'Append').

I don't think it's got anything to do with use of an HTTP proxy.

Can you confirm that this is what you're doing?

The bug I describe was introduced in 0.59 (r7084). It's happening
because PuTTY sets the 'is_private' flag to uxmisc.c:f_open() when
opening a log file, in an attempt to keep session logs private (because
that seemed like a good idea at the time; r7084 was mainly about
permissions on puttygen-generated keypairs). However, f_open() as
currently written fails the assertion above when presented with a file
mode of 'a' (append).

It's not clear to me what f_open() _should_ do in this situation
(although we shouldn't die, of course). The options are:

 - explicitly chmod the existing file to make it private (prevents users
   sharing a growing logfile);

 - carry on regardless of the existing file's permissions (risks
   disclosing sensitive data);

Or we could change our mind about session logs being private, and revert
to that being the user's responsibility.

> I am using hardy heron beta, and I am very up to date
>
> my kernel is 2.6.24-15-generic #1 SMP Fri Apr 4 03:48:31 UTC 2008 i686
> GNU/Linux, but the problem happened even at the previous kernel version
> (before I've updated)

I don't think any of those things is significant.

> --
> putty shutdown when trying to connect over http proxy
> https://bugs.launchpad.net/bugs/212711
> You received this bug notification because you are subscribed to putty
> in ubuntu.