--- gtk-vnc-0.4.1.orig/debian/mozilla-gtk-vnc.docs
+++ gtk-vnc-0.4.1/debian/mozilla-gtk-vnc.docs
@@ -0,0 +1 @@
+plugin/README
--- gtk-vnc-0.4.1.orig/debian/copyright
+++ gtk-vnc-0.4.1/debian/copyright
@@ -0,0 +1,66 @@
+This package was debianized by Fernando Ribeiro <fernando@staff.nerdgroup.org> on
+Fri, 24 Aug 2007 15:44:36 -0300.
+
+It was downloaded from http://sourceforge.net/projects/gtk-vnc
+
+Upstream Authors: Anthony Liguori <anthony-at-codemonkey-dot-ws>
+ Daniel Berrange <dan-at-berrange-dot-com>
+ John Wendell <jwendell-at-gnome-dot-org>
+
+Copyright:
+
+Copyright (C) 2000-2004 The Free Software Foundation
+Copyright (C) 1999 AT&T Laboratories Cambridge
+Copyright (c) 1988,1989,1990,1991,1992 by Richard Outerbridge
+Copyright (C) 2006 Anthony Liguori <anthony@codemonkey.ws>
+
+License:
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License version 2.1 as published by the Free Software Foundation;
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+
+ On Debian Systems, the full text of the license can be found on
+ /usr/share/common-licenses/LGPL-2.1
+
+
+The code of D3DES has the following copyright notice:
+
+ This is D3DES (V5.09) by Richard Outerbridge with the double and
+ triple-length support removed for use in VNC. Also the bytebit[] array
+ has been reversed so that the most significant bit in each byte of the
+ key is ignored, not the least significant.
+
+ These changes are:
+ Copyright (C) 1999 AT&T Laboratories Cambridge. All Rights Reserved.
+
+ This software is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+
+ D3DES (V5.09) -
+
+ A portable, public domain, version of the Data Encryption Standard.
+
+ Written with Symantec's THINK (Lightspeed) C by Richard Outerbridge.
+ Thanks to: Dan Hoey for his excellent Initial and Inverse permutation
+ code; Jim Gillogly & Phil Karn for the DES key schedule code; Dennis
+ Ferguson, Eric Young and Dana How for comparing notes; and Ray Lau,
+ for humouring me on.
+
+ Copyright (c) 1988,1989,1990,1991,1992 by Richard Outerbridge.
+ (GEnie : OUTER; CIS : [71755,204]) Graven Imagery, 1992.
+
+
+
+
--- gtk-vnc-0.4.1.orig/debian/libgtk-vnc-1.0-0.install
+++ gtk-vnc-0.4.1/debian/libgtk-vnc-1.0-0.install
@@ -0,0 +1 @@
+debian/tmp/usr/lib/*.so.*
--- gtk-vnc-0.4.1.orig/debian/control
+++ gtk-vnc-0.4.1/debian/control
@@ -0,0 +1,119 @@
+Source: gtk-vnc
+Section: gnome
+Priority: optional
+Maintainer: Debian Libvirt Maintainers <pkg-libvirt-maintainers@lists.alioth.debian.org>
+Uploaders: Guido Günther <agx@sigxcpu.org>, Laurent Léonard <laurent@open-minds.org>
+DM-Upload-Allowed: yes
+Standards-Version: 3.9.1
+Build-Depends: cdbs,
+ debhelper (>= 7),
+ python-support,
+ libgtk2.0-dev,
+ python-dev,
+ libgnutls-dev (>= 1.4.0),
+ python-gtk2-dev (>= 2.0),
+ libcairo2-dev,
+ xulrunner-dev,
+ autotools-dev,
+ quilt,
+ libffi-dev,
+ libsasl2-dev,
+ intltool
+Build-Conflicts: libffi4-dev
+Vcs-Git: git://git.debian.org/git/pkg-libvirt/gtk-vnc.git
+Vcs-Browser: http://git.debian.org/?p=pkg-libvirt/gtk-vnc.git
+
+Package: libgtk-vnc-1.0-0
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: A VNC viewer widget for GTK+ (runtime libraries)
+ It is built using coroutines, allowing it to be completely asynchronous while
+ remaining single threaded. It supports RFB protocols 3.3 through 3.8 and the
+ VeNCrypt authentication extension providing SSL/TLS encryption with x509
+ certificate authentication.
+ .
+ The core library is written in C and a binding for Python using PyGTK is
+ available. The networking layer supports connections over both IPv4 and IPv6.
+ .
+ This package contains the shared library.
+
+Package: libgtk-vnc-1.0-0-dbg
+Architecture: any
+Section: debug
+Depends: ${shlibs:Depends}, ${misc:Depends}, libgtk-vnc-1.0-0 (=${binary:Version})
+Priority: extra
+Description: A VNC viewer widget for GTK+ (runtime libraries)
+ It is built using coroutines, allowing it to be completely asynchronous while
+ remaining single threaded. It supports RFB protocols 3.3 through 3.8 and the
+ VeNCrypt authentication extension providing SSL/TLS encryption with x509
+ certificate authentication.
+ .
+ The core library is written in C and a binding for Python using PyGTK is
+ available. The networking layer supports connections over both IPv4 and IPv6.
+ .
+ This package contains the debugging symbols.
+
+Package: libgtk-vnc-1.0-dev
+Architecture: any
+Section: libdevel
+Depends: ${misc:Depends}, libgtk-vnc-1.0-0 (= ${binary:Version}),
+ libgtk2.0-dev (>= 2.0), libgnutls-dev (>= 1.4.0), libcairo2-dev (>= 1.2.0)
+Description: A VNC viewer widget for GTK+ (development files)
+ It is built using coroutines, allowing it to be completely asynchronous while
+ remaining single threaded. It supports RFB protocols 3.3 through 3.8 and the
+ VeNCrypt authentication extension providing SSL/TLS encryption with x509
+ certificate authentication.
+ .
+ The core library is written in C and a binding for Python using PyGTK is
+ available. The networking layer supports connections over both IPv4 and IPv6.
+ .
+ This package contains the development headers.
+
+Package: python-gtk-vnc
+Architecture: any
+Section: python
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends}, python-gtk2 (>= 2.0)
+Provides: ${python:Provides}
+XB-Python-Version: ${python:Versions}
+Description: A VNC viewer widget for GTK+ (Python binding)
+ It is built using coroutines, allowing it to be completely asynchronous while
+ remaining single threaded. It supports RFB protocols 3.3 through 3.8 and the
+ VeNCrypt authentication extension providing SSL/TLS encryption with x509
+ certificate authentication.
+ .
+ The core library is written in C and a binding for Python using PyGTK is
+ available. The networking layer supports connections over both IPv4 and IPv6.
+ .
+ This package contains the Python binding.
+
+Package: mozilla-gtk-vnc
+Architecture: any
+Section: web
+Depends: ${shlibs:Depends}, ${misc:Depends}, libgtk-vnc-1.0-0 (= ${binary:Version}),
+ iceweasel | iceape-browser
+Description: A VNC viewer widget for GTK+ (mozilla plugin)
+ It is built using coroutines, allowing it to be completely asynchronous while
+ remaining single threaded. It supports RFB protocols 3.3 through 3.8 and the
+ VeNCrypt authentication extension providing SSL/TLS encryption with x509
+ certificate authentication.
+ .
+ The core library is written in C and a binding for Python using PyGTK is
+ available. The networking layer supports connections over both IPv4 and IPv6.
+ .
+ This package contains the experimental mozilla plugin.
+
+Package: gvncviewer
+Architecture: any
+Section: x11
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: VNC viewer using gtk-vnc
+ It is built using coroutines, allowing it to be completely asynchronous while
+ remaining single threaded. It supports RFB protocols 3.3 through 3.8 and the
+ VeNCrypt authentication extension providing SSL/TLS encryption with x509
+ certificate authentication.
+ .
+ The core library is written in C and a binding for Python using PyGTK is
+ available. The networking layer supports connections over both IPv4 and IPv6.
+ .
+ This package contains the VNC viewer.
--- gtk-vnc-0.4.1.orig/debian/gvncviewer.install
+++ gtk-vnc-0.4.1/debian/gvncviewer.install
@@ -0,0 +1 @@
+debian/tmp/usr/bin/gvncviewer
--- gtk-vnc-0.4.1.orig/debian/mozilla-gtk-vnc.install
+++ gtk-vnc-0.4.1/debian/mozilla-gtk-vnc.install
@@ -0,0 +1 @@
+debian/tmp/usr/lib/mozilla/plugins/*.so usr/lib/gtk-vnc/plugins/
--- gtk-vnc-0.4.1.orig/debian/changelog
+++ gtk-vnc-0.4.1/debian/changelog
@@ -0,0 +1,327 @@
+gtk-vnc (0.4.1-4) unstable; urgency=low
+
+ * [6f211c3] New patch 0003-Fix-auth-subtype-choosing-logic-in-
+ vncdisplay.patch. Fix auth subtype choosing logic in vncdisplay
+ (Closes: #596287) - thanks to Daniel P. Berrange
+
+ -- Guido Günther <agx@sigxcpu.org> Fri, 17 Sep 2010 17:22:31 +0200
+
+gtk-vnc (0.4.1-3) unstable; urgency=low
+
+ [ Laurent Léonard ]
+ * [3e55ef6] New patch 0002-Reset-xmit_buffer-fields-to-fix- reconnect.patch
+ * [66baa3f] Bump Standards-Version to 3.9.1
+
+ [ Guido Günther ]
+ * [629db64] Switch to team maintenance and set DM-Upload-Allowed = yes.
+
+ -- Guido Günther <agx@sigxcpu.org> Sun, 29 Aug 2010 18:13:39 +0200
+
+gtk-vnc (0.4.1-2) unstable; urgency=low
+
+ * [9b54fbb] Switch to dh_pysupport. (Closes: #590365)
+
+ -- Guido Günther <agx@sigxcpu.org> Mon, 26 Jul 2010 15:55:59 +0200
+
+gtk-vnc (0.4.1-1) unstable; urgency=low
+
+ * [2703df5] Imported Upstream version 0.4.1
+ * [5a5910e] Drop patches applied upstream
+ 0001-say-disconnected-from-server-only-once-connected.patch
+ 0002-remove-WERROR_CFLAGS.patch
+ 0004-Don-t-use-PATH_MAX.patch
+ 0005-Drop-space-after-Wl-in-libgtk_vnc_1_0_la_LDFLAGS.patch
+ 0006-Add-Wl-since-no-undefined-is-a-linker-option.patch
+ 0007-Explicitly-link-against-X11-libs-for-XkbGetKeyboard.patch
+ 0008-Add-missing-symbols.patch
+ 0009-Fix-missing-intialisation-of-sysdir-and-uderdir.patch
+ * [e3ed1d0] No need to run autoreconf anymore
+ * [1529b9a] No static libs built
+ * [15068ef] Update symbols file with new symbols
+ * [337c397] Bump standards version
+
+ -- Guido Günther <agx@sigxcpu.org> Fri, 16 Jul 2010 17:55:31 +0200
+
+gtk-vnc (0.3.10-6) unstable; urgency=low
+
+ * [405bfa7] New patch 0009-Fix-missing-intialisation-of-sysdir-and-
+ uderdir.patch Fix missing intialisation of sysdir and uderdir
+ (Closes: #576102)
+
+ -- Guido Günther <agx@sigxcpu.org> Sun, 04 Apr 2010 14:47:02 +0200
+
+gtk-vnc (0.3.10-5) unstable; urgency=low
+
+ * [7554fa2] Bump standards version
+ * [5b40e11] Add symbols file
+ * [da19fa0] Add Links to upstream bugtracker
+ * [9f49f13] New patch 0008-Add-missing-symbols.patch
+
+ -- Guido Günther <agx@sigxcpu.org> Fri, 05 Mar 2010 23:28:06 +0100
+
+gtk-vnc (0.3.10-4) unstable; urgency=low
+
+ * [d0c8027] New patch 0005-Drop-space-after-Wl-in-
+ libgtk_vnc_1_0_la_LDFLAGS.patch Drop space after -Wl, in
+ libgtk_vnc_1_0_la_LDFLAGS
+ * [b1a99c0] New patch 0006-Add-Wl-since-no-undefined-is-a-linker-
+ option.patch Add -Wl since --no-undefined is a linker option
+ * [95496ef] New patch 0007-Explicitly-link-against-X11-libs-for-
+ XkbGetKeyboard.patch Explicitly link against X11 libs for XkbGetKeyboard
+ (Closes: #554751)
+
+ -- Guido Günther <agx@sigxcpu.org> Thu, 04 Mar 2010 19:03:22 +0100
+
+gtk-vnc (0.3.10-3) unstable; urgency=low
+
+ * [37978f9] Make package buildable with Python 2.6 (Closes: #571490) -
+ thanks to Jakub Wilk for the suggestions.
+ * [af58b98] Split build-deps to one package per line (Closes: #559128,
+ #544003)
+ * [31c8903] New patch 0004-Don-t-use-PATH_MAX.patch Don't use PATH_MAX
+ (Closes: #561004) - thanks to Emilio Pozuelo Monfort
+
+ -- Guido Günther <agx@sigxcpu.org> Sun, 28 Feb 2010 17:32:47 +0100
+
+gtk-vnc (0.3.10-2) unstable; urgency=low
+
+ * [5974bae] Use xulrunner-dev instead of iceape-dev (Closes: #555908)
+ * [402bca0] Fix build with xulrunner 1.9.1 (Closes: #556840)
+
+ -- Guido Günther <agx@sigxcpu.org> Wed, 18 Nov 2009 10:03:00 +0100
+
+gtk-vnc (0.3.10-1) unstable; urgency=low
+
+ [ Laurent Léonard ]
+ * [08c37ba] Bump Debhelper version to 7.
+ * [f222140] Bump Standards-Version to 3.8.3.
+ * [bdc973a] Add clean target in debian/rules.
+ * [acace64] Clean debian/rules.
+
+ [ Guido Günther ]
+ [ Guido Günther ]
+ * [1f2e3c5] say "disconnected from server" only once connected (Closes:
+ #540435) - thanks to Michal Suchanek
+ * [52c3a40] allow connecting to local server by display number (Closes:
+ #540434) - thanks to Michal Suchanek
+ * [bf6c78e] Imported Upstream version 0.3.10
+ * [5f1532b] redo patches
+ * [cc1fb45] create m4/ dir to make autoreconf happy
+ * [4ac1958] build-dep on intltool for translations
+ * [fe0fe02] drop WERROR_CFLAGS
+
+ -- Guido Günther <agx@sigxcpu.org> Fri, 23 Oct 2009 22:29:24 +0200
+
+gtk-vnc (0.3.9-1) unstable; urgency=low
+
+ * [f4f73c0] Imported Upstream version 0.3.9
+ * [04364d5] fix dbg's package section
+ * [a5cd4a3] update watch file: project moved to gnome.org
+ * [d5691c1] update DEB_DH_MAKESHLIBS_ARGS
+ * [946e53a] build depend on libsasl2-dev
+ * [a599a3b] bump standards version no changes
+ * [8e06017] build-dep on debhelper version 5
+ * [20f367b] exclude plugin from dh_makeshlibs call
+
+ -- Guido Günther <agx@sigxcpu.org> Thu, 13 Aug 2009 11:19:25 +0200
+
+gtk-vnc (0.3.8-3) unstable; urgency=low
+
+ [ Laurent Léonard ]
+ * [d96aec9] Fix libtool issue. (Closes: #529767)
+
+ -- Guido Günther <agx@sigxcpu.org> Wed, 29 Jul 2009 13:00:58 +0200
+
+gtk-vnc (0.3.8-2) unstable; urgency=low
+
+ * upload to unstable
+ * uses cairo, since the OpenGL code is racy (Closes: #511023)
+ * uses cairo, since it works with compiz (Closes: #511423)
+
+ -- Guido Günther <agx@sigxcpu.org> Sat, 10 Jan 2009 20:01:59 +0100
+
+gtk-vnc (0.3.8-1) experimental; urgency=low
+
+ * [71aacfd] Imported Upstream version 0.3.8
+ * [d0fe410] add Vcs-{Git,Browser}
+ * [ce11a4d] use cairo instead of gtkglext
+ * [a803bd0] drop patches fixed upstream:
+ * fix-bogus-screen-updates.diff
+ * gtk-vnc-ungrab.diff
+ * plugindir.diff
+
+ -- Guido Günther <agx@sigxcpu.org> Sat, 03 Jan 2009 19:57:09 +0100
+
+gtk-vnc (0.3.7-4) unstable; urgency=low
+
+ * [1e928cf] fix ungrab when switching from absolute to relativ pointer
+ mode (Closes: #503318)
+ * [090c84f] fix bogus screen updates
+
+ -- Guido Günther <agx@sigxcpu.org> Wed, 29 Oct 2008 08:59:00 +0100
+
+gtk-vnc (0.3.7-3) unstable; urgency=low
+
+ * upload to unstable
+
+ -- Guido Guenther <agx@sigxcpu.org> Fri, 26 Sep 2008 09:05:45 +0200
+
+gtk-vnc (0.3.7-2) experimental; urgency=low
+
+ * [dfea636] new patch plugindir.diff: fix path to builddir (Closes: #499112)
+
+ -- Guido Guenther <agx@sigxcpu.org> Tue, 16 Sep 2008 21:09:29 +0200
+
+gtk-vnc (0.3.7-1) experimental; urgency=low
+
+ * [88cc5c2] New Upstream version 0.3.7
+ * [91aca37] add README.source
+ * [0aa45ba] bump standards version
+ * [9cccbca] bump shlibs to 0.3.7
+
+ -- Guido Guenther <agx@sigxcpu.org> Mon, 15 Sep 2008 17:37:53 +0200
+
+gtk-vnc (0.3.6-2) unstable; urgency=low
+
+ * add libgtk-vnc debug package
+ * don't build depend on libxul-dev (Closes: #480810) - thanks to Mike
+ Hommey for the patch
+
+ -- Guido Guenther <agx@sigxcpu.org> Thu, 15 May 2008 14:48:42 +0200
+
+gtk-vnc (0.3.6-1) unstable; urgency=low
+
+ * Add gvncviewer package
+ * New Upstream version 0.3.6 (Closes: #480158)
+ * Reenable scaling now that #477199 is fixed
+ * update shlibs
+
+ -- Guido Guenther <agx@sigxcpu.org> Sun, 11 May 2008 23:00:55 +0200
+
+gtk-vnc (0.3.5-3) unstable; urgency=low
+
+ * disable scaling support, works around #477199 until the problem is fixed
+ in libgtkglext.
+
+ -- Guido Guenther <agx@sigxcpu.org> Tue, 22 Apr 2008 16:55:52 +0200
+
+gtk-vnc (0.3.5-2) unstable; urgency=low
+
+ * fix typo in dependencies (Closes: #475647)
+
+ -- Guido Guenther <agx@sigxcpu.org> Sat, 12 Apr 2008 12:44:28 +0200
+
+gtk-vnc (0.3.5-1) unstable; urgency=low
+
+ * new upstream version
+ * build-depend on libtool (Closes: #474475)
+ * drop scaling-crash.diff - in new upstream version
+ * drop endianess-conversion.diff - in new upstream version
+ (Closes: #474647)
+ * build-conflict on libffi4-dev since it also provides libffi-dev
+
+ -- Guido Guenther <agx@sigxcpu.org> Fri, 11 Apr 2008 12:49:45 +0200
+
+gtk-vnc (0.3.4-2) experimental; urgency=low
+
+ * pull scaling crash fix from mailing list
+ * add endianess conversion from upstream
+ * bump standards version
+ * build depend on libffi-dev (Closes: #472152)
+ * enable the browser plugin
+ * enable scaling
+
+ -- Guido Guenther <agx@sigxcpu.org> Tue, 25 Mar 2008 17:39:43 +0100
+
+gtk-vnc (0.3.4-1) unstable; urgency=low
+
+ * New Upstream Version
+ * drop from_upstream_grab_focus.patch included in new upstream version
+
+ -- Guido Guenther <agx@sigxcpu.org> Tue, 11 Mar 2008 20:49:59 +0100
+
+gtk-vnc (0.3.3-2) unstable; urgency=low
+
+ * fix keyboard grab, many thanks to Emilio Pozuelo Monfort for
+ forwarding this
+
+ -- Guido Guenther <agx@sigxcpu.org> Mon, 18 Feb 2008 21:39:06 +0100
+
+gtk-vnc (0.3.3-1) unstable; urgency=low
+
+ * New Upstream Version
+ * lower the build-dependencies of libgnutils-dev and python-gtk2-dev
+ as to what is specified in configure.ac
+
+ -- Guido Guenther <agx@sigxcpu.org> Sun, 10 Feb 2008 21:10:28 +0100
+
+gtk-vnc (0.3.2-1) unstable; urgency=low
+
+ * New Upstream Version
+
+ -- Guido Guenther <agx@sigxcpu.org> Wed, 02 Jan 2008 11:33:53 +0100
+
+gtk-vnc (0.3.1-2) unstable; urgency=low
+
+ * update the shlibs (Closes: #456912) - Thanks to Sebastian Bacher
+
+ -- Guido Guenther <agx@sigxcpu.org> Tue, 18 Dec 2007 16:40:54 +0100
+
+gtk-vnc (0.3.1-1) unstable; urgency=low
+
+ * New Upstream Version
+ * add versioned dependencies (Closes: #454975)
+
+ -- Guido Guenther <agx@sigxcpu.org> Mon, 17 Dec 2007 15:36:36 +0100
+
+gtk-vnc (0.2.0-2) unstable; urgency=low
+
+ * add missing dependencies to the -dev package (Closes: #454975)
+
+ -- Guido Guenther <agx@sigxcpu.org> Sat, 08 Dec 2007 15:42:22 +0100
+
+gtk-vnc (0.2.0-1) unstable; urgency=low
+
+ * Upload to Debian (Closes: #452512)
+ * drop most of the versioned build dependencies since even etch has recent
+ enough versions
+ * Thanks to the Ubuntu maintainers!
+
+ -- Guido Guenther <agx@sigxcpu.org> Thu, 22 Nov 2007 18:54:13 +0100
+
+gtk-vnc (0.2.0-0ubuntu3) hardy; urgency=low
+
+ * Sponsor the package from Fernando Ribeiro
+ * debian/control:
+ - use correct XSBC-Original-Maintainer
+ - the -dev package depends on the library
+ - updated -dev package name to match the library one
+ - updated short description to mention the differences between binaries
+ * debian/copyright:
+ - the license is under LGPL 2.1
+
+ -- Sebastien Bacher <seb128@canonical.com> Tue, 13 Nov 2007 20:33:03 +0100
+
+gtk-vnc (0.2.0-0ubuntu2) gutsy; urgency=low
+
+ * News upstream release
+
+ -- Fernando Ribeiro <fernando@staff.nerdgroup.org> Fri, 14 Sep 2007 10:17:52 -0300
+
+gtk-vnc (0.1.0-0ubuntu2) gutsy; urgency=low
+
+ * debian/copyright:
+ - Fixed license to LGPL-2.1 instead GPL
+ * debian/rules:
+ - Dropped python dbg
+ * debian/control:
+ - Dropped python-gtk-vnc-dbg
+ - Fixed Maintainer to MOTU
+
+ -- Fernando Ribeiro <fernando@staff.nerdgroup.org> Thu, 13 Sep 2007 11:01:23 -0300
+
+gtk-vnc (0.1.0-0ubuntu1) gutsy; urgency=low
+
+ * Initial release.
+
+ -- Fernando Ribeiro <fernando@staff.nerdgroup.org> Fri, 24 Aug 2007 15:06:13 -0300
--- gtk-vnc-0.4.1.orig/debian/libgtk-vnc-1.0-dev.install
+++ gtk-vnc-0.4.1/debian/libgtk-vnc-1.0-dev.install
@@ -0,0 +1,3 @@
+debian/tmp/usr/lib/*.so
+debian/tmp/usr/include
+debian/tmp/usr/lib/pkgconfig
--- gtk-vnc-0.4.1.orig/debian/mozilla-gtk-vnc.links
+++ gtk-vnc-0.4.1/debian/mozilla-gtk-vnc.links
@@ -0,0 +1,2 @@
+/usr/lib/gtk-vnc/plugins/gtk-vnc-plugin.so /usr/lib/iceweasel/plugins/gtk-vnc-plugin.so
+/usr/lib/gtk-vnc/plugins/gtk-vnc-plugin.so /usr/lib/iceape/plugins/gtk-vnc-plugin.so
--- gtk-vnc-0.4.1.orig/debian/watch
+++ gtk-vnc-0.4.1/debian/watch
@@ -0,0 +1,4 @@
+version=3
+http://ftp.gnome.org/pub/GNOME/sources/gtk-vnc/([\d\.]+)/ \
+ gtk-vnc-([\d\.]+)\.tar\.gz
+
--- gtk-vnc-0.4.1.orig/debian/python-gtk-vnc.install
+++ gtk-vnc-0.4.1/debian/python-gtk-vnc.install
@@ -0,0 +1 @@
+debian/tmp/usr/lib/python*/*-packages/gtkvnc.so
--- gtk-vnc-0.4.1.orig/debian/compat
+++ gtk-vnc-0.4.1/debian/compat
@@ -0,0 +1 @@
+7
--- gtk-vnc-0.4.1.orig/debian/pyversions
+++ gtk-vnc-0.4.1/debian/pyversions
@@ -0,0 +1 @@
+current
--- gtk-vnc-0.4.1.orig/debian/libgtk-vnc-1.0-0.symbols
+++ gtk-vnc-0.4.1/debian/libgtk-vnc-1.0-0.symbols
@@ -0,0 +1,118 @@
+libgtk-vnc-1.0.so.0 libgtk-vnc-1.0-0 #MINVER#
+ vnc_display_client_cut_text@Base 0.3.10
+ vnc_display_close@Base 0.3.10
+ vnc_display_credential_get_type@Base 0.3.10
+ vnc_display_depth_color_get_type@Base 0.3.10
+ vnc_display_force_grab@Base 0.3.10
+ vnc_display_get_depth@Base 0.3.10
+ vnc_display_get_force_size@Base 0.3.10
+ vnc_display_get_height@Base 0.3.10
+ vnc_display_get_keyboard_grab@Base 0.3.10
+ vnc_display_get_lossy_encoding@Base 0.3.10
+ vnc_display_get_name@Base 0.3.10
+ vnc_display_get_option_entries@Base 0.3.10
+ vnc_display_get_option_group@Base 0.3.10
+ vnc_display_get_pixbuf@Base 0.3.10
+ vnc_display_get_pointer_grab@Base 0.3.10
+ vnc_display_get_pointer_local@Base 0.3.10
+ vnc_display_get_read_only@Base 0.3.10
+ vnc_display_get_scaling@Base 0.3.10
+ vnc_display_get_shared_flag@Base 0.3.10
+ vnc_display_get_type@Base 0.3.10
+ vnc_display_get_width@Base 0.3.10
+ vnc_display_is_open@Base 0.3.10
+ vnc_display_is_pointer_absolute@Base 0.3.10
+ vnc_display_key_event_get_type@Base 0.3.10
+ vnc_display_new@Base 0.3.10
+ vnc_display_open_fd@Base 0.3.10
+ vnc_display_open_host@Base 0.3.10
+ vnc_display_request_update@Base 0.3.10
+ vnc_display_send_keys@Base 0.3.10
+ vnc_display_send_keys_ex@Base 0.3.10
+ vnc_display_send_pointer@Base 0.3.10
+ vnc_display_set_credential@Base 0.3.10
+ vnc_display_set_depth@Base 0.3.10
+ vnc_display_set_force_size@Base 0.3.10
+ vnc_display_set_keyboard_grab@Base 0.3.10
+ vnc_display_set_lossy_encoding@Base 0.3.10
+ vnc_display_set_pointer_grab@Base 0.3.10
+ vnc_display_set_pointer_local@Base 0.3.10
+ vnc_display_set_read_only@Base 0.3.10
+ vnc_display_set_scaling@Base 0.3.10
+ vnc_display_set_shared_flag@Base 0.3.10
+ vnc_grab_sequence_as_string@Base 0.4.1
+ vnc_grab_sequence_copy@Base 0.4.1
+ vnc_grab_sequence_free@Base 0.4.1
+ vnc_grab_sequence_get_type@Base 0.4.1
+ vnc_grab_sequence_new@Base 0.4.1
+ vnc_grab_sequence_new_from_string@Base 0.4.1
+ vnc_image_framebuffer_get_image@Base 0.4.1
+ vnc_image_framebuffer_get_type@Base 0.4.1
+ vnc_image_framebuffer_new@Base 0.4.1
+ vnc_display_get_grab_keys@Base 0.4.1
+ vnc_display_set_grab_keys@Base 0.4.1
+libgvnc-1.0.so.0 libgtk-vnc-1.0-0 #MINVER#
+ vnc_base_framebuffer_get_type@Base 0.4.1
+ vnc_base_framebuffer_new@Base 0.4.1
+ vnc_color_map_copy@Base 0.4.1
+ vnc_color_map_free@Base 0.4.1
+ vnc_color_map_get_type@Base 0.4.1
+ vnc_color_map_new@Base 0.4.1
+ vnc_color_map_set@Base 0.4.1
+ vnc_connection_auth_get_type@Base 0.4.1
+ vnc_connection_auth_vencrypt_get_type@Base 0.4.1
+ vnc_connection_client_cut_text@Base 0.4.1
+ vnc_connection_credential_get_type@Base 0.4.1
+ vnc_connection_encoding_get_type@Base 0.4.1
+ vnc_connection_framebuffer_update_request@Base 0.4.1
+ vnc_connection_get_abs_pointer@Base 0.4.1
+ vnc_connection_get_cursor@Base 0.4.1
+ vnc_connection_get_ext_key_event@Base 0.4.1
+ vnc_connection_get_height@Base 0.4.1
+ vnc_connection_get_name@Base 0.4.1
+ vnc_connection_get_pixel_format@Base 0.4.1
+ vnc_connection_get_shared@Base 0.4.1
+ vnc_connection_get_type@Base 0.4.1
+ vnc_connection_get_width@Base 0.4.1
+ vnc_connection_has_error@Base 0.4.1
+ vnc_connection_is_initialized@Base 0.4.1
+ vnc_connection_is_open@Base 0.4.1
+ vnc_connection_key_event@Base 0.4.1
+ vnc_connection_new@Base 0.4.1
+ vnc_connection_open_fd@Base 0.4.1
+ vnc_connection_open_host@Base 0.4.1
+ vnc_connection_pointer_event@Base 0.4.1
+ vnc_connection_set_auth_subtype@Base 0.4.1
+ vnc_connection_set_auth_type@Base 0.4.1
+ vnc_connection_set_credential@Base 0.4.1
+ vnc_connection_set_encodings@Base 0.4.1
+ vnc_connection_set_framebuffer@Base 0.4.1
+ vnc_connection_set_pixel_format@Base 0.4.1
+ vnc_connection_set_shared@Base 0.4.1
+ vnc_connection_shutdown@Base 0.4.1
+ vnc_cursor_get_data@Base 0.4.1
+ vnc_cursor_get_height@Base 0.4.1
+ vnc_cursor_get_hotx@Base 0.4.1
+ vnc_cursor_get_hoty@Base 0.4.1
+ vnc_cursor_get_type@Base 0.4.1
+ vnc_cursor_get_width@Base 0.4.1
+ vnc_cursor_new@Base 0.4.1
+ vnc_framebuffer_blt@Base 0.4.1
+ vnc_framebuffer_copyrect@Base 0.4.1
+ vnc_framebuffer_fill@Base 0.4.1
+ vnc_framebuffer_get_buffer@Base 0.4.1
+ vnc_framebuffer_get_height@Base 0.4.1
+ vnc_framebuffer_get_local_format@Base 0.4.1
+ vnc_framebuffer_get_remote_format@Base 0.4.1
+ vnc_framebuffer_get_rowstride@Base 0.4.1
+ vnc_framebuffer_get_type@Base 0.4.1
+ vnc_framebuffer_get_width@Base 0.4.1
+ vnc_framebuffer_perfect_format_match@Base 0.4.1
+ vnc_framebuffer_rgb24_blt@Base 0.4.1
+ vnc_framebuffer_set_pixel_at@Base 0.4.1
+ vnc_pixel_format_copy@Base 0.4.1
+ vnc_pixel_format_free@Base 0.4.1
+ vnc_pixel_format_get_type@Base 0.4.1
+ vnc_pixel_format_new@Base 0.4.1
+ vnc_util_get_debug@Base 0.4.1
+ vnc_util_set_debug@Base 0.4.1
--- gtk-vnc-0.4.1.orig/debian/rules
+++ gtk-vnc-0.4.1/debian/rules
@@ -0,0 +1,18 @@
+#! /usr/bin/make -f
+
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/rules/utils.mk
+include /usr/share/cdbs/1/class/autotools.mk
+include /usr/share/cdbs/1/rules/patchsys-quilt.mk
+
+DEB_CONFIGURE_EXTRA_FLAGS += --with-python --with-gtkglext --with-examples --enable-plugin=yes
+
+DEB_DBG_PACKAGES = libgtk-vnc-1.0-0-dbg
+DEB_DBG_PACKAGE_libgtk-vnc-1.0-0 = libgtk-vnc-1.0-0-dbg
+
+DEB_DH_MAKESHLIBS_ARGS_libgtk-vnc-1.0-0 += -V 'libgtk-vnc-1.0-0 (>= 0.3.9)'
+DEB_DH_MAKESHLIBS_ARGS_mozilla-gtk-vnc += --noscripts -X /plugins/
+
+binary-install/python-gtk-vnc::
+ dh_pysupport
+
--- gtk-vnc-0.4.1.orig/debian/README.source
+++ gtk-vnc-0.4.1/debian/README.source
@@ -0,0 +1,57 @@
+This package uses quilt to manage all modifications to the upstream
+source. Changes are stored in the source package as diffs in
+debian/patches and applied during the build.
+
+To configure quilt to use debian/patches instead of patches, you want
+either to export QUILT_PATCHES=debian/patches in your environment
+or use this snippet in your ~/.quiltrc:
+
+ for where in ./ ../ ../../ ../../../ ../../../../ ../../../../../; do
+ if [ -e ${where}debian/rules -a -d ${where}debian/patches ]; then
+ export QUILT_PATCHES=debian/patches
+ fi
+ done
+
+To get the fully patched source after unpacking the source package, cd to
+the root level of the source package and run:
+
+ quilt push -a
+
+The last patch listed in debian/patches/series will become the current
+patch.
+
+To add a new set of changes, first run quilt push -a, and then run:
+
+ quilt new <patch>
+
+where <patch> is a descriptive name for the patch, used as the filename in
+debian/patches. Then, for every file that will be modified by this patch,
+run:
+
+ quilt add <file>
+
+before editing those files. You must tell quilt with quilt add what files
+will be part of the patch before making changes or quilt will not work
+properly. After editing the files, run:
+
+ quilt refresh
+
+to save the results as a patch.
+
+Alternately, if you already have an external patch and you just want to
+add it to the build system, run quilt push -a and then:
+
+ quilt import -P <patch> /path/to/patch
+ quilt push -a
+
+(add -p 0 to quilt import if needed). <patch> as above is the filename to
+use in debian/patches. The last quilt push -a will apply the patch to
+make sure it works properly.
+
+To remove an existing patch from the list of patches that will be applied,
+run:
+
+ quilt delete <patch>
+
+You may need to run quilt pop -a to unapply patches first before running
+this command.
--- gtk-vnc-0.4.1.orig/debian/patches/0001-fix-build-with-xulrunner-1.9.1.patch
+++ gtk-vnc-0.4.1/debian/patches/0001-fix-build-with-xulrunner-1.9.1.patch
@@ -0,0 +1,274 @@
+From: =?UTF-8?q?Guido=20G=C3=BCnther?= <agx@sigxcpu.org>
+Date: Mon, 16 Nov 2009 21:48:41 +0100
+Subject: [PATCH] fix build with xulrunner 1.9.1
+
+Closes: #556840
+Bug: https://bugzilla.gnome.org/show_bug.cgi?id=564718
+---
+ plugin/npshell.c | 1 -
+ plugin/npunix.c | 176 +++++++++++++++++++++++++++++++++++++++++++++++++++---
+ 2 files changed, 168 insertions(+), 9 deletions(-)
+
+diff --git a/plugin/npshell.c b/plugin/npshell.c
+index 0252a02..e1194aa 100644
+--- a/plugin/npshell.c
++++ b/plugin/npshell.c
+@@ -81,7 +81,6 @@ Contributor(s): Adobe Systems Incorporated.
+ #include <string.h>
+
+ #include <npapi.h>
+-#include <npupp.h>
+
+ #include "gtk-vnc-plugin.h"
+
+diff --git a/plugin/npunix.c b/plugin/npunix.c
+index 67a72f0..a9bdd88 100644
+--- a/plugin/npunix.c
++++ b/plugin/npunix.c
+@@ -55,7 +55,151 @@
+
+ #include <stdio.h>
+ #include <npapi.h>
++#if (((NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR) < 20)
+ #include <npupp.h>
++#else
++#include <npfunctions.h>
++// For 1.9 compatibility
++// ------------------------------------------------
++typedef NPError (*NPN_GetValueUPP)(NPP instance, NPNVariable variable, void *ret_alue);
++#define NewNPN_GetValueProc(FUNC) \
++ ((NPN_GetValueUPP) (FUNC))
++#define CallNPN_GetValueProc(FUNC, ARG1, ARG2, ARG3) \
++ (*(FUNC))((ARG1), (ARG2), (ARG3))
++
++typedef NPError (*NPN_SetValueUPP)(NPP instance, NPPVariable variable, void *ret_alue);
++#define NewNPN_SetValueProc(FUNC) \
++ ((NPN_SetValueUPP) (FUNC))
++#define CallNPN_SetValueProc(FUNC, ARG1, ARG2, ARG3) \
++ (*(FUNC))((ARG1), (ARG2), (ARG3))
++
++typedef NPError (*NPN_GetURLUPP)(NPP instance, const char* url, const char* window);
++#define NewNPN_GetURLProc(FUNC) \
++ ((NPN_GetURLUPP) (FUNC))
++#define CallNPN_GetURLProc(FUNC, ARG1, ARG2, ARG3) \
++ (*(FUNC))((ARG1), (ARG2), (ARG3))
++
++typedef NPError (*NPN_GetURLNotifyUPP)(NPP instance, const char* url, const char* window, void* notifyData);
++#define NewNPN_GetURLNotifyProc(FUNC) \
++ ((NPN_GetURLNotifyUPP) (FUNC))
++#define CallNPN_GetURLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4) \
++ (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4))
++
++typedef NPError (*NPN_PostURLUPP)(NPP instance, const char* url, const char* window, uint32_t len, const char* buf, NPBool file);
++#define NewNPN_PostURLProc(FUNC) \
++ ((NPN_PostURLUPP) (FUNC))
++#define CallNPN_PostURLProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6) \
++ (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6))
++
++typedef NPError (*NPN_PostURLNotifyUPP)(NPP instance, const char* url, const char* window, uint32_t len, const char* buf, NPBool file, void* notifyData);
++#define NewNPN_PostURLNotifyProc(FUNC) \
++ ((NPN_PostURLNotifyUPP) (FUNC))
++#define CallNPN_PostURLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7) \
++ (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7))
++
++typedef NPError (*NPN_RequestReadUPP)(NPStream* stream, NPByteRange* rangeList);
++#define NewNPN_RequestReadProc(FUNC) \
++ ((NPN_RequestReadUPP) (FUNC))
++#define CallNPN_RequestReadProc(FUNC, stream, range) \
++ (*(FUNC))((stream), (range))
++
++typedef NPError (*NPN_NewStreamUPP)(NPP instance, NPMIMEType type, const char* window, NPStream** stream);
++#define NewNPN_NewStreamProc(FUNC) \
++ ((NPN_NewStreamUPP) (FUNC))
++#define CallNPN_NewStreamProc(FUNC, npp, type, window, stream) \
++ (*(FUNC))((npp), (type), (window), (stream))
++
++typedef int32_t (*NPN_WriteUPP)(NPP instance, NPStream* stream, int32_t len, void* buffer);
++#define NewNPN_WriteProc(FUNC) \
++ ((NPN_WriteUPP) (FUNC))
++#define CallNPN_WriteProc(FUNC, npp, stream, len, buffer) \
++ (*(FUNC))((npp), (stream), (len), (buffer))
++
++typedef NPError (*NPN_DestroyStreamUPP)(NPP instance, NPStream* stream, NPReason reason);
++#define NewNPN_DestroyStreamProc(FUNC) \
++ ((NPN_DestroyStreamUPP) (FUNC))
++#define CallNPN_DestroyStreamProc(FUNC, npp, stream, reason) \
++ (*(FUNC))((npp), (stream), (reason))
++
++typedef void (*NPN_StatusUPP)(NPP instance, const char* message);
++#define NewNPN_StatusProc(FUNC) \
++ ((NPN_StatusUPP) (FUNC))
++#define CallNPN_StatusProc(FUNC, npp, msg) \
++ (*(FUNC))((npp), (msg))
++
++typedef const char* (*NPN_UserAgentUPP)(NPP instance);
++#define NewNPN_UserAgentProc(FUNC) \
++ ((NPN_UserAgentUPP) (FUNC))
++#define CallNPN_UserAgentProc(FUNC, ARG1) \
++ (*(FUNC))((ARG1))
++
++typedef void* (*NPN_MemAllocUPP)(uint32_t size);
++#define NewNPN_MemAllocProc(FUNC) \
++ ((NPN_MemAllocUPP) (FUNC))
++#define CallNPN_MemAllocProc(FUNC, ARG1) \
++ (*(FUNC))((ARG1))
++
++typedef void (*NPN_MemFreeUPP)(void* ptr);
++#define NewNPN_MemFreeProc(FUNC) \
++ ((NPN_MemFreeUPP) (FUNC))
++#define CallNPN_MemFreeProc(FUNC, ARG1) \
++ (*(FUNC))((ARG1))
++
++typedef uint32_t (*NPN_MemFlushUPP)(uint32_t size);
++#define NewNPN_MemFlushProc(FUNC) \
++ ((NPN_MemFlushUPP) (FUNC))
++#define CallNPN_MemFlushProc(FUNC, ARG1) \
++ (*(FUNC))((ARG1))
++
++typedef void (*NPN_ReloadPluginsUPP)(NPBool reloadPages);
++#define NewNPN_ReloadPluginsProc(FUNC) \
++ ((NPN_ReloadPluginsUPP) (FUNC))
++#define CallNPN_ReloadPluginsProc(FUNC, ARG1) \
++ (*(FUNC))((ARG1))
++
++typedef void (*NPN_InvalidateRectUPP)(NPP instance, NPRect *rect);
++#define NewNPN_InvalidateRectProc(FUNC) \
++ ((NPN_InvalidateRectUPP) (FUNC))
++#define CallNPN_InvalidateRectProc(FUNC, ARG1, ARG2) \
++ (*(FUNC))((ARG1), (ARG2))
++
++typedef void (*NPN_InvalidateRegionUPP)(NPP instance, NPRegion region);
++#define NewNPN_InvalidateRegionProc(FUNC) \
++ ((NPN_InvalidateRegionUPP) (FUNC))
++#define CallNPN_InvalidateRegionProc(FUNC, ARG1, ARG2) \
++ (*(FUNC))((ARG1), (ARG2))
++
++typedef void (*NPN_ForceRedrawUPP)(NPP instance);
++#define NewNPN_ForceRedrawProc(FUNC) \
++ ((NPN_ForceRedrawUPP) (FUNC))
++#define CallNPN_ForceRedrawProc(FUNC, ARG1) \
++ (*(FUNC))((ARG1))
++
++typedef void* (*NPN_GetJavaEnvUPP)();
++#define NewNPN_GetJavaEnvProc(FUNC) \
++ ((NPN_GetJavaEnvUPP) (FUNC))
++#define CallNPN_GetJavaEnvProc(FUNC) \
++ (*(FUNC))()
++
++typedef void* (*NPN_GetJavaPeerUPP)(NPP instance);
++#define NewNPN_GetJavaPeerProc(FUNC) \
++ ((NPN_GetJavaPeerUPP) (FUNC))
++#define CallNPN_GetJavaPeerProc(FUNC, ARG1) \
++ (*(FUNC))((ARG1))
++
++typedef bool (*NPN_PushPopupsEnabledStateUPP)(NPP instance, NPBool enabled);
++#define NewNPN_PushPopupsEnabledStateProc(FUNC) \
++ ((NPN_PushPopupsEnabledStateUPP) (FUNC))
++#define CallNPN_PushPopupsEnabledStateProc(FUNC, ARG1, ARG2) \
++ (*(FUNC))((ARG1), (ARG2))
++
++typedef bool (*NPN_PopPopupsEnabledStateUPP)(NPP instance);
++#define NewNPN_PopPopupsEnabledStateProc(FUNC) \
++ ((NPN_PopPopupsEnabledStateUPP) (FUNC))
++#define CallNPN_PopPopupsEnabledStateProc(FUNC, ARG1) \
++ (*(FUNC))((ARG1))
++
++#endif
+
+ #include <glib.h> /* just for G_GNUC_UNUSED */
+
+@@ -132,14 +276,14 @@ NPN_GetURLNotify(NPP instance, const char* url, const char* window, void* notify
+
+ NPError
+ NPN_PostURL(NPP instance, const char* url, const char* window,
+- uint32 len, const char* buf, NPBool file)
++ uint32_t len, const char* buf, NPBool file)
+ {
+ return CallNPN_PostURLProc(gNetscapeFuncs.posturl, instance,
+ url, window, len, buf, file);
+ }
+
+ NPError
+-NPN_PostURLNotify(NPP instance, const char* url, const char* window, uint32 len,
++NPN_PostURLNotify(NPP instance, const char* url, const char* window, uint32_t len,
+ const char* buf, NPBool file, void* notifyData)
+ {
+ return CallNPN_PostURLNotifyProc(gNetscapeFuncs.posturlnotify,
+@@ -162,7 +306,7 @@ NPN_NewStream(NPP instance, NPMIMEType type, const char *window,
+ }
+
+ int32
+-NPN_Write(NPP instance, NPStream* stream, int32 len, void* buffer)
++NPN_Write(NPP instance, NPStream* stream, int32_t len, void* buffer)
+ {
+ return CallNPN_WriteProc(gNetscapeFuncs.write, instance,
+ stream, len, buffer);
+@@ -188,7 +332,7 @@ NPN_UserAgent(NPP instance)
+ }
+
+ void*
+-NPN_MemAlloc(uint32 size)
++NPN_MemAlloc(uint32_t size)
+ {
+ return CallNPN_MemAllocProc(gNetscapeFuncs.memalloc, size);
+ }
+@@ -198,7 +342,7 @@ void NPN_MemFree(void* ptr)
+ CallNPN_MemFreeProc(gNetscapeFuncs.memfree, ptr);
+ }
+
+-uint32 NPN_MemFlush(uint32 size)
++uint32_t NPN_MemFlush(uint32_t size)
+ {
+ return CallNPN_MemFlushProc(gNetscapeFuncs.memflush, size);
+ }
+@@ -267,8 +411,8 @@ void NPN_PopPopupsEnabledState(NPP instance)
+ ***********************************************************************/
+
+ static NPError
+-Private_New(NPMIMEType pluginType, NPP instance, uint16 mode,
+- int16 argc, char* argn[], char* argv[], NPSavedData* saved)
++Private_New(NPMIMEType pluginType, NPP instance, uint16_t mode,
++ int16_t argc, char* argn[], char* argv[], NPSavedData* saved)
+ {
+ NPError ret;
+ PLUGINDEBUGSTR("New");
+@@ -313,7 +457,7 @@ Private_WriteReady(NPP instance, NPStream* stream)
+ }
+
+ static int32
+-Private_Write(NPP instance, NPStream* stream, int32 offset, int32 len,
++Private_Write(NPP instance, NPStream* stream, int32_t offset, int32_t len,
+ void* buffer)
+ {
+ unsigned int result;
+@@ -499,6 +643,7 @@ NP_Initialize(NPNetscapeFuncs* nsTable, NPPluginFuncs* pluginFuncs)
+ */
+ pluginFuncs->version = (NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR;
+ pluginFuncs->size = sizeof(NPPluginFuncs);
++#if (((NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR) < 20)
+ pluginFuncs->newp = NewNPP_NewProc(Private_New);
+ pluginFuncs->destroy = NewNPP_DestroyProc(Private_Destroy);
+ pluginFuncs->setwindow = NewNPP_SetWindowProc(Private_SetWindow);
+@@ -511,6 +656,21 @@ NP_Initialize(NPNetscapeFuncs* nsTable, NPPluginFuncs* pluginFuncs)
+ pluginFuncs->urlnotify = NewNPP_URLNotifyProc(Private_URLNotify);
+ pluginFuncs->getvalue = NewNPP_GetValueProc(Private_GetValue);
+ pluginFuncs->event = NewNPP_HandleEventProc(Private_HandleEvent);
++#else
++ pluginFuncs->newp = (NPP_NewProcPtr)(Private_New);
++ pluginFuncs->destroy = (NPP_DestroyProcPtr)(Private_Destroy);
++ pluginFuncs->setwindow = (NPP_SetWindowProcPtr)(Private_SetWindow);
++ pluginFuncs->newstream = (NPP_NewStreamProcPtr)(Private_NewStream);
++ pluginFuncs->destroystream = (NPP_DestroyStreamProcPtr)(Private_DestroyStream);
++ pluginFuncs->asfile = (NPP_StreamAsFileProcPtr)(Private_StreamAsFile);
++ pluginFuncs->writeready = (NPP_WriteReadyProcPtr)(Private_WriteReady);
++ pluginFuncs->write = (NPP_WriteProcPtr)(Private_Write);
++ pluginFuncs->print = (NPP_PrintProcPtr)(Private_Print);
++ pluginFuncs->urlnotify = (NPP_URLNotifyProcPtr)(Private_URLNotify);
++ pluginFuncs->getvalue = (NPP_GetValueProcPtr)(Private_GetValue);
++ pluginFuncs->event = (NPP_HandleEventProcPtr)(Private_HandleEvent);
++#endif
++
+ #ifdef OJI
+ pluginFuncs->javaClass = Private_GetJavaClass();
+ #endif
+--
--- gtk-vnc-0.4.1.orig/debian/patches/0003-Fix-auth-subtype-choosing-logic-in-vncdisplay.patch
+++ gtk-vnc-0.4.1/debian/patches/0003-Fix-auth-subtype-choosing-logic-in-vncdisplay.patch
@@ -0,0 +1,192 @@
+From: =?UTF-8?q?Guido=20G=C3=BCnther?= <agx@sigxcpu.org>
+Date: Fri, 17 Sep 2010 13:08:03 +0200
+Subject: [PATCH] Fix auth subtype choosing logic in vncdisplay
+
+Origin: upstream, http://git.gnome.org/browse/gtk-vnc/commit/?id=6800dd5d7f665a3587f5f6eb4b44efee361d142c
+Closes: #596287
+---
+ src/vncconnection.c | 5 ++-
+ src/vncdisplay.c | 82 +++++++++++++++++++++++++++++++++++++++-----------
+ 2 files changed, 68 insertions(+), 19 deletions(-)
+
+diff --git a/src/vncconnection.c b/src/vncconnection.c
+index a4a9835..def69d5 100644
+--- a/src/vncconnection.c
++++ b/src/vncconnection.c
+@@ -3675,7 +3675,7 @@ static gboolean vnc_connection_perform_auth_tls(VncConnection *conn)
+
+ if (priv->has_error)
+ return FALSE;
+- vnc_connection_choose_auth(conn, VNC_AUTH_CHOOSE_TYPE, nauth, auth);
++ vnc_connection_choose_auth(conn, VNC_AUTH_CHOOSE_SUBTYPE, nauth, auth);
+ if (priv->has_error)
+ return FALSE;
+
+@@ -4669,6 +4669,7 @@ static int vnc_connection_best_path(char **buf,
+ }
+ g_free(tmp);
+ }
++ VNC_DEBUG("Failed to find certificate %s/%s", basedir, basefile);
+ return -1;
+ }
+
+@@ -4690,6 +4691,8 @@ static gboolean vnc_connection_set_credential_x509(VncConnection *conn,
+ #else
+ char *dirs[] = { sysdir };
+ #endif
++ for (int i = 0 ; i < sizeof(dirs)/sizeof(dirs[0]) ; i++)
++ VNC_DEBUG("Searching for certs in %s", dirs[i]);
+
+ if (vnc_connection_best_path(&priv->cred_x509_cacert, "CA", "cacert.pem",
+ dirs, sizeof(dirs)/sizeof(dirs[0])) < 0)
+diff --git a/src/vncdisplay.c b/src/vncdisplay.c
+index 175456a..3c72a45 100644
+--- a/src/vncdisplay.c
++++ b/src/vncdisplay.c
+@@ -84,6 +84,7 @@ struct _VncDisplayPrivate
+ gboolean force_size;
+
+ GSList *preferable_auths;
++ GSList *preferable_vencrypt_subauths;
+ const guint8 const *keycode_map;
+
+ VncGrabSequence *vncgrabseq; /* the configured key sequence */
+@@ -1113,7 +1114,7 @@ static void on_auth_cred(VncConnection *conn G_GNUC_UNUSED,
+ g_signal_emit(G_OBJECT(obj), signals[VNC_AUTH_CREDENTIAL], 0, creds);
+ }
+
+-static void on_auth_choose_type(VncConnection *conn G_GNUC_UNUSED,
++static void on_auth_choose_type(VncConnection *conn,
+ GValueArray *types,
+ gpointer opaque)
+ {
+@@ -1122,8 +1123,11 @@ static void on_auth_choose_type(VncConnection *conn G_GNUC_UNUSED,
+ GSList *l;
+ guint i;
+
+- if (!types->n_values)
++ if (!types->n_values) {
++ VNC_DEBUG("No auth types available to choose from");
++ vnc_connection_shutdown(conn);
+ return;
++ }
+
+ for (l = priv->preferable_auths; l; l=l->next) {
+ int pref = GPOINTER_TO_UINT (l->data);
+@@ -1131,17 +1135,18 @@ static void on_auth_choose_type(VncConnection *conn G_GNUC_UNUSED,
+ for (i=0; i< types->n_values; i++) {
+ GValue *type = g_value_array_get_nth(types, i);
+ if (pref == g_value_get_enum(type)) {
+- vnc_connection_set_auth_type(priv->conn, pref);
++ vnc_connection_set_auth_type(conn, pref);
+ return;
+ }
+ }
+ }
+
+- GValue *type = g_value_array_get_nth(types, 0);
+- vnc_connection_set_auth_type(priv->conn, g_value_get_enum(type));
++ /* No sub-auth matching our supported auth so have to give up */
++ VNC_DEBUG("No preferred auth type found");
++ vnc_connection_shutdown(conn);
+ }
+
+-static void on_auth_choose_subtype(VncConnection *conn G_GNUC_UNUSED,
++static void on_auth_choose_subtype(VncConnection *conn,
+ unsigned int type,
+ GValueArray *subtypes,
+ gpointer opaque)
+@@ -1151,25 +1156,41 @@ static void on_auth_choose_subtype(VncConnection *conn G_GNUC_UNUSED,
+ GSList *l;
+ guint i;
+
+- if (!subtypes->n_values)
++ if (!subtypes->n_values) {
++ VNC_DEBUG("No subtypes available to choose from");
++ vnc_connection_shutdown(conn);
+ return;
++ }
+
+ if (type == VNC_CONNECTION_AUTH_TLS) {
+- for (l = priv->preferable_auths; l; l=l->next) {
+- int pref = GPOINTER_TO_UINT (l->data);
+-
+- for (i=0; i< subtypes->n_values; i++) {
+- GValue *subtype = g_value_array_get_nth(subtypes, i);
+- if (pref == g_value_get_enum(subtype)) {
+- vnc_connection_set_auth_type(priv->conn, pref);
+- return;
+- }
++ l = priv->preferable_auths;
++ } else if (type == VNC_CONNECTION_AUTH_VENCRYPT) {
++ l = priv->preferable_vencrypt_subauths;
++ } else {
++ VNC_DEBUG("Unexpected stackable auth type %d", type);
++ vnc_connection_shutdown(conn);
++ return;
++ }
++
++ for (; l; l=l->next) {
++ int pref = GPOINTER_TO_UINT (l->data);
++
++ /* Don't want to recursively do the same major auth */
++ if (pref == type)
++ continue;
++
++ for (i=0; i< subtypes->n_values; i++) {
++ GValue *subtype = g_value_array_get_nth(subtypes, i);
++ if (pref == g_value_get_enum(subtype)) {
++ vnc_connection_set_auth_subtype(conn, pref);
++ return;
+ }
+ }
+ }
+
+- GValue *subtype = g_value_array_get_nth(subtypes, 0);
+- vnc_connection_set_auth_subtype(priv->conn, g_value_get_enum(subtype));
++ /* No sub-auth matching our supported auth so have to give up */
++ VNC_DEBUG("No preferred auth subtype found");
++ vnc_connection_shutdown(conn);
+ }
+
+ static void on_auth_failure(VncConnection *conn G_GNUC_UNUSED,
+@@ -1523,6 +1544,7 @@ static void vnc_display_finalize (GObject *obj)
+ }
+
+ g_slist_free (priv->preferable_auths);
++ g_slist_free (priv->preferable_vencrypt_subauths);
+
+ vnc_display_keyval_free_entries();
+
+@@ -1906,6 +1928,30 @@ static void vnc_display_init(VncDisplay *display)
+ */
+ priv->preferable_auths = g_slist_append (priv->preferable_auths, GUINT_TO_POINTER (VNC_CONNECTION_AUTH_NONE));
+
++
++ /* Prefered order for VeNCrypt subtypes */
++ priv->preferable_vencrypt_subauths = g_slist_append(priv->preferable_vencrypt_subauths,
++ GUINT_TO_POINTER(VNC_CONNECTION_AUTH_VENCRYPT_X509SASL));
++ priv->preferable_vencrypt_subauths = g_slist_append(priv->preferable_vencrypt_subauths,
++ GUINT_TO_POINTER(VNC_CONNECTION_AUTH_VENCRYPT_X509PLAIN));
++ priv->preferable_vencrypt_subauths = g_slist_append(priv->preferable_vencrypt_subauths,
++ GUINT_TO_POINTER(VNC_CONNECTION_AUTH_VENCRYPT_X509VNC));
++ priv->preferable_vencrypt_subauths = g_slist_append(priv->preferable_vencrypt_subauths,
++ GUINT_TO_POINTER(VNC_CONNECTION_AUTH_VENCRYPT_X509NONE));
++ priv->preferable_vencrypt_subauths = g_slist_append(priv->preferable_vencrypt_subauths,
++ GUINT_TO_POINTER(VNC_CONNECTION_AUTH_VENCRYPT_TLSSASL));
++ priv->preferable_vencrypt_subauths = g_slist_append(priv->preferable_vencrypt_subauths,
++ GUINT_TO_POINTER(VNC_CONNECTION_AUTH_VENCRYPT_TLSPLAIN));
++ priv->preferable_vencrypt_subauths = g_slist_append(priv->preferable_vencrypt_subauths,
++ GUINT_TO_POINTER(VNC_CONNECTION_AUTH_VENCRYPT_TLSVNC));
++ priv->preferable_vencrypt_subauths = g_slist_append(priv->preferable_vencrypt_subauths,
++ GUINT_TO_POINTER(VNC_CONNECTION_AUTH_VENCRYPT_TLSNONE));
++ /*
++ * Refuse fully cleartext passwords
++ priv->preferable_vencrypt_subauths = g_slist_append(priv->preferable_vencrypt_subauths,
++ GUINT_TO_POINTER(VNC_CONNECTION_AUTH_VENCRYPT_PLAIN));
++ */
++
+ priv->conn = vnc_connection_new();
+
+ g_signal_connect(G_OBJECT(priv->conn), "vnc-cursor-changed",
+--
--- gtk-vnc-0.4.1.orig/debian/patches/series
+++ gtk-vnc-0.4.1/debian/patches/series
@@ -0,0 +1,3 @@
+0001-fix-build-with-xulrunner-1.9.1.patch
+0002-Reset-xmit_buffer-fields-to-fix-reconnect.patch
+0003-Fix-auth-subtype-choosing-logic-in-vncdisplay.patch
--- gtk-vnc-0.4.1.orig/debian/patches/0002-Reset-xmit_buffer-fields-to-fix-reconnect.patch
+++ gtk-vnc-0.4.1/debian/patches/0002-Reset-xmit_buffer-fields-to-fix-reconnect.patch
@@ -0,0 +1,30 @@
+From: Daniel P. Berrange <dan@berrange.com>
+Date: Sun, 15 Aug 2010 17:30:19 +0000
+Subject: [PATCH] Reset xmit_buffer fields to fix reconnect
+
+If a vnc_connection object was closed and reopened old data in the xmit_buffer fields would cause a crash, since it was not re-initialized
+
+Origin: upstream, http://git.gnome.org/browse/gtk-vnc/commit/?id=55d0ee7ba77e15ac5bcf59ff6160170d5b67784f
+---
+ src/vncconnection.c | 7 ++++++-
+ 1 files changed, 6 insertions(+), 1 deletions(-)
+
+diff --git a/src/vncconnection.c b/src/vncconnection.c
+index 03197de..a4a9835 100644
+--- a/src/vncconnection.c
++++ b/src/vncconnection.c
+@@ -4191,7 +4191,12 @@ static void vnc_connection_close(VncConnection *conn)
+ priv->name = NULL;
+ }
+
+- g_free (priv->xmit_buffer);
++ if (priv->xmit_buffer) {
++ g_free(priv->xmit_buffer);
++ priv->xmit_buffer = NULL;
++ priv->xmit_buffer_size = 0;
++ priv->xmit_buffer_capacity = 0;
++ }
+
+ if (priv->cred_username) {
+ g_free(priv->cred_username);
+--