Hello community, here is the log from the commit of package sddm for openSUSE:Factory checked in at 2020-11-12 22:36:25 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/sddm (Old) and /work/SRC/openSUSE:Factory/.sddm.new.24930 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sddm" Thu Nov 12 22:36:25 2020 rev:53 rq:846861 version:0.19.0 Changes: -------- --- /work/SRC/openSUSE:Factory/sddm/sddm.changes 2020-11-05 21:55:02.948166748 +0100 +++ /work/SRC/openSUSE:Factory/.sddm.new.24930/sddm.changes 2020-11-12 22:37:02.641994748 +0100 @@ -1,0 +2,60 @@ +Thu Nov 5 04:35:27 UTC 2020 - Luiz Angelo Daros de Luca <[email protected]> + +- Use pam derived username (fix sssd with multiple domains and local groups) + * 0001-Use-PAM-s-username.patch + +------------------------------------------------------------------- +Wed Nov 4 19:13:40 UTC 2020 - Fabian Vogt <[email protected]> + +- Revert switch to %service_del_postun_without_restart for Leap + +------------------------------------------------------------------- +Tue Nov 3 17:01:05 UTC 2020 - Fabian Vogt <[email protected]> + +- Update to 0.19.0: + * Don't disable authentication in --test-mode + * Fix X not having access control on startup + (fixes CVE-2020-28049, bsc#1177201) + * Don't fill UserModel if theme does not require it + * Set re-use session option by default + * Avoid adjusting active auth sessions + * Cleanup sessions on exit + * Don't abort on failure to start the display server + * Custom default font + * Limit systemd service restarts + * Typo fixes + * Fix graphical glitches on NVIDIA after VT switching + * Rewind password database + * Memory allocation fixes + * FreeBSD fixes + * Use C++ scoping for handling buffer deletion + * Allow to configure the QML installation directory + * Port connects + * Keep string termination characters in utmp entries + * Look for available display for test mode + * Interlingue translation + * Remove chVt() from declarations + * Rewind password db before scanning it (again) for available users + * Session reuse: Only consider "online" sessions + * Use modern connects + * Update translations +- Drop patches, now upstream: + * 0001-Destroy-the-QLocalServer-in-Auth-on-shutdown.patch + * 0001-FreeBSD-Split-implementation-of-VT-switching.patch + * 0003-Move-VT-setup-to-sddm-helper.patch + * 0001-Don-t-disable-authentication-in-test-mode.patch + * 0001-Session-reuse-Only-consider-online-sessions.patch + * 0001-Support-both-X11-XDisplay-Wayland-and-WaylandDisplay.patch + * 0006-Don-t-fill-UserModel-if-theme-does-not-require-it.patch + * 0001-Revert-Adds-sourcing-of-etc-profile-to-fish.patch + * 0001-FreeBSD-Link-to-libutil.patch + * 0002-Only-allocate-VTs-for-seat0.patch +- Refresh patches: + * 0001-Remove-suffix-for-Wayland-session.patch + * 0001-Redesign-Xauth-handling.patch + * 0001-Set-XAUTHLOCALHOSTNAME-in-sessions.patch + * proper_pam.diff + * 0001-Read-the-DISPLAYMANAGER_AUTOLOGIN-value-from-sysconf.patch + * 0001-Systemd-service-unit-Use-tty7-by-default.patch + +------------------------------------------------------------------- Old: ---- 0001-Destroy-the-QLocalServer-in-Auth-on-shutdown.patch 0001-Don-t-disable-authentication-in-test-mode.patch 0001-FreeBSD-Link-to-libutil.patch 0001-FreeBSD-Split-implementation-of-VT-switching.patch 0001-Revert-Adds-sourcing-of-etc-profile-to-fish.patch 0001-Session-reuse-Only-consider-online-sessions.patch 0001-Support-both-X11-XDisplay-Wayland-and-WaylandDisplay.patch 0002-Only-allocate-VTs-for-seat0.patch 0003-Move-VT-setup-to-sddm-helper.patch 0006-Don-t-fill-UserModel-if-theme-does-not-require-it.patch sddm-0.18.1.tar.xz New: ---- 0001-Use-PAM-s-username.patch sddm-0.19.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ sddm.spec ++++++ --- /var/tmp/diff_new_pack.lxUEEy/_old 2020-11-12 22:37:03.605995754 +0100 +++ /var/tmp/diff_new_pack.lxUEEy/_new 2020-11-12 22:37:03.613995762 +0100 @@ -17,7 +17,7 @@ Name: sddm -Version: 0.18.1 +Version: 0.19.0 Release: 0 Summary: QML-based display manager License: GPL-2.0-or-later @@ -29,26 +29,11 @@ Source3: 10-theme.conf Source4: sddm-tmpfiles.conf # Patch0-100: PATCH-FIX-UPSTREAM -# Merged: https://github.com/sddm/sddm/pull/1062 -Patch0: 0001-Session-reuse-Only-consider-online-sessions.patch -# Needed by some of the later patches -Patch1: 0001-FreeBSD-Link-to-libutil.patch -Patch2: 0001-FreeBSD-Split-implementation-of-VT-switching.patch -Patch3: 0002-Only-allocate-VTs-for-seat0.patch -# Committed directly -Patch4: 0001-Don-t-disable-authentication-in-test-mode.patch +Patch0: 0001-Use-PAM-s-username.patch # Not merged yet: https://github.com/sddm/sddm/pull/997 Patch50: 0001-Remove-suffix-for-Wayland-session.patch -# Not merged yet: https://github.com/sddm/sddm/pull/1017 -Patch51: 0006-Don-t-fill-UserModel-if-theme-does-not-require-it.patch -# Open issue: https://github.com/sddm/sddm/issues/1059 -Patch52: 0001-Revert-Adds-sourcing-of-etc-profile-to-fish.patch -# Not merged yet: https://github.com/sddm/sddm/pull/1117 -Patch53: 0001-Destroy-the-QLocalServer-in-Auth-on-shutdown.patch # Not merged yet: https://github.com/sddm/sddm/pull/1230 Patch55: 0001-Redesign-Xauth-handling.patch -# Not merged yet: https://github.com/sddm/sddm/pull/1273 -Patch56: 0003-Move-VT-setup-to-sddm-helper.patch # Patch100-?: PATCH-FIX-OPENSUSE # Use openSUSE pam config Patch100: proper_pam.diff @@ -61,7 +46,6 @@ # Use tty7 by default in the systemd service unit Patch105: 0001-Systemd-service-unit-Use-tty7-by-default.patch Patch107: 0003-Leave-duplicate-symlinks-out-of-the-SessionModel.patch -Patch108: 0001-Support-both-X11-XDisplay-Wayland-and-WaylandDisplay.patch BuildRequires: cmake BuildRequires: extra-cmake-modules >= 1.4.0 BuildRequires: fdupes @@ -89,11 +73,7 @@ # Merged the -lang package back into the main package Provides: %{name}-lang = %{version} Obsoletes: %{name}-lang < %{version} -%if 0%{?sle_version} < 150000 && !0%{?is_opensuse} -BuildRequires: python-docutils -%else BuildRequires: python3-docutils -%endif %description SDDM is a display manager for X11. It uses technologies like QtQuick, @@ -222,7 +202,11 @@ %postun # Don't restart on upgrades (boo#1161826) +%if 0%{?suse_version} > 1500 %service_del_postun_without_restart sddm.service +%else +%service_del_postun -n sddm.service +%endif [ -f %{_prefix}/lib/X11/displaymanagers/sddm ] || %{_sbindir}/update-alternatives \ --remove default-displaymanager %{_prefix}/lib/X11/displaymanagers/sddm ++++++ 0001-Read-the-DISPLAYMANAGER_AUTOLOGIN-value-from-sysconf.patch ++++++ --- /var/tmp/diff_new_pack.lxUEEy/_old 2020-11-12 22:37:03.661995812 +0100 +++ /var/tmp/diff_new_pack.lxUEEy/_new 2020-11-12 22:37:03.661995812 +0100 @@ -1,4 +1,4 @@ -From 25cc8be1ccb41de8f789ac4ea55437a3159e5d4e Mon Sep 17 00:00:00 2001 +From 392b0353f31c1a68520857657660fdbfad7ed755 Mon Sep 17 00:00:00 2001 From: Hrvoje Senjan <[email protected]> Date: Sat, 2 Sep 2017 11:27:01 +0200 Subject: [PATCH] Read the DISPLAYMANAGER_AUTOLOGIN value from @@ -9,17 +9,17 @@ Patch also defaults to default.desktop as default autologin session. This is controlled only by sddm.conf file. --- - CMakeLists.txt | 1 + - src/common/Configuration.h | 5 +++-- - src/common/Constants.h.in | 1 + - src/daemon/Display.cpp | 12 ++++++++++++ - 4 files changed, 17 insertions(+), 2 deletions(-) + CMakeLists.txt | 1 + + src/common/Configuration.h | 5 +++-- + src/common/Constants.h.in | 1 + + src/daemon/Display.cpp | 6 ++++++ + 4 files changed, 11 insertions(+), 2 deletions(-) -Index: sddm-0.17.0/CMakeLists.txt -=================================================================== ---- sddm-0.17.0.orig/CMakeLists.txt -+++ sddm-0.17.0/CMakeLists.txt -@@ -186,6 +186,7 @@ set(WAYLAND_SESSION_COMMAND "${DATA_ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fc3f2ce..b6b9237 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -197,6 +197,7 @@ set(WAYLAND_SESSION_COMMAND "${DATA_INSTALL_DIR}/scripts/wayland-session" set(CONFIG_FILE "${CMAKE_INSTALL_FULL_SYSCONFDIR}/sddm.conf" CACHE PATH "Path of the sddm config file") set(CONFIG_DIR "${CMAKE_INSTALL_FULL_SYSCONFDIR}/sddm.conf.d" CACHE PATH "Path of the sddm config directory") set(SYSTEM_CONFIG_DIR "${CMAKE_INSTALL_PREFIX}/lib/sddm/sddm.conf.d" CACHE PATH "Path of the system sddm config directory") @@ -27,10 +27,10 @@ set(LOG_FILE "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/log/sddm.log" CACHE PATH "Path of the sddm log file") set(DBUS_CONFIG_FILENAME "org.freedesktop.DisplayManager.conf" CACHE STRING "Name of the sddm config file") set(COMPONENTS_TRANSLATION_DIR "${DATA_INSTALL_DIR}/translations" CACHE PATH "Components translations directory") -Index: sddm-0.17.0/src/common/Configuration.h -=================================================================== ---- sddm-0.17.0.orig/src/common/Configuration.h -+++ sddm-0.17.0/src/common/Configuration.h +diff --git a/src/common/Configuration.h b/src/common/Configuration.h +index a7e0585..ff314a7 100644 +--- a/src/common/Configuration.h ++++ b/src/common/Configuration.h @@ -94,14 +94,15 @@ namespace SDDM { Section(Autologin, @@ -49,10 +49,10 @@ "This session will be preselected when the login screen appears.")); Entry(User, QString, QString(), _S("Name of the last logged-in user.\n" "This user will be preselected when the login screen appears")); -Index: sddm-0.17.0/src/common/Constants.h.in -=================================================================== ---- sddm-0.17.0.orig/src/common/Constants.h.in -+++ sddm-0.17.0/src/common/Constants.h.in +diff --git a/src/common/Constants.h.in b/src/common/Constants.h.in +index f09858c..098c77b 100644 +--- a/src/common/Constants.h.in ++++ b/src/common/Constants.h.in @@ -35,6 +35,7 @@ #define CONFIG_FILE "@CONFIG_FILE@" #define CONFIG_DIR "@CONFIG_DIR@" @@ -61,19 +61,19 @@ #define LOG_FILE "@LOG_FILE@" #define PID_FILE "@PID_FILE@" -Index: sddm-0.17.0/src/daemon/Display.cpp -=================================================================== ---- sddm-0.17.0.orig/src/daemon/Display.cpp -+++ sddm-0.17.0/src/daemon/Display.cpp +diff --git a/src/daemon/Display.cpp b/src/daemon/Display.cpp +index b95f6e5..e3a5566 100644 +--- a/src/daemon/Display.cpp ++++ b/src/daemon/Display.cpp @@ -35,6 +35,7 @@ - #include <QDebug> #include <QFile> #include <QTimer> + #include <QLocalSocket> +#include <QSettings> #include <pwd.h> #include <unistd.h> -@@ -151,6 +152,11 @@ namespace SDDM { +@@ -143,6 +144,11 @@ namespace SDDM { // log message qDebug() << "Display server started."; @@ -85,3 +85,6 @@ if ((daemonApp->first || mainConfig.Autologin.Relogin.get()) && !mainConfig.Autologin.User.get().isEmpty()) { // reset first flag +-- +2.25.1 + ++++++ 0001-Redesign-Xauth-handling.patch ++++++ --- /var/tmp/diff_new_pack.lxUEEy/_old 2020-11-12 22:37:03.677995830 +0100 +++ /var/tmp/diff_new_pack.lxUEEy/_new 2020-11-12 22:37:03.677995830 +0100 @@ -1,4 +1,4 @@ -From 862f8cc0fff51b95f00778ea52b3c66342bc6241 Mon Sep 17 00:00:00 2001 +From fbdf20d59d1c63cd2b8fd78efb3125478a2ea07c Mon Sep 17 00:00:00 2001 From: Fabian Vogt <[email protected]> Date: Wed, 21 Aug 2019 16:32:03 +0200 Subject: [PATCH] Redesign Xauth handling @@ -24,7 +24,7 @@ src/common/XauthUtils.cpp | 82 ++++++++++++++++++++++++++++++++ src/common/XauthUtils.h | 16 +++++++ src/daemon/CMakeLists.txt | 3 ++ - src/daemon/XorgDisplayServer.cpp | 58 ++++++++-------------- + src/daemon/XorgDisplayServer.cpp | 45 ++---------------- src/daemon/XorgDisplayServer.h | 4 +- src/helper/Backend.cpp | 7 --- src/helper/CMakeLists.txt | 8 +++- @@ -32,12 +32,12 @@ src/helper/HelperApp.h | 4 +- src/helper/UserSession.cpp | 53 +++++++++++---------- src/helper/UserSession.h | 9 ++++ - 16 files changed, 179 insertions(+), 94 deletions(-) + 16 files changed, 165 insertions(+), 95 deletions(-) create mode 100644 src/common/XauthUtils.cpp create mode 100644 src/common/XauthUtils.h diff --git a/CMakeLists.txt b/CMakeLists.txt -index b2b074d..4518b93 100644 +index e52e0e9..fc3f2ce 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -88,6 +88,9 @@ add_feature_info("PAM" PAM_FOUND "PAM support") @@ -51,10 +51,10 @@ find_package(XCB REQUIRED) diff --git a/data/man/sddm.conf.rst.in b/data/man/sddm.conf.rst.in -index b14de73..cfd7e65 100644 +index bee0768..e91280a 100644 --- a/data/man/sddm.conf.rst.in +++ b/data/man/sddm.conf.rst.in -@@ -106,10 +106,6 @@ OPTIONS +@@ -110,10 +110,6 @@ OPTIONS Path of the Xephyr. Default value is "/usr/bin/Xephyr". @@ -65,7 +65,7 @@ `SessionDir=` Path of the directory containing session files. Default value is "/usr/share/xsessions". -@@ -124,10 +120,6 @@ OPTIONS +@@ -128,10 +124,6 @@ OPTIONS Path to the user session log file, relative to the home directory. Default value is ".local/share/sddm/xorg-session.log". @@ -77,7 +77,7 @@ Path of script to execute when starting the display server. Default value is "@DATA_INSTALL_DIR@/scripts/Xsetup". diff --git a/src/auth/Auth.cpp b/src/auth/Auth.cpp -index 9978912..72383ac 100644 +index caca314..c2228ae 100644 --- a/src/auth/Auth.cpp +++ b/src/auth/Auth.cpp @@ -64,7 +64,7 @@ namespace SDDM { @@ -98,7 +98,7 @@ return d->cookie; } -@@ -294,7 +294,7 @@ namespace SDDM { +@@ -298,7 +298,7 @@ namespace SDDM { d->environment.insert(key, value); } @@ -108,7 +108,7 @@ d->cookie = cookie; Q_EMIT cookieChanged(); diff --git a/src/auth/Auth.h b/src/auth/Auth.h -index 9c26b95..292449c 100644 +index 87f5f44..38d63fc 100644 --- a/src/auth/Auth.h +++ b/src/auth/Auth.h @@ -54,7 +54,7 @@ namespace SDDM { @@ -129,7 +129,7 @@ const QString &user() const; const QString &session() const; AuthRequest *request(); -@@ -145,7 +145,7 @@ namespace SDDM { +@@ -149,7 +149,7 @@ namespace SDDM { * Set the display server cookie, to be inserted into the user's $XAUTHORITY * @param cookie cookie data */ @@ -139,10 +139,10 @@ public Q_SLOTS: /** diff --git a/src/common/Configuration.h b/src/common/Configuration.h -index 9cb1007..7f99f68 100644 +index cf44a62..a7e0585 100644 --- a/src/common/Configuration.h +++ b/src/common/Configuration.h -@@ -62,11 +62,9 @@ namespace SDDM { +@@ -63,11 +63,9 @@ namespace SDDM { Entry(ServerPath, QString, _S("/usr/bin/X"), _S("Path to X server binary")); Entry(ServerArguments, QString, _S("-nolisten tcp"), _S("Arguments passed to the X server invocation")); Entry(XephyrPath, QString, _S("/usr/bin/Xephyr"), _S("Path to Xephyr binary")); @@ -265,7 +265,7 @@ + +#endif // SDDM_XAUTHUTILS_H diff --git a/src/daemon/CMakeLists.txt b/src/daemon/CMakeLists.txt -index 5c4e5f1..a175176 100644 +index 86d014b..9145607 100644 --- a/src/daemon/CMakeLists.txt +++ b/src/daemon/CMakeLists.txt @@ -2,6 +2,7 @@ include_directories( @@ -293,7 +293,7 @@ if(PAM_FOUND) target_link_libraries(sddm ${PAM_LIBRARIES}) diff --git a/src/daemon/XorgDisplayServer.cpp b/src/daemon/XorgDisplayServer.cpp -index 80b2227..b0ee6b3 100644 +index 5f93a1b..148ebcc 100644 --- a/src/daemon/XorgDisplayServer.cpp +++ b/src/daemon/XorgDisplayServer.cpp @@ -25,6 +25,7 @@ @@ -304,7 +304,7 @@ #include <QDebug> #include <QFile> -@@ -54,17 +55,7 @@ namespace SDDM { +@@ -55,17 +56,7 @@ namespace SDDM { m_authPath = QStringLiteral("%1/%2").arg(authDir).arg(QUuid::createUuid().toString()); // generate cookie @@ -323,7 +323,7 @@ } XorgDisplayServer::~XorgDisplayServer() { -@@ -83,35 +74,10 @@ namespace SDDM { +@@ -84,35 +75,10 @@ namespace SDDM { return QStringLiteral("x11"); } @@ -332,7 +332,7 @@ return m_cookie; } -- void XorgDisplayServer::addCookie(const QString &file) { +- bool XorgDisplayServer::addCookie(const QString &file) { - // log message - qDebug() << "Adding cookie to" << file; - @@ -348,52 +348,39 @@ - - // check file - if (!fp) -- return; +- return false; - fprintf(fp, "remove %s\n", qPrintable(m_display)); - fprintf(fp, "add %s . %s\n", qPrintable(m_display), qPrintable(m_cookie)); - fprintf(fp, "exit\n"); - - // close pipe -- pclose(fp); +- return pclose(fp) == 0; - } - bool XorgDisplayServer::start() { // check flag if (m_started) -@@ -126,6 +92,14 @@ namespace SDDM { - // log message - qDebug() << "Display server starting..."; - -+ // generate auth file -+ // For the X server's copy, the display number doesn't matter. -+ // An empty file would result in no access control! +@@ -130,8 +96,7 @@ namespace SDDM { + // generate auth file. + // For the X server's copy, the display number doesn't matter. + // An empty file would result in no access control! +- m_display = QStringLiteral(":0"); +- if(!addCookie(m_authPath)) { + if(!Xauth::writeCookieToFile(m_authPath, QStringLiteral(":0"), m_cookie)) { -+ qCritical() << "Failed to write xauth file"; -+ return false; -+ } -+ - if (daemonApp->testing()) { - QStringList args; - args << m_display << QStringLiteral("-auth") << m_authPath << QStringLiteral("-br") << QStringLiteral("-noreset") << QStringLiteral("-screen") << QStringLiteral("800x600"); -@@ -210,8 +184,14 @@ namespace SDDM { - emit started(); + qCritical() << "Failed to write xauth file"; + return false; } - -- // generate auth file -- addCookie(m_authPath); -+ // The file is also used by the greeter, which does care about the -+ // display number. Write the proper entry, if different. -+ if(m_display != QStringLiteral(":0")) { +@@ -229,7 +194,7 @@ namespace SDDM { + // The file is also used by the greeter, which does care about the + // display number. Write the proper entry, if it's different. + if(m_display != QStringLiteral(":0")) { +- if(!addCookie(m_authPath)) { + if(!Xauth::writeCookieToFile(m_authPath, m_display, m_cookie)) { -+ qCritical() << "Failed to write xauth file"; -+ return false; -+ } -+ } - changeOwner(m_authPath); - - // set flag + qCritical() << "Failed to write xauth file"; + return false; + } diff --git a/src/daemon/XorgDisplayServer.h b/src/daemon/XorgDisplayServer.h -index d2bdf6d..418e098 100644 +index e97a0b5..05e0a4c 100644 --- a/src/daemon/XorgDisplayServer.h +++ b/src/daemon/XorgDisplayServer.h @@ -38,7 +38,7 @@ namespace SDDM { @@ -403,7 +390,7 @@ - const QString &cookie() const; + const QByteArray &cookie() const; - void addCookie(const QString &file); + bool addCookie(const QString &file); @@ -50,7 +50,7 @@ namespace SDDM { @@ -415,10 +402,10 @@ QProcess *process { nullptr }; diff --git a/src/helper/Backend.cpp b/src/helper/Backend.cpp -index d6bb4d0..1e80693 100644 +index a324b39..a053310 100644 --- a/src/helper/Backend.cpp +++ b/src/helper/Backend.cpp -@@ -63,13 +63,6 @@ namespace SDDM { +@@ -68,13 +68,6 @@ namespace SDDM { env.insert(QStringLiteral("SHELL"), QString::fromLocal8Bit(pw->pw_shell)); env.insert(QStringLiteral("USER"), QString::fromLocal8Bit(pw->pw_name)); env.insert(QStringLiteral("LOGNAME"), QString::fromLocal8Bit(pw->pw_name)); @@ -429,11 +416,11 @@ - .arg(mainConfig.X11.UserAuthFile.get()); - env.insert(QStringLiteral("XAUTHORITY"), value); - } - // TODO: I'm fairly sure this shouldn't be done for PAM sessions, investigate! - m_app->session()->setProcessEnvironment(env); - } + #if defined(Q_OS_FREEBSD) + /* get additional environment variables via setclassenvironment(); + this needs to be done here instead of in UserSession::setupChildProcess diff --git a/src/helper/CMakeLists.txt b/src/helper/CMakeLists.txt -index 9fe9278..3dce2ab 100644 +index 8914ea7..81b939b 100644 --- a/src/helper/CMakeLists.txt +++ b/src/helper/CMakeLists.txt @@ -3,6 +3,7 @@ include(CheckLibraryExists) @@ -452,7 +439,7 @@ Backend.cpp HelperApp.cpp UserSession.cpp -@@ -33,7 +35,11 @@ else() +@@ -41,7 +43,11 @@ else() endif() add_executable(sddm-helper ${HELPER_SOURCES}) @@ -466,10 +453,10 @@ # On FreeBSD (possibly other BSDs as well), we want to use # setusercontext() to set up the login configuration from login.conf diff --git a/src/helper/HelperApp.cpp b/src/helper/HelperApp.cpp -index e328052..13ccdfa 100644 +index 672359a..4ad9cbd 100644 --- a/src/helper/HelperApp.cpp +++ b/src/helper/HelperApp.cpp -@@ -229,7 +229,7 @@ namespace SDDM { +@@ -237,7 +237,7 @@ namespace SDDM { str >> m >> env >> m_cookie; if (m != AUTHENTICATED) { env = QProcessEnvironment(); @@ -478,7 +465,7 @@ qCritical() << "Received a wrong opcode instead of AUTHENTICATED:" << m; } return env; -@@ -255,7 +255,7 @@ namespace SDDM { +@@ -263,7 +263,7 @@ namespace SDDM { return m_user; } @@ -510,18 +497,18 @@ /*! \brief Write utmp/wtmp/btmp records when a user logs in diff --git a/src/helper/UserSession.cpp b/src/helper/UserSession.cpp -index b3aec35..5e9ac6a 100644 +index c9a8a20..e55e69e 100644 --- a/src/helper/UserSession.cpp +++ b/src/helper/UserSession.cpp -@@ -22,6 +22,7 @@ - #include "Configuration.h" +@@ -23,6 +23,7 @@ #include "UserSession.h" #include "HelperApp.h" + #include "VirtualTerminal.h" +#include "XauthUtils.h" #include <sys/types.h> #include <sys/ioctl.h> -@@ -34,6 +35,8 @@ +@@ -35,6 +36,8 @@ #include <fcntl.h> #include <sched.h> @@ -530,7 +517,7 @@ namespace SDDM { UserSession::UserSession(HelperApp *parent) : QProcess(parent) { -@@ -256,38 +259,38 @@ namespace SDDM { +@@ -260,38 +263,38 @@ namespace SDDM { qWarning() << "Could not redirect stdout"; } ++++++ 0001-Remove-suffix-for-Wayland-session.patch ++++++ --- /var/tmp/diff_new_pack.lxUEEy/_old 2020-11-12 22:37:03.689995842 +0100 +++ /var/tmp/diff_new_pack.lxUEEy/_new 2020-11-12 22:37:03.689995842 +0100 @@ -1,4 +1,4 @@ -From aa342153bf3bd88a7af5dc6c454cb4c9d16f95ee Mon Sep 17 00:00:00 2001 +From 0f207a9cc6c0fda8ff47f53598404e1c878f7610 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini <[email protected]> Date: Tue, 20 Mar 2018 18:22:39 +0100 Subject: [PATCH] Remove suffix for Wayland session @@ -14,20 +14,23 @@ [ChangeLog][Greeter] Remove suffix for Wayland sessions --- - src/common/Session.cpp | 8 ++------ - 1 file changed, 2 insertions(+), 6 deletions(-) + src/common/Session.cpp | 11 ++--------- + 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/src/common/Session.cpp b/src/common/Session.cpp -index 4812d67..a2be266 100644 +index 2d7b04f..cb4cef7 100644 --- a/src/common/Session.cpp +++ b/src/common/Session.cpp -@@ -161,12 +161,8 @@ namespace SDDM { +@@ -157,15 +157,8 @@ namespace SDDM { if (current_section != QLatin1String("Desktop Entry")) continue; // We are only interested in the "Desktop Entry" section - if (line.startsWith(QLatin1String("Name="))) { - if (type == WaylandSession) -- m_displayName = QObject::tr("%1 (Wayland)").arg(line.mid(5)); +- if (line.mid(5).endsWith(QLatin1String(" (Wayland)"))) +- m_displayName = QObject::tr("%1").arg(line.mid(5)); +- else +- m_displayName = QObject::tr("%1 (Wayland)").arg(line.mid(5)); - else - m_displayName = line.mid(5); - } @@ -37,5 +40,5 @@ m_comment = line.mid(8); if (line.startsWith(QLatin1String("Exec="))) -- -2.16.2 +2.25.1 ++++++ 0001-Set-XAUTHLOCALHOSTNAME-in-sessions.patch ++++++ --- /var/tmp/diff_new_pack.lxUEEy/_old 2020-11-12 22:37:03.701995854 +0100 +++ /var/tmp/diff_new_pack.lxUEEy/_new 2020-11-12 22:37:03.701995854 +0100 @@ -1,4 +1,4 @@ -From 5ae235adea72a68796c9c25f2a7a8194dd3d7509 Mon Sep 17 00:00:00 2001 +From 259ec546a821f40536dc4aa2ff510a1e197b6e0d Mon Sep 17 00:00:00 2001 From: Fabian Vogt <[email protected]> Date: Sat, 24 Oct 2020 13:57:05 +0200 Subject: [PATCH] Set XAUTHLOCALHOSTNAME in sessions @@ -15,7 +15,7 @@ 1 file changed, 2 insertions(+) diff --git a/src/helper/Backend.cpp b/src/helper/Backend.cpp -index 1e80693..3feb49e 100644 +index a053310..5e6941e 100644 --- a/src/helper/Backend.cpp +++ b/src/helper/Backend.cpp @@ -27,6 +27,7 @@ @@ -26,14 +26,14 @@ #include <pwd.h> -@@ -63,6 +64,7 @@ namespace SDDM { +@@ -68,6 +69,7 @@ namespace SDDM { env.insert(QStringLiteral("SHELL"), QString::fromLocal8Bit(pw->pw_shell)); env.insert(QStringLiteral("USER"), QString::fromLocal8Bit(pw->pw_name)); env.insert(QStringLiteral("LOGNAME"), QString::fromLocal8Bit(pw->pw_name)); + env.insert(QStringLiteral("XAUTHLOCALHOSTNAME"), QHostInfo::localHostName()); - // TODO: I'm fairly sure this shouldn't be done for PAM sessions, investigate! - m_app->session()->setProcessEnvironment(env); - } + #if defined(Q_OS_FREEBSD) + /* get additional environment variables via setclassenvironment(); + this needs to be done here instead of in UserSession::setupChildProcess -- 2.25.1 ++++++ 0001-Systemd-service-unit-Use-tty7-by-default.patch ++++++ --- /var/tmp/diff_new_pack.lxUEEy/_old 2020-11-12 22:37:03.709995863 +0100 +++ /var/tmp/diff_new_pack.lxUEEy/_new 2020-11-12 22:37:03.713995867 +0100 @@ -1,4 +1,4 @@ -From b7cd2c4a505eaadecf1ba5cd895928f23b23e9f2 Mon Sep 17 00:00:00 2001 +From b2d409f20f6e515a5ebff9d506c2c6bff39300d7 Mon Sep 17 00:00:00 2001 From: Fabian Vogt <[email protected]> Date: Sat, 1 Apr 2017 21:21:36 +0200 Subject: [PATCH] Systemd service unit: Use tty7 by default @@ -8,10 +8,10 @@ services/sddm.service.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -Index: sddm-0.18.0/services/sddm.service.in -=================================================================== ---- sddm-0.18.0.orig/services/sddm.service.in -+++ sddm-0.18.0/services/sddm.service.in +diff --git a/services/sddm.service.in b/services/sddm.service.in +index 0335685..932ac78 100644 +--- a/services/sddm.service.in ++++ b/services/sddm.service.in @@ -1,8 +1,8 @@ [Unit] Description=Simple Desktop Display Manager @@ -20,6 +20,9 @@ -After=systemd-user-sessions.service [email protected] plymouth-quit.service systemd-logind.service [email protected] +After=systemd-user-sessions.service [email protected] plymouth-quit.service systemd-logind.service + StartLimitIntervalSec=30 + StartLimitBurst=2 - [Service] - ExecStart=@CMAKE_INSTALL_FULL_BINDIR@/sddm +-- +2.25.1 + ++++++ 0001-Use-PAM-s-username.patch ++++++ From ded40de3ab06a0ee3f5a921f52044f16b8e3ae7f Mon Sep 17 00:00:00 2001 From: Luiz Angelo Daros de Luca <[email protected]> Date: Thu, 5 Nov 2020 00:52:27 -0300 Subject: [PATCH] Use PAM's username The provided username might differ from full username. This happens for sssd with multiple domains where the username is suffixed with @domain. However, the user can type only username without a suffix and let sssd find the first username match according to domain_resolution_order. Fixes #1303 Signed-off-by: Luiz Angelo Daros de Luca <[email protected]> --- src/helper/UserSession.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/helper/UserSession.cpp b/src/helper/UserSession.cpp index c9a8a20..dbf39fc 100644 --- a/src/helper/UserSession.cpp +++ b/src/helper/UserSession.cpp @@ -175,13 +175,13 @@ namespace SDDM { // fetch session's user's groups int n_user_groups = 0; gid_t *user_groups = NULL; - if (-1 == getgrouplist(username.constData(), pw.pw_gid, + if (-1 == getgrouplist(pw.pw_name, pw.pw_gid, NULL, &n_user_groups)) { user_groups = new gid_t[n_user_groups]; - if ((n_user_groups = getgrouplist(username.constData(), + if ((n_user_groups = getgrouplist(pw.pw_name, pw.pw_gid, user_groups, &n_user_groups)) == -1 ) { - qCritical() << "getgrouplist(" << username << ", " << pw.pw_gid + qCritical() << "getgrouplist(" << pw.pw_name << ", " << pw.pw_gid << ") failed"; exit(Auth::HELPER_OTHER_ERROR); } -- 2.29.0 ++++++ proper_pam.diff ++++++ --- /var/tmp/diff_new_pack.lxUEEy/_old 2020-11-12 22:37:03.777995933 +0100 +++ /var/tmp/diff_new_pack.lxUEEy/_new 2020-11-12 22:37:03.781995938 +0100 @@ -5,7 +5,7 @@ @@ -1,13 +1,7 @@ #%PAM-1.0 -auth required pam_env.so --auth required pam_tally.so file=/var/log/faillog onerr=succeed +-auth required pam_tally2.so file=/var/log/tallylog onerr=succeed -auth required pam_shells.so -auth required pam_nologin.so -auth required pam_permit.so ++++++ sddm-0.18.1.tar.xz -> sddm-0.19.0.tar.xz ++++++ ++++ 3341 lines of diff (skipped) _______________________________________________ openSUSE Commits mailing list -- [email protected] To unsubscribe, email [email protected] List Netiquette: https://en.opensuse.org/openSUSE:Mailing_list_netiquette List Archives: https://lists.opensuse.org/archives/list/[email protected]
