Ejemplo n.º 1
0
rfbCredential *VncClientThread::credentialHandler(rfbClient *cl, int credentialType)
{
    kDebug(5011) << "credential request" << credentialType;

    VncClientThread *t = (VncClientThread*)rfbClientGetClientData(cl, 0);
    Q_ASSERT(t);

    rfbCredential *cred = 0;

    switch (credentialType) {
        case rfbCredentialTypeUser:
            t->passwordRequest(true);
            t->m_passwordError = true;

            cred = new rfbCredential;
            cred->userCredential.username = strdup(t->username().toUtf8());
            cred->userCredential.password = strdup(t->password().toUtf8());
            break;
        default:
            kError(5011) << "credential request failed, unspported credentialType:" << credentialType;
            t->outputErrorMessage(i18n("VNC authentication type is not supported."));
            break;
    }
    return cred;
}