Rebase to current upstream and some fixes:

- Fix the theme (and improve it by a bit)

- Fix the authentication stack

- Don't touch numlock on startup

- Disabled the XDMCP server until it's accepted upstream

- Resolves: #1016902 #1028799 #1031415 #1031745 #1020921 #1008951 #1004621
epel9
Martin Briza 11 years ago
parent 5413a02b39
commit a3da2cb89c

1
.gitignore vendored

@ -1,3 +1,4 @@
/0.1.0.tar.gz
/e707e22901049495818a9bedf71f0ba829564700.tar.gz
/50ca5b20354b6d338ce8836a613af19cedb1dca2.tar.gz
/7a008602f5f0a4ed8586ce24012983458a687d4e.tar.gz

@ -27,16 +27,19 @@ import QtQuick 1.1
import SddmComponents 1.1
Rectangle {
TextConstants { id: textConstants }
Connections {
target: sddm
onLoginSucceeded: {
errorMessage.color = "green"
errorMessage.text = qsTr("Login succeeded.")
errorMessage.text = textConstants.loginSucceeded
}
onLoginFailed: {
errorMessage.color = "red"
errorMessage.text = qsTr("Login failed.")
errorMessage.text = textConstants.loginFailed
}
}
@ -48,12 +51,6 @@ Rectangle {
source: config.background
fillMode: Image.Stretch
}
Image {
id: plymouthLogo
x: geometry.width / 2 - width / 2
y: geometry.height / 2 - height / 2
source: "/usr/share/pixmaps/system-logo-white.png"
}
}
}
@ -65,6 +62,23 @@ Rectangle {
height: geometry.height
color: "transparent"
Image {
id: fedoraLogo
x: parent.width / 2 - width / 2
y: parent.height / 2 - height / 2
source: "/usr/share/pixmaps/system-logo-white.png"
}
Rectangle {
x: geometry.x
y: geometry.y
width: parent.width
height: 34
opacity: 0.4
color: "black"
}
Row {
x: parent.x + 4
y: parent.y + 4
@ -101,8 +115,9 @@ Rectangle {
Button {
id: rebootButton
text: qsTr("Reboot")
height: 24
text: textConstants.reboot
height: 25
width: 100
onClicked: sddm.reboot()
@ -111,8 +126,9 @@ Rectangle {
Button {
id: shutdownButton
text: qsTr("Shutdown")
height: 24
text: textConstants.shutdown
height: 25
width: 100
onClicked: sddm.powerOff()
@ -132,6 +148,19 @@ Rectangle {
anchors.centerIn: parent
spacing: 18
Row {
width: parent.width
Text {
width: parent.width
color: "white"
text: textConstants.welcomeText.arg(sddm.hostName)
wrapMode: Text.WordWrap
font.pixelSize: 12
elide: Text.ElideRight
horizontalAlignment: Text.AlignHCenter
}
}
Row {
width: parent.width
TextBox {
@ -183,13 +212,12 @@ Rectangle {
}
}
Column {
width: parent.width
Text {
id: errorMessage
anchors.horizontalCenter: parent.horizontalCenter
text: qsTr("Enter your user name and password.")
text: textConstants.prompt
font.pixelSize: 10
color: "white"
}

File diff suppressed because it is too large Load Diff

@ -1,90 +0,0 @@
--- ./sddm-50ca5b20354b6d338ce8836a613af19cedb1dca2/src/auth/AuthenticatorApp.cpp.auth2 2013-11-06 20:54:19.505419712 +0100
+++ ./sddm-50ca5b20354b6d338ce8836a613af19cedb1dca2/src/auth/AuthenticatorApp.cpp 2013-11-06 20:54:28.079461963 +0100
@@ -158,6 +158,28 @@ namespace SDDM {
return true;
}
+ QString AuthenticatorApp::requestDisplay() {
+ qDebug() << " AUTH: requestDisplay start";
+ QDataStream inStream(&m_input);
+ QDataStream outStream(&m_output);
+ quint32 command = quint32(AuthMessages::AuthNone);
+ qDebug() << " AUTH: Requesting Display";
+ QString display;
+
+ outStream << quint32(AuthMessages::RequestDisplay);
+
+ inStream >> command;
+ if (command != quint32(AuthMessages::Display)) {
+ qDebug() << " AUTH: Received out of order message" << command << "when waiting for SessionID";
+ handleMessage(AuthMessages(command));
+ return display;
+ }
+ inStream >> display;
+
+ qDebug() << " AUTH: requestDisplay end";
+ return display;
+ }
+
void AuthenticatorApp::slotLoginFailed() {
QDataStream outStream(&m_output);
outStream << quint32(AuthMessages::LoginFailed);
--- ./sddm-50ca5b20354b6d338ce8836a613af19cedb1dca2/src/auth/AuthenticatorApp.h.auth2 2013-11-06 20:54:15.730401120 +0100
+++ ./sddm-50ca5b20354b6d338ce8836a613af19cedb1dca2/src/auth/AuthenticatorApp.h 2013-11-06 20:54:48.392562174 +0100
@@ -42,6 +42,7 @@ namespace SDDM {
QProcessEnvironment requestEnvironment(const QString &user);
int requestSessionId();
bool requestCookieTo(const QString &path, const QString &user);
+ QString requestDisplay();
signals:
void started(const QString &user, const QString &session, const QString &password, bool passwordless);
--- ./sddm-50ca5b20354b6d338ce8836a613af19cedb1dca2/src/auth/Method.cpp.auth2 2013-11-06 20:54:12.875387062 +0100
+++ ./sddm-50ca5b20354b6d338ce8836a613af19cedb1dca2/src/auth/Method.cpp 2013-11-06 20:54:29.735470126 +0100
@@ -100,15 +100,17 @@ namespace SDDM {
if (!m_pam)
return false;
-/*
+
+ QString display = AuthenticatorApp::instance()->requestDisplay();
+
// set tty
- if (!m_pam->setItem(PAM_TTY, ":0"))
+ if (!m_pam->setItem(PAM_TTY, qPrintable(display)))
return false;
// set display name
- if (!m_pam->setItem(PAM_XDISPLAY, ":0"))
+ if (!m_pam->setItem(PAM_XDISPLAY, qPrintable(display)))
return false;
-*/
+
// set username
if (!m_pam->setItem(PAM_USER, qPrintable(m_user)))
return false;
--- ./sddm-50ca5b20354b6d338ce8836a613af19cedb1dca2/src/daemon/Authenticator.cpp.auth2 2013-11-06 20:54:08.851367254 +0100
+++ ./sddm-50ca5b20354b6d338ce8836a613af19cedb1dca2/src/daemon/Authenticator.cpp 2013-11-06 20:54:31.903480815 +0100
@@ -106,6 +106,9 @@ namespace SDDM {
stream << quint32(AuthMessages::CookieLink);
break;
}
+ case AuthMessages::RequestDisplay:
+ stream << quint32(AuthMessages::Display) << m_display->name();
+ break;
default:
qWarning() << " DAEMON: Child sent message type" << quint32(command) << "which cannot be handled.";
break;
--- ./sddm-50ca5b20354b6d338ce8836a613af19cedb1dca2/src/common/Messages.h.auth2 2013-11-06 20:54:10.842377053 +0100
+++ ./sddm-50ca5b20354b6d338ce8836a613af19cedb1dca2/src/common/Messages.h 2013-11-06 20:54:34.084491570 +0100
@@ -51,7 +51,9 @@ namespace SDDM {
RequestSessionID,
SessionID,
RequestCookieLink,
- CookieLink
+ CookieLink,
+ RequestDisplay,
+ Display
};
enum Capability {

@ -16,11 +16,11 @@ CurrentTheme=fedora
MinimumUid=1000
MaximumUid=65000
LastUser=
RememberLastUser=false
RememberLastUser=true
AutoUser=
HideUsers=
HideShells=
AutoRelogin=false
MinimumVT=1
Numlock=on
Numlock=none
XDMCPServer=false

@ -1,9 +1,9 @@
%global _hardened_build 1
%global sddm_commit 50ca5b20354b6d338ce8836a613af19cedb1dca2
%global sddm_commit 7a008602f5f0a4ed8586ce24012983458a687d4e
Name: sddm
Version: 0.2.0
Release: 0.20.20130914git%(echo %{sddm_commit} | cut -c-8)%{?dist}
Release: 0.21.20131125git%(echo %{sddm_commit} | cut -c-8)%{?dist}
# code GPLv2+, fedora theme CC-BY-SA
License: GPLv2+ and CC-BY-SA
Summary: QML based X11 desktop manager
@ -33,7 +33,6 @@ Patch2: sddm-git.e707e229-session-list.patch
Patch3: sddm-0.2.0-0.11.20130914git50ca5b20-xdmcp.patch
Patch4: sddm-auth.patch
Patch5: sddm-auth2.patch
Provides: service(graphical-login) = sddm
@ -74,9 +73,9 @@ A collection of sddm themes, including: circles, elarun, maldives, maui.
%setup -q -n %{name}-%{sddm_commit}
%patch2 -p1 -b .session-list
%patch3 -p1 -b .xdmcp
# disabled for now
#%patch3 -p1 -b .xdmcp
%patch4 -p1 -b .auth
%patch5 -p2 -b .auth2
# get rid of the architecture flag
sed -i "s/-march=native//" CMakeLists.txt
@ -149,6 +148,14 @@ install -Dpm 644 %{SOURCE23} %{buildroot}%{_datadir}/apps/sddm/themes/fedora/the
%{_datadir}/apps/sddm/themes/maui/
%changelog
* Mon Nov 25 2013 Martin Briza <mbriza@redhat.com> - 0.2.0-0.21.20131125git7a008602
- Rebase to current upstream
- Fix the theme (and improve it by a bit)
- Fix the authentication stack
- Don't touch numlock on startup
- Disabled the XDMCP server until it's accepted upstream
- Resolves: #1016902 #1028799 #1031415 #1031745 #1020921 #1008951 #1004621
* Tue Nov 05 2013 Martin Briza <mbriza@redhat.com> - 0.2.0-0.20.20130914git50ca5b20
- Fix xdisplay and tty vars

@ -1 +1 @@
490703ab69c3518f27d7e27fe18ce7fc 50ca5b20354b6d338ce8836a613af19cedb1dca2.tar.gz
23b2a10ad2a2f188c9a2cc4bcd35c275 7a008602f5f0a4ed8586ce24012983458a687d4e.tar.gz

Loading…
Cancel
Save