Skip to content

Commit

Permalink
Merge branch 'jb53880' into 'master'
Browse files Browse the repository at this point in the history
Move signonui sockets to subdirectory

See merge request mer-core/libsignon!11
  • Loading branch information
Tomin1 committed May 7, 2021
2 parents 7f1ae3d + 5a43464 commit 0fc99fb
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 24 deletions.
39 changes: 21 additions & 18 deletions rpm/0007-Use-p2p-dbus-for-signon-ui-flows.-Contributes-to-JB-.patch
@@ -1,18 +1,18 @@
From a41bfe510beb175c88908b807a3aacfa694e928b Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Chris Adams <chris.adams@jollamobile.com>
Date: Tue, 19 Jun 2018 13:15:36 +1000
Subject: [PATCH 07/10] Use p2p dbus for signon-ui flows. Contributes to
JB#42126
Subject: [PATCH] Use p2p dbus for signon-ui flows. Contributes to JB#42126

Signed-off-by: Tomi Leppänen <tomi.leppanen@jolla.com>
---
src/signond/signonidentity.cpp | 26 ++++++++++++++++++++--
src/signond/signonidentity.cpp | 26 +++++++++++++++++++--
src/signond/signonidentity.h | 1 +
src/signond/signonsessioncore.cpp | 36 +++++++++++++++++++++++++++++--
src/signond/signonsessioncore.cpp | 38 +++++++++++++++++++++++++++++--
src/signond/signonsessioncore.h | 1 +
4 files changed, 60 insertions(+), 4 deletions(-)
4 files changed, 62 insertions(+), 4 deletions(-)

diff --git a/src/signond/signonidentity.cpp b/src/signond/signonidentity.cpp
index a143c22..f0b9b56 100644
index a143c22..1bc3862 100644
--- a/src/signond/signonidentity.cpp
+++ b/src/signond/signonidentity.cpp
@@ -25,6 +25,9 @@
Expand Down Expand Up @@ -46,7 +46,7 @@ index a143c22..f0b9b56 100644

+#ifdef ENABLE_P2P
+ m_p2pc = QDBusConnection::connectToPeer(
+ QStringLiteral("unix:path=%1/signonui-socket")
+ QStringLiteral("unix:path=%1/signonui/socket")
+ .arg(QStandardPaths::writableLocation(
+ QStandardPaths::RuntimeLocation)),
+ objectName);
Expand Down Expand Up @@ -82,37 +82,40 @@ index f6321f3..885cebd 100644
SignonIdentityInfo *m_pInfo;
bool m_destroyed;
diff --git a/src/signond/signonsessioncore.cpp b/src/signond/signonsessioncore.cpp
index b0510db..dca7880 100644
index b0510db..0135f12 100644
--- a/src/signond/signonsessioncore.cpp
+++ b/src/signond/signonsessioncore.cpp
@@ -34,6 +34,10 @@
@@ -34,6 +34,11 @@
#include "SignOn/authpluginif.h"
#include "SignOn/signonerror.h"

+#ifdef ENABLE_P2P
+#include <QStandardPaths>
+#include <QFileInfo>
+#endif
+
#define MAX_IDLE_TIME SIGNOND_MAX_IDLE_TIME
/*
* the watchdog searches for idle sessions with period of half of idle timeout
@@ -77,6 +81,7 @@ SignonSessionCore::SignonSessionCore(quint32 id,
@@ -77,6 +82,7 @@ SignonSessionCore::SignonSessionCore(quint32 id,
int timeout,
QObject *parent):
SignonDisposable(timeout, parent),
+ m_p2pc(QStringLiteral("session.dbus.connection")),
m_signonui(0),
m_watcher(0),
m_requestIsActive(false),
@@ -85,10 +90,26 @@ SignonSessionCore::SignonSessionCore(quint32 id,
@@ -85,10 +91,28 @@ SignonSessionCore::SignonSessionCore(quint32 id,
m_method(method),
m_queryCredsUiDisplayed(false)
{
+#ifdef ENABLE_P2P
+ m_p2pc = QDBusConnection::connectToPeer(
+ QStringLiteral("unix:path=%1/signonui-socket")
+ QString path = QStringLiteral("unix:path=%1/signonui/socket")
+ .arg(QStandardPaths::writableLocation(
+ QStandardPaths::RuntimeLocation)),
+ QStandardPaths::RuntimeLocation));
+ // 10 == strlen("unix:path=")
+ QFileInfo(path.mid(10)).dir().mkpath(QStringLiteral("."));
+ m_p2pc = QDBusConnection::connectToPeer(path,
+ QStringLiteral("signon-session-core-%1").arg(id));
+ if (!m_p2pc.isConnected()) {
+ BLAME() << "Session unable to connect to signonui socket:"
Expand All @@ -132,7 +135,7 @@ index b0510db..dca7880 100644

connect(CredentialsAccessManager::instance(),
SIGNAL(credentialsSystemReady()),
@@ -312,13 +333,24 @@ void SignonSessionCore::setId(quint32 id)
@@ -312,13 +336,24 @@ void SignonSessionCore::setId(quint32 id)

void SignonSessionCore::startProcess()
{
Expand All @@ -149,7 +152,7 @@ index b0510db..dca7880 100644
+ data.m_conn, data.m_msg);
+ parameters.insert(
+ QStringLiteral("InProcessBusAddress"),
+ QStringLiteral("unix:path=%1/signonui-%2-socket")
+ QStringLiteral("unix:path=%1/signonui/%2-socket")
+ .arg(QStandardPaths::writableLocation(
+ QStandardPaths::RuntimeLocation))
+ .arg(clientPid));
Expand All @@ -171,5 +174,5 @@ index d4a428c..bb0543b 100644

QDBusPendingCallWatcher *m_watcher;
--
2.17.1
2.30.2

@@ -1,12 +1,13 @@
From 3e61cde4207e67405833c64c0b3ad205752f7896 Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Chris Adams <chris.adams@jollamobile.com>
Date: Wed, 20 May 2020 16:05:15 +1000
Subject: [PATCH 10/10] Use P2P DBus server for tests if built in ENABLE_P2P
mode
Subject: [PATCH] Use P2P DBus server for tests if built in ENABLE_P2P mode

Also increase timeout of timeouts test, to allow dbus timeout
to trigger first (required for successful notification of identity
removal from daemon).

Signed-off-by: Tomi Leppänen <tomi.leppanen@jolla.com>
---
.../libsignon-qt-tests/libsignon-qt-tests.pro | 5 +++
tests/libsignon-qt-tests/signon-ui.cpp | 40 ++++++++++++++-----
Expand Down Expand Up @@ -147,7 +148,7 @@ index b242189..8d0b95b 100644
QString m_replyPassword;
int m_delay;
diff --git a/tests/libsignon-qt-tests/ssotestclient.cpp b/tests/libsignon-qt-tests/ssotestclient.cpp
index 3ad9de3..a89d9ab 100644
index 3ad9de3..ef1ef54 100644
--- a/tests/libsignon-qt-tests/ssotestclient.cpp
+++ b/tests/libsignon-qt-tests/ssotestclient.cpp
@@ -31,6 +31,7 @@
Expand All @@ -163,7 +164,7 @@ index 3ad9de3..a89d9ab 100644
QCoreApplication app(argc, argv);

+#ifdef ENABLE_P2P
+ QDBusServer p2pBus(QStringLiteral("unix:path=%1/signonui-socket").arg(QStandardPaths::writableLocation(QStandardPaths::RuntimeLocation)));
+ QDBusServer p2pBus(QStringLiteral("unix:path=%1/signonui/socket").arg(QStandardPaths::writableLocation(QStandardPaths::RuntimeLocation)));
+ SignOnUI signOnUI(&p2pBus);
+#else
SignOnUI signOnUI(QDBusConnection::sessionBus());
Expand Down Expand Up @@ -192,5 +193,5 @@ index dae8e4b..fb00acd 100644

void TimeoutsTest::initTestCase()
--
2.17.1
2.30.2

0 comments on commit 0fc99fb

Please sign in to comment.