Unknown VNC authentication result - BUG! Reason found!

Bernd.Mueller@swr.de Bernd.Mueller "at" swr.de
Wed May 26 16:09:00 2004


After the detection (with ethereal) of the troubling 0x02-byte while the
authentication procedure, I had a closer look at the RFB protocol.
 (I should have looked there much earIyer!)
 In the documentation of the server to client messages the disturbing one
 byte-message was shortly discribed as BELL!

 Now the reason of the "Unknown VNC authentication result" -error  is
 obvious:
 At my linux vncserver I wrote a simple application (surveying the server
 logfile) that launches a Xdisplay process with a bell (!), everytime the
 server is connected.

 So when the bell message was send during the authentication procedure,
 while the client was wating for the authentication result, teh client read
 the bell message as first byte (0x02) and the rest three bytes (0x000000)
 from of the correct authentication result so that the result was
 interpreted as 0x02000000 (dec. 33554432 ).
 If there were further bell messages during the authentication procedure,
 the return value varied like dercribed in my posts before.

 I think this effect is only at the unix-server (Xserver).
 I wrote a very simple test program to make the error obvious (bell.c):

#include <stdlib.h>
#include <stdio.h>

void main(){
        while (1){
        fprintf(stdout,"\a--bell--\n");
        fflush(stdout);
        sleep(1);
        }
}

 If you compile this program (eg "cc bell.c -o bell") and execute it in a
 xterm of the Xvnc-Screen and disconnect,
 you should have problems to reconnect with report of the "Unknown VNC
 authentication result"

 So the bug will be simply fixed: the server messages to the new client
 must be suppressed until the authentication result aof the server was
 sent.

 In my application of the vncserver there is a process with a alarm bell.
 It would be nice if the bug is fixed soon.
 So long  I have to quiet my bells on the server (hi!)

 Bernd M|ller *:o)