On Wed, Jan 30, 2019 at 2:33 PM Viktor Ashirov <vashirov@xxxxxxxxxx> wrote: > > This adds 'force' keyword argument to selinux.restorecon() function > using SELINUX_RESTORECON_SET_SPECFILE_CTX flag. > > Signed-off-by: Viktor Ashirov <vashirov@xxxxxxxxxx> Acked-by: Nicolas Iooss <nicolas.iooss@xxxxxxx> > --- > libselinux/src/selinuxswig_python.i | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/libselinux/src/selinuxswig_python.i b/libselinux/src/selinuxswig_python.i > index 2af7c7e0..4c73bf92 100644 > --- a/libselinux/src/selinuxswig_python.i > +++ b/libselinux/src/selinuxswig_python.i > @@ -20,7 +20,7 @@ DISABLED = -1 > PERMISSIVE = 0 > ENFORCING = 1 > > -def restorecon(path, recursive=False, verbose=False): > +def restorecon(path, recursive=False, verbose=False, force=False): > """ Restore SELinux context on a given path > > Arguments: > @@ -29,6 +29,9 @@ def restorecon(path, recursive=False, verbose=False): > Keyword arguments: > recursive -- Change files and directories file labels recursively (default False) > verbose -- Show changes in file labels (default False) > + force -- Force reset of context to match file_context for customizable files, > + and the default file context, changing the user, role, range portion as well > + as the type (default False) > """ > > restorecon_flags = SELINUX_RESTORECON_IGNORE_DIGEST | SELINUX_RESTORECON_REALPATH > @@ -36,6 +39,8 @@ def restorecon(path, recursive=False, verbose=False): > restorecon_flags |= SELINUX_RESTORECON_RECURSE > if verbose: > restorecon_flags |= SELINUX_RESTORECON_VERBOSE > + if force: > + restorecon_flags |= SELINUX_RESTORECON_SET_SPECFILE_CTX > selinux_restorecon(os.path.expanduser(path), restorecon_flags) > > def chcon(path, context, recursive=False): > -- > 2.20.1 >