Commit 92f558482d added stdint.h to get
the type definitions, but included it after the first use of int8_t in
builds for Windows.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
Commit 97f442ef2a tried to improve the
endianness detection, but introduced a typo and problems for Windows
builds (no endian.h, different definition of LIBVNCSERVER_WORDS_BIGENDIAN).
Fix both issues.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
OS X RealVNC server crashes out Remmina because the server can provoke
bytesPerLine to be zero. Assume this is coding for zero lines.
The condition could be checked before the calculation of bytesPerLine.
I don’t understand the preconditions of this code to say one way or the
other.
- When processing input, check if there is any extra data
pending in the internal websocket frame and SSL buffers.
- Prevents input events lagging behind because they get
stuck in one of the buffers.
Data pending in our own buffers cannot be detected with
select() so was not processed until more input arrives
from the network.
- Closes # 55
Signed-off-by: Floris Bos <bos@je-eigen-domein.nl>
https://www.gnupg.org/documentation/manuals/gcrypt/Initializing-the-library.html
"Before the library can be used, it must initialize itself.
This is achieved by invoking the function gcry_check_version"
Closes issue #45
Tested with krdc + libgcrypt 1.6.1 (libgcrypt20-dev Ubunutu package)
connecting to a Mac Mini.
Signed-off-by: Floris Bos <bos@je-eigen-domein.nl>
On some systems pthread_mutexattr_settype() and PTHREAD_MUTEX_RECURSIVE are
not available by default.
Either _XOPEN_SOURCE or _POSIX_C_SOURCE needs to be set to to the right level
before including any system include file in order to have them exposed.
Fixes the following compile error:
==
tls_openssl.c: In function 'dyn_create_function':
tls_openssl.c:91:2: warning: implicit declaration of function 'pthread_mutexattr_settype' [-Wimplicit-function-declaration]
MUTEX_INIT(value->mutex);
^
tls_openssl.c:42:40: error: 'PTHREAD_MUTEX_RECURSIVE' undeclared (first use in this function)
pthread_mutexattr_settype(&mutexAttr, PTHREAD_MUTEX_RECURSIVE);\
^
tls_openssl.c:91:2: note: in expansion of macro 'MUTEX_INIT'
MUTEX_INIT(value->mutex);
^
tls_openssl.c:42:40: note: each undeclared identifier is reported only once for each function it appears in
pthread_mutexattr_settype(&mutexAttr, PTHREAD_MUTEX_RECURSIVE);\
^
tls_openssl.c:91:2: note: in expansion of macro 'MUTEX_INIT'
MUTEX_INIT(value->mutex);
^
tls_openssl.c: In function 'InitializeTLS':
tls_openssl.c:42:40: error: 'PTHREAD_MUTEX_RECURSIVE' undeclared (first use in this function)
pthread_mutexattr_settype(&mutexAttr, PTHREAD_MUTEX_RECURSIVE);\
^
tls_openssl.c:156:5: note: in expansion of macro 'MUTEX_INIT'
MUTEX_INIT(mutex_buf[i]);
^
tls_openssl.c: In function 'ssl_verify':
tls_openssl.c:177:7: warning: variable 'err' set but not used [-Wunused-but-set-variable]
int err, i;
^
tls_openssl.c:176:14: warning: variable 'client' set but not used [-Wunused-but-set-variable]
rfbClient *client;
^
make[3]: *** [tls_openssl.lo] Error 1
==
Signed-off-by: Floris Bos <bos@je-eigen-domein.nl>
Fixes the following compiler warnings.
gtkvncviewer:
==
CC gtkvncviewer-gtkvncviewer.o
gtkvncviewer.c: In function ‘GtkDefaultLog’:
gtkvncviewer.c:591:2: warning: format not a string literal and no format arguments [-Wformat-security]
fprintf (stdout, buf);
^
==
libvncclient:
==
CC rfbproto.lo
In file included from rfbproto.c:2376:0:
zrle.c: In function 'HandleZRLE8':
zrle.c:201:5: warning: pointer targets in passing argument 2 of 'HandleZRLETile8' differ in signedness [-Wpointer-sign]
int result=HandleZRLETile(client,buf,remaining,rx+i,ry+j,subWidth,subHeight);
^
zrle.c:37:33: note: expected 'uint8_t *' but argument is of type 'char *'
#define HandleZRLETile CONCAT2E(HandleZRLETile,REALBPP)
^
rfbproto.c:2364:22: note: in definition of macro 'CONCAT2'
#define CONCAT2(a,b) a##b
^
zrle.c:37:24: note: in expansion of macro 'CONCAT2E'
#define HandleZRLETile CONCAT2E(HandleZRLETile,REALBPP)
^
zrle.c:79:12: note: in expansion of macro 'HandleZRLETile'
static int HandleZRLETile(rfbClient* client,
^
In file included from rfbproto.c:2385:0:
zrle.c: In function 'HandleZRLE16':
zrle.c:201:5: warning: pointer targets in passing argument 2 of 'HandleZRLETile16' differ in signedness [-Wpointer-sign]
int result=HandleZRLETile(client,buf,remaining,rx+i,ry+j,subWidth,subHeight);
^
zrle.c:37:33: note: expected 'uint8_t *' but argument is of type 'char *'
#define HandleZRLETile CONCAT2E(HandleZRLETile,REALBPP)
^
rfbproto.c:2364:22: note: in definition of macro 'CONCAT2'
#define CONCAT2(a,b) a##b
^
zrle.c:37:24: note: in expansion of macro 'CONCAT2E'
#define HandleZRLETile CONCAT2E(HandleZRLETile,REALBPP)
^
zrle.c:79:12: note: in expansion of macro 'HandleZRLETile'
static int HandleZRLETile(rfbClient* client,
^
In file included from rfbproto.c:2387:0:
zrle.c: In function 'HandleZRLE15':
zrle.c:201:5: warning: pointer targets in passing argument 2 of 'HandleZRLETile15' differ in signedness [-Wpointer-sign]
int result=HandleZRLETile(client,buf,remaining,rx+i,ry+j,subWidth,subHeight);
^
zrle.c:37:33: note: expected 'uint8_t *' but argument is of type 'char *'
#define HandleZRLETile CONCAT2E(HandleZRLETile,REALBPP)
^
rfbproto.c:2364:22: note: in definition of macro 'CONCAT2'
#define CONCAT2(a,b) a##b
^
zrle.c:37:24: note: in expansion of macro 'CONCAT2E'
#define HandleZRLETile CONCAT2E(HandleZRLETile,REALBPP)
^
zrle.c:79:12: note: in expansion of macro 'HandleZRLETile'
static int HandleZRLETile(rfbClient* client,
^
In file included from rfbproto.c:2396:0:
zrle.c: In function 'HandleZRLE32':
zrle.c:201:5: warning: pointer targets in passing argument 2 of 'HandleZRLETile32' differ in signedness [-Wpointer-sign]
int result=HandleZRLETile(client,buf,remaining,rx+i,ry+j,subWidth,subHeight);
^
zrle.c:37:33: note: expected 'uint8_t *' but argument is of type 'char *'
#define HandleZRLETile CONCAT2E(HandleZRLETile,REALBPP)
^
rfbproto.c:2364:22: note: in definition of macro 'CONCAT2'
#define CONCAT2(a,b) a##b
^
zrle.c:37:24: note: in expansion of macro 'CONCAT2E'
#define HandleZRLETile CONCAT2E(HandleZRLETile,REALBPP)
^
zrle.c:79:12: note: in expansion of macro 'HandleZRLETile'
static int HandleZRLETile(rfbClient* client,
^
In file included from rfbproto.c:2398:0:
zrle.c: In function 'HandleZRLE24':
zrle.c:201:5: warning: pointer targets in passing argument 2 of 'HandleZRLETile24' differ in signedness [-Wpointer-sign]
int result=HandleZRLETile(client,buf,remaining,rx+i,ry+j,subWidth,subHeight);
^
zrle.c:37:33: note: expected 'uint8_t *' but argument is of type 'char *'
#define HandleZRLETile CONCAT2E(HandleZRLETile,REALBPP)
^
rfbproto.c:2364:22: note: in definition of macro 'CONCAT2'
#define CONCAT2(a,b) a##b
^
zrle.c:37:24: note: in expansion of macro 'CONCAT2E'
#define HandleZRLETile CONCAT2E(HandleZRLETile,REALBPP)
^
zrle.c:79:12: note: in expansion of macro 'HandleZRLETile'
static int HandleZRLETile(rfbClient* client,
^
In file included from rfbproto.c:2401:0:
zrle.c: In function 'HandleZRLE24Down':
zrle.c:201:5: warning: pointer targets in passing argument 2 of 'HandleZRLETile24Down' differ in signedness [-Wpointer-sign]
int result=HandleZRLETile(client,buf,remaining,rx+i,ry+j,subWidth,subHeight);
^
zrle.c:40:33: note: expected 'uint8_t *' but argument is of type 'char *'
#define HandleZRLETile CONCAT3E(HandleZRLETile,REALBPP,Down)
^
rfbproto.c:2366:24: note: in definition of macro 'CONCAT3'
#define CONCAT3(a,b,c) a##b##c
^
zrle.c:40:24: note: in expansion of macro 'CONCAT3E'
#define HandleZRLETile CONCAT3E(HandleZRLETile,REALBPP,Down)
^
zrle.c:79:12: note: in expansion of macro 'HandleZRLETile'
static int HandleZRLETile(rfbClient* client,
^
In file included from rfbproto.c:2404:0:
zrle.c: In function 'HandleZRLE24Up':
zrle.c:201:5: warning: pointer targets in passing argument 2 of 'HandleZRLETile24Up' differ in signedness [-Wpointer-sign]
int result=HandleZRLETile(client,buf,remaining,rx+i,ry+j,subWidth,subHeight);
^
zrle.c:43:33: note: expected 'uint8_t *' but argument is of type 'char *'
#define HandleZRLETile CONCAT3E(HandleZRLETile,REALBPP,Up)
^
rfbproto.c:2366:24: note: in definition of macro 'CONCAT3'
#define CONCAT3(a,b,c) a##b##c
^
zrle.c:43:24: note: in expansion of macro 'CONCAT3E'
#define HandleZRLETile CONCAT3E(HandleZRLETile,REALBPP,Up)
^
zrle.c:79:12: note: in expansion of macro 'HandleZRLETile'
static int HandleZRLETile(rfbClient* client,
^
==
Signed-off-by: Floris Bos <bos@je-eigen-domein.nl>