Am 2017-05-12 09:18, schrieb Tobias C. Berner:
Hi there
I think this review introduced some Linux-only features: signalfd() is
only present on Linux.
So this breaks kcheckpass on FreeBSD (and probably everything non-Linux
too).
Would it be possible to have the long-running auth stuff hidden behind
a
check_include_file("sys/signalfd.h" HAVE_SIGNALFD_H)
check?
Just confirming what David already wrote. The code is built around
signalfd and without it kcheckpass is broken. Also in the non-long
running kcheckpass case signalfd is used.
At the moment I do not see a solution. Sorry for creating the problem, I
did not expect that this is linux specific.
As we are in feature freeze and this is security relevant code I don't
really have an idea to move forward. Especially as it's pointless to
have any linux dev work on this as we might just break it again. We are
in low level c code in kcheckpass which is totally ugly and all designed
for the case of running as setuid root.
Cheers
Martin
mfg Tobias
On 19 April 2017 at 17:44, Martin Gräßlin <nore...@phabricator.kde.org>
wrote:
This revision was automatically updated to reflect the committed
changes.
Closed by commit R133:07d38ba65adc: Support for long running
kcheckpass
supporting multiple authentications (authored by graesslin). View
Revision
REPOSITORY
R133 KScreenLocker
CHANGES SINCE LAST UPDATE
https://phabricator.kde.org/D4997?vs=13188&id=13603
REVISION DETAIL
https://phabricator.kde.org/D4997
AFFECTED FILES
greeter/authenticator.cpp
greeter/authenticator.h
greeter/autotests/authenticatortest.cpp
greeter/greeterapp.cpp
kcheckpass/kcheckpass-enums.h
kcheckpass/kcheckpass.c
tests/kcheckpass_test.cpp
To: graesslin, Plasma
Cc: subdiff, plasma-devel, spstarr, progwolff, lesliezhai,
ali-mohamed,
jensreuterberg, abetts, sebas, apol