Commit Graph

224 Commits (c5ba3fee85a7ecbbca1df5ffd46d32b92757bc2a)

Author SHA1 Message Date
Christian Beier c5ba3fee85
LibVNCClient: ignore server-sent cut text longer than 1MB
This is in line with how LibVNCServer does it
(28afb6c537) and fixes part of #273.
6 years ago
Christian Beier cfdbb94038
Merge pull request #263 from veyon/custom-auth-handlers
LibVNCClient: add support for custom auth handlers
6 years ago
Tobias Junghans 5f9a07d7e1 LibVNCClient: add support for custom auth handlers
This allows to register custom authentication handlers in order to
support additional security types.
6 years ago
Christian Beier f997b5a75f
Merge pull request #261 from veyon/misc-fixes
Misc fixes
6 years ago
Tobias Junghans a70d3b2710 common: d3des: drop unused rfbCPKey() 6 years ago
Tobias Junghans 9f5116eb53 LibVNCClient: pass buffer as const to WriteToTLS() 6 years ago
Tobias Junghans 09b2ed4381 Undef error codes before redefining them for WSA
Fixes compiler warnings about redefined macros from errno.h.
6 years ago
Tobias Junghans 343eaabd7c LibVNCClient: init pad field for set encodings msg 6 years ago
Tobias Junghans 597473be04 LibVNCClient: free buffers in rfbClientCleanup()
Buffers allocated by encoding handlers have to be freed as well.
6 years ago
Christian Beier 7b1ef0ffc4
LibVNCClient: really fix #250 6 years ago
Christian Beier 4a21bbd097
LibVNCClient: make sure Ultra decoding cannot dereference a null pointer
Closes #254
6 years ago
Christian Beier a83439b9fb
LibVNCClient: fix three possible heap buffer overflows
An attacker could feed `0xffffffff`, causing a `malloc(0)` for the
buffers which are subsequently written to.

Closes #247
6 years ago
Christian Beier 09f2f3fb6a
LibVNCClient: make sure ReadFromRFBServer() does not write after buffer end in CoRRE decoding
Closes #250
6 years ago
Christian Beier c3115350eb
LibVNCClient: fix possible infinite loop
Closes #251
6 years ago
Christian Beier 2f5b2ad1c6
LibVNCClient: don't leak uninitialised memory to remote
The pad fields of the rfbClientCutTextMsg and rfbKeyEventMsg could contain arbitray memory belonging to the process,
don't leak this to the remote.

Closes #252
6 years ago
Christian Beier 8b06f835e2
When connecting to a repeater, only send initialised string
Closes #253
6 years ago
Christian Beier e611616723
Remove the turbojpeg.h dependency from public headers
Closes #230
6 years ago
Christian Beier b997331e52
Merge pull request #215 from BastiaanOlij/fix_nozlib_compile_error
libvncclient: zrle.c: Move undef of REALBPP down

rfbproto.c which includes this file expects an undefined REALBPP after the inclusion. Do this whether or not there is zlib available.
7 years ago
Christian Beier 078590786c
libvncclient/sasl: prefix the header guard (again) to fix a warning 7 years ago
Bastiaan Olij c5b8763b61 Moved undef of REALBPP down 7 years ago
Christian Beier d34c7b07ac
Merge pull request #203 from dcommander/turbovnc-client
Include Tight decoding optimizations from TurboVNC
7 years ago
DRC d7b14624cb Include Tight decoding optimizations from TurboVNC
- As with the encoder, the decoder now uses the TurboJPEG wrapper, which
  allows it to decode JPEG images directly into the framebuffer.  This
  eliminates a buffer copy (CopyRectangle()) as well as the expensive
  RGB pixel conversion in DecompressJpegRectBPP().  The TurboJPEG
  wrapper performs RGB pixel conversion more optimally, and only when
  necessary (it uses the libjpeg-turbo colorspace extensions when
  available, in order to avoid RGB conversion.)
- The other Tight subencoding types are also now decoded directly into
  the framebuffer, which eliminates buffer copies.
- The Tight decoder now supports the rfbTightNoZlib extension, which
  allows the server to bypass zlib compression when Compression Level 0
  is selected.  The encoder already supports this extension.  Passing
  the data stream through zlib when Compression Level 0 is selected
  needlessly wastes CPU time, since all zlib is doing is copying the
  data internally into its own structures.
7 years ago
Wiki Wang beb82f8dde Add trle decoder 8 years ago
Christian Beier 6814e946e0
libvncclient: rename rfbsasl.[c|h] to sasl.[c|h] to be in line with naming of other files 8 years ago
Christian Beier df11e806a3
Move HAVE_SASL #ifdefs into header file to have less LOC 8 years ago
Christian Beier 98e1be528f
Merge branch 'sasl2' of git://github.com/simonwaterman/libvncserver into simonwaterman-sasl2 8 years ago
simon cb4e15c1ae Added SASL authentication support
Added SASL support to OpenSSL
8 years ago
Christian Beier 0fcd4a3b52 Merge pull request #175 from simonwaterman/x509verify
Added support for X509 server certificate verification
8 years ago
simon 2c87a631fa X509 certificate verification for OpenSSL 8 years ago
simon cc10eab7eb Removed comment left over from development 8 years ago
simon cc69ee96e1 Modified certificate verification for compatibility with GnuTLS 2.12.23 8 years ago
simon 6c312aaf5b Added support for X509 server certificate verification as part of the handshake process. 8 years ago
dborth 652f5a4b1c
Set trueColour flag to 1 instead of 255
It turns out some server implementations (namely VMware ESXi 6.5) expect
1 as the only non-zero value for the SetPixelFormat message whereas the protocol
states every non-zero value is valid
(https://github.com/rfbproto/rfbproto/blob/master/rfbproto.rst#setpixelformat).

Anyway, setting this to 1 shouldn't hurt.

Fixes #141
8 years ago
Christian Beier 80ad74f761
Fix building for Android and add build instructions to README 8 years ago
Christian Beier ec6d0f7259
Fix a compiler warning 8 years ago
Christian Beier e03b5750f8
Merge branch 'circle' of https://github.com/ldmnyblzs/libvncserver into ldmnyblzs-circle
Conflicts:
	libvncclient/rfbproto.c
8 years ago
Bert van Hall fe94339587 drop autotools
Since autotools officially is no longer supported (see various github
issues), drop the related infrastructure to stop tempting people to use
it for building.

Signed-off-by: Bert van Hall <bert.vanhall@gmx.de>
8 years ago
Bert van Hall cca9892deb
libvncclient/tls_openssl: support openssl 1.1.x
Treat openSSL data structures as opaque to achieve compatibility with
openSSL 1.1.x. While at it, fix order of cleaning up in
open_ssl_connection().

Signed-off-by: Bert van Hall <bert.vanhall@avionic-design.de>
8 years ago
Christian Beier dede3aea22 Fix LibVNCClient compilation with MSVC 2014 8 years ago
Christian Beier 78f26fe1ff
Fix building on OSX. 8 years ago
Josef Gajdusek 5fff4353f6 Fix heap overflow in the ultra.c decoder
The Ultra type tile decoder does not use the _safe variant of the LZO
decompress function, which allows a maliciuous server to overwrite parts of the
heap by sending a larger-than-specified LZO data stream.
8 years ago
Josef Gajdusek 5418e8007c Fix heap overflows in the various rectangle fill functions
Altough rfbproto.c does check whether the overall FramebufferUpdate rectangle is
too large, some of the individual encoding decoders do not, which allows a
malicious server to overwrite parts of the heap.
8 years ago
Balazs Ludmany a01a18df1d Add function pointers for every type of rectangle 9 years ago
Christian Beier ddabcb67a6 Merge pull request #105 from cgeorges82/master
fix for issue #97. Also, this fixes cmake builds for other platforms.
9 years ago
Christian Beier 785f0fa2d1 Merge pull request #103 from rdieter/master
use namespaced vnc_max macro (issue #102)
9 years ago
Christian Beier fc3dfdd9c5 Merge pull request #118 from gbdj/threadsafe-100-squash
libvncclient/tls_gnutls.c: Add hooks to WriteToTLS() for optional protection by mutex. (Squashed)
9 years ago
gbdj 1da7872784 libvncclient/tls_gnutls.c: Add hooks to WriteToTLS() for optional protection by mutex. Fix upstream issue #100
Squashed commit of the pull request #101 :
commit 1c7e01e81862bc46508e675e83c74cc6d63224b0
commit 1e749b094d6696380d3f0540a00138d7e3427874
9 years ago
Rex Dieter 53cc1fa18a use namespaced rfbMax macro (issue #102)
Not using generic 'max', avoids conflicts with stl_algobase.h
9 years ago
Christian Beier d28d20f56d Merge pull request #110 from AlexejStukov/patch-1
break statement out of case
9 years ago
zbierak 9b82dee3a4 Fix buffer overflow when applying client encodings 9 years ago