Page MenuHomeFreeBSD

D23579.id68186.diff
No OneTemporary

D23579.id68186.diff

Index: x11/sddm/Makefile
===================================================================
--- x11/sddm/Makefile
+++ x11/sddm/Makefile
@@ -1,9 +1,8 @@
# $FreeBSD$
PORTNAME= sddm
-PORTVERSION= 0.17.0
+PORTVERSION= 0.18.1
DISTVERSIONPREFIX= v
-PORTREVISION= 8
CATEGORIES= x11
MAINTAINER= kde@FreeBSD.org
@@ -40,20 +39,15 @@
USERS= sddm
GROUPS= sddm
-# There are multiple patches that apply to Display.cpp,
-# fixing CVE-2018-14345 and backported from 0.18.
-EXTRA_PATCHES= ${PATCHDIR}/git-patch-147cec38d ${PATCHDIR}/git-patch-b02b00559
-
post-patch:
@${REINPLACE_CMD} -e 's#/etc/X11#${LOCALBASE}/etc/X11#' \
-e 's#/usr/bin/#${LOCALBASE}/bin/#g' \
-e 's#/usr/share/#${LOCALBASE}/share/#' \
${WRKSRC}/data/scripts/Xsession \
${WRKSRC}/src/common/Configuration.h
+ @${CP} ${PATCHDIR}/VirtualTerminal_FreeBSD.cpp ${WRKSRC}/src/daemon
post-install:
- ${MV} ${STAGEDIR}${PREFIX}/etc/sddm.conf \
- ${STAGEDIR}${PREFIX}/etc/sddm.conf.sample
# Install xsession.desktop to launch .xinitrc via sddm.
${MKDIR} ${STAGEDIR}${PREFIX}/share/xsessions
${INSTALL_DATA} ${WRKDIR}/xinitrc.desktop ${STAGEDIR}${PREFIX}/share/xsessions
Index: x11/sddm/distinfo
===================================================================
--- x11/sddm/distinfo
+++ x11/sddm/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1525019041
-SHA256 (sddm-sddm-v0.17.0_GH0.tar.gz) = c6da2862688d21a091f1568b78a5f5900cd2e02a83dd42c016f0c5867e69a92d
-SIZE (sddm-sddm-v0.17.0_GH0.tar.gz) = 3524362
+TIMESTAMP = 1581010748
+SHA256 (sddm-sddm-v0.18.1_GH0.tar.gz) = 07296fc747010a5dd58a45f16c3224b439997afad42566e4b043c841b1b71700
+SIZE (sddm-sddm-v0.18.1_GH0.tar.gz) = 3526726
Index: x11/sddm/files/VirtualTerminal_FreeBSD.cpp
===================================================================
--- /dev/null
+++ x11/sddm/files/VirtualTerminal_FreeBSD.cpp
@@ -0,0 +1,37 @@
+/***************************************************************************
+* Copyright (c) 2015 Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
+*
+* This program is free software; you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; either version 2 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the
+* Free Software Foundation, Inc.,
+* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+***************************************************************************/
+
+#include <QDebug>
+#include <QString>
+
+#include "VirtualTerminal.h"
+
+
+namespace SDDM {
+ namespace VirtualTerminal {
+ int setUpNewVt() {
+ qDebug() << "New VT is unsupported on FreeBSD";
+ return -1;
+ }
+
+ void jumpToVt(int vt, bool vt_auto) {
+ qDebug() << "Jumping to VT" << vt << "is unsupported on FreeBSD";
+ }
+ }
+}
Index: x11/sddm/files/git-patch-b02b00559
===================================================================
--- x11/sddm/files/git-patch-b02b00559
+++ /dev/null
@@ -1,70 +0,0 @@
-diff --git a/src/daemon/Display.cpp b/src/daemon/Display.cpp
-index 57d7ecb..c2ea728 100644
---- src/daemon/Display.cpp
-+++ src/daemon/Display.cpp
-@@ -280,7 +280,7 @@ namespace SDDM {
- return;
- }
-
-- QString existingSessionId;
-+ m_reuseSessionId = QString();
-
- if (Logind::isAvailable() && mainConfig.Users.ReuseSession.get()) {
- OrgFreedesktopLogin1ManagerInterface manager(Logind::serviceName(), Logind::managerPath(), QDBusConnection::systemBus());
-@@ -291,7 +291,7 @@ namespace SDDM {
- if (s.userName == user) {
- OrgFreedesktopLogin1SessionInterface session(Logind::serviceName(), s.sessionPath.path(), QDBusConnection::systemBus());
- if (session.service() == QLatin1String("sddm")) {
-- existingSessionId = s.sessionId;
-+ m_reuseSessionId = s.sessionId;
- break;
- }
- }
-@@ -334,19 +334,8 @@ namespace SDDM {
- m_auth->insertEnvironment(env);
-
- m_auth->setUser(user);
-- if (existingSessionId.isNull()) {
-+ if (m_reuseSessionId.isNull()) {
- m_auth->setSession(session.exec());
-- } else {
-- //we only want to unlock the session if we can lock in, so we want to go via PAM auth, but not start a new session
-- //by not setting the session and the helper will emit authentication and then quit
-- connect(m_auth, &Auth::authentication, this, [=](const QString &, bool success){
-- if(!success)
-- return;
-- qDebug() << "activating existing seat";
-- OrgFreedesktopLogin1ManagerInterface manager(Logind::serviceName(), Logind::managerPath(), QDBusConnection::systemBus());
-- manager.UnlockSession(existingSessionId);
-- manager.ActivateSession(existingSessionId);
-- });
- }
- m_auth->start();
- }
-@@ -355,7 +344,13 @@ namespace SDDM {
- if (success) {
- qDebug() << "Authenticated successfully";
-
-- m_auth->setCookie(qobject_cast<XorgDisplayServer *>(m_displayServer)->cookie());
-+ if (!m_reuseSessionId.isNull()) {
-+ OrgFreedesktopLogin1ManagerInterface manager(Logind::serviceName(), Logind::managerPath(), QDBusConnection::systemBus());
-+ manager.UnlockSession(m_reuseSessionId);
-+ manager.ActivateSession(m_reuseSessionId);
-+ } else {
-+ m_auth->setCookie(qobject_cast<XorgDisplayServer *>(m_displayServer)->cookie());
-+ }
-
- // save last user and last session
- if (mainConfig.Users.RememberLastUser.get())
-diff --git a/src/daemon/Display.h b/src/daemon/Display.h
-index 09d3cf9..a6a06b2 100644
---- src/daemon/Display.h
-+++ src/daemon/Display.h
-@@ -85,6 +85,7 @@ namespace SDDM {
-
- QString m_passPhrase;
- QString m_sessionName;
-+ QString m_reuseSessionId;
-
- Auth *m_auth { nullptr };
- DisplayServer *m_displayServer { nullptr };
Index: x11/sddm/files/patch-data_scripts_Xsession
===================================================================
--- x11/sddm/files/patch-data_scripts_Xsession
+++ x11/sddm/files/patch-data_scripts_Xsession
@@ -8,14 +8,10 @@
daemon on first use. Autolaunched dbus daemons tend to linger and may only
exit if the X server exits.
---- data/scripts/Xsession.orig 2017-12-05 16:00:16 UTC
+--- data/scripts/Xsession.orig 2019-03-13 09:22:35 UTC
+++ data/scripts/Xsession
-@@ -94,8 +94,8 @@ if [ -f "$USERXSESSION" ]; then
- . "$USERXSESSION"
- fi
-
--if [ -z "$@" ]; then
-+if [ -z "$1" ]; then
+@@ -98,5 +98,5 @@ fi
+ if [ -z "$*" ]; then
exec xmessage -center -buttons OK:0 -default OK "Sorry, $DESKTOP_SESSION is no valid session."
else
- exec $@
Index: x11/sddm/files/patch-services_sddm-greeter.pam
===================================================================
--- x11/sddm/files/patch-services_sddm-greeter.pam
+++ /dev/null
@@ -1,19 +0,0 @@
---- services/sddm-greeter.pam.orig 2017-12-05 16:00:16 UTC
-+++ services/sddm-greeter.pam
-@@ -1,8 +1,5 @@
- #%PAM-1.0
-
--# Load environment from /etc/environment and ~/.pam_environment
--auth required pam_env.so
--
- # Always let the greeter start without authentication
- auth required pam_permit.so
-
-@@ -13,6 +10,4 @@ account required pam_permit.so
- password required pam_deny.so
-
- # Setup session
--session required pam_unix.so
---session optional pam_systemd.so
---session optional pam_elogind.so
-+session required pam_permit.so
Index: x11/sddm/files/patch-services_sddm-greeter.pam.in
===================================================================
--- /dev/null
+++ x11/sddm/files/patch-services_sddm-greeter.pam.in
@@ -0,0 +1,18 @@
+--- services/sddm-greeter.pam.in.orig 2019-03-13 09:22:35 UTC
++++ services/sddm-greeter.pam.in
+@@ -1,8 +1,5 @@
+ #%PAM-1.0
+
+-# Load environment from /etc/environment and ~/.pam_environment
+-auth required pam_env.so
+-
+ # Always let the greeter start without authentication
+ auth required pam_permit.so
+
+@@ -13,5 +10,4 @@ account required pam_permit.so
+ password required pam_deny.so
+
+ # Setup session
+-session required pam_unix.so
+-session optional @LOGIND_PAM_MODULE@
++session required pam_permit.so
Index: x11/sddm/files/patch-src_common_Configuration.h
===================================================================
--- x11/sddm/files/patch-src_common_Configuration.h
+++ x11/sddm/files/patch-src_common_Configuration.h
@@ -6,14 +6,9 @@
used together with Plasma. If they aren't available sddm falls back to a
compiled-in theme.
---- src/common/Configuration.h.orig 2017-12-05 16:00:16 UTC
+--- src/common/Configuration.h.orig 2019-03-13 09:22:35 UTC
+++ src/common/Configuration.h
-@@ -42,14 +42,14 @@ namespace SDDM {
- Entry(Numlock, NumState, NUM_NONE, _S("Initial NumLock state. Can be on, off or none.\n"
- "If property is set to none, numlock won't be changed\n"
- "NOTE: Currently ignored if autologin is enabled."));
-- Entry(InputMethod, QString, QStringLiteral("qtvirtualkeyboard"), _S("Input method module"));
-+ Entry(InputMethod, QString, QString(), _S("Input method module"));
+@@ -47,10 +47,10 @@ namespace SDDM {
// Name Entries (but it's a regular class again)
Section(Theme,
Entry(ThemeDir, QString, _S(DATA_INSTALL_DIR "/themes"), _S("Theme directory path"));
@@ -26,7 +21,7 @@
Entry(EnableAvatars, bool, true, _S("Enable display of custom user avatars"));
Entry(DisableAvatarsThreshold,int, 7, _S("Number of users to use as threshold\n"
"above which avatars are disabled\n"
-@@ -80,7 +80,7 @@ namespace SDDM {
+@@ -81,7 +81,7 @@ namespace SDDM {
);
Section(Users,
Index: x11/sddm/files/patch-src_daemon_CMakeLists.txt
===================================================================
--- x11/sddm/files/patch-src_daemon_CMakeLists.txt
+++ x11/sddm/files/patch-src_daemon_CMakeLists.txt
@@ -1,13 +1,11 @@
-Remove VirtualTerminal.cpp from the sources that need to be built.
-See also 'patch-src_daemon_Display.cpp'.
-
---- src/daemon/CMakeLists.txt.orig 2017-12-05 16:00:16 UTC
+--- src/daemon/CMakeLists.txt.orig 2019-03-13 09:22:35 UTC
+++ src/daemon/CMakeLists.txt
-@@ -29,7 +29,6 @@ set(DAEMON_SOURCES
+@@ -29,7 +29,7 @@ set(DAEMON_SOURCES
SeatManager.cpp
SignalHandler.cpp
SocketServer.cpp
- VirtualTerminal.cpp
++ VirtualTerminal_FreeBSD.cpp
)
qt5_add_dbus_adaptor(DAEMON_SOURCES "${CMAKE_SOURCE_DIR}/data/interfaces/org.freedesktop.DisplayManager.xml" "DisplayManager.h" SDDM::DisplayManager)
Index: x11/sddm/files/patch-src_daemon_Display.cpp
===================================================================
--- x11/sddm/files/patch-src_daemon_Display.cpp
+++ x11/sddm/files/patch-src_daemon_Display.cpp
@@ -7,30 +7,9 @@
may confuse the desktop session started from ~/.xinitrc. These environment
variables are used for OnlyShowIn and NotShowIn in .desktop files.
---- src/daemon/Display.cpp.orig 2017-12-05 16:00:16 UTC
+--- src/daemon/Display.cpp.orig 2019-03-13 09:22:35 UTC
+++ src/daemon/Display.cpp
-@@ -30,7 +30,9 @@
- #include "Greeter.h"
- #include "Utils.h"
- #include "SignalHandler.h"
-+#if defined(Q_OS_LINUX)
- #include "VirtualTerminal.h"
-+#endif
-
- #include <QDebug>
- #include <QFile>
-@@ -310,8 +312,10 @@ namespace SDDM {
-
- // create new VT for Wayland sessions otherwise use greeter vt
- int vt = terminalId();
-+#if defined(Q_OS_LINUX)
- if (session.xdgSessionType() == QLatin1String("wayland"))
- vt = VirtualTerminal::setUpNewVt();
-+#endif
- m_lastSession.setVt(vt);
-
- QProcessEnvironment env;
-@@ -321,11 +325,13 @@ namespace SDDM {
+@@ -321,11 +321,13 @@ namespace SDDM {
env.insert(QStringLiteral("XDG_SEAT_PATH"), daemonApp->displayManager()->seatPath(seat()->name()));
env.insert(QStringLiteral("XDG_SESSION_PATH"), daemonApp->displayManager()->sessionPath(QStringLiteral("Session%1").arg(daemonApp->newSessionId())));
env.insert(QStringLiteral("DESKTOP_SESSION"), session.desktopSession());
@@ -44,15 +23,3 @@
env.insert(QStringLiteral("XDG_SESSION_DESKTOP"), session.desktopNames());
if (seat()->name() == QLatin1String("seat0")) {
env.insert(QStringLiteral("XDG_VTNR"), QString::number(vt));
-@@ -366,9 +372,11 @@ namespace SDDM {
- stateConfig.Last.Session.setDefault();
- stateConfig.save();
-
-+#if defined(Q_OS_LINUX)
- // switch to the new VT for Wayland sessions
- if (m_lastSession.xdgSessionType() == QLatin1String("wayland"))
- VirtualTerminal::jumpToVt(m_lastSession.vt());
-+#endif
-
- if (m_socket)
- emit loginSucceeded(m_socket);
Index: x11/sddm/files/patch-src_daemon_SignalHandler.cpp
===================================================================
--- x11/sddm/files/patch-src_daemon_SignalHandler.cpp
+++ /dev/null
@@ -1,45 +0,0 @@
-From 62d776518594f517dc59de3c87e53afdda339079 Mon Sep 17 00:00:00 2001
-From: Romain Labolle <ravomavain@gmail.com>
-Date: Sat, 3 Mar 2018 22:09:30 +0100
-Subject: [PATCH] Add SOCK_CLOEXEC to signal handling sockets
-
-SDDM is currennty leaking 8 sockets file descriptors to the user session.
-Adding the CLOEXEC flag to the fd to avoid thoses leaks.
----
- src/daemon/SignalHandler.cpp | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/src/daemon/SignalHandler.cpp b/src/daemon/SignalHandler.cpp
-index 5c536603..3054e635 100644
---- src/daemon/SignalHandler.cpp.orig 2017-12-05 16:00:16 UTC
-+++ src/daemon/SignalHandler.cpp
-@@ -34,25 +34,25 @@ namespace SDDM {
- int sigusr1Fd[2];
-
- SignalHandler::SignalHandler(QObject *parent) : QObject(parent) {
-- if (::socketpair(AF_UNIX, SOCK_STREAM, 0, sighupFd))
-+ if (::socketpair(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0, sighupFd))
- qCritical() << "Failed to create socket pair for SIGHUP handling.";
-
- snhup = new QSocketNotifier(sighupFd[1], QSocketNotifier::Read, this);
- connect(snhup, SIGNAL(activated(int)), this, SLOT(handleSighup()));
-
-- if (::socketpair(AF_UNIX, SOCK_STREAM, 0, sigintFd))
-+ if (::socketpair(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0, sigintFd))
- qCritical() << "Failed to create socket pair for SIGINT handling.";
-
- snint = new QSocketNotifier(sigintFd[1], QSocketNotifier::Read, this);
- connect(snint, SIGNAL(activated(int)), this, SLOT(handleSigint()));
-
-- if (::socketpair(AF_UNIX, SOCK_STREAM, 0, sigtermFd))
-+ if (::socketpair(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0, sigtermFd))
- qCritical() << "Failed to create socket pair for SIGTERM handling.";
-
- snterm = new QSocketNotifier(sigtermFd[1], QSocketNotifier::Read, this);
- connect(snterm, SIGNAL(activated(int)), this, SLOT(handleSigterm()));
-
-- if (::socketpair(AF_UNIX, SOCK_STREAM, 0, sigusr1Fd))
-+ if (::socketpair(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0, sigusr1Fd))
- qCritical() << "Failed to create socket pair for SIGUSR1 handling.";
-
- snusr1 = new QSocketNotifier(sigusr1Fd[1], QSocketNotifier::Read, this);
Index: x11/sddm/files/patch-src_helper_Backend.cpp
===================================================================
--- /dev/null
+++ x11/sddm/files/patch-src_helper_Backend.cpp
@@ -0,0 +1,33 @@
+--- src/helper/Backend.cpp.orig 2019-03-13 09:22:35 UTC
++++ src/helper/Backend.cpp
+@@ -29,6 +29,10 @@
+ #include <QtCore/QProcessEnvironment>
+
+ #include <pwd.h>
++#if defined(Q_OS_FREEBSD)
++#include <sys/types.h>
++#include <login_cap.h>
++#endif /* defined(Q_OS_FREEBSD) */
+
+ namespace SDDM {
+ Backend::Backend(HelperApp* parent)
+@@ -70,6 +74,19 @@ namespace SDDM {
+ .arg(mainConfig.X11.UserAuthFile.get());
+ env.insert(QStringLiteral("XAUTHORITY"), value);
+ }
++#if defined(Q_OS_FREEBSD)
++ /* get additional environment variables via setclassenvironment();
++ this needs to be done here instead of in UserSession::setupChildProcess
++ as the environment for execve() is prepared here */
++ login_cap_t *lc;
++
++ if ((lc = login_getpwclass(pw)) != 0) {
++ setclassenvironment(lc, pw, 1); /* path variables */
++ setclassenvironment(lc, pw, 0); /* non-path variables */
++ /* copy all environment variables that are now set */
++ env.insert(QProcessEnvironment::systemEnvironment());
++ }
++#endif /* defined(Q_OS_FREEBSD) */
+ // TODO: I'm fairly sure this shouldn't be done for PAM sessions, investigate!
+ m_app->session()->setProcessEnvironment(env);
+ }
Index: x11/sddm/files/patch-src_helper_CMakeLists.txt
===================================================================
--- /dev/null
+++ x11/sddm/files/patch-src_helper_CMakeLists.txt
@@ -0,0 +1,12 @@
+--- src/helper/CMakeLists.txt.orig 2019-03-13 09:22:35 UTC
++++ src/helper/CMakeLists.txt
+@@ -37,6 +37,9 @@ if(PAM_FOUND)
+ else()
+ target_link_libraries(sddm-helper crypt)
+ endif()
++if("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD")
++ target_link_libraries(sddm-helper util)
++endif()
+
+ if(JOURNALD_FOUND)
+ target_link_libraries(sddm-helper ${JOURNALD_LIBRARIES})
Index: x11/sddm/files/patch-src_helper_HelperApp.cpp
===================================================================
--- x11/sddm/files/patch-src_helper_HelperApp.cpp
+++ x11/sddm/files/patch-src_helper_HelperApp.cpp
@@ -1,10 +1,8 @@
---- src/helper/HelperApp.cpp.orig 2017-12-05 16:00:16 UTC
+--- src/helper/HelperApp.cpp.orig 2019-03-13 09:22:35 UTC
+++ src/helper/HelperApp.cpp
-@@ -33,8 +33,11 @@
- #include <iostream>
- #include <unistd.h>
+@@ -35,7 +35,9 @@
#include <sys/socket.h>
-+#include <sys/time.h>
+ #include <sys/time.h>
+#if defined(Q_OS_LINUX)
#include <utmp.h>
@@ -12,7 +10,7 @@
#include <utmpx.h>
#include <QByteArray>
-@@ -301,12 +304,20 @@ namespace SDDM {
+@@ -302,12 +304,20 @@ namespace SDDM {
// append to failed login database btmp
if (!authSuccessful) {
@@ -33,7 +31,7 @@
}
}
-@@ -342,8 +353,12 @@ namespace SDDM {
+@@ -343,8 +353,12 @@ namespace SDDM {
qWarning() << "Failed to write utmpx: " << strerror(errno);
endutxent();
Index: x11/sddm/files/patch-src_helper_UserSession.cpp
===================================================================
--- x11/sddm/files/patch-src_helper_UserSession.cpp
+++ x11/sddm/files/patch-src_helper_UserSession.cpp
@@ -1,15 +1,16 @@
-Run sddm-greeter via the session command (Xsession script) so it also gets X
-resources and a ConsoleKit and D-Bus session. The ConsoleKit session has its
-session-class set to "user" instead of "greeter" because ck-launch-session
-doesn't provide a way to change this. ConsoleKit doesn't do anything with
-this value though so it is believed to be harmless. The XDG_SESSION_CLASS
-environment variable does have the value "greeter".
-
-Remove double quotes because we fixed the use of "$@" in the script.
-
---- src/helper/UserSession.cpp.orig 2017-12-05 16:00:16 UTC
+--- src/helper/UserSession.cpp.orig 2019-03-13 09:22:35 UTC
+++ src/helper/UserSession.cpp
-@@ -45,10 +45,8 @@ namespace SDDM {
+@@ -33,6 +33,9 @@
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <sched.h>
++#if defined(Q_OS_FREEBSD)
++#include <login_cap.h>
++#endif /* defined(Q_OS_FREEBSD) */
+
+ namespace SDDM {
+ UserSession::UserSession(HelperApp *parent)
+@@ -46,10 +49,8 @@ namespace SDDM {
bool UserSession::start() {
QProcessEnvironment env = qobject_cast<HelperApp*>(parent())->session()->processEnvironment();
@@ -22,3 +23,33 @@
qInfo() << "Starting:" << cmd;
QProcess::start(cmd);
} else if (env.value(QStringLiteral("XDG_SESSION_TYPE")) == QLatin1String("wayland")) {
+@@ -130,6 +131,21 @@ namespace SDDM {
+
+ // switch user
+ const QByteArray username = qobject_cast<HelperApp*>(parent())->user().toLocal8Bit();
++#if defined(Q_OS_FREEBSD)
++ struct passwd *pw = getpwnam(username.constData());
++ /* execve() uses the environment prepared in Backend::openSession(),
++ therefore environment variables which are set here are ignored. */
++ if (setusercontext(NULL, pw, pw->pw_uid, LOGIN_SETALL) != 0) {
++ qCritical() << "setusercontext(NULL, *, " << pw->pw_uid << ", LOGIN_SETALL) failed for user: " << username;
++ exit(Auth::HELPER_OTHER_ERROR);
++ }
++ if (chdir(pw->pw_dir) != 0) {
++ qCritical() << "chdir(" << pw->pw_dir << ") failed for user: " << username;
++ qCritical() << "verify directory exist and has sufficient permissions";
++ exit(Auth::HELPER_OTHER_ERROR);
++ }
++ const QString homeDir = QString::fromLocal8Bit(pw->pw_dir);
++#else /* defined(Q_OS_FREEBSD) */
+ struct passwd pw;
+ struct passwd *rpw;
+ long bufsize = sysconf(_SC_GETPW_R_SIZE_MAX);
+@@ -221,6 +237,7 @@ namespace SDDM {
+ exit(Auth::HELPER_OTHER_ERROR);
+ }
+ const QString homeDir = QString::fromLocal8Bit(pw.pw_dir);
++#endif /* defined(Q_OS_FREEBSD) */
+
+ //we cannot use setStandardError file as this code is run in the child process
+ //we want to redirect after we setuid so that the log file is owned by the user
Index: x11/sddm/pkg-message
===================================================================
--- x11/sddm/pkg-message
+++ /dev/null
@@ -1,8 +0,0 @@
-[
-{ type: install
- message: <<EOM
-SDDM does not support login.conf(5), and no special restrictions
-or settings from login.conf are enforced or applied.
-EOM
-}
-]
Index: x11/sddm/pkg-plist
===================================================================
--- x11/sddm/pkg-plist
+++ x11/sddm/pkg-plist
@@ -8,7 +8,6 @@
man/man1/sddm-greeter.1.gz
man/man5/sddm.conf.5.gz
man/man5/sddm-state.conf.5.gz
-@sample etc/sddm.conf.sample
%%QT_QMLDIR%%/SddmComponents/Background.qml
%%QT_QMLDIR%%/SddmComponents/Button.qml
%%QT_QMLDIR%%/SddmComponents/Clock.qml
@@ -150,6 +149,7 @@
%%DATADIR%%/themes/maya/screenshots/hi_IN.png
%%DATADIR%%/themes/maya/theme.conf
%%DATADIR%%/translations/ar.qm
+%%DATADIR%%/translations/bn.qm
%%DATADIR%%/translations/ca.qm
%%DATADIR%%/translations/cs.qm
%%DATADIR%%/translations/da.qm
@@ -160,6 +160,7 @@
%%DATADIR%%/translations/fr.qm
%%DATADIR%%/translations/hi_IN.qm
%%DATADIR%%/translations/hu.qm
+%%DATADIR%%/translations/is.qm
%%DATADIR%%/translations/it.qm
%%DATADIR%%/translations/ja.qm
%%DATADIR%%/translations/kk.qm

File Metadata

Mime Type
text/plain
Expires
Mon, Jan 19, 1:02 PM (14 h, 56 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27744487
Default Alt Text
D23579.id68186.diff (23 KB)

Event Timeline