Blob Blame History Raw
diff -up tigervnc-1.0.90-20101208svn4225/unix/vncviewer/CConn.cxx.102434 tigervnc-1.0.90-20101208svn4225/unix/vncviewer/CConn.cxx
--- tigervnc-1.0.90-20101208svn4225/unix/vncviewer/CConn.cxx.102434	2010-12-08 15:42:16.000000000 +0100
+++ tigervnc-1.0.90-20101208svn4225/unix/vncviewer/CConn.cxx	2010-12-08 17:35:37.898546362 +0100
@@ -38,6 +38,8 @@
 #include <network/TcpSocket.h>
 #include <cassert>
 #include <list>
+#include <string>
+#include <iostream>
 
 #include "TXViewport.h"
 #include "DesktopWindow.h"
@@ -232,6 +234,15 @@ void CConn::getUserPasswd(char** user, c
     return;
   }
 
+  /* XXX Who wrote this code? Yes, it is really ugly */
+  if (passwdInput) {
+   std::string s;
+   std::cin >> s;
+   *password = strdup(s.c_str());
+   if (user) *user = 0;
+     return;
+  }
+
   const char* secType = secTypeName(csecurity->getType());
   const char* titlePrefix = _("VNC authentication");
   unsigned int titleLen = strlen(titlePrefix) + strlen(secType) + 4;
diff -up tigervnc-1.0.90-20101208svn4225/unix/vncviewer/parameters.h.102434 tigervnc-1.0.90-20101208svn4225/unix/vncviewer/parameters.h
--- tigervnc-1.0.90-20101208svn4225/unix/vncviewer/parameters.h.102434	2009-03-23 17:49:47.000000000 +0100
+++ tigervnc-1.0.90-20101208svn4225/unix/vncviewer/parameters.h	2010-12-08 17:34:44.138568781 +0100
@@ -42,6 +42,7 @@ extern rfb::BoolParameter customCompress
 extern rfb::IntParameter compressLevel;
 extern rfb::BoolParameter noJpeg;
 extern rfb::IntParameter qualityLevel;
+extern rfb::BoolParameter passwdInput;
 
 extern char aboutText[];
 extern char* programName;
diff -up tigervnc-1.0.90-20101208svn4225/unix/vncviewer/vncviewer.cxx.102434 tigervnc-1.0.90-20101208svn4225/unix/vncviewer/vncviewer.cxx
--- tigervnc-1.0.90-20101208svn4225/unix/vncviewer/vncviewer.cxx.102434	2010-11-18 14:33:57.000000000 +0100
+++ tigervnc-1.0.90-20101208svn4225/unix/vncviewer/vncviewer.cxx	2010-12-08 17:34:44.138568781 +0100
@@ -61,7 +61,7 @@ IntParameter wmDecorationHeight("WMDecor
 StringParameter passwordFile("PasswordFile",
                              "Password file for VNC authentication", "");
 AliasParameter passwd("passwd", "Alias for PasswordFile", &passwordFile);
-
+BoolParameter passwdInput("passwdInput", "Gets password from stdin", false);
 BoolParameter useLocalCursor("UseLocalCursor",
                              "Render the mouse cursor locally", true);
 BoolParameter dotWhenNoCursor("DotWhenNoCursor",
diff -up tigervnc-1.0.90-20101208svn4225/unix/vncviewer/vncviewer.man.102434 tigervnc-1.0.90-20101208svn4225/unix/vncviewer/vncviewer.man
--- tigervnc-1.0.90-20101208svn4225/unix/vncviewer/vncviewer.man.102434	2009-10-07 17:13:00.000000000 +0200
+++ tigervnc-1.0.90-20101208svn4225/unix/vncviewer/vncviewer.man	2010-12-08 17:34:44.138568781 +0100
@@ -119,6 +119,11 @@ the server, you can specify it here to a
 "~/.vnc/passwd".
 
 .TP
+.B \-passwdInput \fItrue, false\fP
+Force standard vnc dialog to getting password and reads password from stdin.
+Default is false(shows dialog window)
+
+.TP
 .B \-Shared
 When you make a connection to a VNC server, all other existing connections are
 normally closed.  This option requests that they be left open, allowing you to