Package: tightvncserver
Version: 1.2.9-21
Severity: normal
Tags: patch
When trying to start tightvncserver when my ~/.vnc/ directory is a
symbolic link, I get the following message:
tightvncserver: Wrong type or access mode of /home/jussi/.vnc.
This is due using lstat() function in tightvncserver starting script to
check if file is a directory instead of stat(). Same for ~/.vnc/passwd
file. Following patch fixes this.
This is similiar to bug #411185 for vnc4server (they are using
similiar vncserver file after all).
-- System Information:
Debian Release: 4.0
APT prefers testing
APT policy: (500, 'testing')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Versions of packages tightvncserver depends on:
ii dpkg 1.13.25 package maintenance system for Deb
ii libc6 2.3.6.ds1-11 GNU C Library: Shared libraries
ii libjpeg62 6b-13 The Independent JPEG Group's JPEG
ii libx11-6 2:1.0.3-5 X11 client-side library
ii libxext6 1:1.0.1-2 X11 miscellaneous extension librar
ii perl 5.8.8-7 Larry Wall's Practical Extraction
ii vnc-common 3.3.7-14 Virtual network computing server s
ii x11-common 1:7.1.0-12 X Window System (X.Org) infrastruc
ii xbase-clients 1:7.1.ds1-2 miscellaneous X clients
ii zlib1g 1:1.2.3-13 compression library - runtime
Versions of packages tightvncserver recommends:
ii xfonts-base 1:1.0.0-4 standard fonts for X
-- no debconf information
diff -Naur tightvnc-1.2.9.orig/vncserver tightvnc-1.2.9.patched/vncserver
--- tightvnc-1.2.9.orig/vncserver 2007-02-16 23:43:58.455858048 +0200
+++ tightvnc-1.2.9.patched/vncserver 2007-02-16 23:47:53.522122544 +0200
@@ -195,14 +195,14 @@
die "$prog: Could not create $vncUserDir.\n";
}
}
-($z,$z,$mode) = lstat("$vncUserDir");
+($z,$z,$mode) = stat("$vncUserDir");
if (!-d _ || !-o _ || ($vncUserDirUnderTmp && ($mode & 0777) != 0700)) {
die "$prog: Wrong type or access mode of $vncUserDir.\n";
}
# Make sure the user has a password.
-($z,$z,$mode) = lstat("$vncUserDir/passwd");
+($z,$z,$mode) = stat("$vncUserDir/passwd");
if (-e _ && (!-f _ || !-o _)) {
die "$prog: Wrong type or ownership on $vncUserDir/passwd.\n";
}