diff options
| -rw-r--r-- | AUTHORS | 14 | ||||
| -rw-r--r-- | CMakeLists.txt | 2 | ||||
| -rw-r--r-- | ChangeLog | 18 | ||||
| -rw-r--r-- | NEWS | 6 | ||||
| -rw-r--r-- | client_examples/SDLvncviewer.c | 4 | ||||
| -rw-r--r-- | configure.ac | 4 | ||||
| -rw-r--r-- | libvncclient/rfbproto.c | 4 | ||||
| -rw-r--r-- | libvncserver/rfbserver.c | 31 | ||||
| -rw-r--r-- | rfb/rfbclient.h | 9 |
9 files changed, 55 insertions, 37 deletions
@@ -33,19 +33,9 @@ Steven Carr, Uwe Völker, Charles Coffing, Guillaume Rousse, Alessandro Praduroux, Brad Hards, Timo Ketola, Christian Ehrlicher, Noriaki Yamazaki, Ben Klopfenstein, Vic Lee, Christian Beier, Alexander Dorokhine, Corentin Chary, Wouter Van Meir, George Kiagiadakis, -Joel Martin and Gernot Tenchio. +Joel Martin, Gernot Tenchio, William Roberts, Cristian Rodríguez, +George Fleury, Kan-Ru Chen and Steve Guo. Probably I forgot quite a few people sending a patch here and there, which really made a difference. Without those, some obscure bugs still would be unfound. - -A hearty unthanks goes to Michael and Erick, who provided me with nothing -but hollow words. Finally I got that configure and install working, but -it would have been so much better for them not just to complain, but also -help. As you showed me real egoism, you are the main reasons I am not -working one dot to make this library less than GPL, so that nobody ever -can make profit of my and others work without giving something back to me -and others. - -Speaking of hollow words, another hearty unthanks goes to Sam, who thought -he could let me work for him, not paying me in any way. diff --git a/CMakeLists.txt b/CMakeLists.txt index ba3ff43..db54c4c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,7 +8,7 @@ include(TestBigEndian) set(PACKAGE_NAME "LibVNCServer") set(FULL_PACKAGE_NAME "LibVNCServer") -set(PACKAGE_VERSION "0.9.8") +set(PACKAGE_VERSION "0.9.8.1") set(PROJECT_BUGREPORT_PATH "http://sourceforge.net/projects/libvncserver") set(CMAKE_C_FLAGS "-O2 -W -Wall -g") @@ -1,3 +1,21 @@ +2011-10-12 Christian Beier <dontmind@freeshell.org> + + * CMakeLists.txt, NEWS, configure.ac: Update version number in + autotools && cmake, NEWS entry. + +2011-10-08 Johannes Schindelin <johannes.schindelin@gmx.de> + + * rfb/rfbclient.h: Hopefully fix the crash when updating from 0.9.7 + or earlier For backwards-compatibility reasons, we can only add struct members + to the end. That way, existing callers still can use newer + libraries, as the structs are always allocated by the library (and + therefore guaranteed to have the correct size) and still rely on the + same position of the parts the callers know about. Reported by Luca Falavigna. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> + +2011-03-30 Christian Beier <dontmind@freeshell.org> + + * ChangeLog: Update ChangeLog for 0.9.8. + 2011-03-29 Christian Beier <dontmind@freeshell.org> * README: Remove RDP from the README description. We do VNC but no RDP. Pointed out by Vic Lee, thanks! @@ -1,3 +1,9 @@ +0.9.8.2 + - Fixed a regression that crept in with the Apple Remote Desktop support. + +0.9.8.1 + - Fixed an ABI compatibility issue. + 0.9.8 - Overall changes: * Automagically generated API documentation using doxygen. diff --git a/client_examples/SDLvncviewer.c b/client_examples/SDLvncviewer.c index 0f6992a..5fa8f2c 100644 --- a/client_examples/SDLvncviewer.c +++ b/client_examples/SDLvncviewer.c @@ -16,7 +16,7 @@ struct { int sdl; int rfb; } buttonMapping[]={ {0,0} }; -static int enableResizable, viewOnly, listenLoop, buttonMask; +static int enableResizable = 1, viewOnly, listenLoop, buttonMask; #ifdef SDL_ASYNCBLIT int sdlFlags = SDL_HWSURFACE | SDL_ASYNCBLIT | SDL_HWACCEL; #else @@ -487,6 +487,8 @@ int main(int argc,char** argv) { viewOnly = 1; else if (!strcmp(argv[i], "-resizable")) enableResizable = 1; + else if (!strcmp(argv[i], "-no-resizable")) + enableResizable = 0; else if (!strcmp(argv[i], "-listen")) { listenLoop = 1; argv[i] = "-listennofork"; diff --git a/configure.ac b/configure.ac index 39728d9..8a598b0 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ # Process this file with autoconf to produce a configure script. -AC_INIT(LibVNCServer, 0.9.8, http://sourceforge.net/projects/libvncserver) -AM_INIT_AUTOMAKE(LibVNCServer, 0.9.8) +AC_INIT(LibVNCServer, 0.9.8.1, http://sourceforge.net/projects/libvncserver) +AM_INIT_AUTOMAKE(LibVNCServer, 0.9.8.1) AM_CONFIG_HEADER(rfbconfig.h) AX_PREFIX_CONFIG_H([rfb/rfbconfig.h]) AM_SILENT_RULES([yes]) diff --git a/libvncclient/rfbproto.c b/libvncclient/rfbproto.c index d424b04..a7faab1 100644 --- a/libvncclient/rfbproto.c +++ b/libvncclient/rfbproto.c @@ -569,8 +569,8 @@ ReadSupportedSecurityType(rfbClient* client, uint32_t *result, rfbBool subAuth) rfbClientLog("%d) Received security type %d\n", loop, tAuth[loop]); if (flag) continue; if (tAuth[loop]==rfbVncAuth || tAuth[loop]==rfbNoAuth || - tAuth[loop]==rfbARD || - (!subAuth && (tAuth[loop]==rfbTLS || tAuth[loop]==rfbVeNCrypt))) + (tAuth[loop]==rfbARD && client->GetCredential) || + (!subAuth && (tAuth[loop]==rfbTLS || (tAuth[loop]==rfbVeNCrypt && client->GetCredential)))) { if (!subAuth && client->clientAuthSchemes) { diff --git a/libvncserver/rfbserver.c b/libvncserver/rfbserver.c index 63f21db..b42a5ea 100644 --- a/libvncserver/rfbserver.c +++ b/libvncserver/rfbserver.c @@ -494,6 +494,21 @@ rfbClientConnectionGone(rfbClientPtr cl) if (cl->next) cl->next->prev = cl->prev; + UNLOCK(rfbClientListMutex); + +#ifdef LIBVNCSERVER_HAVE_LIBPTHREAD + if(cl->screen->backgroundLoop != FALSE) { + int i; + do { + LOCK(cl->refCountMutex); + i=cl->refCount; + if(i>0) + WAIT(cl->deleteCond,cl->refCountMutex); + UNLOCK(cl->refCountMutex); + } while(i>0); + } +#endif + if(cl->sock>=0) close(cl->sock); @@ -510,21 +525,6 @@ rfbClientConnectionGone(rfbClientPtr cl) free(cl->beforeEncBuf); free(cl->afterEncBuf); -#ifdef LIBVNCSERVER_HAVE_LIBPTHREAD - if(cl->screen->backgroundLoop != FALSE) { - int i; - do { - LOCK(cl->refCountMutex); - i=cl->refCount; - if(i>0) - WAIT(cl->deleteCond,cl->refCountMutex); - UNLOCK(cl->refCountMutex); - } while(i>0); - } -#endif - - UNLOCK(rfbClientListMutex); - if(cl->sock>=0) FD_CLR(cl->sock,&(cl->screen->allFds)); @@ -569,6 +569,7 @@ rfbClientConnectionGone(rfbClientPtr cl) TINI_MUTEX(cl->sendMutex); rfbPrintStats(cl); + rfbResetStats(cl); free(cl); } diff --git a/rfb/rfbclient.h b/rfb/rfbclient.h index f3bd11d..9b8f3c3 100644 --- a/rfb/rfbclient.h +++ b/rfb/rfbclient.h @@ -192,9 +192,6 @@ typedef struct _rfbClient { rfbPixelFormat format; rfbServerInitMsg si; - /* listen.c */ - int listenSock; - /* sockets.c */ #define RFB_BUF_SIZE 8192 char buf[RFB_BUF_SIZE]; @@ -273,7 +270,6 @@ typedef struct _rfbClient { SoftCursorLockAreaProc SoftCursorLockArea; SoftCursorUnlockScreenProc SoftCursorUnlockScreen; GotFrameBufferUpdateProc GotFrameBufferUpdate; - FinishedFrameBufferUpdateProc FinishedFrameBufferUpdate; /** the pointer returned by GetPassword will be freed after use! */ GetPasswordProc GetPassword; MallocFrameBufferProc MallocFrameBuffer; @@ -325,6 +321,11 @@ typedef struct _rfbClient { /** hook to handle xvp server messages */ HandleXvpMsgProc HandleXvpMsg; + + /* listen.c */ + int listenSock; + + FinishedFrameBufferUpdateProc FinishedFrameBufferUpdate; } rfbClient; /* cursor.c */ |
