summaryrefslogtreecommitdiffstats
path: root/src/Common/Requests/GSSAPIAuthRequest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Common/Requests/GSSAPIAuthRequest.cpp')
-rw-r--r--src/Common/Requests/GSSAPIAuthRequest.cpp15
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;
}