Merge pull request #190 from plfiorini/fixcmake

Fix CMake paths problems
Check chown return value

Print an error and quit when we cannot chown the socket.
Merge pull request #193 from ilpianista/master

Check chown return value
Add QAuth library and helper

Currently SDDM provides only a simple username/password authentication.
More exciting credential requests such as password change are not supported.

PAM also requires double forking to work better and that's not currently
implemented.

Importing QAuth here opens a lot of possibilities.

More changes to SDDM are required to handle more complicated credential
requests, for now we just want to start using QAuth to gain the same
features as current SDDM. We will improve as we move forward.

More details: https://github.com/sddm/sddm/wiki/Authentication
Use QAuth for authentication

Now that SDDM includes QAuth we can take advantage of its improved
authentication support.

This is based on PR #155 by Martin Bříza <mbriza@redhat.com>
Improve greeter stderr and stdout logging from daemon

Unquote output and avoid extra spaces.
Use sddm PAM service in QAuth's PAM backend

Use our naming for PAM services.
Keep in mind that we don't have the sddm-check PAM service yet.
Use message handler for sddm-helper

Log just like sddm-daemon and sddm-greeter.
Also remove redundant parts from the log messages.
Don't pad vt number with zeros

It's not required, plus other display managers don't pad with zeros.
Make the greeter go through logind

Use QAuth for the greeter session so that it will be registered
as a logind session with class "greeter".

With this, logind can pass drm devices to the greeter,
resolving all permission denied errors.

This work will also be needed by the Wayland port.

From now on we don't support running the greeter as root,
however the old code is preserved for test mode.
QAuth: Don't override XAUTHORITY every time

Setting XAUTHORITY makes sense only if DISPLAY is not and we don't want
to override any previous value to preserve what greeter set.
QAuth: Use sddm-greeter service for the sddm user

Use the sddm-greeter PAM service if we are authenticating the sddm
user.
QAuth: Pass process environment to PAM

This will make logind happy as it will know about seat, vt, session
type and session class.
QAuth: Don't start session command for the greeter session

Greeter must be launched as is.
Add information about setting up the sddm user

With pam and systemd, the greeter will go through logind which will give
it acces to drm devices.

Systems without pam and systemd will need to put the sddm user into
the video group, otherwise they might experience errors accessing
the devices.  See issue #184.

Inform our users about the fact that we now always need the "sddm"
user.