summaryrefslogtreecommitdiffstats
path: root/java/com/tigervnc/rfb
Commit message (Collapse)AuthorAgeFilesLines
* More cleanup of x509 exception handling in java viewerBrian P. Hinz2015-10-111-27/+20
| | | | Also removed some unnecessary functions & variables in CSecurityTLS
* Cleanup exception handling for x509* auth types in java viewerBrian P. Hinz2015-10-101-58/+17
|
* Added hostname verification for x509 authentication typesBrian P. Hinz2015-10-091-3/+80
|
* Don't exit completely if single viewer declines server certBrian P. Hinz2015-09-201-4/+8
| | | | | | Prevents viewer from exiting completely just because user declined to trust the server certificate for a single connection. Copied from TurboVNC.
* Fixes for X509 CA certificate handlingBrian P. Hinz2015-09-191-24/+97
| | | | | | | | | 95f39a5 introduced a regression whereby an exception would be thrown when a PEM encoded CA certificate file containing one or more blank lines was read in under Apple Java 6. Additionally, CA certs were being appended to the ~/.vnc/x509_savedcerts.pem file even if they were already included in it. Also fixes a possible FileNotFoundException if the x509_savedcerts.pem file didn't exist.
* Handle CA chain certificatesBrian P. Hinz2015-09-131-4/+7
| | | | | Allow the Java client to read CA certificates containing multiple certs concatenated together.
* Improve handling of x509 authenticationBrian P. Hinz2015-09-131-24/+101
| | | | | | | Fixes #193 and also adds automatic certificate saving feature like the Fltk viewer. Also pulls in CA certificates from all trusted authorities known to the JRE for the case when the server is using a certificate from a top-level authority.
* Decode serverCutText to ISO-8859-1Brian P. Hinz2015-03-021-7/+6
| | | | Java viewer was incorrectly attempting to decode incoming clipboard updates to UTF-8 instead of Latin-1.
* Don't violate RFB spec by sending UTF-8Brian P. Hinz2015-03-011-6/+5
| | | | Java viewer was violating the RFB specification by sending UTF-8 encoded clipboard text rather than ISO-8859-1.
* Major overhaul of SSLEngineManagerBrian P. Hinz2014-11-021-14/+16
| | | | | | | | | | | | | | | | | | | | | | | | The SSLEngineManager was basically an abomination. The work is now done as it should be, with the buffers being fed and the engine deciding when data is consumed or produced. The engine should be much more robust now as well. Additionally, although JRE 7 supports the TLSv1.1 and TLSv1.2 protocols, they are not actually enabled by default. The JSSE reference cites compatibility reasons for this but this doesn't appear to be the case with the TigerVNC server and they will be enabled by default in JRE 8. The regular expression for enabling anonymous DH cipher suites was too narrow and excluded the elliptic curve ciphers, which are now ordered ahead of the ephemeral ciphers by the default security provider. Lastly, increase the size of the buffer in FdOutStream from 8Kb to 16Kb. I'm not sure why FdInStream and FdOutStream were asymmetric to begin with, but 16Kb is the default size for TLS packets and there seems to be now negative effects on plain text connections.
* Updated copyright noticesBrian Hinz2013-12-292-2/+4
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5148 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Another overhaul of the key event handlers. There was a fundamental flaw in ↵Brian Hinz2013-12-292-791/+1076
| | | | | | the previous implementation due to the fact that java key modifiers associated with a key_pressed or key_released event are reported with respect to each particular event. Thus, for example a key sequence of CTRL press, letter press, CTRL release, letter release never sends the corresponding release for the CTRL+letter down event. Key events are now synchronized on a monitor object to help ensure that the key sequence is preserved. This implementation mirrors the fltk viewer quite closely and, as far as I can tell, is capable of sending all of the same keysyms. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5147 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Applied DRC's patch to fix broken RRE decoder in java clientBrian Hinz2013-10-031-1/+2
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5136 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Whitespace cleanup onlyBrian Hinz2013-05-1254-331/+331
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5097 3789f03b-4d11-0410-bbf8-ca57d06f2519
* More fixes for key event issues. It seems that on WindowsXP sending the ↵Brian Hinz2013-03-251-0/+40
| | | | | | actual key press/release separately can be mis-interpreted by the server as holding the key down. Using a keyTyped event for all character input ensures that we can send an immediate down/up. It also works around the broken AltGr detection in Java 6. Also added support for more keys (F13-F24, etc.). Some key definitions in java don't have X11 equivalents or I could not be sure so I've left them commented out. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5066 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Backported a number of fixes/enhancements (mostly related to keymapping) ↵Brian Hinz2013-03-031-3/+36
| | | | | | from TurboVNC viewer. Also cleaned up some whitespace and minor formatting changes. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5056 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Using DirectColorModel constructor with an alpha mask other than 0 creates a ↵Brian Hinz2013-03-011-3/+3
| | | | | | ColorMap with Transparency.TRANSLUCENT rather than OPAQUE. This in turn causes rendering between opaque BufferedImages or to the screen to be performed without HW acceleration. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5052 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Cleanup linter warnings wherever possible and suppress all linter warnings ↵Brian Hinz2012-12-146-12/+12
| | | | | | from Jsch code git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5020 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Fixes regression introduced by r5016 (exception produced when connecting to ↵Brian Hinz2012-12-111-1/+4
| | | | | | 8bpp server) git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5017 3789f03b-4d11-0410-bbf8-ca57d06f2519
* fixed bug where IndexColorModel was reset when switching to 8bpp from ↵Brian Hinz2012-12-061-4/+3
| | | | | | another depth git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5016 3789f03b-4d11-0410-bbf8-ca57d06f2519
* r4960 broke support for pixel formats with depth < 24. This corrects that ↵Brian Hinz2012-09-011-2/+3
| | | | | | and also forces a full framebuffer update whenever the format is changed. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4986 3789f03b-4d11-0410-bbf8-ca57d06f2519
* adds initial support for loading & saving of both configuration files and ↵Brian Hinz2012-08-292-20/+85
| | | | | | user preferences git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4980 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Implemented rfb/Configuration similar to the native client methods. Added ↵Brian Hinz2012-05-148-59/+353
| | | | | | equivalent cmd line options for all native client options except "-menuKey", which needs a little more work on the GUI side before it can be added. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4913 3789f03b-4d11-0410-bbf8-ca57d06f2519
* improve readability of usage message displayed by Java viewer.Brian Hinz2012-05-061-1/+1
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4909 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Update address of FSF and copyright notices to assign proper credit.Brian Hinz2012-04-1154-61/+94
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4888 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Prevent viewer from reconfiguring viewport on pixel format changes.Brian Hinz2012-04-051-1/+1
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4881 3789f03b-4d11-0410-bbf8-ca57d06f2519
* BufferedImage performance is poor on Microsoft Windows platforms, so ↵Brian Hinz2012-04-053-24/+15
| | | | | | fallback to the 1.2 implementation if the BI cannot be HW accelerated. Also streamline some of the code by removing synchronized statements and making the method calls themselves synchronized. Modification to the selector implementation to make it behave more like a unix selector git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4880 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Fixes handshake failure caused by premature loop break when data is not ready.Brian Hinz2012-03-192-8/+8
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4872 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Changes aimed at making the behavior of the java client more consistent with ↵Brian Hinz2012-03-182-49/+90
| | | | | | the binary client. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4871 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Workaround for potential failure to read the version string if the data ↵Brian Hinz2012-03-161-1/+1
| | | | | | isn't already in the buffer. May need further consideration, the problem can't be reproduced with the binary viewer. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4870 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Fix problem noted in feature request 3482254 where selecting Raw encoding ↵Brian Hinz2012-03-061-3/+4
| | | | | | caused the Java viewer to freeze. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4861 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Improve performance of Java viewer by using buffered image as drawing ↵Brian Hinz2012-03-052-15/+13
| | | | | | surface. Simplified soft cursor construction. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4860 3789f03b-4d11-0410-bbf8-ca57d06f2519
* make sure we actually throw caught execptions in java viewerBrian Hinz2012-02-161-1/+1
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4856 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Adds support for fence & continuous updates extensions to java viewer. Adds ↵Brian Hinz2012-02-1210-4/+239
| | | | | | low level hooks for TurboVNC fine grained quality controls. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4847 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Improved Tight JPEG decode time by ~25% using PixelGrabber rather than ↵Brian Hinz2012-02-051-19/+13
| | | | | | getting each pixel manually. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4844 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Replace all stream-based IO with non-blocking NIO-based implementation. ↵Brian Hinz2012-02-032-70/+106
| | | | | | Still a fair amount of cleanup to do, particularly in the SSL handler, which is not very robust, and exception handling in general. All core functionality appears to be working fine though. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4842 3789f03b-4d11-0410-bbf8-ca57d06f2519
* make sure that color map is set for all pixel formats or throw an exceptionBrian Hinz2011-12-081-0/+6
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4823 3789f03b-4d11-0410-bbf8-ca57d06f2519
* oops, bad commit! I only meant to commit the changes to the TightDecoder.Brian Hinz2011-12-041-5/+0
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4822 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Grabbing the RGB components from the BufferedImage one at a time and ↵Brian Hinz2011-12-042-3/+13
| | | | | | converting the to a 24bpp RGB color manually is about 25% faster than using BufferedImage.getRGB(). git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4821 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Tight decoder fixes to address issues described in bug #3444605Brian Hinz2011-12-012-9/+26
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4820 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Sync up java Tight decoder with recent changes to C client as much as ↵Brian Hinz2011-11-273-115/+261
| | | | | | possible. These changes should also fix the 16bpp issue reported in bug #3429667. I think there are probably errors in the FilterGradient* code but I can't get any servers to actually send this type of data to test it. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4819 3789f03b-4d11-0410-bbf8-ca57d06f2519
* add PasswordFile parameter as requested in tracker #3441859Brian Hinz2011-11-251-1/+1
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4817 3789f03b-4d11-0410-bbf8-ca57d06f2519
* improved Tight decoder performance.Brian Hinz2011-11-141-11/+15
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4797 3789f03b-4d11-0410-bbf8-ca57d06f2519
* java client should accept server port specified as either rfb port or ↵Brian Hinz2011-11-111-1/+4
| | | | | | display offset. Credit to Dan Garton for pointing this out. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4796 3789f03b-4d11-0410-bbf8-ca57d06f2519
* null out BufferedImage object to make sure it doesn't lead to a memory leakBrian Hinz2011-11-111-0/+1
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4795 3789f03b-4d11-0410-bbf8-ca57d06f2519
* remove unsupported sectypeBrian Hinz2011-11-111-76/+0
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4794 3789f03b-4d11-0410-bbf8-ca57d06f2519
* corrected endianess bug introduced in r4742Brian Hinz2011-10-301-3/+3
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4743 3789f03b-4d11-0410-bbf8-ca57d06f2519
* massive performance improvements. zrle measured at 2.5x faster (no ↵Brian Hinz2011-10-304-73/+27
| | | | | | measurements for tight, but should be the same or better). git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4742 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Improved TightJPEG decoder by using a BufferedImage. It simplifies the code, ↵Brian Hinz2011-10-141-54/+8
| | | | | | and even though it's just used for grabbing the pixels, it should be faster since it can be HW accelerated. Also added a super.finalize() to the finalizer method in the ZlibInStream class for good measure. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4729 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Fix more unused local variables and static (class) variables and methods ↵Brian Hinz2011-10-094-7/+5
| | | | | | being used in instance warnings git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4718 3789f03b-4d11-0410-bbf8-ca57d06f2519