[vino/gnome-3-8] Reject new clients if in the deferred state



commit 51435d3f946d6d2b99b876b7919b9d41022fc408
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]