Change socket owner and group

Keep the socket open with user access but change owner and group to
sddm to avoid permission denied errors from the greeter.

This is not done in test mode as everything runs with one user.
Merge pull request #214 from plfiorini/socket-permission

Change socket owner and group
Remove custom session

The "Custom" session runs ~/.xsession, if the script is not available
sddm restarts the greeter and display server because execution failed.

We should force users to write proper desktop entries instead of executing
unknown commands.

Closes #220
Remove unsupported X sessions

In cfdcdfb we removed the "Custom" session from the greeter but the
"custom" bit was left here. Remove it because it has no use anymore.

Also remove the "default" session that runs startkde as it makes no
sense.
Actually tell daemon the authentication has failed

Send a message back to the daemon when the authentication fails, this
way the greeter will display an error instead of being restarted as
soon as sddm-helper finished.

Closes #221
Update mail map
Update CONTRIBUTORS
systemd can be opted out

Add NO_SYSTEMD argument to cmake so users can buid without even
checking for systemd.
Fix passwd authentication backend build

Closes #205
Merge pull request #223 from plfiorini/gcc49fix

Build fix
Add debugging messages to the authentication code

Helps tracking errors. Also explicitely evaluate exit code.
sddm-helper: exit with code 0 otherwise it looks like an internal error

When sddm-helper exits with a code other than 0, SDDM::Auth emits the
finished(false) signal which is interpreted as an internal error condition
by the daemon.

However with authentication errors we don't need to exit with an
error code, we just send an error through the socket. It will be
interpreted correctly by the daemon which will display an error in the
greeter.

Issue: #221
Don't restart greeter and display server if sddm-helper exited successfully

sddm-helper now finishes with exit code 0 even when an authentication failure
happend because it's a managed situation.

When an authentication error is raised we should really do something when
the error() signal is emitted.

Invoke stop() only when an internal error happens to avoid restarting the
greeter and display server for authentication errors, which is annoying
to say the least.

Issue: #221
Handle authentication errors from PAM conversation

We receive the error signal with an ERROR_AUTHENTICATION when the
conversation failes before the sddm-helper even exited.

Emit loginFailed() for authentication errors in order to show the
message from the greeter.

Issue: #221
Merge pull request #224 from plfiorini/fixautherr

Don't restart greeter when authentication fails
Indent with 4 spaces all CMake files

Make them all consistent.
Distinguish between sddm-helper exit codes

Restarting only in case of error like we did with the previous changes
leads to the greeter not being restarted when a user session ends.

The daemon need a way to know when it's appropriate to restart greeter and
display server according to what the helper says.

Making sddm-helper always return 0 in case of authentication error leads us
to confusion just like it was before, so it's better if it returns the
appropriate exit code and let the daemon decide what to do.
Rewrote the config to a more rigid state

Resolves sddm/sddm#39

More configuration instances now available. Every instance is a separate class.

Sections are supported.

Serialization handled in a more sensitive way - does not remove comments.

Type handling is unified, using the QTextStream shift operators.

There are also some basic tests, to be further improved...

Probably the most overengineered configuration parser you've ever witnessed.
Move LastUser and LastSession into /var/lib/sddm/state.conf
Divide the values into sections

Breaks backward compatibility.

Introduces sections that will be later used for the configuration UI generator.

Changes comments to have the first line as short as possible, again to be used in the UI generator.

UI generator - coming some time in this decade.