aboutsummaryrefslogtreecommitdiff
path: root/src/base/QXmppSocks.cpp
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2015-07-27 12:59:35 +0200
committerJeremy Lainé <jeremy.laine@m4x.org>2015-07-27 13:34:13 +0200
commit207f6697d512241af0fc145e590a234464acf723 (patch)
tree56505fcbdbe08bdc85e913e64d3209788e1e1a72 /src/base/QXmppSocks.cpp
parent908e14a6efe310bf6395ca1023a83a8695203557 (diff)
downloadqxmpp-207f6697d512241af0fc145e590a234464acf723.tar.gz
socks5: make server explicitly return "no acceptable method"
Diffstat (limited to 'src/base/QXmppSocks.cpp')
-rw-r--r--src/base/QXmppSocks.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/base/QXmppSocks.cpp b/src/base/QXmppSocks.cpp
index cd1e306b..905b7a1b 100644
--- a/src/base/QXmppSocks.cpp
+++ b/src/base/QXmppSocks.cpp
@@ -32,8 +32,7 @@ const static char SocksVersion = 5;
enum AuthenticationMethod {
NoAuthentication = 0,
- GSSAPI = 1,
- UsernamePassword = 2
+ NoAcceptableMethod = 255
};
enum Command {
@@ -274,6 +273,12 @@ void QXmppSocksServer::slotReadyRead()
if (!foundMethod)
{
qWarning("QXmppSocksServer received bad authentication method");
+
+ buffer.resize(2);
+ buffer[0] = SocksVersion;
+ buffer[1] = NoAcceptableMethod;
+ socket->write(buffer);
+
socket->close();
return;
}