added RRE, removed CoRRE

svn path=/trunk/kdenetwork/krfb/; revision=131552
This commit is contained in:
Tim Jansen
2002-01-14 01:39:53 +00:00
parent d2b3e3921d
commit a027cd3c14
4 changed files with 32 additions and 3 deletions

View File

@@ -1,3 +1,17 @@
2002-01-14 Tim Jansen <tim@tjansen.de>
* lib/Makefile.am: removed CoRRE encoder from project (see NOTES)
2002-01-13 Tim Jansen <tim@tjansen.de>
* lib/encodeRectangleRRE.cc: ported RRE encoder from TightVNC's
winvnc server
2002-01-12 Tim Jansen <tim@tjansen.de>
* lib/rfbServer.cc: removed throttling code as the xvncviewer
didn't like it and frequently crashed
2002-01-10 Tim Jansen <tim@tjansen.de>
* krfb/XUpdateScanner.cc: improved finding of hints (join adjacent
@@ -20,6 +34,9 @@
* lib/rfbServer.cc: start to replace all standard rfblib encodings
with those from TightVNC because they compress better
* lib/encodeRectangleHextile.cc: ported Hextile encoder from
TightVNC's winvnc server
* lib/Connection.cc: reserve more space when resizing, added
functions for simulated writing, delayed sending (reserve
buffer, write later)

12
NOTES
View File

@@ -15,6 +15,18 @@ Some comments on various aspects of KRfb:
issues like setting a password
- design goal of KRfb is to make it as easy to use as possible. I tried to
limit functionality whereever possible.
- to limit the required testing efforts I try to limit the number of provided
codecs.
As far as I can tell there are three major classes of VNC clients: the
original ones that support RRE, CoRRE and Hextiles, the Tridia ones
with additional ZLib and sometimes HexZLib support and the TightVNC one
with additional TightVNC encoding. So I will have four primary codecs to
support: Raw as a fall-back and for local traffic, Hextiles for original
VNC clients, ZLib for the Tridia ones and TightVNC. I'll keep RRE
because I already ported it, but should it make any trouble I'll kick it
out. CoRRE won't be supported, and probably neither HexZLib. 4 codecs
ought to be enough for everybody. TightVNC is the preferred codec and the
one that clients should use.
- the original x0rfbserver has a features for selecting the port number
automatically. I skipped that because it is too complicated on the client
side, but I may change my opinion when KDE supports SLP or a similar

2
TODO
View File

@@ -1,12 +1,10 @@
Todo:
- clip framebuffer updates to requested region!
- reminder: enable non-raw in hextile, enable sendSingleHint
- i18n
- docs
- knotify
- kcontrol module?
- encrypted connections: http://web.mit.edu/thouis/vnc/
- TightVNC extensions
- do something against potential denial-of-service attacks by repeatedly
trying to connect to users until they agree. Maybe a message box
after the third attempt offering the user to stop KRfb, block the IP or

View File

@@ -172,6 +172,7 @@ void RFBController::socketReadable() {
return;
int fd = socket->socket();
BufferedConnection *bc = connection->connection;
int count = read(fd,
bc->receiverBuffer.data,
bc->receiverBuffer.size);
@@ -188,8 +189,9 @@ void RFBController::socketReadable() {
bc->receiverBuffer.pos = 0;
bc->receiverBuffer.end = 0;
if (!connection->currentState)
if (!connection->currentState) {
closeSession();
}
}
void RFBController::socketWritable() {