mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-07-05 05:22:47 -05:00
Stop attempting to make session logs private on Unix. This was introduced in
r7084 at the same time as sensible permissions when writing private key files;
however, it causes an assertion failure whenever an attempt is made to append
to an existing log file on Unix, and it's not clear what "is_private" *should*
do for append, so revert to log file security being the user's responsibility.
(Fixes Ubuntu LP#212711.)
[originally from svn r8461]
[r7084 == 4fa9564c90
]
This commit is contained in:
@ -85,7 +85,7 @@ static void logfopen_callback(void *handle, int mode)
|
|||||||
ctx->state = L_ERROR; /* disable logging */
|
ctx->state = L_ERROR; /* disable logging */
|
||||||
} else {
|
} else {
|
||||||
fmode = (mode == 1 ? "ab" : "wb");
|
fmode = (mode == 1 ? "ab" : "wb");
|
||||||
ctx->lgfp = f_open(ctx->currlogfilename, fmode, TRUE);
|
ctx->lgfp = f_open(ctx->currlogfilename, fmode, FALSE);
|
||||||
if (ctx->lgfp)
|
if (ctx->lgfp)
|
||||||
ctx->state = L_OPEN;
|
ctx->state = L_OPEN;
|
||||||
else
|
else
|
||||||
|
@ -141,7 +141,8 @@ FILE *f_open(struct Filename filename, char const *mode, int is_private)
|
|||||||
return fopen(filename.path, mode);
|
return fopen(filename.path, mode);
|
||||||
} else {
|
} else {
|
||||||
int fd;
|
int fd;
|
||||||
assert(mode[0] == 'w'); /* is_private is meaningless for read */
|
assert(mode[0] == 'w'); /* is_private is meaningless for read,
|
||||||
|
and tricky for append */
|
||||||
fd = open(filename.path, O_WRONLY | O_CREAT | O_TRUNC,
|
fd = open(filename.path, O_WRONLY | O_CREAT | O_TRUNC,
|
||||||
0700);
|
0700);
|
||||||
if (fd < 0)
|
if (fd < 0)
|
||||||
|
Reference in New Issue
Block a user