mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-26 20:22:11 +01:00
Merge branch 'selinux-warning' into 'master'
gio: ‘security_context_t’ is deprecated See merge request GNOME/glib!1776
This commit is contained in:
commit
9a519c8bf0
@ -2699,8 +2699,8 @@ set_mtime_atime (char *filename,
|
||||
#ifdef HAVE_SELINUX
|
||||
static gboolean
|
||||
set_selinux_context (char *filename,
|
||||
const GFileAttributeValue *value,
|
||||
GError **error)
|
||||
const GFileAttributeValue *value,
|
||||
GError **error)
|
||||
{
|
||||
const char *val;
|
||||
|
||||
@ -2708,34 +2708,30 @@ set_selinux_context (char *filename,
|
||||
return FALSE;
|
||||
|
||||
if (val == NULL)
|
||||
{
|
||||
g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_INVALID_ARGUMENT,
|
||||
_("SELinux context must be non-NULL"));
|
||||
return FALSE;
|
||||
}
|
||||
{
|
||||
g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_INVALID_ARGUMENT,
|
||||
_("SELinux context must be non-NULL"));
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (is_selinux_enabled ()) {
|
||||
security_context_t val_s;
|
||||
|
||||
val_s = g_strdup (val);
|
||||
|
||||
if (setfilecon_raw (filename, val_s) < 0)
|
||||
{
|
||||
int errsv = errno;
|
||||
if (!is_selinux_enabled ())
|
||||
{
|
||||
g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_INVALID_ARGUMENT,
|
||||
_("SELinux is not enabled on this system"));
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (setfilecon_raw (filename, val) < 0)
|
||||
{
|
||||
int errsv = errno;
|
||||
|
||||
g_set_error (error, G_IO_ERROR,
|
||||
g_io_error_from_errno (errsv),
|
||||
_("Error setting SELinux context: %s"),
|
||||
g_strerror (errsv));
|
||||
return FALSE;
|
||||
}
|
||||
g_free (val_s);
|
||||
} else {
|
||||
g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_INVALID_ARGUMENT,
|
||||
_("SELinux is not enabled on this system"));
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
g_set_error (error, G_IO_ERROR,
|
||||
g_io_error_from_errno (errsv),
|
||||
_("Error setting SELinux context: %s"),
|
||||
g_strerror (errsv));
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
#endif
|
||||
|
@ -2063,7 +2063,7 @@ endif
|
||||
|
||||
selinux_dep = []
|
||||
if host_system == 'linux'
|
||||
selinux_dep = dependency('libselinux', required: get_option('selinux'))
|
||||
selinux_dep = dependency('libselinux', version: '>=2.2', required: get_option('selinux'))
|
||||
|
||||
glib_conf.set('HAVE_SELINUX', selinux_dep.found())
|
||||
endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user