summaryrefslogtreecommitdiffstats
path: root/libvncserver
diff options
context:
space:
mode:
authorrunge <runge>2005-11-25 07:22:43 +0000
committerrunge <runge>2005-11-25 07:22:43 +0000
commit8eb18f6cd8793ea55f04d3c736885b04c41aba4f (patch)
treed447343f6495e703690217928e2783dc1636df26 /libvncserver
parentde99644d2fa630828fd6e92ed206dd63da1fdfa9 (diff)
downloadlibtdevnc-8eb18f6cd8793ea55f04d3c736885b04c41aba4f.tar.gz
libtdevnc-8eb18f6cd8793ea55f04d3c736885b04c41aba4f.zip
fix deadlock from rfbReleaseExtensionIterator(), fix no libz/libjpeg builds, disable tightvnc-filetransfer if no libpthread, add --without-pthread option, rm // comments, set NAME_MAX if not defined, x11vnc: throttle load if fb update requests not taking place.
Diffstat (limited to 'libvncserver')
-rw-r--r--libvncserver/Makefile.am4
-rwxr-xr-xlibvncserver/auth.c2
-rw-r--r--libvncserver/main.c2
-rw-r--r--libvncserver/private.h4
-rw-r--r--libvncserver/rfbserver.c16
-rw-r--r--libvncserver/tightvnc-filetransfer/filelistinfo.h4
-rw-r--r--libvncserver/tightvnc-filetransfer/filetransfermsg.c2
-rw-r--r--libvncserver/tightvnc-filetransfer/handlefiletransferrequest.c2
-rw-r--r--libvncserver/tightvnc-filetransfer/rfbtightserver.c10
9 files changed, 30 insertions, 16 deletions
diff --git a/libvncserver/Makefile.am b/libvncserver/Makefile.am
index ecffba1..2a32666 100644
--- a/libvncserver/Makefile.am
+++ b/libvncserver/Makefile.am
@@ -1,6 +1,6 @@
AM_CFLAGS=-g -Wall
-#if WITH_TIGHTVNC_FILETRANSFER
+if WITH_TIGHTVNC_FILETRANSFER
TIGHTVNCFILETRANSFERHDRS=tightvnc-filetransfer/filelistinfo.h \
tightvnc-filetransfer/filetransfermsg.h \
tightvnc-filetransfer/handlefiletransferrequest.h \
@@ -10,7 +10,7 @@ TIGHTVNCFILETRANSFERSRCS = tightvnc-filetransfer/rfbtightserver.c \
tightvnc-filetransfer/handlefiletransferrequest.c \
tightvnc-filetransfer/filetransfermsg.c \
tightvnc-filetransfer/filelistinfo.c
-#endif
+endif
includedir=$(prefix)/include/rfb
#include_HEADERS=rfb.h rfbconfig.h rfbint.h rfbproto.h keysym.h rfbregion.h
diff --git a/libvncserver/auth.c b/libvncserver/auth.c
index 5c1c044..e3a89eb 100755
--- a/libvncserver/auth.c
+++ b/libvncserver/auth.c
@@ -179,7 +179,7 @@ rfbAuthNewClient(rfbClientPtr cl)
int32_t securityType = rfbSecTypeInvalid;
if (!cl->screen->authPasswdData || cl->reverseConnection) {
- // chk if this condition is valid or not.
+ /* chk if this condition is valid or not. */
securityType = rfbSecTypeNone;
} else if (cl->screen->authPasswdData) {
securityType = rfbSecTypeVncAuth;
diff --git a/libvncserver/main.c b/libvncserver/main.c
index e6908e1..e0c699f 100644
--- a/libvncserver/main.c
+++ b/libvncserver/main.c
@@ -840,9 +840,11 @@ void rfbScreenCleanup(rfbScreenInfoPtr screen)
TINI_MUTEX(screen->cursorMutex);
if(screen->cursor && screen->cursor->cleanup)
rfbFreeCursor(screen->cursor);
+#ifdef LIBVNCSERVER_HAVE_LIBZ
#ifdef LIBVNCSERVER_HAVE_LIBJPEG
rfbTightCleanup(screen);
#endif
+#endif
free(screen);
}
diff --git a/libvncserver/private.h b/libvncserver/private.h
index 594512e..8865e81 100644
--- a/libvncserver/private.h
+++ b/libvncserver/private.h
@@ -13,7 +13,11 @@ rfbClientPtr rfbClientIteratorHead(rfbClientIteratorPtr i);
/* from tight.c */
+#ifdef LIBVNCSERVER_HAVE_LIBZ
+#ifdef LIBVNCSERVER_HAVE_LIBJPEG
extern void rfbTightCleanup(rfbScreenInfoPtr screen);
+#endif
+#endif
/* from zrle.c */
diff --git a/libvncserver/rfbserver.c b/libvncserver/rfbserver.c
index 474351c..75516fe 100644
--- a/libvncserver/rfbserver.c
+++ b/libvncserver/rfbserver.c
@@ -318,6 +318,7 @@ rfbNewTCPOrUDPClient(rfbScreenInfoPtr rfbScreen,
rfbScreen->clientHead = cl;
UNLOCK(rfbClientListMutex);
+#ifdef LIBVNCSERVER_HAVE_LIBZ
#ifdef LIBVNCSERVER_HAVE_LIBJPEG
cl->tightCompressLevel = TIGHT_DEFAULT_COMPRESSION;
cl->tightQualityLevel = -1;
@@ -327,6 +328,7 @@ rfbNewTCPOrUDPClient(rfbScreenInfoPtr rfbScreen,
cl->zsActive[i] = FALSE;
}
#endif
+#endif
cl->enableCursorShapeUpdates = FALSE;
cl->enableCursorPosUpdates = FALSE;
@@ -562,7 +564,7 @@ rfbProcessClientProtocolVersion(rfbClientPtr cl)
return;
}
- // Chk for the minor version use either of the two standard version of RFB
+ /* Chk for the minor version use either of the two standard version of RFB */
cl->protocolMinorVersion = minor_;
if (minor_ > rfbProtocolMinorVersion) {
cl->protocolMinorVersion = rfbProtocolMinorVersion;
@@ -949,17 +951,16 @@ rfbProcessClientNormalMessage(rfbClientPtr cl)
}
encs++;
}
- rfbReleaseExtensionIterator();
-
if(e)
e = e->next;
}
+ rfbReleaseExtensionIterator();
if(!handled)
- rfbLog("rfbProcessClientNormalMessage: ignoring"
- " unknown encoding type %d\n",
- (int)enc);
+ rfbLog("rfbProcessClientNormalMessage: "
+ "ignoring unknown encoding type %d\n",
+ (int)enc);
}
}
}
@@ -1348,11 +1349,14 @@ rfbSendFramebufferUpdate(rfbClientPtr cl,
fu->type = rfbFramebufferUpdate;
if (nUpdateRegionRects != 0xFFFF) {
if(cl->screen->maxRectsPerUpdate>0
+#ifdef LIBVNCSERVER_HAVE_LIBZ
#ifdef LIBVNCSERVER_HAVE_LIBJPEG
/* Tight encoding counts the rectangles differently */
&& cl->preferredEncoding != rfbEncodingTight
+ /* XXX Should rfbEncodingCoRRE be in here? */
&& cl->preferredEncoding != rfbEncodingCoRRE
#endif
+#endif
&& nUpdateRegionRects>cl->screen->maxRectsPerUpdate) {
sraRegion* newUpdateRegion = sraRgnBBox(updateRegion);
sraRgnDestroy(updateRegion);
diff --git a/libvncserver/tightvnc-filetransfer/filelistinfo.h b/libvncserver/tightvnc-filetransfer/filelistinfo.h
index 543edbe..a53964c 100644
--- a/libvncserver/tightvnc-filetransfer/filelistinfo.h
+++ b/libvncserver/tightvnc-filetransfer/filelistinfo.h
@@ -28,6 +28,10 @@
#include <limits.h>
+#if !defined(NAME_MAX)
+#define NAME_MAX 255
+#endif
+
#define SUCCESS 1
#define FAILURE 0
diff --git a/libvncserver/tightvnc-filetransfer/filetransfermsg.c b/libvncserver/tightvnc-filetransfer/filetransfermsg.c
index e7f6476..a51181f 100644
--- a/libvncserver/tightvnc-filetransfer/filetransfermsg.c
+++ b/libvncserver/tightvnc-filetransfer/filetransfermsg.c
@@ -292,7 +292,7 @@ GetFileDownloadLengthErrResponseMsg()
FileTransferMsg
GetFileDownloadResponseMsgInBlocks(rfbClientPtr cl, rfbTightClientPtr rtcp)
{
- //const unsigned int sz_rfbBlockSize = SZ_RFBBLOCKSIZE;
+ /* const unsigned int sz_rfbBlockSize = SZ_RFBBLOCKSIZE; */
int numOfBytesRead = 0;
char pBuf[SZ_RFBBLOCKSIZE];
char* path = rtcp->rcft.rcfd.fName;
diff --git a/libvncserver/tightvnc-filetransfer/handlefiletransferrequest.c b/libvncserver/tightvnc-filetransfer/handlefiletransferrequest.c
index d9165ef..9def149 100644
--- a/libvncserver/tightvnc-filetransfer/handlefiletransferrequest.c
+++ b/libvncserver/tightvnc-filetransfer/handlefiletransferrequest.c
@@ -984,5 +984,3 @@ HandleFileCreateDirRequest(rfbClientPtr cl, rfbTightClientPtr rtcp)
CreateDirectory(dirName);
}
-
-
diff --git a/libvncserver/tightvnc-filetransfer/rfbtightserver.c b/libvncserver/tightvnc-filetransfer/rfbtightserver.c
index 9d89de1..933025f 100644
--- a/libvncserver/tightvnc-filetransfer/rfbtightserver.c
+++ b/libvncserver/tightvnc-filetransfer/rfbtightserver.c
@@ -62,7 +62,7 @@ rfbVncAuthSendChallenge(cl)
rfbClientPtr cl;
{
- // 4 byte header is alreay sent. Which is rfbSecTypeVncAuth (same as rfbVncAuth). Just send the challenge.
+ /* 4 byte header is alreay sent. Which is rfbSecTypeVncAuth (same as rfbVncAuth). Just send the challenge. */
rfbRandomBytes(cl->authChallenge);
if (rfbWriteExact(cl, (char *)cl->authChallenge, CHALLENGESIZE) < 0) {
rfbLogPerror("rfbAuthNewClient: write");
@@ -165,7 +165,7 @@ rfbSendAuthCaps(cl)
return;
if (cl->screen->authPasswdData && !cl->reverseConnection) {
- // chk if this condition is valid or not.
+ /* chk if this condition is valid or not. */
SetCapInfo(&caplist[count], rfbAuthVNC, rfbStandardVendor);
rtcp->authCaps[count++] = rfbAuthVNC;
}
@@ -294,8 +294,10 @@ rfbSendInteractionCaps(cl)
SetCapInfo(&enc_list[i++], rfbEncodingRRE, rfbStandardVendor);
SetCapInfo(&enc_list[i++], rfbEncodingCoRRE, rfbStandardVendor);
SetCapInfo(&enc_list[i++], rfbEncodingHextile, rfbStandardVendor);
+#ifdef LIBVNCSERVER_HAVE_LIBZ
SetCapInfo(&enc_list[i++], rfbEncodingZlib, rfbTridiaVncVendor);
SetCapInfo(&enc_list[i++], rfbEncodingTight, rfbTightVncVendor);
+#endif
SetCapInfo(&enc_list[i++], rfbEncodingCompressLevel0, rfbTightVncVendor);
SetCapInfo(&enc_list[i++], rfbEncodingQualityLevel0, rfbTightVncVendor);
SetCapInfo(&enc_list[i++], rfbEncodingXCursor, rfbTightVncVendor);
@@ -404,7 +406,7 @@ const rfbClientToServerMsg* msg;
/*
- // We shouldn't close the connection here for unhandled msg, it should be left to libvncserver.
+ We shouldn't close the connection here for unhandled msg, it should be left to libvncserver.
rfbLog(" ... closing connection\n");
rfbCloseClient(cl);
@@ -466,7 +468,7 @@ rfbHandleSecTypeTight(rfbClientPtr cl) {
rfbTightClientPtr rtcp = (rfbTightClientPtr) malloc(sizeof(rfbTightClientRec));
if(rtcp == NULL) {
- // Error condition close socket
+ /* Error condition close socket */
rfbLog("Memory error has occured while handling Tight security type... closing connection.\n");
rfbCloseClient(cl);
return;