Qt 4.8
|
#include <qtransportauth_qws_p.h>
Public Functions | |
const unsigned char * | getClientKey (unsigned char progId) |
Find client keys for the progId. More... | |
void | invalidateClientKeyCache () |
QTransportAuthPrivate () | |
~QTransportAuthPrivate () | |
Public Functions inherited from QObjectPrivate | |
void | _q_reregisterTimers (void *pointer) |
void | addConnection (int signal, Connection *c) |
void | cleanConnectionLists () |
void | connectNotify (const char *signal) |
void | deleteChildren () |
void | disconnectNotify (const char *signal) |
bool | isSender (const QObject *receiver, const char *signal) const |
bool | isSignalConnected (uint signalIdx) const |
Returns true if the signal with index signal_index from object sender is connected. More... | |
void | moveToThread_helper () |
QObjectPrivate (int version=QObjectPrivateVersion) | |
QObjectList | receiverList (const char *signal) const |
QObjectList | senderList () const |
void | setParent_helper (QObject *) |
void | setThreadData_helper (QThreadData *currentData, QThreadData *targetData) |
int | signalIndex (const char *signalName) const |
Returns the signal index used in the internal connectionLists vector. More... | |
virtual | ~QObjectPrivate () |
Public Functions inherited from QObjectData | |
virtual | ~QObjectData ()=0 |
Additional Inherited Members | |
Public Types inherited from QObjectPrivate | |
typedef void(* | StaticMetaCallFunction) (QObject *, QMetaObject::Call, int, void **) |
Static Public Functions inherited from QObjectPrivate | |
static void | clearGuards (QObject *) |
static QObjectPrivate * | get (QObject *o) |
static void | resetCurrentSender (QObject *receiver, Sender *currentSender, Sender *previousSender) |
static Sender * | setCurrentSender (QObject *receiver, Sender *sender) |
static void | signalSignature (const QMetaMethod &signal, QVarLengthArray< char > *result) |
Definition at line 141 of file qtransportauth_qws_p.h.
QTransportAuthPrivate::QTransportAuthPrivate | ( | ) |
Definition at line 184 of file qtransportauth_qws.cpp.
QTransportAuthPrivate::~QTransportAuthPrivate | ( | ) |
Definition at line 190 of file qtransportauth_qws.cpp.
const unsigned char * QTransportAuthPrivate::getClientKey | ( | unsigned char | progId | ) |
Find client keys for the progId.
In the success case a pointer to the keys is returned. The pointer is to storage allocated for the internal cache and must be used asap.
The list returned is a sequence of one or more keys which match the progId. There is no separator, each 16 byte sequence represents a key. The sequence is followed by two iterations of the SXE magic bytes,eg 0xBA, 0xD4, 0xD4, 0xBA, 0xBA, 0xD4, 0xD4, 0xBA
NULL is returned in the following cases:
Note that for the keyfiles, there is multi-thread and multi-process concurrency issues: they can be read by the qpe process when QTransportAuth calls getClientKey to verify a request, and they can be read or written by the packagemanager when updating package data.
To protect against this, the keyfileMutex & SxeRegistryLocker is used.
The sxe_installer tool can also update inode and device numbers in the manifest file, but this only occurs outside of normal operation, so qpe and packagemanager are never running when this occurs.
Definition at line 658 of file qtransportauth_qws.cpp.
void QTransportAuthPrivate::invalidateClientKeyCache | ( | ) |
Definition at line 774 of file qtransportauth_qws.cpp.
AuthCookie QTransportAuthPrivate::authKey |
Definition at line 155 of file qtransportauth_qws_p.h.
Definition at line 157 of file qtransportauth_qws_p.h.
QCache<unsigned char, char> QTransportAuthPrivate::keyCache |
Definition at line 156 of file qtransportauth_qws_p.h.
QMutex QTransportAuthPrivate::keyfileMutex |
Definition at line 158 of file qtransportauth_qws_p.h.
bool QTransportAuthPrivate::keyInitialised |
Definition at line 151 of file qtransportauth_qws_p.h.
QString QTransportAuthPrivate::m_keyFilePath |
Definition at line 153 of file qtransportauth_qws_p.h.
QString QTransportAuthPrivate::m_logFilePath |
Definition at line 152 of file qtransportauth_qws_p.h.
QObject* QTransportAuthPrivate::m_packageRegistry |
Definition at line 154 of file qtransportauth_qws_p.h.