From a75a576e138e75a522140bb6f2e7345cf8863b15 Mon Sep 17 00:00:00 2001 From: steven_carr Date: Mon, 5 Jun 2006 17:33:51 +0000 Subject: [PATCH] All security types for RFB >= 3.7 *have* to respond with a Security Result (Even rfbSecTypeNone) --- libvncserver/auth.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/libvncserver/auth.c b/libvncserver/auth.c index a1f75a0..45b3a8e 100755 --- a/libvncserver/auth.c +++ b/libvncserver/auth.c @@ -265,7 +265,8 @@ rfbProcessClientSecurityType(rfbClientPtr cl) int n; uint8_t chosenType; rfbSecurityHandler* handler; - + uint32_t authResult; + /* Read the security type. */ n = rfbReadExact(cl, (char *)&chosenType, 1); if (n <= 0) { @@ -281,6 +282,13 @@ rfbProcessClientSecurityType(rfbClientPtr cl) for (handler = securityHandlers; handler; handler = handler->next) { if (chosenType == handler->type) { if (chosenType == rfbSecTypeNone) { + authResult = Swap32IfLE(rfbVncAuthOK); + + if (rfbWriteExact(cl, (char *)&authResult, 4) < 0) { + rfbLogPerror("rfbAuthProcessClientMessage: write"); + rfbCloseClient(cl); + return; + } cl->state = RFB_INITIALISATION; return; } else {