On 07/08/2010 07:13 PM, Adam Tkac wrote: > On Tue, Jul 06, 2010 at 12:39:31AM +0700, Antoine Martin wrote: >> More details: I've tried vncviewer (various versions from 1.0.1 to >> r4080) on various platforms (win32, linux and osx). >> None of those will connect to a MacOSX VNC server using PasswordFile, >> whereas they are quite happy to connect to other servers. >> Very very strange. >> Why would the type of server have anything to do with parsing the >> PasswordFile I do not know! >> >> Anyway, is there are reason why the "ugly patch" that is included in >> Fedora builds is not merged? >> If anything, it provides a workaround for this issue. >> Attached is an updated patch against trunk. > > The reason is obvious, that patch is really ugly (unfortunately I'm > the author of that patch :) ). I still haven't found enough time and > motivation to rework it to "upstreamable" version. > > In my opinion PasswordFile option should be enough in your use case > for now. It is, except when connecting to OSX!
I suspect is is something to do with the 8chars/hashing (null terminated?) Xvnc/winvnc4/vncviewer all use the same code, but ARD does not. I've had to stick with 8 character passwords for the VNC password file as using longer password files would break with winvnc4.exe, see: http://www.mail-archive.com/tigervnc-us...@lists.sourceforge.net/msg00069.html Antoine > > Regards, Adam > >> On 07/03/2010 09:12 PM, Antoine Martin wrote: >>> Hi, >>> >>> I can't seem to get vncviewer to connect to an OSX display exported via >>> VNC if I use the PasswordFile option! >>> >>> The server is setup using: >>> sudo >>> /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart >>> -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy >>> yes -clientopts -setvncpw -vncpw mypasswd -restart -agent -privs -all >>> >>> Then the client just does: >>> vncviewer PasswordFile=mypasswd.txt OSX::5900 >>> >>> It says it is connected, but doesn't display anything: >>> CConn: connected to host 192.168.42.111 port 5900 >>> CConnection: Server supports RFB protocol version 3.889 >>> CConnection: Using RFB protocol version 3.8 >>> ^ Stuck at this point, no window appears. >>> >>> But if I do: >>> echo mypasswd | vncviewer passwdInput=1 192.168.42.111::5900 >>> or if I just type the password into the dialog box... it works! >>> >>> I've tried vncviewer 1.0.1 on various platforms and the version that >>> comes with Fedora 13... no go >>> >>> Any ideas? >>> Antoine >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> This SF.net email is sponsored by Sprint >>> What will you do first with EVO, the first 4G phone? >>> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first >>> _______________________________________________ >>> Tigervnc-devel mailing list >>> Tigervnc-devel@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/tigervnc-devel >> > >> --- tigervnc-1.0.95-r4080/unix/vncviewer/CConn.cxx 2010-07-04 >> 17:58:23.000000000 +0100 >> +++ tigervnc-1.0.95-r4080-patched/unix/vncviewer/CConn.cxx 2010-07-05 >> 18:29:56.000000000 +0100 >> @@ -40,6 +40,8 @@ >> #include "ServerDialog.h" >> #include "PasswdDialog.h" >> #include "parameters.h" >> +#include <string> >> +#include <iostream> >> >> using namespace rfb; >> >> @@ -217,6 +219,16 @@ >> 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; >> --- tigervnc-1.0.95-r4080/unix/vncviewer/parameters.h 2010-07-04 >> 17:58:23.000000000 +0100 >> +++ tigervnc-1.0.95-r4080-patched/unix/vncviewer/parameters.h >> 2010-07-05 18:23:34.000000000 +0100 >> @@ -42,6 +42,7 @@ >> extern rfb::IntParameter compressLevel; >> extern rfb::BoolParameter noJpeg; >> extern rfb::IntParameter qualityLevel; >> +extern rfb::BoolParameter passwdInput; >> >> extern char aboutText[]; >> extern char* programName; >> --- tigervnc-1.0.95-r4080/unix/vncviewer/vncviewer.man 2010-07-04 >> 17:58:23.000000000 +0100 >> +++ tigervnc-1.0.95-r4080-patched/unix/vncviewer/vncviewer.man >> 2010-07-05 18:23:34.000000000 +0100 >> @@ -119,6 +119,11 @@ >> "~/.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 > >> ------------------------------------------------------------------------------ >> This SF.net email is sponsored by Sprint >> What will you do first with EVO, the first 4G phone? >> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first > >> _______________________________________________ >> Tigervnc-devel mailing list >> Tigervnc-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/tigervnc-devel > > ------------------------------------------------------------------------------ This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first _______________________________________________ Tigervnc-devel mailing list Tigervnc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tigervnc-devel