diff options
Diffstat (limited to 'Swiften/SASL')
| -rw-r--r-- | Swiften/SASL/WindowsGSSAPIClientAuthenticator.cpp | 5 | ||||
| -rw-r--r-- | Swiften/SASL/WindowsGSSAPIClientAuthenticator.h | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/Swiften/SASL/WindowsGSSAPIClientAuthenticator.cpp b/Swiften/SASL/WindowsGSSAPIClientAuthenticator.cpp index 7423243..f602bff 100644 --- a/Swiften/SASL/WindowsGSSAPIClientAuthenticator.cpp +++ b/Swiften/SASL/WindowsGSSAPIClientAuthenticator.cpp | |||
| @@ -12,13 +12,16 @@ | |||
| 12 | 12 | ||
| 13 | #define SECURITY_LAYER_NONE 1 | 13 | #define SECURITY_LAYER_NONE 1 |
| 14 | 14 | ||
| 15 | namespace Swift { | 15 | namespace Swift { |
| 16 | 16 | ||
| 17 | WindowsGSSAPIClientAuthenticator::WindowsGSSAPIClientAuthenticator(const std::string& hostname, const std::string& domainname) : ClientAuthenticator("GSSAPI"), step_(BuildingSecurityContext), error_(false), haveCredentialsHandle_(false), haveContextHandle_(false), haveCompleteContext_(false) { | 17 | WindowsGSSAPIClientAuthenticator::WindowsGSSAPIClientAuthenticator(const std::string& hostname, const std::string& domainname, int port) : ClientAuthenticator("GSSAPI"), step_(BuildingSecurityContext), error_(false), haveCredentialsHandle_(false), haveContextHandle_(false), haveCompleteContext_(false) { |
| 18 | WindowsServicePrincipalName servicePrincipalName(domainname); | 18 | WindowsServicePrincipalName servicePrincipalName(domainname); |
| 19 | servicePrincipalName.setInstanceName(hostname); | 19 | servicePrincipalName.setInstanceName(hostname); |
| 20 | if ((port != -1) && (port != 5222)) { | ||
| 21 | servicePrincipalName.setInstancePort(port); | ||
| 22 | } | ||
| 20 | servicePrincipalNameString_ = servicePrincipalName.toString(); | 23 | servicePrincipalNameString_ = servicePrincipalName.toString(); |
| 21 | 24 | ||
| 22 | errorCode_ = acquireCredentialsHandle(&credentialsHandle_); | 25 | errorCode_ = acquireCredentialsHandle(&credentialsHandle_); |
| 23 | if (isError()) { | 26 | if (isError()) { |
| 24 | return; | 27 | return; |
diff --git a/Swiften/SASL/WindowsGSSAPIClientAuthenticator.h b/Swiften/SASL/WindowsGSSAPIClientAuthenticator.h index d046999..f772b71 100644 --- a/Swiften/SASL/WindowsGSSAPIClientAuthenticator.h +++ b/Swiften/SASL/WindowsGSSAPIClientAuthenticator.h | |||
| @@ -18,11 +18,11 @@ | |||
| 18 | #include <Swiften/SASL/ClientAuthenticator.h> | 18 | #include <Swiften/SASL/ClientAuthenticator.h> |
| 19 | 19 | ||
| 20 | namespace Swift { | 20 | namespace Swift { |
| 21 | class SWIFTEN_API WindowsGSSAPIClientAuthenticator : public ClientAuthenticator { | 21 | class SWIFTEN_API WindowsGSSAPIClientAuthenticator : public ClientAuthenticator { |
| 22 | public: | 22 | public: |
| 23 | WindowsGSSAPIClientAuthenticator(const std::string& hostname, const std::string& domainname); | 23 | WindowsGSSAPIClientAuthenticator(const std::string& hostname, const std::string& domainname, int port); |
| 24 | 24 | ||
| 25 | ~WindowsGSSAPIClientAuthenticator(); | 25 | ~WindowsGSSAPIClientAuthenticator(); |
| 26 | 26 | ||
| 27 | virtual boost::optional<SafeByteArray> getResponse() const; | 27 | virtual boost::optional<SafeByteArray> getResponse() const; |
| 28 | virtual bool setChallenge(const boost::optional<std::vector<unsigned char> >&); | 28 | virtual bool setChallenge(const boost::optional<std::vector<unsigned char> >&); |
Swift