35 lines
1.1 KiB
Diff
35 lines
1.1 KiB
Diff
From 5131c4794d3ae4631b24fb4c5e4027f1aeb3f966 Mon Sep 17 00:00:00 2001
|
|
From: Fabian Vogt <fvogt@suse.de>
|
|
Date: Thu, 24 Oct 2024 10:48:15 +0200
|
|
Subject: [PATCH] restorecond: Set GLib IO channels to binary mode
|
|
|
|
By default, GIO channels use UTF-8 as encoding, which causes issues when
|
|
reading binary data such as inotify events.
|
|
|
|
Signed-off-by: Fabian Vogt <fvogt@suse.de>
|
|
Acked-by: James Carter <jwcart2@gmail.com>
|
|
---
|
|
restorecond/user.c | 2 ++
|
|
1 file changed, 2 insertions(+)
|
|
|
|
diff --git a/restorecond/user.c b/restorecond/user.c
|
|
index 3ae3ebbb72..7188c22e31 100644
|
|
--- a/restorecond/user.c
|
|
+++ b/restorecond/user.c
|
|
@@ -238,6 +238,7 @@ static int local_server(void) {
|
|
}
|
|
/* watch for stdin/terminal going away */
|
|
GIOChannel *in = g_io_channel_unix_new(0);
|
|
+ g_io_channel_set_encoding(in, NULL, NULL);
|
|
g_io_add_watch_full( in,
|
|
G_PRIORITY_HIGH,
|
|
G_IO_IN|G_IO_ERR|G_IO_HUP,
|
|
@@ -282,6 +283,7 @@ int server(int master_fd, const char *watch_file) {
|
|
set_matchpathcon_flags(MATCHPATHCON_NOTRANS);
|
|
|
|
GIOChannel *c = g_io_channel_unix_new(master_fd);
|
|
+ g_io_channel_set_encoding(c, NULL, NULL);
|
|
|
|
g_io_add_watch_full(c,
|
|
G_PRIORITY_HIGH,
|