diff options
Diffstat (limited to 'client/SslClient.cpp')
-rw-r--r-- | client/SslClient.cpp | 44 |
1 files changed, 15 insertions, 29 deletions
diff --git a/client/SslClient.cpp b/client/SslClient.cpp index 085cb16..729daaa 100644 --- a/client/SslClient.cpp +++ b/client/SslClient.cpp @@ -5,15 +5,10 @@ SslClient::SslClient(): port(13666) { - SslClient((char*)"127.0.0.1"); + SslClient(QString("127.0.0.1")); } -SslClient::SslClient(string &addr): port(13666) -{ - SslClient((char*)addr.c_str()); -} - -SslClient::SslClient(char* addr): port(13666) +SslClient::SslClient(QString addr): port(13666) { server = addr; @@ -21,22 +16,22 @@ SslClient::SslClient(char* addr): port(13666) QFile ca_cert_file(":/ca.crt"); ca_cert_file.open(QIODevice::ReadOnly); QByteArray ca_cert_arr = ca_cert_file.readAll(); - ca_cert_file.close(); QSslCertificate ca_cert(ca_cert_arr); QList<QSslCertificate> ca_certs; ca_certs.push_back(ca_cert); + ca_cert_file.close(); QFile key_file(":/client.key"); key_file.open(QIODevice::ReadOnly); QByteArray key_arr = key_file.readAll(); - key_file.close(); QSslKey key(key_arr, QSsl::Rsa); + key_file.close(); QFile cert_file(":/client.crt"); cert_file.open(QIODevice::ReadOnly); QByteArray cert_arr = cert_file.readAll(); - cert_file.close(); QSslCertificate cert(cert_arr); + cert_file.close(); /* create ssl socket */ //sslSocket = new QSslSocket; @@ -45,18 +40,6 @@ SslClient::SslClient(char* addr): port(13666) sslSocket.setCaCertificates(ca_certs); sslSocket.setPeerVerifyMode(QSslSocket::VerifyPeer); sslSocket.setProtocol(QSsl::SslV3); -#ifdef DEBUG - Logger::Trace("We have following ca certs:\n"); - for(QList<QSslCertificate>::iterator it = sslSocket.caCertificates().begin(), end = sslSocket.caCertificates().begin(); it != end; ++it) - { - Logger::Trace(it->toPem().data()); - Logger::Trace("\n"); - } - Logger::Trace("We have following local cert:\n"); - Logger::Trace(sslSocket.localCertificate().toPem().data()); - Logger::Trace("\n"); - -#endif /* setup signal handlers */ connect(&sslSocket, SIGNAL(encrypted()), @@ -73,7 +56,7 @@ SslClient::SslClient(char* addr): port(13666) this, SLOT(SslErrors(const QList<QSslError> &))); } -void SslClient::SetServerAddr(char* addr) +void SslClient::SetServerAddr(QString addr) { server = addr; } @@ -82,7 +65,10 @@ void SslClient::SendRequest(RequestType type) { Logger::Trace("Sending request w code %x\n", type); if (sslSocket.state() != QAbstractSocket::ConnectedState) - sslSocket.connectToHostEncrypted(server, port); + { + Logger::Trace("Connecting to server %s:%u\n", server.toLocal8Bit().data(), port); + sslSocket.connectToHostEncrypted(server, port); + } unsigned char rcode = 0x00; switch (type) @@ -94,7 +80,7 @@ void SslClient::SendRequest(RequestType type) rcode = type; break; default: - Logger::Error("Invalid server request type"); + Logger::Error("Invalid server request type\n"); break; } @@ -129,7 +115,7 @@ void SslClient::DataRecieved() if ((h1 != 0x13) || (h2 != 0x13) || (t1 != 0x14) || (t2 != 0x14)) { - Logger::Error("Invalid data packet recieved!"); + Logger::Error("Invalid data packet recieved!\n"); return; } @@ -221,7 +207,7 @@ void SslClient::Error(QAbstractSocket::SocketError e) desc = "Unknown error"; } - Logger::Fatal(QString("Socket error! (" + desc + ")").toStdString()); + Logger::Fatal("Socket error! ( %s)\n", desc.toLocal8Bit().data()); } void SslClient::PeerVerifyError(const QSslError &error) @@ -238,7 +224,7 @@ void SslClient::PeerVerifyError(const QSslError &error) sslSocket.abort(); break; default: - Logger::Fatal("Can't verify peer: %s", error.errorString().toStdString().c_str()); + Logger::Fatal("Can't verify peer: %s\n", error.errorString().toStdString().c_str()); break; } } @@ -249,7 +235,7 @@ void SslClient::SslErrors(const QList<QSslError> &errors) { for (int i = 0; i < errors.size(); i++) { - Logger::Fatal("%s", errors[i].errorString().toStdString().c_str()); + Logger::Fatal("%s\n", errors[i].errorString().toStdString().c_str()); } } } |