mirror of https://github.com/fairyglade/ly.git
Fix mcookie usage (fixes #669)
Signed-off-by: AnErrupTion <anerruption@disroot.org>
This commit is contained in:
parent
40d180da63
commit
3ca2e8524b
|
@ -334,7 +334,7 @@ fn createXauthFile(pwd: [:0]const u8) ![:0]const u8 {
|
||||||
return xauthority;
|
return xauthority;
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn mcookie(cmd: [:0]const u8) ![32]u8 {
|
pub fn mcookie(shell: [*:0]const u8, cmd: [:0]const u8) ![32]u8 {
|
||||||
const pipe = try std.posix.pipe();
|
const pipe = try std.posix.pipe();
|
||||||
defer std.posix.close(pipe[1]);
|
defer std.posix.close(pipe[1]);
|
||||||
|
|
||||||
|
@ -348,8 +348,8 @@ pub fn mcookie(cmd: [:0]const u8) ![32]u8 {
|
||||||
std.posix.dup2(pipe[1], std.posix.STDOUT_FILENO) catch std.process.exit(1);
|
std.posix.dup2(pipe[1], std.posix.STDOUT_FILENO) catch std.process.exit(1);
|
||||||
std.posix.close(pipe[1]);
|
std.posix.close(pipe[1]);
|
||||||
|
|
||||||
const args = [_:null]?[*:0]u8{};
|
const args = [_:null]?[*:0]const u8{ shell, "-c", cmd };
|
||||||
std.posix.execveZ(cmd.ptr, &args, std.c.environ) catch {};
|
std.posix.execveZ(shell, &args, std.c.environ) catch {};
|
||||||
std.process.exit(1);
|
std.process.exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -371,7 +371,7 @@ fn xauth(display_name: [:0]u8, shell: [*:0]const u8, pw_dir: [*:0]const u8, xaut
|
||||||
_ = interop.setenv("XAUTHORITY", xauthority, 1);
|
_ = interop.setenv("XAUTHORITY", xauthority, 1);
|
||||||
_ = interop.setenv("DISPLAY", display_name, 1);
|
_ = interop.setenv("DISPLAY", display_name, 1);
|
||||||
|
|
||||||
const mcookie_output = try mcookie(mcookie_cmd);
|
const mcookie_output = try mcookie(shell, mcookie_cmd);
|
||||||
|
|
||||||
const pid = try std.posix.fork();
|
const pid = try std.posix.fork();
|
||||||
if (pid == 0) {
|
if (pid == 0) {
|
||||||
|
|
Loading…
Reference in New Issue