[vino] Reject new clients if in the deferred state



commit 860337231eaccfeed4f857afd0579546a260c23f
Author: David King <dking redhat com>
Date:   Wed Sep 11 16:08:47 2013 +0100

    Reject new clients if in the deferred state
    
    As mentioned in bug 641811, Vino can get stuck trying to process the
    same data in an infinite loop if an authentication request is received
    from a client while that client is in the deferred state.
    
    Avoid this situation by closing new connections from the same client
    when it is in the deferred state.

 server/libvncserver/rfbserver.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
---
diff --git a/server/libvncserver/rfbserver.c b/server/libvncserver/rfbserver.c
index 7dfbff9..1295219 100644
--- a/server/libvncserver/rfbserver.c
+++ b/server/libvncserver/rfbserver.c
@@ -387,7 +387,8 @@ rfbProcessClientMessage(rfbClientPtr cl)
         rfbAuthProcessClientMessage(cl);
         return;
     case RFB_AUTH_DEFERRED:
-       rfbLog("Authentication deferred - ignoring client message\n");
+       rfbLog("Authentication deferred for this client - closing connection\n");
+       rfbCloseClient(cl);
        return;
     case RFB_INITIALISATION:
         rfbProcessClientInitMessage(cl);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]