The greeter installs a custom QQmlNetworkAccessManagerFactory which
creates QNetworkAccessManagers which do not have access to the
network.
Unfortunately this is not a 100 % secure way to disable network, any
plugin could change the factory again and thus enable network. This
is done for example by KDeclarative, so the greeter now first creates
KDeclarative and then sets the custom factory.
It is a sufficient solution to block all network access for pure
QtQuick without a binary package as we would find in a look'n'feel
package.
Network access needs to be blocked in the greeter as otherwise a
look'n'feel package were able to send the entered password (and other
information to the creator of the look'n'feel package.
REVIEW: 121847
The screenlocker_greet needs to tell the parent ksld process which
windows it created. Ksld sends input events to these windows. So
far this was based on an X property on the window. Unfortunately
ksld didn't validate whether the windows tagged with this property
belong to the screenlocker_greet process it started.
With this change the communication for announcing windows is moved
away from the X11 protocol and instead a custom Wayland protocol is
used.
Ksld starts a KWaylandServer when the greet process gets started. It
creates anonymous unix sockets for the connection and passes one
filedescriptor to the started greeter process.
The check for the X property is removed in ksld and instead only
windows ids passed through the Wayland socket connection are
accepted.
REVIEW: 121429
This adds a button that allows toggling keyboard layouts from the
lockscreen. It talks and listens to the KDED's keyboard module.
REVIEW: 119794
BUG: 338518
FIXED-IN: 5.0.2
It's pretty bad if the lockscreen greeter can't find the lookandfeel's
lock screen, so introduce a qrc file with a default simple lock screen that
we can fallback to.
* Use QCommandLineParser instead of KCmdLineArgs
* Inherit QApplication instead of KApplication
* Use QCoreApplication::setApplicationName and friends
* Drop k4aboutdata
A new Authenticator item is introduced and exported to QML. It provides
a slot tryAuthenticate taking the password as a string. If invoked it
creates a KCheckPass object which handles the communication with the
kcheckpass binary to verify the password. If the authentication succeeded
the Authenticator emits a succeeded() signal, on failure a failed()
signal.
The authentication process is bound to a grace timer. While this timer is
active it's not possible to authenticate again. This state is exposed
with a Q_PROPERTY and used by the UI to disable the password field and
unlock button.
REVIEW: 117321
This is the beginning of revision history for this module. If you
want to look at revision history older than this, please refer to the
techbase wiki for how to use Git history grafting. At the time of
writing, this wiki is located here:
http://community.kde.org/Frameworks/GitOldHistory
If you have already performed the grafting and you don't see any
history beyond this commit, try running "git log" with the "--follow"
argument.
Branched from the monolithic repo kde-workspace, frameworks branch, at commit
049113e719dd2fc4446d054fa1a3aada330094f0