Exemplo n.º 1
0
void KDEPrintd::processRequest()
{
    if(m_requestsPending.count() == 0)
        return;

    Request *req = m_requestsPending.first();
    KIO::AuthInfo info;
    QByteArray params, reply;
    QCString replyType;
    QString authString("::");

    info.username = req->user;
    info.keepPassword = true;
    info.url = req->uri;
    info.comment = i18n("Printing system");

    QDataStream input(params, IO_WriteOnly);
    input << info << i18n("Authentication failed (user name=%1)").arg(info.username) << 0L << (long int)req->seqNbr;
    if(callingDcopClient()->call("kded", "kpasswdserver", "queryAuthInfo(KIO::AuthInfo,QString,long int,long int)", params, replyType, reply))
    {
        if(replyType == "KIO::AuthInfo")
        {
            QDataStream output(reply, IO_ReadOnly);
            KIO::AuthInfo result;
            int seqNbr;
            output >> result >> seqNbr;

            if(result.isModified())
                authString = result.username + ":" + result.password + ":" + QString::number(seqNbr);
        }
        else
Exemplo n.º 2
0
bool ClientThread::authenticateClient()
{
    socket->waitForReadyRead();
    QByteArray authData = socket->readAll();
    QString authString(authData);
    QStringList authStrs = authString.split(":");
    if (authStrs.count() < 2) {
        qDebug() << socketDescriptor << "Authentication string must be user:pass";
        return 0;
    }

    QString login(authStrs[0].simplified());
    QString pass(authStrs[1].simplified());
    QString encryptedPass = QString(QCryptographicHash::hash((pass.toLocal8Bit()), QCryptographicHash::Md5).toHex());

    qDebug() << socketDescriptor << " User: [" << login << "]";
    qDebug() << socketDescriptor << " Pass: [" << encryptedPass << "]";

    user->name = login;
    user->host = socket->peerAddress();
    QSqlDatabase authDB = QSqlDatabase::database("auth");

    QSqlQuery query(authDB);

    query.prepare("SELECT id, password FROM account WHERE username = :login");
    query.bindValue(":login", login);
    query.exec();

    if (query.size() < 1) {
        qDebug() << socketDescriptor << " User not found!";
        return 0;    
    }

    query.next();

    QString realPass = query.value(1).toString();

    int     userID   = query.value(0).toInt();

    query.prepare("SELECT access_level FROM account_access WHERE id = :id");
    query.bindValue(":id", userID);
    query.exec();

    if (query.size() == 0) {
        user->accessLevel = 0;
    }
    else {
        query.next();
        int accessLevel = query.value(0).toInt();
        user->accessLevel = accessLevel;
    }

//    qDebug() << "query: " << query.value(0).toString() << " " << query.value(1).toString();
    if (realPass != encryptedPass)
        qDebug() << socketDescriptor << " Wrong password!";
    return 1;
}
void CSmtpAuthLoginMechanismHelper::ConstructL()
	{
	TInt len=(((iSettings.LoginName().Length()/3)+1)*4)+2; // length of LoginName in base 64 + 2 for CRLF
	iBase64LoginName=HBufC8::NewL(len);
	TPtr8 authString(iBase64LoginName->Des());
	iEncoder.Encode(iSettings.LoginName(),authString);
	authString.Append(KSmtpCrLf);
	len=(((iSettings.Password().Length()/3)+1)*4)+2; // length of Password in base 64 + 2 for CRLF
	iBase64Password=HBufC8::NewL(len);
	authString.Set(iBase64Password->Des());
	iEncoder.Encode(iSettings.Password(),authString);
	authString.Append(KSmtpCrLf);
	}
Exemplo n.º 4
0
CHXString HXCloakedV2TCPSocket::_GetProxyAuthString()
{
    IHXBuffer*   pBuffer       = NULL;
    CHXString    retStr        = "";
    CHXString    key           = "proxy-authentication.http:";
    IHXBuffer*   pHeaderBuffer = NULL;
    HX_RESULT    res           = HXR_OK;
    IHXRegistry* pRegistry     = NULL;
    CHXString    recentProxyAuth;
    
    res = m_pContext->QueryInterface(IID_IHXRegistry, (void**)&pRegistry);
    if( SUCCEEDED(res) )
    {
        res = pRegistry->GetStrByName("proxy-authentication.http.realm.recent", pHeaderBuffer);
        if (SUCCEEDED(res))
        {
            recentProxyAuth = CHXString((const char*)pHeaderBuffer->GetBuffer(),
                                        pHeaderBuffer->GetSize());
        }
        HX_RELEASE(pHeaderBuffer);

        key += m_pszProxyName;
        key += ":";
        key += recentProxyAuth;

        res = pRegistry->GetStrByName((const char*)key, pBuffer);
        if( SUCCEEDED(res) && pBuffer )
        {
            CHXString authString((const char*)pBuffer->GetBuffer(), pBuffer->GetSize());
            retStr = "Proxy-Authorization: ";
            retStr += authString;
        }
        HX_RELEASE(pBuffer);
    }
    HX_RELEASE(pRegistry);

    return retStr;
}