33 SignonAuthSessionAdaptor::SignonAuthSessionAdaptor(SignonAuthSession *parent):
34 QDBusAbstractAdaptor(parent)
36 setAutoRelaySignals(
true);
39 SignonAuthSessionAdaptor::~SignonAuthSessionAdaptor()
43 void SignonAuthSessionAdaptor::errorReply(
const QString &name,
44 const QString &message)
46 const QDBusContext &context = *
static_cast<QDBusContext *
>(
parent());
47 QDBusMessage errReply = context.message().createErrorReply(name, message);
48 context.connection().send(errReply);
53 const QStringList &wantedMechanisms)
57 QDBusContext &dbusContext = *
static_cast<QDBusContext *
>(
parent());
60 TRACE() <<
"queryAvailableMechanisms called from peer that doesn't " 61 "own the AuthSession object\n";
63 QTextStream(&errMsg) << SIGNOND_PERMISSION_DENIED_ERR_STR
64 <<
" Authentication session owned by other " 66 errorReply(SIGNOND_PERMISSION_DENIED_ERR_NAME, errMsg);
74 const QString &mechanism)
78 QString allowedMechanism(mechanism);
80 if (
parent()->
id() != SIGNOND_NEW_IDENTITY) {
90 QTextStream(&errMsg) << SIGNOND_METHOD_OR_MECHANISM_NOT_ALLOWED_ERR_STR
97 errorReply(SIGNOND_METHOD_OR_MECHANISM_NOT_ALLOWED_ERR_NAME,
102 BLAME() <<
"Null database handler object.";
106 QDBusContext &dbusContext = *
static_cast<QDBusContext *
>(
parent());
109 TRACE() <<
"process called from peer that doesn't own the AuthSession " 112 QTextStream(&errMsg) << SIGNOND_PERMISSION_DENIED_ERR_STR
113 <<
" Authentication session owned by other " 115 errorReply(SIGNOND_PERMISSION_DENIED_ERR_NAME, errMsg);
116 return QVariantMap();
126 QDBusContext &dbusContext = *
static_cast<QDBusContext *
>(
parent());
128 TRACE() <<
"cancel called from peer that doesn't own the AuthSession " 140 QDBusContext &dbusContext = *
static_cast<QDBusContext *
>(
parent());
143 TRACE() <<
"setId called from peer that doesn't own the AuthSession " 148 dbusContext.connection(),
149 dbusContext.message(),
151 TRACE() <<
"setId called with an identifier the peer is not allowed " 163 QDBusContext &dbusContext = *
static_cast<QDBusContext *
>(
parent());
166 TRACE() <<
"objectUnref called from peer that doesn't own the " 167 "AuthSession object";
void process(const QDBusConnection &connection, const QDBusMessage &message, const QVariantMap &sessionDataVa, const QString &mechanism, const QString &cancelKey)
Q_NOREPLY void objectUnref()
Definition of the CredentialsDB object.
QVariantMap process(const QVariantMap &sessionDataVa, const QString &mechanism)
static AccessControlManagerHelper * instance()
bool checkMethodAndMechanism(const QString &method, const QString &mechanism, QString &allowedMechanism)
static CredentialsAccessManager * instance()
Returns CAM instance.
QStringList queryAvailableMechanisms(const QStringList &wantedMechanisms)
SignonSessionCore * parent() const
SignonIdentityInfo credentials(const quint32 id, bool queryPassword=true)
Q_NOREPLY void setId(quint32 id)
static pid_t pidOfPeer(const QDBusContext &peerContext)
Definition of the CredentialsAccessManager object.
Daemon side representation of identity information.
CredentialsDB * credentialsDB() const
Manages the credentials I/O.
Helper class for access control-related functionality.
QStringList queryAvailableMechanisms(const QStringList &wantedMechanisms)
void cancel(const QString &cancelKey)