Re: Disconnect when switching users XP

2011-03-16 Thread Peter Rosin
Den 2011-03-15 17:48 skrev Long, Phillip GOSS:
 Dale:
 
 We use UltraVNC on our Windows machines, and it's free as far as I 
 know (I'm not involved in licensing and that kind of noise).  I 
 have had better luck with the UVNC server than with the Real one, 
 but the vncviewer works about the same.  RealVNC maintains the 
 protocol, and when UVNC, TightVNC, etc., want to create some new 
 kind of packet, they apply to RealVNC for a number, and AFAIK, 
 RealVNC gladly hands it out.  I'm guessing that UVNC was written 
 by guys more familiar with MSWindows (only because it's not on 
 other platforms, not because of code quality; I haven't really 
 compared the codebases).  I think the protocol is designed so that 
 unknown packet types are ignore/dropped, so that a viewer and a 
 server can always talk to one another, provided that they're both 
 using the same *version* of the protocol.  That's the beauty of 
 RealVNC maintaining the protocol for everybody; all the various 
 flavors can all talk with one another (again, if they use the 
 same version).  If U're having trouble with a viewer and a server 
 from different packages not communicating, it could be because 
 they're not both using the same version of the protocol.

But UltraVNC is not conforming to the protocol. The UltraVNC client
has a chance to work with all other *current* RFB conforming servers,
but a client that is strictly conforming to the RFB protocol cannot
communicate with the UltraVNC server.

UltraVNC extended the protocol without coordinating with the RealVNC
protocol maintainers, and as a result everybody else must select
if they should have warts in the code that is outside the specs (and
a possible broken implementation should RealVNC decide to use the
mechanism used by UltraVNC for something of their liking) or drop
support for communicating with the UltraVNC server outright.

UltraVNC is in the embrace-and-extend camp and is a nasty piece of
work if you ask me.  Sure, other implementations also extend the
RFB protocol, but most do it without sacrificing interoperability.
Or, at least they try to.

Caveat emptor: This was the situation last time I had a look, but
I doubt it has changed since.

Cheers,
Peter

___
VNC-List mailing list
VNC-List@realvnc.com
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list


Re: 3.8 Specification Palette color ambiguity

2009-09-25 Thread Peter Rosin
Den 2009-09-24 18:29 skrev Jon Watte:
 Peter Rosin wrote:
 Den 2009-09-24 01:41 skrev Jon Watte:
 In SetColourMapEntries, are the color values high-justified (most
 significant bits) or left-justified (least significant bits -- if so,
 how many?)

 Huh? All 16 bits are significant.
 
 Which means high-justified.

And low-justified. And centered. *All* bits are significant. You should
think about why you are not arguing for similar language for e.g.
red-max in PIXEL_FORMAT?

 Thanks for the answer!

You're welcome!

Cheers,
Peter


___
VNC-List mailing list
VNC-List@realvnc.com
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list


Re: 3.8 Specification Palette color ambiguity

2009-09-24 Thread Peter Rosin
Den 2009-09-24 01:41 skrev Jon Watte:
 In SetColourMapEntries, are the color values high-justified (most
 significant bits) or left-justified (least significant bits -- if so,
 how many?)
 
 My guess is high-justified, but the spec leaves this up to the
 imagination, so I thought I'd check to make sure.
 
 Sincerely,

Huh? All 16 bits are significant. If you want to insert something
with fewer bits (as a server), I suggest you duplicate your bits until
all the bits are filled. E.g. if you have a 5-bit intensity 01001b, I
suggest that you send 01001 01001 01001 0b, or 0x4a52. If you only need
less (as a client), I suggest you grab the most significant bits.

Cheers,
Peter

___
VNC-List mailing list
VNC-List@realvnc.com
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list


Re: Negotiating server screen size

2009-09-15 Thread Peter Rosin
Den 2009-09-14 21:37 skrev Christophe Lohr:
 So, I wonder if a protocol extension could be interesting. Isn't it?

Look here:
http://www.tigervnc.org/cgi-bin/rfbproto

And search for ExtendedDesktopSize. I don't know what implementations
support that extension though...

Cheers,
Peter

___
VNC-List mailing list
VNC-List@realvnc.com
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list


Re: VNC multihead and size change extension

2009-03-16 Thread Peter Rosin

Den 2009-03-13 13:01 skrev Pierre Ossman:

Hi,

We've been working on client initiated screen size changes and need to
extend the protocol to do that.

In order to minimise the number of extensions, we'd also like to
accommodate multi-head configurations with this new protocol.

So we'd like your feedback on the protocol, and allocation of one new
client to server message and one pseudo encoding.


Hi Pierre!

There is also the WMVi pseudo-encoding (0x574d5669, or WMVi in FourCC)
to consider. A problem with this new proposal is that *both* WMVi and
this multihead scheme are better than the DesktopSize pseudo-encoding.
But the multihead scheme doesn't do the stuff that WMVi does (i.e.
handle server side pixel format changes). I fear that appempts to
implement support for both WMVi and this proposal will lead to undesired
complexity.

So, I'm asking for a way to incorporate server side pixel format changes
in this proposal so that it can superseed both WMVi and DesktopSize.

That said, there is one thing that I don't like about WMVi, and that is
the fact that the server changes the wire pixel format without a chance
for the client to say no. I would not mind at all if that was revised,
should a pixel format changes be added to this proposal, so that the
server instead simply informed that its preferred pixel format has
changed. The client would then be in full control of what pixel formats
it needs to support, and my feeling is that this is more in line with
the spirit of the RFB protocol.

Even if it wouldn't add needless complexity if the server were to send
a WMVi rect for some changes and a ExDesktopSize rect for some other
changes and perhaps two rects for some classes of changes, I still think
there is value in an advisory notification that the server has changed
its preferred pixel format, and this seems like a good opportunity to
sneak that into the RFB protocol ;-)

Here's a description of WMVi:
http://wiki.multimedia.cx/index.php?title=VMware_Video



And lastly, some comments on details in the proposal:

There is no way for the server to tell a client how it can change its
SetDesktopSize message so that it gets something that is ok for the
server. If e.g. the server has some resource limit that prevents it from
making framebuffers wider than 2048 pixels (just an example, the example
has no bearing on any particular HW), then the server has no way to
indicate to the client that it must keep below that limit. One way to
solve that would be for the server to fill in the ExtendedDesktopSize
rect with values that may work better when y-position is non-zero,
instead of simply echoing the current state (which the client should
already know). But perhaps that would be too complex. My main point is
that it's very limitied to only have 16 bits (the y-position) to
describe a problem. Perhaps an error string?

The x position of the pseudo-rect indicates the reason for the change,
and an ExtendedDesktopSize pseudo-rect should also be sent in response
to non-incremental FrameBufferUpdateRequests. I'm missing non-i FBUR
as a reason in the enumeration (even if that isn't a /change/ as such).

Cheers,
Peter
___
VNC-List mailing list
VNC-List@realvnc.com
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list


Re: VNC multihead and size change extension

2009-03-16 Thread Peter Rosin

Den 2009-03-16 11:45 skrev Pierre Ossman:

On Mon, 16 Mar 2009 10:44:07 +0100
Peter Rosin wrote:


Hi Pierre!

There is also the WMVi pseudo-encoding (0x574d5669, or WMVi in FourCC)
to consider. A problem with this new proposal is that *both* WMVi and
this multihead scheme are better than the DesktopSize pseudo-encoding.
But the multihead scheme doesn't do the stuff that WMVi does (i.e.
handle server side pixel format changes). I fear that appempts to
implement support for both WMVi and this proposal will lead to undesired
complexity.

So, I'm asking for a way to incorporate server side pixel format changes
in this proposal so that it can superseed both WMVi and DesktopSize.



I don't see a huge gain from including it into these message. We could
just as well implement the server pixel format hint as another
pseudoencoding. Since it is a strict server-to-client communication, we
don't need to think about allocations in the more limited command space.


That said, there is one thing that I don't like about WMVi, and that is
the fact that the server changes the wire pixel format without a chance
for the client to say no. I would not mind at all if that was revised,
should a pixel format changes be added to this proposal, so that the
server instead simply informed that its preferred pixel format has
changed. The client would then be in full control of what pixel formats
it needs to support, and my feeling is that this is more in line with
the spirit of the RFB protocol.


That would be very against the RFB mentality, yes. But the wiki entry
you pointed to suggests that these encodings are just used for
offline rendering. At that point there is no possibility for the
server to adjust to the client's need, so you have to mandate that the
client will use the server's native format.


WMVi is implemented by QEMU, gtk-vnc, ggivnc and more, so it's certainly
not just offline rendering. I don't know why QEMU selected WMVi for
adding pixfmt notifications, but they did. If you want to get full
use out of QEMU you need to implement WMVi.


Even if it wouldn't add needless complexity if the server were to send
a WMVi rect for some changes and a ExDesktopSize rect for some other
changes and perhaps two rects for some classes of changes, I still think
there is value in an advisory notification that the server has changed
its preferred pixel format, and this seems like a good opportunity to
sneak that into the RFB protocol ;-)


I agree that such a hint could be useful. I'm not convinced it needs to
be included in these messages. Besides, a server and client should
implement support for all variants anyway to give good backwards
compatibility.


I only suggested it since WMVi is in-use already, and having one superior
way to handle desktop changes is always going to be easiest, then the other
methods become legacy. You can also focus on implementing each of them
separately, and not on how they interact with each other. Sure, for
ultimate support, a client *should* handle a server switching between
DesktopSize and ExtendedDesktopSize, but both you and I know that
a server which has a client supporting both is very unlikely to switch
between them. It will go with ExtendedDesktopSize and be done with it.
But if the server also sees WMVi support there are more than one way to
send changes (WMVi first or WMVi last), and it then becomes harder to
verify that a client behaves correctly in all cases, since the server you
have available might not behave similar to the one next door and which you
have not tested against. Adding pixel format change support in the
ExtendedDesktopSize will end all that - there will be a simple path and
all sane servers will follow it. Less headaches for everybody.


And lastly, some comments on details in the proposal:

There is no way for the server to tell a client how it can change its
SetDesktopSize message so that it gets something that is ok for the
server. If e.g. the server has some resource limit that prevents it from
making framebuffers wider than 2048 pixels (just an example, the example
has no bearing on any particular HW), then the server has no way to
indicate to the client that it must keep below that limit. One way to
solve that would be for the server to fill in the ExtendedDesktopSize
rect with values that may work better when y-position is non-zero,
instead of simply echoing the current state (which the client should
already know). But perhaps that would be too complex. My main point is
that it's very limitied to only have 16 bits (the y-position) to
describe a problem. Perhaps an error string?


Strings are not machine parsable, nor translatable (unless you mandate
exactly what they should say, at which point you might as well use a
code for them).


And yet the protocol is already full of strings, so you have to deal with
that already. But if you dislike strings so much, what was wrong with the
machine readable proposal? Just because the server has a way to report
back something

Re: VNC multihead and size change extension

2009-03-16 Thread Peter Rosin

Den 2009-03-16 15:00 skrev Pierre Ossman:

On Mon, 16 Mar 2009 13:29:38 +0100
Peter Rosin wrote:


Den 2009-03-16 11:45 skrev Pierre Ossman:

That would be very against the RFB mentality, yes. But the wiki entry
you pointed to suggests that these encodings are just used for
offline rendering. At that point there is no possibility for the
server to adjust to the client's need, so you have to mandate that the
client will use the server's native format.

WMVi is implemented by QEMU, gtk-vnc, ggivnc and more, so it's certainly
not just offline rendering. I don't know why QEMU selected WMVi for
adding pixfmt notifications, but they did. If you want to get full
use out of QEMU you need to implement WMVi.



Annoying. Do they also rely on putting the conversion requirements on
the client?


Yes. If a client claims support for WMVi, it has to support all pixfmts
(or disconnect on reception of something unlikeable).


I agree that such a hint could be useful. I'm not convinced it needs to
be included in these messages. Besides, a server and client should
implement support for all variants anyway to give good backwards
compatibility.

I only suggested it since WMVi is in-use already, and having one superior
way to handle desktop changes is always going to be easiest, then the other
methods become legacy. You can also focus on implementing each of them
separately, and not on how they interact with each other. Sure, for
ultimate support, a client *should* handle a server switching between
DesktopSize and ExtendedDesktopSize, but both you and I know that
a server which has a client supporting both is very unlikely to switch
between them. It will go with ExtendedDesktopSize and be done with it.
But if the server also sees WMVi support there are more than one way to
send changes (WMVi first or WMVi last), and it then becomes harder to
verify that a client behaves correctly in all cases, since the server you
have available might not behave similar to the one next door and which you
have not tested against. Adding pixel format change support in the
ExtendedDesktopSize will end all that - there will be a simple path and
all sane servers will follow it. Less headaches for everybody.



I'm not sure I see the complexity. If a server wants to support all
three methods, it can send all three rects. The only requirement that
must hold is that the information in the different versions do not
conflict.

Admitted, having WMVi for just sending hints about the server's native
pixel format can be a bit heavy. But I think it would be better
replaced by a pseudoencoding that does only just that. Including that
information here just makes the screen geometry handling seem more
complex.

(In a perfect world I'd have framebuffer size and virtual screen setup
be completely separate as well, but that would mean that we would need
two client-to-server commands and that would be wasteful given the
limited space of command codes.)


Ok, you clearly don't want pixfmt mixed into this, so I'm dropping that
ball on the floor.


Strings are not machine parsable, nor translatable (unless you mandate
exactly what they should say, at which point you might as well use a
code for them).

And yet the protocol is already full of strings, so you have to deal with
that already.


It's just the authentication as far as I can see. And that something in
the existing protocol is bad is hardly an argument for making additions
equally bad.


Ok.


But if you dislike strings so much, what was wrong with the
machine readable proposal? Just because the server has a way to report
back something that should work doesn't mean it has to do much work to
do so, a lazy server-side implementation can send back the currently
active config and be done with it.


The idea isn't fundamentally bad, it's just that describing
restrictions is a can of worms and I don't think its a good idea to add
features that you don't have a plan as to how they should be used.


When it comes to this specific problem, the current protocol suggestion
should already handle it:

The x-min, y-min, x-max, and y-max indicates server imposed limits of
the framebuffer. The client can use this information to indicate to
the user when resizing (using SetDesktopSize) is possible.

Ah, right. Bad example... So, take some other example: there is some limit
(for whatever stupid reason) on the server so that it supports maximum
17 screens. Or it might not support overlapping screens. Or all screens
have to be the same size. Use your imagination...


Indeed, but describing such limitations can be very difficult. How do
you describe the non-overlapping requirement for example?

I don't see the method of requesting one thing and potentially getting
something completely different back as a decent solution. In most cases
it will just be plain confusing.

Could you describe how the client could suitably react to such a
response?


I wasn't proposing that the exact restrictions were described. I didn't
propose

Re: VNC multihead and size change extension

2009-03-16 Thread Peter Rosin

Den 2009-03-16 18:15 skrev Pierre Ossman:

On Mon, 16 Mar 2009 16:54:20 +0100
Peter Rosin wrote:


Den 2009-03-16 15:00 skrev Pierre Ossman:

Annoying. Do they also rely on putting the conversion requirements on
the client?

Yes. If a client claims support for WMVi, it has to support all pixfmts
(or disconnect on reception of something unlikeable).



But what if the client doesn't claim to support it? Seems like they
have to implement format conversion in the server anyway.


Oh yes, they do it in the server too. One reason to go with WMVi might
be that the server doesn't need to do a lot of conversions during a
pixfmt change as all clients are forced to follow the server
preference. But I also think you could have evaded that with a single
rect update that only specifies a new pixfmt preference, instead
of an update starting with a WMVi rect and then a full update in the
new pixfmt following. The client would then get a chance to change
pixfmt without the server doing any conversions. And the clients could
be kept simpler.

As is, I think QEMU simply disconnects clients that does not support
WMVi, should its preferred pixfmt change. But a client can still request
whatever pixfmt it wants, it's just when the preferred pixfmt changes
that the server disconnects all non-WMVi clients. But that is from memory
and it might also have changed since I looked?


Indeed, but describing such limitations can be very difficult. How do
you describe the non-overlapping requirement for example?

I don't see the method of requesting one thing and potentially getting
something completely different back as a decent solution. In most cases
it will just be plain confusing.

Could you describe how the client could suitably react to such a
response?

I wasn't proposing that the exact restrictions were described. I didn't
propose that the server response would actually be used, it would just
be a hint so that the client would have at least some request that worked.
But the client would probably need to adjust the server reply further.

An example (using monospace font):

Server has two screens 1024x768, side-by-side, fb-size 2048x768.
-
| | |
| | |
| | |
-
Client the asks for the initial two screens, plus a third screen 800x600
which is halfway overlapping the rightmost screen, fb-size 2448x768.
-
| | |   |   |
| | |   |   |
| | |
-
Server says no (since it can't handle overlapping screens) and informs
the client that it could change its request to not have any overlaps,
i.e. make the third screen only 400x600, fb-size still 2448x768.
-
| | |   |
| | |   |
| | |
-
The client can then do what it wants with that info. If it takes it, it
could render on only half its third screen.



Or the server might decide to move the overlapping screen to the right
instead. And since it has no idea what the client's restrictions are,
the client might need to readjust what the server wants. And then
things quickly spiral out of control. :)


But if the server suggests that, its suggestion isn't smaller than the
client request *in all aspects*.

But yes, there could potentially be many roundtrips and still no working
end result. But that is equally true if the server is only saying no.


A mechanism that allows the client to handle server side limitations
would be fantastic. But the only solutions I see either cannot describe
all the possible limitations, or start to cross over into the whole
implementation defined neck of the woods. And implementation
defined is the greater evil IMO, so I've opted for an incomplete, but
common set of restrictions.

We might want more/other fields than what I've proposed, but the whole
throw stuff at the server and see what comes back approach does not
give me a good feeling.


Ok, you don't like it. I was only a suggestion that popped up in my head.


Since it is nearly impossible to envision all possible server side
limitations, we shouldn't even try. Instead, let the server come up with
one possible workaround for the client, but never force that suggestion
on the client. The client can always request something completely
different, should it dislike the server suggestion.


People tend to follow popular implementations, not the specification.
So I don't think we should add anything on the premise might be
useful, perhaps, but everyone else can just ignore it as there is a
high risk of implementations popping up that rely on this optional
behaviour.

I believe the only sane way is to have a set of restrictions where the
client can compute beforehand if a request will fail, and a failsafe of
the server saying no for the restrictions that we were unable to
describe. The server might for example be saying no just because it
doesn't allow any

Re: Request for allocation of new security type code for SASL auth

2008-12-18 Thread Peter Rosin

Den 2008-12-17 11:53 skrev Daniel P. Berrange:

On Wed, Dec 17, 2008 at 08:56:02AM +0100, Peter Rosin wrote:


*snip*


1. Is there any compelling reason to *not* sasl_encode/sasl_decode
the 6.1.3 SecurityResult message when there is a SSF layer? I think
using sasl_encode/sasl_decode on that message as well would simplify
implementations, as the need to hook in after the SecurityResult
disappears. It would be enough to make the needed stream modification
while still running in sasl territory.


One of the possible reasons for sending back a 'failed' SecurityResult
is if the server determines that the negotiated SASL SSF layer is not
suitably strong for its needs, or if the authenticated username was
not allowed by the ACL. In such a scenario, the server may not wish
to go to the bother of using sasl_encode on the securityresult when
it knows it is sending back a reject/failure message  dropping the
connection. I've got proof of concept implementations of this spec for
QEMU and VINO (based of libvncserver) and its not caused any serious
complications in the code so far. 


Ok, cool. Thanks for clarifying!
BTW, I didn't expect serious complications either... :-)


NB, there are only two common SASL mechanisms which provide SSF layers,
GSSAPI (Kerberos) and DIGEST-MD5. DIGEST-MD5 is deprecated as it is 
considered to be an insufficiently secure negiation. The other SASL

mechanisms all rely on the underlying connection to provide encryption.
As such, with exception of people using Kerberos, for SASL to be secure
you'd want to have the VeNCrypt security type active with one of its
x590 based modes, or tunnelling over SSH, or another TLS like protocol
extension (VINO has one - Security type 18, TLS - but as currently
implemented it is not sufficiently strong because it uses anonymous 
diffie-hellman credentials instead of x590 certs - this is to be fixed).


But can you really use the VeNCrypt security type like that without
extending its spec (or using unofficial numbers)? What VeNCrypt subtypes
do you plan to use to activate TLS/X509 and at the same time trigger
the SASL security type? It seems that there is need for two new
VeNCrypt subtypes (TLSSASL and X509SASL or something) for VeNCrypt and
SASL to mix nicely.

Ah, and also, can you please register the SASL security type with the
Tight project (they need a four character vendor representing either
a person, an organization or a product and an eight character name,
both padded with underscores. I.e. something like product:VINO and
name:SASL) so that someone can request the SASL security type
after opening the Tight security type.

*snip*


Thanks for the corrections/typos spotted in the spec


My pleasure :-)

Cheers,
Peter
___
VNC-List mailing list
VNC-List@realvnc.com
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list


Re: Request for allocation of new security type code for SASL auth

2008-12-17 Thread Peter Rosin

Hi again!

Sigh, sorry to reply to self, I guess the best was to find bugs is
to make a public statement of some sort...

Den 2008-12-17 08:56 skrev Peter Rosin:

--- README.sasl.orig2008-12-17 07:19:28.046875000 +0100
+++ README.sasl.new 2008-12-17 07:21:50.43750 +0100
@@ -174,5 +174,5 @@
 
 If the sasl_server_start call is successfull, the returned

-serverout data will need to be sent to the server.
+serverout data will need to be sent to the client.
 
 
@@ -201,5 +201,5 @@

 clientin,
 clientinlen,
-servertout,
+serverout,
 serveroutlen);


clientin and clientinlen don't need the address-of operator () here.

Cheers,
Peter
___
VNC-List mailing list
VNC-List@realvnc.com
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list


Re: Request for allocation of new security type code for SASL auth

2008-12-16 Thread Peter Rosin
Hi!

Den 2008-12-14 17:53 skrev Daniel P. Berrange:
 I have defined a mapping of the SASL authentication scheme into the RFB
 authentication protocol. Please could you allocate an official security
 type code for use with this auth scheme, under the name SASL.

*snip*

I looked a bit at this and spotted a few typos, see diff in
attachment (I replaced 100 with 20 before making the diff, I figured
those changes were not very interesting).

I also have a couple of questions:

1. Is there any compelling reason to *not* sasl_encode/sasl_decode
the 6.1.3 SecurityResult message when there is a SSF layer? I think
using sasl_encode/sasl_decode on that message as well would simplify
implementations, as the need to hook in after the SecurityResult
disappears. It would be enough to make the needed stream modification
while still running in sasl territory.

2. Not knowing much about SASL, I'm curious to know if this security
type is useful on reversed connections? Are there any implications
to consider?

3. And finally, does this security type spec have a home somewhere on
the Internet?

Cheers,
Peter
--- README.sasl.orig2008-12-17 07:19:28.046875000 +0100
+++ README.sasl.new 2008-12-17 07:21:50.43750 +0100
@@ -174,5 +174,5 @@
 
 If the sasl_server_start call is successfull, the returned
-serverout data will need to be sent to the server.
+serverout data will need to be sent to the client.
 
 
@@ -201,5 +201,5 @@
 clientin,
 clientinlen,
-servertout,
+serverout,
 serveroutlen);
 
@@ -219,5 +219,5 @@
  write_u8(1)
} else {
-  write_u8(0)
+  write_u32(0)
   write_u8(0)
}
@@ -241,5 +241,5 @@
 
 If the sasl_client_step call is successfull, and the previously
-received 6.2.20.3 sever start' or 6.2.20.5 server step
+received 6.2.20.3 server start' or 6.2.20.5 server step
 message had the continue value set to 0, the client protocol
 continues to 6.2.20.6 client security check. The final call
@@ -267,6 +267,6 @@
 
  sasl_client_step(saslconn,
-  serverin,
-  serverinlen,
+  serverin,
+  serverinlen,
   clientout,
   clientoutlen)
@@ -320,6 +320,6 @@
 
 err = sasl_server_step(saslconn,
-   clientin,
-   clientinlen,
+   clientin,
+   clientinlen,
servertout,
serveroutlen);
@@ -340,5 +340,5 @@
  write_u8(1)
} else {
-  write_u8(0)
+  write_u32(0)
   write_u8(0)
}
@@ -354,5 +354,5 @@
 
 At this point the client and server have completed the SASL negotiation
-process. If the client had requested an SSF layer during its initial
+process. If the client had requested an SSF layer during its initialization
 it should now validate that a suitable SSF layer was negotiated with
 the server. If the SSF layer is unsuitable it shall drop the connection
@@ -380,5 +380,5 @@
 
 The client and server are now authenticated, but before continuing, if
-the server had requested an SSF layer during its initial it should
+the server had requested an SSF layer during its initialization it should
 now validate that a suitable SSF layer was negotiated with the client.
 If the SSF layer is unsuitable it shall send a 6.1.3 SecurityResult
@@ -386,5 +386,5 @@
 connection to the client.
 
-If the SSF layer is enabled, and suitable for the client, all messages
+If the SSF layer is enabled, and suitable for the server, all messages
 transmitted over the RFB protocol AFTER the 6.1.3 SecurityResult
 message shall be passed through the sasl_encode API, and all messages
___
VNC-List mailing list
VNC-List@realvnc.com
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list


Re: Protocol extension for changing desktop name on the fly

2008-01-13 Thread Peter Rosin
On Tue, Jan 08, 2008 at 10:20:50AM -, James Weatherall wrote:
 In practice desktop names are currently ASCII-only, but new standard RFB
 protocol elements all use UTF-8 for string data.  I'd recommend that
 third-party encodings, etc also use UTF-8 for string data for consistency.

So, Peter, did you settle for ASCII-only or did you change to UTF-8?

(I need to know so that my implementation is compatible)

Cheers,
Peter
___
VNC-List mailing list
VNC-List@realvnc.com
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list


Re: Protocol extension for changing desktop name on the fly

2008-01-07 Thread Peter Rosin
On Mon, Jan 07, 2008 at 05:02:25PM +0100, Peter Estrand wrote:
 NumberName
 -306  DesktopName pseudo-encoding

Bzzzt -307 :-)

 Here's the description:

 A client which requests the DesktopName pseudo-encoding is declaring that
 it is capable of coping with a change of the desktop name. The server
 changes the desktop name by sending a pseudo-rectangle with the
 DesktopName pseudo-encoding in an update. The pseudo-rectangle's
 x-position, y-position, width, and height must be zero. After the
 rectangle header, a string with the new name follows. 

There are more than one popular way to encode strings, which one have
you selected? U32 name-length followed by U8-array name-string as in
the ServerInitialisation message?

Cheers,
Peter
___
VNC-List mailing list
VNC-List@realvnc.com
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list


Re: pixel format is out of sync, after refreshing and suddenly changing pixel format

2007-12-13 Thread Peter Rosin
On Wed, Dec 12, 2007 at 01:50:38PM -, James Weatherall wrote:
 Hi Anon,
 
 This is a know limitation of the Refresh Screen option in VNC Free Edition 
 VNC Free Edition-based software, which isn't safe to use if the VNC Viewer
 might be changing pixel format at a later point.

Nice to see it confirmed, I have been thinking about this for a while
but never got around to formulating it in an email. Also, you seem to
hint that this isn't a problem in the closed sourced versions, can you
enlighten us as to how the problem was resolved, if it has indeed been
resolved?

   You shouldn't need to use
 Refresh Screen, in general.

Well, that puts limitations on the client implementation. Just as an
example, imagine a client that draws in a framebuffer and that the
user changes screen resolution (or that some other application
borrows the framebuffer). The client has only one thing to do when
it wants to refill the framebuffer, if it is not allowed to send a
full refresh request: keep a private copy. That isn't too nice, given
this is a thin client protocol. Oh, right, the client can wait for
the next update to be issued as well and then send a full update
request, but that can be a lng wait. Not too nice either...

When the solution is a simple as introducing a pseudo-encoding that
gets sent (if requested of course) as an empty rect before any rect
with the new pixfmt is sent, why not introduce that?

That would make the protocol more robust, and is easy to implement.
The client has to take care not to have two pixfmt changes on the
wire simultaneously though, but that's not too much of a limitation.

(Other solutions are of course also possible, this is just the first
that came to mind)

Cheers,
Peter
___
VNC-List mailing list
VNC-List@realvnc.com
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list


Re: pixel format is out of sync, after refreshing and suddenly changing pixel format

2007-12-13 Thread Peter Rosin
On Thu, Dec 13, 2007 at 10:09:07AM -, James Weatherall wrote:
 Hi Anon  Peter,
 
 The VNC Personal  Enterprise Editions use a new scheme that does not have
 this limitation.

 You won't hit problems with the VNC Free Edition system unless you send
 multiple outstanding update requests (as is the case when using Refresh
 Screen), *and* you change the on-the-wire pixel format *after* having done
 that.

Hi Wez,

I'm not talking about the VNC Free Edition system, I'm talking
about the protocol and what clients should do.

The problem is that if a client wants to do a pixfmt change it
has to wait for an outstanding FramebufferUpdateRequest to be
satisfied by a FramebufferUpdate. That's the only way be sure
that the next requested FramebufferUpdate is in the expected
pixfmt, as I'm sure you understand. Hmmm, perhaps not the
only way, see below...

The problem is that you seem to think that this is only a problem
when using the Refresh Screen function in VNC Free Edition, while
my position is that it is a generic protocol problem which puts
unfortunate limitations on clients. So, if the following is true:

1. the client has an outstanding FramebufferUpdateRequest
2. the client has lost its visual framebuffer
3. the client screen depth has changed (likely to cause 2)
4. the client doesn't have a backup copy of the framebuffer
5. the server doesn't have any updates for a long time

then the client will show a blank screen for an indefinite
period as the spec puts it. It has to wait for the server before
it can refresh with the new pixfmt. I think it is very valid for
the client to want to change pixfmt and get an update *now*.

Sure, it can send extra non-incremntal FramebufferUpdateRequests
and then try to sort out when it can be sure that no more
FramebufferUpdates are coming down the wire, but that is complex.

The proposed solution in my previous mail is just so much simpler,
and keeps in line with implementing a client is made as simple
as possible, again from the spec. Just compare to this complex
alternative when you want to change pixfmt and get an update *now*:

1. Send a non-incremental FramebufferUpdateRequest for a small area.
2. Wait for a FramebufferUpdate.
3. If the update does not contain the requested area from 1, goto 7.
4. Send a non-incremental FramebufferUpdateRequest for another
   (non-intersecting) small area.
5. Wait for a FramebufferUpdate.
6. If the update does contain the requested area from 4, goto 8.
7. Wait for a FramebufferUpdate.
8. Send SetPixelFormat.
9. Send full non-incremental FrameBufferUpdateRequest.

Is there a simpler way to work around this without protocol additions
such as new pseudo-encodings?

Cheers,
Peter
___
VNC-List mailing list
VNC-List@realvnc.com
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list


Re: pixel format is out of sync, after refreshing and suddenly changing pixel format

2007-12-13 Thread Peter Rosin
On Thu, Dec 13, 2007 at 12:40:11PM -, James Weatherall wrote:
 Peter,
 
 It is a limitation of the RFB 3.x protocol, which requires that update
 requests are required to be matched 1-to-1 by framebuffer updates, although
 this isn't strictly required if the pixel format isn't going to change.  It
 therefore affects VNC Free Edition  software based upon it.

Hi Wez,

Indeed, but to reiterate a previously unanswered question:

When the solution is a simple as introducing a pseudo-encoding that
gets sent (if requested of course) as an empty rect before any rect
with the new pixfmt is sent, why not introduce that?

(i.e. similar to the DesktopSize pseudo-encoding)

Cheers,
Peter
___
VNC-List mailing list
VNC-List@realvnc.com
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list


Re: winvnc4 commandline sequence/syntax

2007-12-05 Thread Peter Rosin
On Tue, Dec 04, 2007 at 04:09:56PM -0800, Dave Stoft wrote:
 My conclusion has been that I have misunderstood the syntax or
  application
 of the syntax with the command-line method but I have been unable to
  locate
 explicit examples to show where I made the error(s). Can you point to
  the flaw(s)
 in my understanding or methodology?
 
 Thank in advance to anyone with suggestions.

The command line arguments to the service is specified in the registry.
You should change
HKLM\System\CurrentControlSet\WinVNC4\ImagePath
from the typical C:\Program Files\RealVNC\VNC4\winvnc4.exe -service
to something of your liking, e.g.
C:\Program Files\RealVNC\VNC4\winvnc4.exe -service -vncconfigfile 
C:\vnc\my_config_file.vnc
(Please note that the actual executable needs to be surrounded with quotes
if its path contains spaces. I don't know how you should quote spaces
in the arguments, that might depend on the winvnc4 implementation.)

After that, do winvnc4 -start

There is no need to register/unregister around each start/stop.

Disclaimer: This is all untested, but I beleive it matches what Wez said.

Cheers,
Peter
___
VNC-List mailing list
VNC-List@realvnc.com
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list


Re: Inconsistent Black Screen issues...

2007-08-06 Thread Peter Rosin
On Mon, Aug 06, 2007 at 12:03:02AM -0400, Boyd Campbell wrote:
 Good evening all,
  
 I'm using VNC to connect to a specific server on a remote LAN from many
 different clients at many different locations. However, using the same
 machine on one network vs. another, I'm either able to get into the server
 in question fine or I get a black screen with no visual. The mouse is moving
 on the server and a hard connection is made, but the client only gets a
 black screen. IE: Using a single laptop, I can get connected instantly from
 one LAN with no issues, yet from another LAN, black screen. I'm also able to
 connect from different machines on the LAN's that work. All machines in
 question thus far have been XP Pro, SP2, RDP  User Switching off (neither
 of which really matter anyways, since I am indeed able to connect using the
 same machine(s) from one network but not another). Also, the server in
 question is behind a VPN router with port forwarding to 5900 on (hence our
 being able to connect to begin with). I've even gone to lengths of messing
 with the MTU  RWIN settings and used the TCP/IP Optimizer off from
 SpeedGuide.net...all to no avail.
  
 I've searched many lists and Google high and low for answers to this
 issue. As I'm sure you well know, this issue has been an issue for many
 years with VNC, but I haven't been able to find any definitive answers by
 the VNC folks or others. Most of the answers I've found were merely
 suggestions that appeared to be just shots in the dark (simply my perception
 based on verbiage). In my humble opinion, if this is to be a viable product,
 then this issue needs to be addressed once and for all, being put under the
 VNC FAQ's since it is most certainly a FAQ on every list I've found,
 regardless of the domain I've found the issue listed on. But I've found
 everything from simple answers to uber-geek answers, none of which have
 helped and none of which I've been able to find on the VNC site.
  
 I very humbly state, if RealVNC, Ltd. expects me, my company and my
 clients to drop cash for the Enterprise versions of this software, then
 someone needs to show me that the tool will work from anywhere around the
 world with an internet connection if I go with it. I'm using the free one
 now as a POC. But thus far, things have been problematic at best, and I've
 not been able to find any viable solutions from the VNC technical community
 at large.
  
 I would very much appreciate any help you all can lend.

You say that you have played with MTU, does that include playing with
the server? Did you try to disable its Path MTU Discovery which is
my bet at what is wrong here (since largish amounts of data is not
getting from the server to the client). Or maybe I should wager that
the server (or some firewall) blocks the relevant ICMP messages needed
for Path MTU Discovery...

See http://www.netheaven.com/pmtu.html for some background on my wild
guess.

Cheers,
Peter
___
VNC-List mailing list
VNC-List@realvnc.com
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list


Re: Inconsistent Black Screen issues...

2007-08-06 Thread Peter Rosin
On Mon, Aug 06, 2007 at 10:48:20AM -0400, Boyd Campbell wrote:
 Please recall from my message that it works fine from some locations and is
 consistent across machines at those locations. IE: All machines at certain
 locations work and all machines at other locations get the black screen. I
 fail to see how the server is the issue, but I'm still open to your
 suggestions and will review the link. 

That behaviour is exactly the expected behaviour when the server
tries to do a Path MTU Discovery but fails (in some cases.) On the
working networks the MTU used by the server fits on all path
components (the Path MTU Discovery is never triggered or works
as expected.) On the non-functional networks the MTU used by the
server triggers an ICMP request to fragment the data, but that
request is dropped/filtered by some network equipment on its way
back to the server.

But again, I'm just guessing.

Cheers,
Peter

 Anyone else with thoughts? I'd very much like to hear from the VNC
 community. Thank you.
 
 -Original Message-
 From: Peter Rosin [mailto:[EMAIL PROTECTED] 
 Sent: Monday, August 06, 2007 5:11 AM
 To: Boyd Campbell
 Cc: vnc-list@realvnc.com
 Subject: Re: Inconsistent Black Screen issues...
 
 On Mon, Aug 06, 2007 at 12:03:02AM -0400, Boyd Campbell wrote:
  Good evening all,
   
  I'm using VNC to connect to a specific server on a remote LAN from 
  many different clients at many different locations. However, using the 
  same machine on one network vs. another, I'm either able to get into 
  the server in question fine or I get a black screen with no visual. 
  The mouse is moving on the server and a hard connection is made, but 
  the client only gets a black screen. IE: Using a single laptop, I can 
  get connected instantly from one LAN with no issues, yet from another 
  LAN, black screen. I'm also able to connect from different machines on 
  the LAN's that work. All machines in question thus far have been XP 
  Pro, SP2, RDP  User Switching off (neither of which really matter 
  anyways, since I am indeed able to connect using the same machine(s) 
  from one network but not another). Also, the server in question is 
  behind a VPN router with port forwarding to 5900 on (hence our being 
  able to connect to begin with). I've even gone to lengths of messing 
  with the MTU  RWIN settings and used the TCP/IP Optimizer off from
 SpeedGuide.net...all to no avail.
   
  I've searched many lists and Google high and low for answers to 
  this issue. As I'm sure you well know, this issue has been an issue 
  for many years with VNC, but I haven't been able to find any 
  definitive answers by the VNC folks or others. Most of the answers 
  I've found were merely suggestions that appeared to be just shots in 
  the dark (simply my perception based on verbiage). In my humble 
  opinion, if this is to be a viable product, then this issue needs to 
  be addressed once and for all, being put under the VNC FAQ's since it 
  is most certainly a FAQ on every list I've found, regardless of the 
  domain I've found the issue listed on. But I've found everything from 
  simple answers to uber-geek answers, none of which have helped and none of
 which I've been able to find on the VNC site.
   
  I very humbly state, if RealVNC, Ltd. expects me, my company and 
  my clients to drop cash for the Enterprise versions of this software, 
  then someone needs to show me that the tool will work from anywhere 
  around the world with an internet connection if I go with it. I'm 
  using the free one now as a POC. But thus far, things have been 
  problematic at best, and I've not been able to find any viable 
  solutions from the VNC technical community at large.
   
  I would very much appreciate any help you all can lend.
 
 You say that you have played with MTU, does that include playing with the
 server? Did you try to disable its Path MTU Discovery which is my bet at
 what is wrong here (since largish amounts of data is not getting from the
 server to the client). Or maybe I should wager that the server (or some
 firewall) blocks the relevant ICMP messages needed for Path MTU Discovery...
 
 See http://www.netheaven.com/pmtu.html for some background on my wild guess.
 
 Cheers,
 Peter
___
VNC-List mailing list
VNC-List@realvnc.com
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list


Re: Hitachi-ZYWRLE Encoding Number (was RE: Introduction of New VNC codec)

2007-06-14 Thread Peter Rosin
On Fri, Feb 02, 2007 at 12:30:49PM -, James Weatherall wrote:
 Hi Noriaki-san,
 
 I've had encoding number 17 allocated to Hitachi ZYWRLE - using this
 encoding number will ensure compatibility with standard VNC and
 VNC-compatible releases.  The next release of the VNC codebase will
 therefore include an encoding place-holder:
 
   const int encoding3rdPartyHitachiZYWRLE = 17;
 

The ZYWRLE encoding does not appear in the latest RFB spec.

(Also, UltraVNC seem to experiment with encoding 9. Is that one
registered?)

Cheers,
Peter
___
VNC-List mailing list
VNC-List@realvnc.com
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list


Request for numbers for gii protocol extension.

2007-06-05 Thread Peter Rosin
Hi!

I have a working version of an RFB protocol extension, one of the
things missing before I publish is what numbers I should use.

I need one pseudo-encoding, one server-client message and one
client-server message, all can go under the name gii (General
Input Interface) in the protocol spec.

As you might have guessed from the name, it extends the protocol
to be more flexible in the input device area, i.e. replacing (and
extending) KeyEvent and PointerEvent.

Basic operation: Client requests gii using the pseudo-encoding,
server and client then continue to communicate using the
server-client and client-server messages.

So, can someone assign me some protocol numbers, please?

Cheers,
Peter
___
VNC-List mailing list
VNC-List@realvnc.com
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list


Re: Bug in the RFB spec.

2007-05-15 Thread Peter Rosin
On Tue, May 15, 2007 at 08:13:29AM +0700, Constantin Kaplinsky wrote:
 Hello Peter,
 
 Peter Rosin wrote:
 
 While implementing some vnc software I noticed a problem in the RFB
 spec (version 3.8, 5 October 2006). It fails to mention that there is
 no security result for authentication method 'None' for protocol
 version 3.3. As this differs from at least version 3.8 I think there
 should be some words on this topic in the spec.
 
 This is documented, see the page 13 of the specification:
 
   6.2 SECURITY TYPES
 
   6.2.1 None
 
   No authentication is needed and protocol data is to be sent
   unencrypted.
 
   Version 3.8 onwards The protocol continues with the SecurityResult
   message.
 
   Version 3.3 and 3.7 The protocol passes to the initialisation phase
   (section 6.3).

Hi Constantin,

How embarrassing. Oh well, that explains why I got it right in the
server code, but didn't remember needing to work around this problem
when the problem was found in my client code.

Side note: a certain Windows only VNC client is a true pest when you
are implementing a server and want to be compatible, that for sure
took some workarounds (Oh great, you can do 3.8, then I want 3.4,
oh and 3.4 means that I will do this and that and whatnot. What crap).
The companion server in said VNC suite is more friendly.
How do other true VNC servers handle this rouge client?

Anyway, thanks for the pointer.

Cheers,
Peter
___
VNC-List mailing list
VNC-List@realvnc.com
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list


Re: Bug in the RFB spec.

2007-05-15 Thread Peter Rosin
On Tue, May 15, 2007 at 11:00:00AM +0100, James Weatherall wrote:
 Peter Rosin wrote:
  Side note: a certain Windows only VNC client is a true pest when you
  are implementing a server and want to be compatible, that for sure
  took some workarounds (Oh great, you can do 3.8, then I want 3.4,
  oh and 3.4 means that I will do this and that and whatnot. What crap).
  The companion server in said VNC suite is more friendly.
  How do other true VNC servers handle this rouge client?
 
 The only valid RFB protocol versions at present are 3.3, 3.7, 3.8 and 4.0,
 so the VNC viewer that you're referring that reports RFB 3.4 isn't
 actually VNC-compatible.

I know, but e.g. the RealVNC free edition server 4.1.2 doesn't bail
when a (broken) client requests 3.4, I was wondering if it did anything
else to accomodate the (broken) client than treat it as if 3.3 had
been requested?

Any pointers to where (when perhaps?) I can find the 4.0 spec?

Cheers,
Peter
___
VNC-List mailing list
VNC-List@realvnc.com
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list


Bug in the RFB spec.

2007-05-11 Thread Peter Rosin
Hi list!

While implementing some vnc software I noticed a problem in the
RFB spec (version 3.8, 5 October 2006). It fails to mention that
there is no security result for authentication method 'None'
for protocol version 3.3. As this differs from at least version
3.8 I think there should be some words on this topic in the spec.

The above is the behaviour I'm observing when connecting to a
RealVNC 4.1.2 server, and I assume that it's the spec that's in
error.

Cheers,
Peter
___
VNC-List mailing list
VNC-List@realvnc.com
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list


Re: How to restore the session if vnc server is configure as daemon mode xinetd

2007-02-16 Thread Peter Rosin
On Fri, Feb 16, 2007 at 11:22:45AM +0100, Corne Beerse wrote:
 Dhillon, Gurjit wrote:
 
 I have set up vnc as a daemon mode through xinetd, it is working fine.
 
  
 
 Great.
 
 User give ipaddress and the predefined port number to connect the vnc
 server. The only difference is now user doesn't need to login the Linux
 server and generate the port number to connect the server through vnc,
 now it is asking for login and password to connect the server.  But here
 if user close the session after login or after his job done, and want to
 work in the same session after some day or some time, they are not able
 to do that.
 
  
 
 Thats one of the nice features of inetd (or xinetd): As soon as the 
 connection ends, the processes are cleared.
 If you want re-entrant vnc-sessions, you cannot use inetd or xinetd.

Bzzt, not entierly true. You should investigate the wait option of
inetd (wait = yes for xinetd). It is very possible to have a server
controlled by (x)inetd survive a disconnected connection.

That said, I don't know if any vnc server actually supports this mode
of operation, but I'd be surprised if they didn't.

[snip]

Cheers,
Peter
___
VNC-List mailing list
VNC-List@realvnc.com
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list


Re: Proposed new encoding: bz2tile

2007-02-15 Thread Peter Rosin
On Thu, Feb 15, 2007 at 01:03:24PM -0600, Matt Campbell wrote:
 Hello James:
 
 I have implemented the encoding, and so far, it seems to work well, 
 though I'll admit I'm testing on fast CPU's (at least 2 GHz).  Please 
 allocate an encoding number for this encoding.
 
 Also, a clarification on this encoding:  Unlike ZRLE, a bz2tile 
 rectangle does not start with a length field on the wire.  Instead, each 
 bz2tile rectangle is represented on the wire by a complete bzip2 stream. 

But then you lose the dictionary (or equivalent), and the compression
ratio suffers, no?

  This works because libbz2 can identify the end of a bzip2 stream and 
 indicate to the caller how many bytes of input were left unused.  It 
 does mean that a bz2tile rectangle requires at least 37 bytes, but the 
 server could avoid excess overhead by using hextile for rectangles under 
 a certain size.

Cheers,
Peter
___
VNC-List mailing list
VNC-List@realvnc.com
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list


Re: About single application RFB server

2007-01-29 Thread Peter Rosin
On Mon, Jan 29, 2007 at 10:11:20AM +0800, lizhong wrote:
 Peter Rosin wrote:
  [1] 
  http://www.ggi-project.org/documentation/libggi/current/display-vnc.7.html
  [2] http://www.ggi-project.org/
  [3] http://sourceforge.net/cvs/?group_id=16307

 It's strange that the first two web links in your email seems
 unusable.

They work just fine for me. Anyway, here are alternatives:
http://www.ibiblio.org/ggicore/documentation/libggi/current/display-vnc.7.html
http://www.ibiblio.org/ggicore/

BTW, display-vnc will not be part of any GGI 2.x release. It's
destined for the upcoming GGI 3.x.

   I have found some information about GGI project through
 google, and I found this VNC LibGGI target - allows LibGGI
 applications to display over the network using the VNC protocol.
 Needs porting from old LibGGI.

That's a reference to the old (unmerged) code from Steve Cheng that
I mentioned. I don't even know where to find it, that's probably a
dead end.

Cheers,
Peter
___
VNC-List mailing list
VNC-List@realvnc.com
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list


Re: About single application RFB server

2007-01-26 Thread Peter Rosin
On Fri, Jan 26, 2007 at 05:44:40PM +0800, lizhong wrote:
 Hi all,
 As we know, vnc is used to send desktop to a client from the
 server. I've dig into the emails of vnc mail list, and found a
 single application vnc server called VNC CD Player. This program
 was never published, and I just know that it provides remote CD
 Player interface using RFB protocol. Is there any ready-made VNC
 server which could allow the user to select a remote appliction,
 and transmit not the whole desktop but only the interface of this
 appliction? Thanks for any help!

I have written an RFB/VNC backend [1] for libggi [2]. So any
decently well-written GGI application should be able to act as a
single application VNC server.

There is a caveat though, and that is that the VNC backend is only
in the CVS version [3] of libggi, and the release including it is
probably not going to happen anytime soon. So, you will have to do
some compiling yourself to get going.

I know there was once another such backend written by Steve Cheng
which was based on the RealVNC code base, but that work was never
merged due to license incompatibilities. This backend has been
written from scratch to evade the license incompatibility (BSD vs.
GPL).

Cheers,
Peter

[1] http://www.ggi-project.org/documentation/libggi/current/display-vnc.7.html
[2] http://www.ggi-project.org/
[3] http://sourceforge.net/cvs/?group_id=16307
___
VNC-List mailing list
VNC-List@realvnc.com
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list