SELinux has used 'char *' in place of its typedef
'security_context_t' since 2014 (v2.3) because the latter was
inconvenient to use when paired with the 'const' qualifier. The
typedef has been kept around for compatibility with legacy callers,
but it is deprecated in SELinux v3.1. See the following URL for the
relevant announcement:
https://lore.kernel.org/selinux/
20200710162034.GC1768200@localhost.localdomain/
* src/fileio.c (Fcopy_file, Ffile_selinux_context)
(Fset_file_selinux_context) [HAVE_LIBSELINUX]: Replace deprecated
'security_context_t' typedef with the equivalent 'char *'.
ptrdiff_t count = SPECPDL_INDEX ();
Lisp_Object encoded_file, encoded_newname;
#if HAVE_LIBSELINUX
- security_context_t con;
+ char *con;
int conlength = 0;
#endif
#ifdef WINDOWSNT
#if HAVE_LIBSELINUX
if (is_selinux_enabled ())
{
- security_context_t con;
+ char *con;
int conlength = lgetfilecon (SSDATA (ENCODE_FILE (absname)), &con);
if (conlength > 0)
{
Lisp_Object role = CAR_SAFE (CDR_SAFE (context));
Lisp_Object type = CAR_SAFE (CDR_SAFE (CDR_SAFE (context)));
Lisp_Object range = CAR_SAFE (CDR_SAFE (CDR_SAFE (CDR_SAFE (context))));
- security_context_t con;
+ char *con;
bool fail;
int conlength;
context_t parsed_con;