[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);
}