aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/packages/rpm/el5/SOURCES/tigervnc-cookie.patch
diff options
context:
space:
mode:
authorPierre Ossman <ossman@cendio.se>2014-03-19 14:03:53 +0000
committerPierre Ossman <ossman@cendio.se>2014-03-19 14:03:53 +0000
commit604648da116336a299bd9ff21f9c32c9b401a5c4 (patch)
tree65ee74ba58b02bbcdd2f5b8622efe168e7ab83cc /contrib/packages/rpm/el5/SOURCES/tigervnc-cookie.patch
parent266eec4ecf338f3f08771f8dfe79dbd5d9da00a1 (diff)
downloadtigervnc-604648da116336a299bd9ff21f9c32c9b401a5c4.tar.gz
tigervnc-604648da116336a299bd9ff21f9c32c9b401a5c4.zip
Backport the contrib directory from trunk as well as our new buildv1.3.11.3-branch
system relies on it. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/branches/1_3@5173 3789f03b-4d11-0410-bbf8-ca57d06f2519
Diffstat (limited to 'contrib/packages/rpm/el5/SOURCES/tigervnc-cookie.patch')
-rw-r--r--contrib/packages/rpm/el5/SOURCES/tigervnc-cookie.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/contrib/packages/rpm/el5/SOURCES/tigervnc-cookie.patch b/contrib/packages/rpm/el5/SOURCES/tigervnc-cookie.patch
new file mode 100644
index 00000000..c066a5f8
--- /dev/null
+++ b/contrib/packages/rpm/el5/SOURCES/tigervnc-cookie.patch
@@ -0,0 +1,37 @@
+diff -up tigervnc-1.0.90-20091221svn3929/unix/vncserver.cookie tigervnc-1.0.90-20091221svn3929/unix/vncserver
+--- tigervnc-1.0.90-20091221svn3929/unix/vncserver.cookie 2009-11-12 11:39:54.000000000 +0100
++++ tigervnc-1.0.90-20091221svn3929/unix/vncserver 2009-12-21 16:15:01.907799091 +0100
+@@ -189,27 +189,12 @@ $vncPort = 5900 + $displayNumber;
+ $desktopLog = "$vncUserDir/$host:$displayNumber.log";
+ unlink($desktopLog);
+
+-# Make an X server cookie - use /dev/urandom on systems that have it,
+-# otherwise use perl's random number generator, seeded with the sum
+-# of the current time, our PID and part of the encrypted form of the password.
+-
+-my $cookie = "";
+-if (open(URANDOM, '<', '/dev/urandom')) {
+- my $randata;
+- if (sysread(URANDOM, $randata, 16) == 16) {
+- $cookie = unpack 'h*', $randata;
+- }
+- close(URANDOM);
+-}
+-if ($cookie eq "") {
+- srand(time+$$+unpack("L",`cat $vncUserDir/passwd`));
+- for (1..16) {
+- $cookie .= sprintf("%02x", int(rand(256)) % 256);
+- }
+-}
+-
+-system("xauth -f $xauthorityFile add $host:$displayNumber . $cookie");
+-system("xauth -f $xauthorityFile add $host/unix:$displayNumber . $cookie");
++# Make an X server cookie - use mcookie
++$cookie = `/usr/bin/mcookie`;
++open (XAUTH, "|xauth -f $xauthorityFile source -");
++print XAUTH "add $host:$displayNumber . $cookie\n";
++print XAUTH "add $host/unix:$displayNumber . $cookie\n";
++close XAUTH;
+
+ if ($opt{'-name'}) {
+ $desktopName = $opt{'-name'};