summaryrefslogtreecommitdiffstats
path: root/libvncclient
Commit message (Collapse)AuthorAgeFilesLines
* `strings.h` and `resolv.h` are not available on MSVC, and some POSIX ↵Daniel Cohen Gindi2014-09-202-1/+10
| | | | | | functions are renamed or deprecated For all of those missing/deprecated POSIX functions, we just add a macro mapping to the _underscored version of MSVC.
* Fix tv_usec calculationJohannes Schindelin2014-09-021-1/+1
| | | | | | This bug was introduced in the MSVC patches. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* Use Windows' critical sections to emulate pthread's mutexesDaniel Cohen Gindi2014-09-021-13/+36
| | | | | | | | | | | With Microsoft Visual C++, we cannot use pthreads (MinGW sports an emulation library which is the reason we did not need Windows-specific hacks earlier). Happily, it is very easy to provide Windows-specific emulations for the pthread calls we use. [JES: fixed commit message] Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* Perform pointer arithmetic on char * instead of void *Daniel Cohen Gindi2014-09-021-1/+1
| | | | | | | | Microsoft Visual C++ does not allow pointer arithmetic on void pointers. [JES: fixed commit message] Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* MSVC: Use the Unix emulation headersDaniel Cohen Gindi2014-09-021-1/+7
| | | | | | [JES: provided commit message, split out unrelated changes] Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* Use WIN32 for Windows-specific #ifdef guardsDaniel Cohen Gindi2014-09-023-7/+11
| | | | | | | | | | | | To support Microsoft Visual C++, we must not guard Windows-specific code in MinGW-specific #ifdef guards. Happily, even 64-bit MSVC defines the WIN32 constant, therefore we can use that instead. [JES: fixed commit message, reordered commit, split out unrelated changes] Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* MSVC: Use _snprintf instead of snprintfDaniel Cohen Gindi2014-09-023-0/+12
| | | | | | | | | In Microsoft's Visual C runtime, the snprintf() function is actually called _snprintf. Let's just #define the former to call the latter. [JES: fixed commit message] Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* Include Winsock2 header before windows.h includeDaniel Cohen Gindi2014-09-021-2/+5
| | | | | | | | | | | | That's because there are duplicate #defines, and when Winsock2 is defined before windows.h then windows.h detects that and prevent redefinition. See http://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/4a90b143-1fb8-43e9-a54c-956127e0c579/windowsh-and-winsock2h?forum=windowssdk [JES: fixed commit message] Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* Remove unused variablesDaniel Cohen Gindi2014-09-021-7/+0
| | | | | | | | | This change is technically not required to support MSVC, but it was detected by Microsoft's compiler. [JES: fixed commit message] Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* Fix indentationJohannes Schindelin2014-08-162-3/+3
| | | | Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* Check for MallocFrameBuffer() return valuenewsoft2014-08-152-4/+9
| | | | | | If MallocFrameBuffer() returns FALSE, frame buffer pointer is left to NULL. Subsequent writes into that buffer could lead to memory corruption, or even arbitrary code execution.
* Fix integer overflow in MallocFrameBuffer()newsoft2014-08-151-1/+19
| | | | | Promote integers to uint64_t to avoid integer overflow issue during frame buffer allocation for very large screen sizes
* Initialize padding in SetFormatAndEncodings' rfbSetPixelFormatMsg.Matthias Treydte2014-06-231-0/+2
|
* Merge branch 'repeater'Johannes Schindelin2014-04-051-0/+3
|\ | | | | | | | | | | | | Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Conflicts: .gitignore
| * libvncclient: If we have TLS support, enable VeNCrypt by defaultJohannes Schindelin2014-04-051-0/+3
| | | | | | | | Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* | Address #12 ClientData does not get freedRobbert Klarenbeek2014-03-301-0/+6
|/ | | | | | | rfbClientSetClientData() allocates a new rfbClientData, but never gets cleaned up, which causes memory leaks. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* LibVNCClient: Add H.264 encoding for framebuffer updatesDavid Verbeiren2013-01-254-1/+676
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch implements support in LibVNCClient for framebuffer updates encoded as H.264 frames. Hardware accelerated decoding is performed using VA API. This is experimental support to let the community explore the possibilities offered by the potential bandwidth and latency reductions that H.264 encoding allows. This may be particularly useful for use cases such as online gaming, hosted desktops, hosted set top boxes... This patch only provides the client side support and is meant to be used with corresponding server-side support, as provided by an upcoming patch for qemu ui/vnc module (to view the display of a virtual machine executing under QEMU). With this H.264-based encoding, if multiple framebuffer update messages are generated for a single server framebuffer modification, the H.264 frame data is sent only with the first update message. Subsequent update framebuffer messages will contain only the coordinates and size of the additional updated regions. Instructions/Requirements: * The patch should be applied on top of the previous patch I submitted with minor enhancements to the gtkvncviewer application: http://sourceforge.net/mailarchive/message.php?msg_id=30323804 * Currently only works with libva 1.0: use branch "v1.0-branch" for libva and intel-driver. Those can be built as follows: cd libva git checkout v1.0-branch ./autogen.sh make sudo make install cd .. git clone git://anongit.freedesktop.org/vaapi/intel-driver cd intel-driver git checkout v1.0-branch ./autogen.sh make sudo make install Signed-off-by: David Verbeiren <david.verbeiren@intel.com>
* Include strings.h for strncasecmp(3)Raphael Kubo da Costa2012-09-141-0/+1
|
* Tune the definitions needed when building with -ansi.Raphael Kubo da Costa2012-09-142-0/+6
| | | | | | | | | | | | | The current definitions were mostly useful to glibc and followed its feature_test_macros(3) documentation. However, this means other platforms still had problems when building with strict compilation flags. _BSD_SOURCE, for example, is only recognized by glibc, and other platforms sometimes need _XOPEN_SOURCE instead, or even the removal of some definitions (such as the outdate _POSIX_SOURCE one). _POSIX_SOURCE also had to be conditionally defined in some places, as what it enables or disables during compilation varies across systems.
* Fix in milliseconds to struct timeval conversionRostislav Lisovy2012-07-201-1/+1
| | | | | Signed-off-by: Rostislav Lisovy <lisovy@gmail.com> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* Fix some compiler warnings that hinted some no too unimportant errors.Christian Beier2012-05-092-3/+3
|
* LibVNCClient: #undef these types in case it's WIN32.Christian Beier2012-05-031-4/+4
| | | | | The various other headers include windows.h and the winsock headers which give an error when SOCKET and socklen_t are already defined.
* Fix libvncclient make dist.Christian Beier2012-04-251-1/+1
|
* Added support for UltraVNC Single Click as originally proposed by Noobius ↵Monkey2012-04-231-0/+8
| | | | | | (Boobius) on 6/1/11. Original thread: http://sourceforge.net/tracker/?func=detail&aid=3310255&group_id=32584&atid=405860
* LibVNCClient: Fix build with no SSL/TLS library available.Christian Beier2012-04-151-0/+2
|
* LibVNCClient: properly free the openssl session stuff on shutdown.Christian Beier2012-04-151-13/+14
|
* LibVNCClient: Remove all those WITH_CLIENT_TLS #ifdefs and move GnuTLS ↵Christian Beier2012-04-154-66/+15
| | | | specific functionality into tls_gnutls.c.
* Add the OpenSSL libvncclient TLS version to the build system.Christian Beier2012-04-144-1/+657
|
* IPv6 support for LibVNCServer, part four: add copyright notices to files ↵server-ipv6Christian Beier2012-04-022-0/+2
| | | | with non-trivial changes.
* IPv6 support for LibVNCServer, part three: make reverse connections ↵Christian Beier2012-03-103-12/+129
| | | | | | | | IPv6-capable. Besided making libvncserver reverseVNC IPv6-aware, this introduces some changes on the client side as well to make clients listen on IPv6 sockets, too. Like the server side, this also uses a separate-socket approach.
* Add an optional parameter to specify the ip address for reverse connectionsLuca Stauble2012-02-033-3/+21
| | | | | | | | | | | | | | | | For security reasons, it can be important to limit which IP addresses a LibVNCClient-based client should listen for reverse connections. This commit adds that option. To preserve binary backwards-compatibility, the field was added to the end of the rfbclient struct, and the function ListenAtTcpPort retains its signature (but calls the new ListenAtTcpPortAndAddress). [jes: shortened the commit subject, added a longer explanation in the commit body and adjusted style] Signed-off-by: Luca Stauble <gnekoz@gmail.com> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* When GetCredential() callback is not set, don't use authentications ↵Christian Beier2011-11-091-2/+2
| | | | | | | requiring it. The auth methods that employ Getcredential() will only be used if the client's GetCredential callback is actually set.
* Replace deprecated GnuTLS functions gnutls_*_set_priority with ↵Vic Lee2011-04-271-9/+6
| | | | | | | | | | | | | gnutls_priority_set_direct. The functions gnutls_*_set_priority we used were marked deprecated since latest GnuTLS version 2.12. However the replacement function gnutls_priority_set_direct is available since 2.2, which is even lower than our version requirement 2.4 in configure. The patch just replace the deprecate function to fix the compile warning. Signed-off-by: Vic Lee <llyzs@163.com> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
* Fix regression in Ultra encoding introduced by commit ↵Christian Beier2011-03-171-2/+2
| | | | | | fe1ca16e9b75b5f38ab374c8dfff92d2c3ea4532. My bad. There we see what the encodings test is good for ;-)
* Remove useless comparisons that always evaluate to false.Christian Beier2011-03-171-6/+1
| | | | | There can not be more than 255 security types and MSLogon is RFB 3.6 only.
* Fix (most) MinGW32 compiler warnings.Christian Beier2011-03-174-4/+7
|
* Fix libvncclient TLS for Windows builds.Christian Beier2011-03-121-5/+39
| | | | | | | GnuTLS seems to expect proper errno values internally. So set them in our custom push/pull functions. Parts of the patch stolen from libcurl, thanks! Signed-off-by: Christian Beier <dontmind@freeshell.org>
* Let libvncclient build with gcrypt for MinGW32 builds.Christian Beier2011-03-121-0/+4
| | | | Signed-off-by: Christian Beier <dontmind@freeshell.org>
* Use WaitForMessage instead of sleep in socket reading to fix performance issue.Vic Lee2011-03-121-10/+2
| | | | Signed-off-by: Christian Beier <dontmind@freeshell.org>
* Call WSAGetLastError() everywhere errno is read after a Winsock call.Christian Beier2011-03-032-1/+14
| | | | | Winsock does NOT update errno for us, we have fetch the last error manually using WSAGetLastError().
* Update minilzo library used for Ultra encoding to ver 2.04.Christian Beier2011-02-261-1/+1
| | | | | | | | | | According to the minilzo README, this brings a significant speedup on 64-bit architechtures. Changes compared to old version 1.08 can be found here: http://www.oberhumer.com/opensource/lzo/lzonews.php Signed-off-by: Christian Beier <dontmind@freeshell.org>
* Remove unneeded files concerning CVS.Christian Beier2011-01-311-5/+0
| | | | | | We have a git repo nowadays and I guess we won't go back to CVS. Signed-off-by: Christian Beier <dontmind@freeshell.org>
* Add ARD (Apple Remote Desktop) security type supportVic Lee2011-01-311-0/+216
| | | | | Signed-off-by: Vic Lee <llyzs@163.com> Signed-off-by: Christian Beier <dontmind@freeshell.org>
* Put files used by both libs into a 'common' dir.Christian Beier2011-01-256-3492/+6
| | | | | | | | | No functional changes. All files used by _both_ libvncserver and libvncclient are put into a 'common' directory and references from other files as well as Autotools and CMake build systems are updated. Signed-off-by: Christian Beier <dontmind@freeshell.org>
* libvnc[server|client]: implement xvp VNC extension.Christian Beier2010-11-021-0/+52
| | | | | | | This implements the xvp VNC extension, which is described in the community version of the RFB protocol: http://tigervnc.sourceforge.net/cgi-bin/rfbproto It is also mentioned in the official RFB protocol.
* Only define strncasecmp to _strnicmp when using MS compiler.Christian Beier2010-10-211-5/+1
| | | | | | | Redefining strncasecmp to _strnicmp makes libvncclient hang forever in SetFormatAndEncodings() on Windows when built with MinGW64. Reported by Tobias Doerffel <tobias.doerffel@gmail.com>, thanks!
* Fix build failure wrt IP QoS support in libvncclient.Christian Beier2010-10-201-1/+1
| | | | | | This is a small addendum to 0797e42a4aaf8131ae71899faea2d682ed81cb59. Seems that having IPv6 support in the OS does not necessarily mean that IPV6_TCLASS is available. One such case seems to be Mac OS X 10.5.
* Avoid 100% CPU usage when calling ReadFromRFBServer and no available bytes ↵Vic Lee2010-10-131-0/+10
| | | | | | | to read Signed-off-by: Vic Lee <llyzs@163.com> Signed-off-by: Christian Beier <dontmind@freeshell.org>
* IP QoS support in libvncclient.Christian Beier2010-09-293-0/+56
| | | | | | | | | | This enables setting the DSCP/Traffic Class field of IP/IPv6 packets sent by a client. For example starting a client with -qosdscp 184 marks all outgoing traffic for expedited forwarding. Implementation for Win32 is still a TODO, though. See http://betelco.blogspot.com/2009/03/dscp-marking-under-windows-at.html for an overview of the Win32 QoS API mess...
* Non-blocking sockets for Windows.Christian Beier2010-09-131-6/+9
| | | | | | | | | | | Expands the SetNonBlocking() function in libvncclient/sockets.c to also work under Windows and also changes it to honour maybe already present socket flags. A similar function was introduced for libvncserver as well and all the #ifdef'ed fnctl calls replaced with calls to that one. Signed-off-by: Christian Beier <dontmind@freeshell.org>
OpenPOWER on IntegriCloud