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; }