[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 7/9] vnc: force initial resize message
From: |
Gerd Hoffmann |
Subject: |
Re: [PATCH 7/9] vnc: force initial resize message |
Date: |
Tue, 8 Dec 2020 07:57:40 +0100 |
On Fri, Dec 04, 2020 at 03:57:23PM +0400, Marc-André Lureau wrote:
> Hi
>
> On Thu, Dec 3, 2020 at 3:12 PM Gerd Hoffmann <kraxel@redhat.com> wrote:
>
> > The vnc server should send desktop resize notifications unconditionally
> > on a new client connect, for feature negotiation reasons. Add a bool
> > flag to vnc_desktop_resize() to force sending the message even in case
> > there is no size change.
> >
> > Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> >
>
> In principle, this looks harmless. But the spec says:
>
> "The server should only send a *DesktopSize* pseudo-rectangle when an
> actual change of the framebuffer dimensions has occurred. Some clients
> respond to a *DesktopSize* pseudo-rectangle in a way that could send the
> system into an infinite loop if the server sent out the pseudo-rectangle
> for anything other than an actual change."
> (
> https://github.com/rfbproto/rfbproto/blob/master/rfbproto.rst#server-semantics
> )
>
> I can't say if sending desktop resize during the initial SetEncoding phase
> is really compliant with the specification. Also, it's unclear to me if the
> client is allowed to SetEncoding multiple times (in which there would be no
> dimension change occurring).
>
> What did you fix with this? Is it worth a clarification in the
> specification?
Well, for ExtendedDesktopResize the spec explicitly asked for this.
But, yes, for DesktopResize this is not needed. But it also shouldn't
cause much trouble. It is sent before any actual display updates, so
concerns whenever the client should consider the screen content invalid
or not are moot.
I could squash this into patch #8 and do it for ExtendedDesktopResize
only ...
take care,
Gerd
- [PATCH 4/9] vnc: drop unused copyrect feature, (continued)
- [PATCH 4/9] vnc: drop unused copyrect feature, Gerd Hoffmann, 2020/12/03
- [PATCH 9/9] qxl: add ui_info callback, Gerd Hoffmann, 2020/12/03
- [PATCH 1/9] console: allow con==NULL in dpy_set_ui_info, Gerd Hoffmann, 2020/12/03
- [PATCH 7/9] vnc: force initial resize message, Gerd Hoffmann, 2020/12/03
- [PATCH 5/9] vnc: add pseudo encodings, Gerd Hoffmann, 2020/12/03
- [PATCH 3/9] vnc: use enum for features, Gerd Hoffmann, 2020/12/03
- [PATCH 8/9] vnc: add support for extended desktop resize, Gerd Hoffmann, 2020/12/03