Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

vnclog crashes log if upstream server require password #272

Open
yonixw opened this issue Oct 3, 2023 · 0 comments
Open

vnclog crashes log if upstream server require password #272

yonixw opened this issue Oct 3, 2023 · 0 comments
Labels

Comments

@yonixw
Copy link

yonixw commented Oct 3, 2023

Please include the following information:

vncdotool version

  • vncdo 1.1.0 installed with:
  • Python 3.10.6

VNC server and version
TightVNC - 2.8.81 (windows) (link)

But also on these old ones:

  • x11vnc: 0.9.16 lastmod: 2019-01-05 (linux/docker) (link)
  • Xvnc TigerVNC 1.7.0 - built Dec 5 2017 09:25:01 (linux/docker)

Steps to reproduce

  • vnclog -v -v -v -v -s 127.0.0.1::5900 --listen 6000 --forever record-vnc
  • Try to connect to the port of vnclog (6000) when the upstream vnc server (5900) is password protected
    • vncdo --server 127.0.0.1::6000 type 1

GIF:
ezgif com-gif-maker

Expected result

vnclog to save recorded actions to file.

Which erroneous result did you get instead

INFO:vncdotool.loggingproxy:new connection from 127.0.0.1
INFO:twisted:Starting factory <vncdotool.loggingproxy.VNCLoggingClientFactory object at 0x00000149507C0250>
DEBUG:vncdotool.loggingproxy:Client selected <AuthTypes.VNC_AUTHENTICATION: 2>
DEBUG:vncdotool.loggingproxy:Client shares: 93
DEBUG:vncdotool.loggingproxy:Unhandled response '<MsgC2S.UNKNOWN: ce>'
Unhandled Error
Traceback (most recent call last):
  File "C:\Python310\lib\site-packages\twisted\python\log.py", line 96, in callWithLogger
    return callWithContext({"system": lp}, func, *args, **kw)
  File "C:\Python310\lib\site-packages\twisted\python\log.py", line 80, in callWithContext
    return context.call({ILogContext: newCtx}, func, *args, **kw)
  File "C:\Python310\lib\site-packages\twisted\python\context.py", line 117, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "C:\Python310\lib\site-packages\twisted\python\context.py", line 82, in callWithContext
    return func(*args, **kw)
--- <exception caught here> ---
  File "C:\Python310\lib\site-packages\twisted\internet\selectreactor.py", line 148, in _doReadOrWrite
    why = getattr(selectable, method)()
  File "C:\Python310\lib\site-packages\twisted\internet\tcp.py", line 248, in doRead
    return self._dataReceived(data)
  File "C:\Python310\lib\site-packages\twisted\internet\tcp.py", line 253, in _dataReceived
    rval = self.protocol.dataReceived(data)
  File "C:\Python310\lib\site-packages\vncdotool\loggingproxy.py", line 282, in dataReceived
    RFBServer.dataReceived(self, data)
  File "C:\Python310\lib\site-packages\vncdotool\loggingproxy.py", line 92, in dataReceived
    self._handler[0]()
  File "C:\Python310\lib\site-packages\vncdotool\loggingproxy.py", line 169, in _handle_protocol
    raise ProtocolError(ptype)
vncdotool.loggingproxy.ProtocolError: 206

CRITICAL:twisted:Unhandled Error
Traceback (most recent call last):
  File "C:\Python310\lib\site-packages\twisted\python\log.py", line 96, in callWithLogger
    return callWithContext({"system": lp}, func, *args, **kw)
  File "C:\Python310\lib\site-packages\twisted\python\log.py", line 80, in callWithContext
    return context.call({ILogContext: newCtx}, func, *args, **kw)
  File "C:\Python310\lib\site-packages\twisted\python\context.py", line 117, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "C:\Python310\lib\site-packages\twisted\python\context.py", line 82, in callWithContext
    return func(*args, **kw)
--- <exception caught here> ---
  File "C:\Python310\lib\site-packages\twisted\internet\selectreactor.py", line 148, in _doReadOrWrite
    why = getattr(selectable, method)()
  File "C:\Python310\lib\site-packages\twisted\internet\tcp.py", line 248, in doRead
    return self._dataReceived(data)
  File "C:\Python310\lib\site-packages\twisted\internet\tcp.py", line 253, in _dataReceived
    rval = self.protocol.dataReceived(data)
  File "C:\Python310\lib\site-packages\vncdotool\loggingproxy.py", line 282, in dataReceived
    RFBServer.dataReceived(self, data)
  File "C:\Python310\lib\site-packages\vncdotool\loggingproxy.py", line 92, in dataReceived
    self._handler[0]()
  File "C:\Python310\lib\site-packages\vncdotool\loggingproxy.py", line 169, in _handle_protocol
    raise ProtocolError(ptype)
vncdotool.loggingproxy.ProtocolError: 206

Additional information

  • Disabling password seem to solve the issue.

  • In vncdotool.loggingproxy.ProtocolError: 206, the 206 code is different based on the server I used, and seemed random in general...

  • Took me a while to figure out it was to due with the password. And that is why I tried so many versions, because I thought the protocol error comes from a specific version of my vnc server that is the issue.

@pmhahn pmhahn added the bug label Nov 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants