* [PATCH] dbus: Fix FileNotFoundError in org.selinux.relabel_on_boot
@ 2019-11-15 14:54 Petr Lautrbach
2019-11-15 15:01 ` Stephen Smalley
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Petr Lautrbach @ 2019-11-15 14:54 UTC (permalink / raw)
To: selinux; +Cc: Petr Lautrbach
When org.selinux.relabel_on_boot(0) was called twice, it failed with
FileNotFoundError.
Fixes:
$ dbus-send --system --print-reply --dest=org.selinux /org/selinux/object org.selinux.relabel_on_boot int64:1
method return sender=:1.53 -> dest=:1.54 reply_serial=2
$ dbus-send --system --print-reply --dest=org.selinux /org/selinux/object org.selinux.relabel_on_boot int64:0
method return sender=:1.53 -> dest=:1.55 reply_serial=2
$ dbus-send --system --print-reply --dest=org.selinux /org/selinux/object org.selinux.relabel_on_boot int64:0
Error org.freedesktop.DBus.Python.FileNotFoundError: FileNotFoundError: [Errno 2] No such file or directory: '/.autorelabel'
Signed-off-by: Petr Lautrbach <plautrba@redhat.com>
---
Note: This is python 3 only code and it fails in travis with PYVER=python2.7 RUBYLIBVER=2.6:
$ PATH="$VIRTUAL_ENV/bin:$PATH" ./scripts/run-flake8
Analyzing 187 Python scripts
./dbus/selinux_server.py:90:20: F821 undefined name 'FileNotFoundError'
./installdir/usr/share/system-config-selinux/selinux_server.py:90:20: F821 undefined name 'FileNotFoundError'
The command "PATH="$VIRTUAL_ENV/bin:$PATH" ./scripts/run-flake8" exited with 1.
dbus/selinux_server.py | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/dbus/selinux_server.py b/dbus/selinux_server.py
index b9debc071485..be4f4557a9fa 100644
--- a/dbus/selinux_server.py
+++ b/dbus/selinux_server.py
@@ -85,7 +85,10 @@ class selinux_server(slip.dbus.service.Object):
fd = open("/.autorelabel", "w")
fd.close()
else:
- os.unlink("/.autorelabel")
+ try:
+ os.unlink("/.autorelabel")
+ except FileNotFoundError:
+ pass
def write_selinux_config(self, enforcing=None, policy=None):
path = selinux.selinux_path() + "config"
--
2.23.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] dbus: Fix FileNotFoundError in org.selinux.relabel_on_boot
2019-11-15 14:54 [PATCH] dbus: Fix FileNotFoundError in org.selinux.relabel_on_boot Petr Lautrbach
@ 2019-11-15 15:01 ` Stephen Smalley
2019-11-16 17:04 ` Nicolas Iooss
2019-11-20 13:06 ` [Non-DoD Source] " Stephen Smalley
2019-11-21 17:08 ` Stephen Smalley
2 siblings, 1 reply; 6+ messages in thread
From: Stephen Smalley @ 2019-11-15 15:01 UTC (permalink / raw)
To: Petr Lautrbach, selinux
On 11/15/19 9:54 AM, Petr Lautrbach wrote:
> When org.selinux.relabel_on_boot(0) was called twice, it failed with
> FileNotFoundError.
>
> Fixes:
> $ dbus-send --system --print-reply --dest=org.selinux /org/selinux/object org.selinux.relabel_on_boot int64:1
> method return sender=:1.53 -> dest=:1.54 reply_serial=2
> $ dbus-send --system --print-reply --dest=org.selinux /org/selinux/object org.selinux.relabel_on_boot int64:0
> method return sender=:1.53 -> dest=:1.55 reply_serial=2
> $ dbus-send --system --print-reply --dest=org.selinux /org/selinux/object org.selinux.relabel_on_boot int64:0
> Error org.freedesktop.DBus.Python.FileNotFoundError: FileNotFoundError: [Errno 2] No such file or directory: '/.autorelabel'
>
> Signed-off-by: Petr Lautrbach <plautrba@redhat.com>
> ---
>
> Note: This is python 3 only code and it fails in travis with PYVER=python2.7 RUBYLIBVER=2.6:
>
> $ PATH="$VIRTUAL_ENV/bin:$PATH" ./scripts/run-flake8
>
> Analyzing 187 Python scripts
>
> ./dbus/selinux_server.py:90:20: F821 undefined name 'FileNotFoundError'
>
> ./installdir/usr/share/system-config-selinux/selinux_server.py:90:20: F821 undefined name 'FileNotFoundError'
>
> The command "PATH="$VIRTUAL_ENV/bin:$PATH" ./scripts/run-flake8" exited with 1.
Hmm...given that, do we want to defer it until after 3.0 final release,
or are we going to switch travis over to only test with python3 now?
>
>
>
> dbus/selinux_server.py | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/dbus/selinux_server.py b/dbus/selinux_server.py
> index b9debc071485..be4f4557a9fa 100644
> --- a/dbus/selinux_server.py
> +++ b/dbus/selinux_server.py
> @@ -85,7 +85,10 @@ class selinux_server(slip.dbus.service.Object):
> fd = open("/.autorelabel", "w")
> fd.close()
> else:
> - os.unlink("/.autorelabel")
> + try:
> + os.unlink("/.autorelabel")
> + except FileNotFoundError:
> + pass
>
> def write_selinux_config(self, enforcing=None, policy=None):
> path = selinux.selinux_path() + "config"
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] dbus: Fix FileNotFoundError in org.selinux.relabel_on_boot
2019-11-15 15:01 ` Stephen Smalley
@ 2019-11-16 17:04 ` Nicolas Iooss
2019-11-18 9:32 ` Petr Lautrbach
0 siblings, 1 reply; 6+ messages in thread
From: Nicolas Iooss @ 2019-11-16 17:04 UTC (permalink / raw)
To: Stephen Smalley, Petr Lautrbach; +Cc: SElinux list
On Fri, Nov 15, 2019 at 4:01 PM Stephen Smalley <sds@tycho.nsa.gov> wrote:
>
> On 11/15/19 9:54 AM, Petr Lautrbach wrote:
> > When org.selinux.relabel_on_boot(0) was called twice, it failed with
> > FileNotFoundError.
> >
> > Fixes:
> > $ dbus-send --system --print-reply --dest=org.selinux /org/selinux/object org.selinux.relabel_on_boot int64:1
> > method return sender=:1.53 -> dest=:1.54 reply_serial=2
> > $ dbus-send --system --print-reply --dest=org.selinux /org/selinux/object org.selinux.relabel_on_boot int64:0
> > method return sender=:1.53 -> dest=:1.55 reply_serial=2
> > $ dbus-send --system --print-reply --dest=org.selinux /org/selinux/object org.selinux.relabel_on_boot int64:0
> > Error org.freedesktop.DBus.Python.FileNotFoundError: FileNotFoundError: [Errno 2] No such file or directory: '/.autorelabel'
> >
> > Signed-off-by: Petr Lautrbach <plautrba@redhat.com>
> > ---
> >
> > Note: This is python 3 only code and it fails in travis with PYVER=python2.7 RUBYLIBVER=2.6:
> >
> > $ PATH="$VIRTUAL_ENV/bin:$PATH" ./scripts/run-flake8
> >
> > Analyzing 187 Python scripts
> >
> > ./dbus/selinux_server.py:90:20: F821 undefined name 'FileNotFoundError'
> >
> > ./installdir/usr/share/system-config-selinux/selinux_server.py:90:20: F821 undefined name 'FileNotFoundError'
> >
> > The command "PATH="$VIRTUAL_ENV/bin:$PATH" ./scripts/run-flake8" exited with 1.
>
> Hmm...given that, do we want to defer it until after 3.0 final release,
> or are we going to switch travis over to only test with python3 now?
Hello, I personally do not have a strong opinion about dropping Python
2 support before or after 3.0 final release (for information, the Arch
Linux packages will be Python 3-only anyway, because the distribution
maintainers began dropping related Python 2 packages such as
python2-audit).
Nevertheless, on the patch itself, I am wondering whether
"FileNotFoundError" could be replaced with "OSError" in order to make
it compatible with Python 2. The main drawback of this alternative
approach is that it silences PermissionError and other kind of errors
that could be useful when debugging some issues on a production
system. This is why I prefer keeping "FileNotFoundError", and the
patch looks good to me.
Thanks,
Nicolas
> >
> > dbus/selinux_server.py | 5 ++++-
> > 1 file changed, 4 insertions(+), 1 deletion(-)
> >
> > diff --git a/dbus/selinux_server.py b/dbus/selinux_server.py
> > index b9debc071485..be4f4557a9fa 100644
> > --- a/dbus/selinux_server.py
> > +++ b/dbus/selinux_server.py
> > @@ -85,7 +85,10 @@ class selinux_server(slip.dbus.service.Object):
> > fd = open("/.autorelabel", "w")
> > fd.close()
> > else:
> > - os.unlink("/.autorelabel")
> > + try:
> > + os.unlink("/.autorelabel")
> > + except FileNotFoundError:
> > + pass
> >
> > def write_selinux_config(self, enforcing=None, policy=None):
> > path = selinux.selinux_path() + "config"
> >
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] dbus: Fix FileNotFoundError in org.selinux.relabel_on_boot
2019-11-16 17:04 ` Nicolas Iooss
@ 2019-11-18 9:32 ` Petr Lautrbach
0 siblings, 0 replies; 6+ messages in thread
From: Petr Lautrbach @ 2019-11-18 9:32 UTC (permalink / raw)
To: SElinux list; +Cc: Stephen Smalley, Petr Lautrbach, Nicolas Iooss
Nicolas Iooss <nicolas.iooss@m4x.org> writes:
> On Fri, Nov 15, 2019 at 4:01 PM Stephen Smalley <sds@tycho.nsa.gov> wrote:
>>
>> On 11/15/19 9:54 AM, Petr Lautrbach wrote:
>> > When org.selinux.relabel_on_boot(0) was called twice, it failed with
>> > FileNotFoundError.
>> >
>> > Fixes:
>> > $ dbus-send --system --print-reply --dest=org.selinux /org/selinux/object org.selinux.relabel_on_boot int64:1
>> > method return sender=:1.53 -> dest=:1.54 reply_serial=2
>> > $ dbus-send --system --print-reply --dest=org.selinux /org/selinux/object org.selinux.relabel_on_boot int64:0
>> > method return sender=:1.53 -> dest=:1.55 reply_serial=2
>> > $ dbus-send --system --print-reply --dest=org.selinux /org/selinux/object org.selinux.relabel_on_boot int64:0
>> > Error org.freedesktop.DBus.Python.FileNotFoundError: FileNotFoundError: [Errno 2] No such file or directory: '/.autorelabel'
>> >
>> > Signed-off-by: Petr Lautrbach <plautrba@redhat.com>
>> > ---
>> >
>> > Note: This is python 3 only code and it fails in travis with PYVER=python2.7 RUBYLIBVER=2.6:
>> >
>> > $ PATH="$VIRTUAL_ENV/bin:$PATH" ./scripts/run-flake8
>> >
>> > Analyzing 187 Python scripts
>> >
>> > ./dbus/selinux_server.py:90:20: F821 undefined name 'FileNotFoundError'
>> >
>> > ./installdir/usr/share/system-config-selinux/selinux_server.py:90:20: F821 undefined name 'FileNotFoundError'
>> >
>> > The command "PATH="$VIRTUAL_ENV/bin:$PATH" ./scripts/run-flake8" exited with 1.
>>
>> Hmm...given that, do we want to defer it until after 3.0 final release,
>> or are we going to switch travis over to only test with python3 now?
>
I'd switch it now so it won't report false positives after this patch is
applied.
Also I'll add explicit note to release notes about dropping support for
python 2.
> Hello, I personally do not have a strong opinion about dropping Python
> 2 support before or after 3.0 final release (for information, the Arch
> Linux packages will be Python 3-only anyway, because the distribution
> maintainers began dropping related Python 2 packages such as
> python2-audit).
>
> Nevertheless, on the patch itself, I am wondering whether
> "FileNotFoundError" could be replaced with "OSError" in order to make
> it compatible with Python 2. The main drawback of this alternative
> approach is that it silences PermissionError and other kind of errors
> that could be useful when debugging some issues on a production
> system. This is why I prefer keeping "FileNotFoundError", and the
> patch looks good to me.
>
I've considered OSError, but I don't like the fact that it would silence
PermissionError and others just for sake of Python 2 which won't be
maintained after end of this year.
>> >
>> > dbus/selinux_server.py | 5 ++++-
>> > 1 file changed, 4 insertions(+), 1 deletion(-)
>> >
>> > diff --git a/dbus/selinux_server.py b/dbus/selinux_server.py
>> > index b9debc071485..be4f4557a9fa 100644
>> > --- a/dbus/selinux_server.py
>> > +++ b/dbus/selinux_server.py
>> > @@ -85,7 +85,10 @@ class selinux_server(slip.dbus.service.Object):
>> > fd = open("/.autorelabel", "w")
>> > fd.close()
>> > else:
>> > - os.unlink("/.autorelabel")
>> > + try:
>> > + os.unlink("/.autorelabel")
>> > + except FileNotFoundError:
>> > + pass
>> >
>> > def write_selinux_config(self, enforcing=None, policy=None):
>> > path = selinux.selinux_path() + "config"
>> >
>>
--
() ascii ribbon campaign - against html e-mail
/\ www.asciiribbon.org - against proprietary attachments
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Non-DoD Source] [PATCH] dbus: Fix FileNotFoundError in org.selinux.relabel_on_boot
2019-11-15 14:54 [PATCH] dbus: Fix FileNotFoundError in org.selinux.relabel_on_boot Petr Lautrbach
2019-11-15 15:01 ` Stephen Smalley
@ 2019-11-20 13:06 ` Stephen Smalley
2019-11-21 17:08 ` Stephen Smalley
2 siblings, 0 replies; 6+ messages in thread
From: Stephen Smalley @ 2019-11-20 13:06 UTC (permalink / raw)
To: Petr Lautrbach, selinux
On 11/15/19 9:54 AM, Petr Lautrbach wrote:
> When org.selinux.relabel_on_boot(0) was called twice, it failed with
> FileNotFoundError.
>
> Fixes:
> $ dbus-send --system --print-reply --dest=org.selinux /org/selinux/object org.selinux.relabel_on_boot int64:1
> method return sender=:1.53 -> dest=:1.54 reply_serial=2
> $ dbus-send --system --print-reply --dest=org.selinux /org/selinux/object org.selinux.relabel_on_boot int64:0
> method return sender=:1.53 -> dest=:1.55 reply_serial=2
> $ dbus-send --system --print-reply --dest=org.selinux /org/selinux/object org.selinux.relabel_on_boot int64:0
> Error org.freedesktop.DBus.Python.FileNotFoundError: FileNotFoundError: [Errno 2] No such file or directory: '/.autorelabel'
>
> Signed-off-by: Petr Lautrbach <plautrba@redhat.com>
Acked-by: Stephen Smalley <sds@tycho.nsa.gov>
> ---
>
> Note: This is python 3 only code and it fails in travis with PYVER=python2.7 RUBYLIBVER=2.6:
>
> $ PATH="$VIRTUAL_ENV/bin:$PATH" ./scripts/run-flake8
>
> Analyzing 187 Python scripts
>
> ./dbus/selinux_server.py:90:20: F821 undefined name 'FileNotFoundError'
>
> ./installdir/usr/share/system-config-selinux/selinux_server.py:90:20: F821 undefined name 'FileNotFoundError'
>
> The command "PATH="$VIRTUAL_ENV/bin:$PATH" ./scripts/run-flake8" exited with 1.
>
>
>
> dbus/selinux_server.py | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/dbus/selinux_server.py b/dbus/selinux_server.py
> index b9debc071485..be4f4557a9fa 100644
> --- a/dbus/selinux_server.py
> +++ b/dbus/selinux_server.py
> @@ -85,7 +85,10 @@ class selinux_server(slip.dbus.service.Object):
> fd = open("/.autorelabel", "w")
> fd.close()
> else:
> - os.unlink("/.autorelabel")
> + try:
> + os.unlink("/.autorelabel")
> + except FileNotFoundError:
> + pass
>
> def write_selinux_config(self, enforcing=None, policy=None):
> path = selinux.selinux_path() + "config"
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] dbus: Fix FileNotFoundError in org.selinux.relabel_on_boot
2019-11-15 14:54 [PATCH] dbus: Fix FileNotFoundError in org.selinux.relabel_on_boot Petr Lautrbach
2019-11-15 15:01 ` Stephen Smalley
2019-11-20 13:06 ` [Non-DoD Source] " Stephen Smalley
@ 2019-11-21 17:08 ` Stephen Smalley
2 siblings, 0 replies; 6+ messages in thread
From: Stephen Smalley @ 2019-11-21 17:08 UTC (permalink / raw)
To: Petr Lautrbach, selinux
On 11/15/19 9:54 AM, Petr Lautrbach wrote:
> When org.selinux.relabel_on_boot(0) was called twice, it failed with
> FileNotFoundError.
>
> Fixes:
> $ dbus-send --system --print-reply --dest=org.selinux /org/selinux/object org.selinux.relabel_on_boot int64:1
> method return sender=:1.53 -> dest=:1.54 reply_serial=2
> $ dbus-send --system --print-reply --dest=org.selinux /org/selinux/object org.selinux.relabel_on_boot int64:0
> method return sender=:1.53 -> dest=:1.55 reply_serial=2
> $ dbus-send --system --print-reply --dest=org.selinux /org/selinux/object org.selinux.relabel_on_boot int64:0
> Error org.freedesktop.DBus.Python.FileNotFoundError: FileNotFoundError: [Errno 2] No such file or directory: '/.autorelabel'
>
> Signed-off-by: Petr Lautrbach <plautrba@redhat.com>
Thanks, applied. I applied the travis patch first so that this one
shouldn't break it.
> ---
>
> Note: This is python 3 only code and it fails in travis with PYVER=python2.7 RUBYLIBVER=2.6:
>
> $ PATH="$VIRTUAL_ENV/bin:$PATH" ./scripts/run-flake8
>
> Analyzing 187 Python scripts
>
> ./dbus/selinux_server.py:90:20: F821 undefined name 'FileNotFoundError'
>
> ./installdir/usr/share/system-config-selinux/selinux_server.py:90:20: F821 undefined name 'FileNotFoundError'
>
> The command "PATH="$VIRTUAL_ENV/bin:$PATH" ./scripts/run-flake8" exited with 1.
>
>
>
> dbus/selinux_server.py | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/dbus/selinux_server.py b/dbus/selinux_server.py
> index b9debc071485..be4f4557a9fa 100644
> --- a/dbus/selinux_server.py
> +++ b/dbus/selinux_server.py
> @@ -85,7 +85,10 @@ class selinux_server(slip.dbus.service.Object):
> fd = open("/.autorelabel", "w")
> fd.close()
> else:
> - os.unlink("/.autorelabel")
> + try:
> + os.unlink("/.autorelabel")
> + except FileNotFoundError:
> + pass
>
> def write_selinux_config(self, enforcing=None, policy=None):
> path = selinux.selinux_path() + "config"
>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2019-11-21 17:08 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-11-15 14:54 [PATCH] dbus: Fix FileNotFoundError in org.selinux.relabel_on_boot Petr Lautrbach
2019-11-15 15:01 ` Stephen Smalley
2019-11-16 17:04 ` Nicolas Iooss
2019-11-18 9:32 ` Petr Lautrbach
2019-11-20 13:06 ` [Non-DoD Source] " Stephen Smalley
2019-11-21 17:08 ` Stephen Smalley
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.