--- /dev/null
+Index: new/java/com/tigervnc/vncviewer/CConn.java
+===================================================================
+--- new.orig/java/com/tigervnc/vncviewer/CConn.java 2013-04-18 11:56:21.000000000 +0200
++++ new/java/com/tigervnc/vncviewer/CConn.java 2013-04-18 14:23:58.000000000 +0200
+@@ -246,6 +246,16 @@
+ String passwordFileStr = viewer.passwordFile.getValue();
+ PasswdDialog dlg;
+
++ String usernameParam = viewer.usernameParam.getValue();
++ String passwordParam = viewer.passwordParam.getValue();
++ vlog.info("USERNAME: " + usernameParam);
++ vlog.info("PASSWORD: " + passwordParam);
++ if (usernameParam != null && passwordParam != null) {
++ user.append(usernameParam);
++ passwd.append(passwordParam);
++ return true;
++ }
++
+ if (user == null && passwordFileStr != "") {
+ InputStream fp = null;
+ try {
+Index: new/java/com/tigervnc/vncviewer/VncViewer.java
+===================================================================
+--- new.orig/java/com/tigervnc/vncviewer/VncViewer.java 2013-04-18 13:56:33.000000000 +0200
++++ new/java/com/tigervnc/vncviewer/VncViewer.java 2013-04-19 07:52:32.000000000 +0200
+@@ -168,6 +168,9 @@
+ if (firstApplet) {
+ alwaysShowServerDialog.setParam(true);
+ Configuration.readAppletParams(this);
++
++ System.err.print(Configuration.listParams());
++
+ String tmpcert = this.getParameter("PVECert");
+ if (tmpcert != null) {
+ CSecurityTLS.PVECert.setParam(tmpcert.replace('|', '\n'));
+@@ -263,6 +266,14 @@
+ "Password file for VNC authentication", "");
+ AliasParameter passwd
+ = new AliasParameter("passwd", "Alias for PasswordFile", passwordFile);
++
++ StringParameter usernameParam
++ = new StringParameter("USERNAME",
++ "Username for VNC authentication", null);
++ StringParameter passwordParam
++ = new StringParameter("PASSWORD",
++ "Password for VNC authentication", null);
++
+ BoolParameter autoSelect
+ = new BoolParameter("AutoSelect",
+ "Auto select pixel format and encoding", true);