diff options
author | Matthias Schiffer <matthias@gamezock.de> | 2009-03-16 19:13:42 +0100 |
---|---|---|
committer | Matthias Schiffer <matthias@gamezock.de> | 2009-03-16 19:13:42 +0100 |
commit | 8f098fc3070f791302ec1f497588fab6ed409980 (patch) | |
tree | 6cff9f7bb973342344a22636a5d9ef26c7a0d940 /src/Common/Requests/GSSAPIAuthRequest.cpp | |
parent | aef0f2e7a5085b8da3aa2e97565215d182d3dd2d (diff) | |
download | mad-8f098fc3070f791302ec1f497588fab6ed409980.tar mad-8f098fc3070f791302ec1f497588fab6ed409980.zip |
Request- und RequestHandler-Interfaces vereinfacht
Diffstat (limited to 'src/Common/Requests/GSSAPIAuthRequest.cpp')
-rw-r--r-- | src/Common/Requests/GSSAPIAuthRequest.cpp | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/Common/Requests/GSSAPIAuthRequest.cpp b/src/Common/Requests/GSSAPIAuthRequest.cpp index 7f4617a..07e516f 100644 --- a/src/Common/Requests/GSSAPIAuthRequest.cpp +++ b/src/Common/Requests/GSSAPIAuthRequest.cpp @@ -19,7 +19,6 @@ #include "GSSAPIAuthRequest.h" #include "../Logger.h" -#include "../XmlPacket.h" #include <Net/Connection.h> #include <cstring> @@ -37,7 +36,7 @@ GSSAPIAuthRequest::~GSSAPIAuthRequest() { gss_release_name(&minStat, &gssServiceName); } -void GSSAPIAuthRequest::sendRequest(Net::Connection *connection, uint16_t requestId) { +void GSSAPIAuthRequest::sendRequest() { OM_uint32 majStat, minStat; gss_buffer_desc buffer; @@ -70,7 +69,7 @@ void GSSAPIAuthRequest::sendRequest(Net::Connection *connection, uint16_t reques ret.setType("AuthGSSAPI"); ret.addBinary("authToken", buffer.value, buffer.length); - if(!connection->send(ret.encode(requestId))) { + if(!sendPacket(ret)) { gss_release_buffer(&minStat, &buffer); return; } @@ -78,7 +77,7 @@ void GSSAPIAuthRequest::sendRequest(Net::Connection *connection, uint16_t reques gss_release_buffer(&minStat, &buffer); } -void GSSAPIAuthRequest::handlePacket(Net::Connection *connection, uint16_t requestId, const XmlPacket &packet) { +void GSSAPIAuthRequest::handlePacket(const XmlPacket &packet) { if(packet.getType() != "AuthGSSAPI") { finishWithError(Exception(Exception::UNEXPECTED_PACKET)); return; // TODO Logging @@ -114,7 +113,7 @@ void GSSAPIAuthRequest::handlePacket(Net::Connection *connection, uint16_t reque ret.setType("AuthGSSAPI"); ret.addBinary("authToken", sendBuffer.value, sendBuffer.length); - if(!connection->send(ret.encode(requestId))) { + if(!sendPacket(ret)) { gss_release_buffer(&minStat, &sendBuffer); return; } @@ -128,7 +127,7 @@ void GSSAPIAuthRequest::handlePacket(Net::Connection *connection, uint16_t reque recvBuffer.value = std::malloc(recvBuffer.length); std::memcpy(recvBuffer.value, pkgData, recvBuffer.length); - const gnutls_datum_t *cert = connection->getPeerCertificate(); + const gnutls_datum_t *cert = getConnection()->getPeerCertificate(); sendBuffer.length = cert->size; sendBuffer.value = cert->data; @@ -140,7 +139,7 @@ void GSSAPIAuthRequest::handlePacket(Net::Connection *connection, uint16_t reque if(majStat != GSS_S_COMPLETE) return; - connection->setAuthenticated(); + getConnection()->setAuthenticated(); Logger::log(Logger::VERBOSE, "Authentication complete."); majStat = gss_delete_sec_context(&minStat, &gssContext, &sendBuffer); @@ -154,7 +153,7 @@ void GSSAPIAuthRequest::handlePacket(Net::Connection *connection, uint16_t reque ret.setType("AuthGSSAPI"); ret.addBinary("authToken", sendBuffer.value, sendBuffer.length); - if(!connection->send(ret.encode(requestId))) { + if(!sendPacket(ret)) { gss_release_buffer(&minStat, &sendBuffer); return; } |