# HG changeset patch # User one # Date 1345018090 -32400 # Node ID 73abb3b86ce75fac438345db329a9505a6a4284b # Parent 1a30763734cf0f03f04417dd201bd5c6db7e3624 before change diff -r 1a30763734cf -r 73abb3b86ce7 .DS_Store Binary file .DS_Store has changed diff -r 1a30763734cf -r 73abb3b86ce7 src/main/java/ac/ryukyu/treevnc/client/MyVncClient.java --- a/src/main/java/ac/ryukyu/treevnc/client/MyVncClient.java Tue Aug 14 17:14:48 2012 +0900 +++ b/src/main/java/ac/ryukyu/treevnc/client/MyVncClient.java Wed Aug 15 17:08:10 2012 +0900 @@ -27,8 +27,8 @@ import com.glavsoft.viewer.swing.ParametersHandler.ConnectionParams; -public class MyVncClient extends Viewer implements Runnable, - IRfbSessionListener, WindowListener, IChangeSettingsListener { +public class MyVncClient extends Viewer implements IRfbSessionListener, + WindowListener, IChangeSettingsListener { /** * @@ -91,12 +91,10 @@ //getHostData(); } //SwingUtilities.invokeLater(myClient); - Thread th = new Thread(myClient); - th.start(); + myClient.mainLoop(); } - @Override - public void run() { + public void mainLoop() { // getHostData(); ConnectionManager connectionManager = new ConnectionManager(this, isApplet); if (forceReconnection) { @@ -164,7 +162,7 @@ } - private void setArgments(String[] args) { + public void setArgments(String[] args) { arguments = args; } diff -r 1a30763734cf -r 73abb3b86ce7 src/main/java/com/glavsoft/rfb/protocol/auth/RequireAuthentication.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/com/glavsoft/rfb/protocol/auth/RequireAuthentication.java Wed Aug 15 17:08:10 2012 +0900 @@ -0,0 +1,40 @@ +package com.glavsoft.rfb.protocol.auth; + +import com.glavsoft.exceptions.TransportException; +import com.glavsoft.rfb.CapabilityContainer; +import com.glavsoft.rfb.IPasswordRetriever; +import com.glavsoft.transport.Reader; +import com.glavsoft.transport.Writer; + +public class RequireAuthentication extends AuthHandler { + @Override + public boolean authenticate(Reader reader, Writer writer, + CapabilityContainer authCaps, IPasswordRetriever passwordRetriever) throws TransportException { + byte[] headBuf = new byte[2]; + reader.readBytes(headBuf); + if (headBuf[1] == 2) { + byte[] b = new byte[258]; + reader.readBytes(b); + + byte[] outBuf = new byte[256]; + writer.write(outBuf); + writer.flush(); + } else if (headBuf[1] == 23) { + byte[] b = new byte[130]; + reader.readBytes(b); + byte[] outBuf = new byte[192]; + writer.write(outBuf); + writer.flush(); + } + + + + return false; + } + + @Override + public SecurityType getType() { + return SecurityType.REQUIRE_AUTHENTICATION; + } +} +