Fix uses of deprecated SELinux security_context_t

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 *'.
This commit is contained in:
Basil L. Contovounesios 2020-07-28 13:44:58 +03:00
parent 1b2fed81e1
commit 33ee326628

View file

@ -2031,7 +2031,7 @@ permissions. */)
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
@ -3118,7 +3118,7 @@ or if SELinux is disabled, or if Emacs lacks SELinux support. */)
#if HAVE_LIBSELINUX
if (is_selinux_enabled ())
{
security_context_t con;
char *con;
int conlength = lgetfilecon (SSDATA (ENCODE_FILE (absname)), &con);
if (conlength > 0)
{
@ -3163,7 +3163,7 @@ or if Emacs was not compiled with SELinux support. */)
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;