Hi On Tue, Dec 8, 2020 at 10:57 AM Gerd Hoffmann <kra...@redhat.com> wrote:
> 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 <kra...@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 <kra...@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 ... > Ok, it's probably fine (dunno), you could also capture that in the commit message, or as code comment. -- Marc-André Lureau