[Development] java: Implement Plain Security type. (Martin Koegler)


git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4193 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/java/src/com/tigervnc/vncviewer/RfbProto.java b/java/src/com/tigervnc/vncviewer/RfbProto.java
index ab3c152..a0aade0 100644
--- a/java/src/com/tigervnc/vncviewer/RfbProto.java
+++ b/java/src/com/tigervnc/vncviewer/RfbProto.java
@@ -430,6 +430,7 @@
 		{
 		case SecTypeNone:
 		case SecTypeVncAuth:
+		case SecTypePlain:
 		    writeInt(secTypes[i]);
 		    return secTypes[i];
 		}
@@ -475,6 +476,17 @@
     readSecurityResult("VNC authentication");
   }
 
+    void authenticatePlain(String User, String Password) throws Exception {
+      byte[] user=User.getBytes();
+      byte[] password=Password.getBytes();
+      writeInt(user.length);
+      writeInt(password.length);
+      os.write(user);
+      os.write(password);
+
+      readSecurityResult("Plain authentication");
+    }
+
   //
   // Read security result.
   // Throws an exception on authentication failure.
diff --git a/java/src/com/tigervnc/vncviewer/VncViewer.java b/java/src/com/tigervnc/vncviewer/VncViewer.java
index 19541af..41f484f 100644
--- a/java/src/com/tigervnc/vncviewer/VncViewer.java
+++ b/java/src/com/tigervnc/vncviewer/VncViewer.java
@@ -384,6 +384,14 @@
 	    secType = rfb.authenticateVeNCrypt();
 	    doAuthentification(secType);
 	    break;
+	case RfbProto.SecTypePlain:
+	    showConnectionStatus("Plain authentication");
+	    {
+		String user = askUser();
+		String pw = askPassword();
+		rfb.authenticatePlain(user,pw);
+	    }
+	    break;
 	default:
 	    throw new Exception("Unknown authentication scheme " + secType);
 	}