From 066acf91e6bfc844feda99496849e00a79d93a22 Mon Sep 17 00:00:00 2001 From: AnErrupTion Date: Tue, 30 Dec 2025 17:29:31 +0100 Subject: [PATCH] [Backport] Create session log directory if non-existent Signed-off-by: AnErrupTion --- src/auth.zig | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/auth.zig b/src/auth.zig index 8bd7621..2463e6c 100644 --- a/src/auth.zig +++ b/src/auth.zig @@ -502,6 +502,14 @@ fn executeCmd(global_log_file: *LogFile, allocator: std.mem.Allocator, shell: [] } fn redirectStandardStreams(global_log_file: *LogFile, session_log: []const u8, create: bool) !std.fs.File { + create_session_log_dir: { + const session_log_dir = std.fs.path.dirname(session_log) orelse break :create_session_log_dir; + std.fs.cwd().makePath(session_log_dir) catch |err| { + try global_log_file.file_writer.interface.print("failed to create session log file directory: {s}\n", .{@errorName(err)}); + return err; + }; + } + const log_file = if (create) (std.fs.cwd().createFile(session_log, .{ .mode = 0o666 }) catch |err| { try global_log_file.file_writer.interface.print("failed to create new session log file: {s}\n", .{@errorName(err)}); return err;