f6187cc4 | 2015-01-10 16:02:54 | Timothy Pearson |
Port to standard shared libvncserver and delete old buggy libvncserver library sources Note that this DOES NOT WORK as some TDE-specific changes to libvncserver will be required The commit is a "clean slate" for the TDE-specific changes to follow |
||
M krfb/CMakeLists.txt M krfb/ConfigureChecks.cmake M krfb/krfb/CMakeLists.txt M krfb/krfb/rfbcontroller.cc M krfb/krfb/rfbcontroller.h R krfb/libvncserver/1instance.c R krfb/libvncserver/CHANGES R krfb/libvncserver/CMakeLists.txt R krfb/libvncserver/COPYING R krfb/libvncserver/Makefile.am R krfb/libvncserver/README R krfb/libvncserver/TODO R krfb/libvncserver/auth.c R krfb/libvncserver/bdf2c.pl R krfb/libvncserver/cargs.c R krfb/libvncserver/corre.c R krfb/libvncserver/cursor.c R krfb/libvncserver/cutpaste.c R krfb/libvncserver/d3des.c R krfb/libvncserver/d3des.h R krfb/libvncserver/default8x16.h R krfb/libvncserver/draw.c R krfb/libvncserver/example.c R krfb/libvncserver/font.c R krfb/libvncserver/fontsel.c R krfb/libvncserver/hextile.c R krfb/libvncserver/httpd.c R krfb/libvncserver/keysym.h R krfb/libvncserver/mac.c R krfb/libvncserver/main.cc R krfb/libvncserver/main.h R krfb/libvncserver/pnmshow.c R krfb/libvncserver/pnmshow24.c R krfb/libvncserver/radon.h R krfb/libvncserver/rfb.h R krfb/libvncserver/rfbproto.h R krfb/libvncserver/rfbserver.c R krfb/libvncserver/rre.c R krfb/libvncserver/selbox.c R krfb/libvncserver/sockets.c R krfb/libvncserver/sraRegion.c R krfb/libvncserver/sraRegion.h R krfb/libvncserver/stats.c R krfb/libvncserver/storepasswd.c R krfb/libvncserver/tableinit24.c R krfb/libvncserver/tableinitcmtemplate.c R krfb/libvncserver/tableinittctemplate.c R krfb/libvncserver/tabletrans24template.c R krfb/libvncserver/tabletranstemplate.c R krfb/libvncserver/tight.c R krfb/libvncserver/translate.c R krfb/libvncserver/vncauth.c R krfb/libvncserver/vncev.c R krfb/libvncserver/x11vnc.c R krfb/libvncserver/zippy.c R krfb/libvncserver/zlib.c |
||
diff --git a/krfb/CMakeLists.txt b/krfb/CMakeLists.txt index 962559b..9be3dcc 100644 --- a/krfb/CMakeLists.txt +++ b/krfb/CMakeLists.txt @@ -13,7 +13,6 @@ add_subdirectory( srvloc ) add_subdirectory( kinetd ) -add_subdirectory( libvncserver ) add_subdirectory( krfb ) add_subdirectory( kcm_krfb ) add_subdirectory( krfb_httpd ) diff --git a/krfb/ConfigureChecks.cmake b/krfb/ConfigureChecks.cmake index 9e24956..b488b03 100644 --- a/krfb/ConfigureChecks.cmake +++ b/krfb/ConfigureChecks.cmake @@ -1,5 +1,8 @@ ################################################# # +# (C) 2015 Timothy Pearson +# kb9vqf (AT) pearsoncomputing (DOT) net +# # (C) 2010-2011 Serghei Amelian # serghei (DOT) amelian (AT) gmail.com # @@ -13,3 +16,8 @@ if( NOT XTST_FOUND ) tde_message_fatal( "xtst is required, but was not found on your system" ) endif( ) + +pkg_search_module( LIBVNCSERVER libvncserver ) +if( NOT LIBVNCSERVER_FOUND ) + tde_message_fatal( "libvncserver is required, but was not found on your system" ) +endif( ) diff --git a/krfb/krfb/CMakeLists.txt b/krfb/krfb/CMakeLists.txt index 799444d..4251ebd 100644 --- a/krfb/krfb/CMakeLists.txt +++ b/krfb/krfb/CMakeLists.txt @@ -39,7 +39,7 @@ rfbcontroller.cc xupdatescanner.cc main.cpp connectionwidget.ui krfbifaceimpl.cc krfbiface.skel trayicon.cpp connectiondialog.cc LINK - krfbconfig-static vncserver-static srvloc-static tdeui-shared tdeio-shared jpeg Xext pthread ${XTST_LIBRARIES} + krfbconfig-static srvloc-static tdeui-shared tdeio-shared jpeg Xext pthread ${XTST_LIBRARIES} ${LIBVNCSERVER_LIBRARIES} DESTINATION ${BIN_INSTALL_DIR} ) diff --git a/krfb/krfb/rfbcontroller.cc b/krfb/krfb/rfbcontroller.cc index 0db5751..c67134b 100644 --- a/krfb/krfb/rfbcontroller.cc +++ b/krfb/krfb/rfbcontroller.cc @@ -132,7 +132,7 @@ return self->handleNewClient(cl); } -static Bool passwordCheck(rfbClientPtr cl, +static rfbBool passwordCheck(rfbClientPtr cl, const char* encryptedPassword, int len) { @@ -140,7 +140,7 @@ return self->handleCheckPassword(cl, encryptedPassword, len); } -static void keyboardHook(Bool down, KeySym keySym, rfbClientPtr) +static void keyboardHook(rfbBool down, rfbKeySym keySym, rfbClientPtr) { self->handleKeyEvent(down ? true : false, keySym); } @@ -155,6 +155,7 @@ self->handleClientGone(); } +#ifdef USE_MODIFIED_BUILTIN_LIBVNCSERVER static void negotiationFinishedHook(rfbClientPtr cl) { self->handleNegotiationFinished(cl); @@ -164,6 +165,7 @@ { self->handleClientGone(); } +#endif static void clipboardHook(char* str,int len, rfbClientPtr) { @@ -406,34 +408,34 @@ server->paddedWidthInBytes = framebufferImage->bytes_per_line; - server->rfbServerFormat.bitsPerPixel = framebufferImage->bits_per_pixel; - server->rfbServerFormat.depth = framebufferImage->depth; - server->rfbServerFormat.trueColour = (CARD8) TRUE; - server->rfbServerFormat.bigEndian = (CARD8) ((framebufferImage->bitmap_bit_order == MSBFirst) ? TRUE : FALSE); + server->serverFormat.bitsPerPixel = framebufferImage->bits_per_pixel; + server->serverFormat.depth = framebufferImage->depth; + server->serverFormat.trueColour = (uint8_t) TRUE; + server->serverFormat.bigEndian = (uint8_t) ((framebufferImage->bitmap_bit_order == MSBFirst) ? TRUE : FALSE); - if ( server->rfbServerFormat.bitsPerPixel == 8 ) { - server->rfbServerFormat.redShift = 0; - server->rfbServerFormat.greenShift = 3; - server->rfbServerFormat.blueShift = 6; - server->rfbServerFormat.redMax = 7; - server->rfbServerFormat.greenMax = 7; - server->rfbServerFormat.blueMax = 3; + if ( server->serverFormat.bitsPerPixel == 8 ) { + server->serverFormat.redShift = 0; + server->serverFormat.greenShift = 3; + server->serverFormat.blueShift = 6; + server->serverFormat.redMax = 7; + server->serverFormat.greenMax = 7; + server->serverFormat.blueMax = 3; } else { - server->rfbServerFormat.redShift = 0; + server->serverFormat.redShift = 0; if ( framebufferImage->red_mask ) - while ( ! ( framebufferImage->red_mask & (1 << server->rfbServerFormat.redShift) ) ) - server->rfbServerFormat.redShift++; - server->rfbServerFormat.greenShift = 0; + while ( ! ( framebufferImage->red_mask & (1 << server->serverFormat.redShift) ) ) + server->serverFormat.redShift++; + server->serverFormat.greenShift = 0; if ( framebufferImage->green_mask ) - while ( ! ( framebufferImage->green_mask & (1 << server->rfbServerFormat.greenShift) ) ) - server->rfbServerFormat.greenShift++; - server->rfbServerFormat.blueShift = 0; + while ( ! ( framebufferImage->green_mask & (1 << server->serverFormat.greenShift) ) ) + server->serverFormat.greenShift++; + server->serverFormat.blueShift = 0; if ( framebufferImage->blue_mask ) - while ( ! ( framebufferImage->blue_mask & (1 << server->rfbServerFormat.blueShift) ) ) - server->rfbServerFormat.blueShift++; - server->rfbServerFormat.redMax = framebufferImage->red_mask >> server->rfbServerFormat.redShift; - server->rfbServerFormat.greenMax = framebufferImage->green_mask >> server->rfbServerFormat.greenShift; - server->rfbServerFormat.blueMax = framebufferImage->blue_mask >> server->rfbServerFormat.blueShift; + while ( ! ( framebufferImage->blue_mask & (1 << server->serverFormat.blueShift) ) ) + server->serverFormat.blueShift++; + server->serverFormat.redMax = framebufferImage->red_mask >> server->serverFormat.redShift; + server->serverFormat.greenMax = framebufferImage->green_mask >> server->serverFormat.greenShift; + server->serverFormat.blueMax = framebufferImage->blue_mask >> server->serverFormat.blueShift; } server->frameBuffer = fb; @@ -443,7 +445,9 @@ server->kbdAddEvent = keyboardHook; server->ptrAddEvent = pointerHook; server->newClientHook = newClientHook; +#ifdef USE_MODIFIED_BUILTIN_LIBVNCSERVER server->inetdDisconnectHook = inetdDisconnectHook; +#endif // USE_MODIFIED_BUILTIN_LIBVNCSERVER server->passwordCheck = passwordCheck; server->setXCutText = clipboardHook; @@ -458,7 +462,7 @@ scanner = new XUpdateScanner(tqt_xdisplay(), TQApplication::desktop()->winId(), (unsigned char*)fb, w, h, - server->rfbServerFormat.bitsPerPixel, + server->serverFormat.bitsPerPixel, server->paddedWidthInBytes, !configuration->disableXShm()); @@ -498,9 +502,9 @@ initIdleTimer.stop(); idleTimer.start(IDLE_PAUSE); - server->rfbClientHead->clientGoneHook = clientGoneHook; + server->clientHead->clientGoneHook = clientGoneHook; state = RFB_CONNECTED; - if (!server->rfbAuthPasswdData) + if (!server->authPasswdData) emit sessionEstablished(remoteIp); } @@ -514,7 +518,7 @@ return; connectionAccepted(aRemoteControl); - rfbStartOnHoldClient(server->rfbClientHead); + rfbStartOnHoldClient(server->clientHead); } void RFBController::refuseConnection() @@ -525,7 +529,7 @@ if (state != RFB_CONNECTING) return; - rfbRefuseOnHoldClient(server->rfbClientHead); + rfbRefuseOnHoldClient(server->clientHead); state = RFB_WAITING; } @@ -590,7 +594,7 @@ if (!checkAsyncEvents()) { asyncMutex.lock(); if (!closePending) - rfbCloseClient(server->rfbClientHead); + rfbCloseClient(server->clientHead); asyncMutex.unlock(); } } @@ -611,8 +615,6 @@ if (checkAsyncEvents() || forcedClose) return; - rfbUndrawCursor(server); - TQPtrList<Hint> v; v.setAutoDelete(true); TQPoint p = TQCursor::pos(); @@ -628,7 +630,7 @@ asyncMutex.lock(); if (!closePending) - defaultPtrAddEvent(0, p.x(),p.y(), server->rfbClientHead); + rfbDefaultPtrAddEvent(0, p.x(),p.y(), server->clientHead); asyncMutex.unlock(); checkAsyncEvents(); // check 2nd time (see 3rd line) @@ -664,7 +666,7 @@ strncpy(passwd, p.latin1(), (MAXPWLEN <= p.length()) ? MAXPWLEN : p.length()); - vncEncryptBytes(challenge, passwd); + rfbEncryptBytes(challenge, passwd); return memcmp(challenge, response, len) == 0; } @@ -717,7 +719,9 @@ enum rfbNewClientAction RFBController::handleNewClient(rfbClientPtr cl) { int socket = cl->sock; +#ifdef USE_MODIFIED_BUILTIN_LIBVNCSERVER cl->negotiationFinishedHook = negotiationFinishedHook; +#endif // USE_MODIFIED_BUILTIN_LIBVNCSERVER TQString host, port; TDESocketAddress *ksa = KExtendedSocket::peerAddress(socket); @@ -773,12 +777,14 @@ asyncMutex.unlock(); } +#ifdef USE_MODIFIED_BUILTIN_LIBVNCSERVER void RFBController::handleNegotiationFinished(rfbClientPtr cl) { asyncMutex.lock(); disableBackgroundPending = cl->disableBackground; asyncMutex.unlock(); } +#endif // USE_MODIFIED_BUILTIN_LIBVNCSERVER ** Diff limit reached (max: 250 lines) ** |
||
710a9c7c | 2015-01-10 20:42:02 | Timothy Pearson |
Use latest libvncserver module for krfb This relates to Bug 1582 among others |
||
A libtdevnc M .gitmodules M CMakeLists.txt M krdc/vnc/rfbproto.h M krfb/CMakeLists.txt M krfb/krfb/CMakeLists.txt M krfb/krfb/rfbcontroller.h |
||
** Diff limit reached (max: 250 lines) ** |