2025-01-06  Daniel P. Berrangé  <berrange@redhat.com>

	Add GitLab CI file for making releases
	Derived from recommended minimal example at:

	  https://handbook.gnome.org/maintainers/making-a-release.html

	rpm: add gcc dep and remove mingw-filesystem version
	We should not rely on implicit deps for gcc install.

	All versions of Fedora have new enough mingw-filesystem
	packages.

	Fallback to non-pkg-config lookup of gmp
	Most versions of gmp lack pkg-config support

	Bump version to 1.4.0 and update release notes

	Fix sig of mpz_urandomb in dhtest
	While the API docs declare the 2nd parameter as 'gmp_randstate_t', the
	header files declare it as 'gmp_randstate_ptr'. Either way this does not
	matter for the test suite from a functional POV as the param is not
	used. We just need to avoid triggering the compiler warnings:

	[59/119] Compiling C object src/dhtest.p/dhtest.c.o
	../src/dhtest.c:45:48: warning: argument 2 of type ‘__gmp_randstate_struct[1]’ with mismatched bound [-Warray-parameter=]
	   45 | void mpz_urandomb(mpz_ptr mpi, gmp_randstate_t rng G_GNUC_UNUSED, mp_bitcnt_t bits)
	In file included from /usr/include/gmp.h:59,
	                 from ../src/dhpriv.h:24,
	                 from ../src/dhtest.c:23:
	/usr/include/gmp-x86_64.h:1114:44: note: previously declared as ‘gmp_randstate_ptr’ {aka ‘__gmp_randstate_struct *’}
	 1114 | __GMP_DECLSPEC void mpz_urandomb (mpz_ptr, gmp_randstate_ptr, mp_bitcnt_t);
	      |                                            ^~~~~~~~~~~~~~~~~

2024-12-11  Daniel P. Berrangé  <berrange@redhat.com>

	Replace gcrypt with GMP for DH APIs
	The only remaining use of gcrypt is for the DH API impls,
	which can be replaced with use of GMP.

	Convert connection code to use gnutls for ciphers/hashes
	We already use gnutls for some DES cipher code. Convert the remaining
	places that still use gcrypt over to gnutls for ciphers/hashes/rng.

	Add testcase for ARD auth type

	Add testcase for MS logon auth type

	Add testing of invalid VNC auth types

	Add testing of VNC auth scheme

	Refactor VNC connection test to cope with more scenarios
	This will make it possible to test authentication logic

	Split up connection test init helper

	Make greater use of common init helper in VNC connection test

	Rename VNC connection test methods for greater clarity
	Three naming patterns

	 * server_XXX  - stuff invoked from server thread
	 * client_signal_XXX - helpers for client signals
	 * test_XXX - helper methods

	Use constants for encodings in VNC connection test

	Don't export gcry_mpi_t type in internal DH APIs.
	This will make it easier to remove use of gcrypt in future

	Convert vnc_bytes_to_mpi to use GBytes

	Convert vnc_mpi_to_bytes to use GBytes

	Add test case for DH support

2024-12-10  Daniel P. Berrangé  <berrange@redhat.com>

	Honour warning / deprecation CFLAGS in tests

	Add validation of auth types
	Don't offer apps the option to choose an auth type which is not
	supported by our code, raise this as an auth failure.

	Group signals in 5s and comment signal number
	This makes it easier to correlate with debug messages

2024-10-11  Marek Kasik  <mkasik@redhat.com>

	src: Avoid artifacts on HiDPI displays
	VncDisplay shows horizontal and vertical lines
	when scaling of the widget is performed on HiDPI display.
	This can be avoided by moving the updated rectangle by -0.5
	in both directions and increasing its size by 1 in
	both directions.
	Also the values which currently avoid artifacts on non-HiDPI
	displays has to be modified for both cases when scaling
	of VNC display is enabled and disabled.
	This fixes the issue for 200%, 300% and 400% HiDPI scales.

2024-09-16  Daniel P. Berrangé  <berrange@redhat.com>

	Don't assume SASL client out data is NUL terminated
	It can be arbitrary binary data so should not be formatted
	with '%s', and we should not access 1 past the end of the
	array when sending it, instead an explicit separate NUL byte
	must be sent.

	When receiving data from the server also check for the NUL
	padding byte.

2024-09-11  Daniel P. Berrangé  <berrange@redhat.com>

	rpm: fix adding translations to mingw packages

	Avoid requesting SSF layer over UNIX sockets
	It is valid to run without either an SSF or TLS when usig a UNIX
	socket since they are not ordinarily subject to 3rd party MITM
	attacks/snooping. Relaxing this allows more SASL auth mechanisms
	to be used on UNIX sockets, in particular the SCRAM_SHA256
	challenge/response, which is useful as a plain password auth
	scheme.

	Tweak debug message about SASL mechlist

	Fix leak of socket address during SASL auth process

2024-07-09  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>

	gvncviewer: Allow ungrabbing keyboard
	It can be frustrating for someone who is used to keyboard navigation
	between windows to find themselves unable to navigate away easily from
	a gvncviewer window, because gvncviewer grabs the keyboard by
	default.  Once it is focused, you can't keep navigating away.

	This change adds an option to the "View" menu called "Grab
	keyboard" (which is initially checked).  When that item is unchecked,
	GVncViewer still reads from the keyboard, but it doesn't take away the
	window manager's (or the compositor's) ability to use the keypress
	first.

2024-05-12  Scrambled 777  <weblate.scrambled777@simplelogin.com>

	Add Hindi translation

2024-04-29  Daniel P. Berrangé  <berrange@redhat.com>

	ci: add lcitool project definitions
	This is consumed by CI in virtualization projects like virt-viewer

2023-09-18  Andre Klapper  <a9016009@gmx.de>

	DOAP / README: Replace defunct Mailing List with Discourse

2023-09-07  Vasil Pupkin  <3abac@3a.by>

	Add Belarusian translation

2023-06-02  Jean-Louis Dupond  <jean-louis@dupond.be>

	Add VNC_DISPLAY_CREDENTIAL_CA_CERT_DATA
	This commits add an additional credential: VNC_DISPLAY_CREDENTIAL_CA_CERT_DATA
	So this can be used by virt-viewer to pass a trusted CA to the TLS
	negotiation.

2023-05-26  Sabri Ünal  <libreajans@gmail.com>

	Update Turkish translation

2023-04-26  Daniel P. Berrangé  <berrange@redhat.com>

	rpm: convert license to SPDX format

2023-01-23  Daniel P. Berrangé  <berrange@redhat.com>

	coroutine: print configured coroutine backend in meson summary

	coroutine: import coroutine test suite from spice-gtk
	This imports a simple unit test program to validate the coroutine
	implementation.

	coroutine: avoid ucontext impl on macOS M1 hardware
	The 'struct ucontext_t' declared by system headers appears too small,
	because getcontext() calls will scribble over memory after the end of
	the struct. The libucontext impl is a suitable alternative, as is the
	fallback gthread impl.

	coroutine: add support for libucontext
	libucontext is a lightweight implementation of ucontext for platforms
	that do not have a built-in implementation. This allows us to use the
	same code to support libucontext as ucontext.

	This is a copy of the spice-gtk commit

	  commit fa812c88492641005a768c72502a8953bd1223b2
	  Author: osy <osy@turing.llc>
	  Date:   Fri Mar 4 15:52:48 2022 -0800

	    coroutine: add support for libucontext

	coroutine: import winfiber impl from spice-gtk
	This will offer greater performance that the gthread impl

	continuation: Simplify implementation
	Instead of using ucontext and setjmp together just use setjmp and
	limit ucontext usage to initialise the initial jmp_buf context.
	This simplifies the code and reduce number of context operations done.
	In particular using _setjmp/_longjmp moving from a context to
	another does not require any system call.
	On x64 the continuation structure is reduced from 2176 to 248 bytes.

	This is a copy of the spice-gtk commit

	  commit 5989350429a79787f02e9c869c7769989781d320
	  Author: Frediano Ziglio <freddy77@gmail.com>
	  Date:   Fri Aug 14 05:26:35 2020 +0100

	    continuation: Simplify implementation

	Allows to use Valgrind with ucontext coroutines
	Changing stack is not usually instrumentation friendly.
	Allows to enable the usage of Valgrind memcheck calling some
	valgrind macros.

	This is a copy of the spice-gtk commit:

	  commit 942bd130ddd3c331045c1d3e4f580909901d285a
	  Author: Frediano Ziglio <freddy77@gmail.com>
	  Date:   Thu Aug 13 14:31:52 2020 +0100

	      Allows to use Valgrind with ucontext coroutines

	coroutine_gthread: Fix recursive yield
	This is a copy of spice-gtk commit:

	  commit 9def63a7a402e491ba79a4aa98ef85f8142f11b4
	  Author: Frediano Ziglio <freddy77@gmail.com>
	  Date:   Tue Aug 11 21:24:26 2020 +0100

	    coroutine_gthread: Fix recursive yield

	coroutine_gthread: Do not call g_cond_init
	Not necessary from Glib 2.32 for static allocated conditions.

	This is a copy of spice-gtk commit:

	  commit 3b24b556fdef88e4582cffec01800d24bb65ae24
	  Author: Frediano Ziglio <freddy77@gmail.com>
	  Date:   Tue Aug 11 21:23:09 2020 +0100

	      coroutine_gthread: Do not call g_cond_init

	coroutine: Initialize "current" at link time
	This is a copy of spice-gtk commit

	  commit 25875b2e26a54a08571376da31684eed316df6d5
	  Author: Frediano Ziglio <freddy77@gmail.com>
	  Date:   Tue Aug 11 17:51:18 2020 +0100

	      coroutine: Initialize "current" at link time

	coroutine: Remove "release" field
	Not used and implemented in different ways by the various
	coroutine implementations

	This is a copy of spice-gtk commit:

	  commit ca2e4ec3bb4f5ce590b8c35fe173247c71958f20
	  Author: Frediano Ziglio <freddy77@gmail.com>
	  Date:   Tue Aug 11 17:49:53 2020 +0100

	      coroutine: Remove "release" field

	coroutine: Make coroutine_swap static
	Only used by different coroutine implementations

	This is a copy of the spice-gtk commit:

	  commit 5f162843f96baf54c74cb9a5fe9b3b5801026d14
	  Author: Frediano Ziglio <freddy77@gmail.com>
	  Date:   Tue Aug 11 17:45:40 2020 +0100

	      coroutine: Make coroutine_swap static

	coroutine-gthread: Modernize a bit coroutine-gthread.
	This is a copy of the spice-gtk commit:

	  commit 274ea2683bb1c9e88ce58e2640e84a47a8fcb939
	  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
	  Date:   Fri Jan 4 17:38:28 2019 +0400

	    coroutine-gthread: fix GThread deprecations

	coroutine: error out on OOM or impossible conditions
	Take an approach similar to gthreads, which are considered as low
	level/must work features by glib, which aborts on failures.

	This change is copied from the spice-gtk commit:

	  commit 0508f586be974a49497a15d5ce39b2f94b68a4bf
	  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
	  Date:   Tue Nov 19 15:29:28 2013 +0100

	    coroutine: error out on OOM or impossible conditions

	coroutine: make gthread coroutine pass tests
	The coroutine entry() return value must be passed via the caller->data,
	since coroutine_swap() returns from->data. (this is needed because
	coroutine_swap() argument is used both to return from entry() or to send
	data to a running coroutine)

	When leaving a coroutine, clear its caller.

	Return correct coroutine_self() before other coroutine are initialized.

	This is a copy of spice-gtk commit

	  commit 0c120e0f6d94da5b7aa2009e8c07fc1290722c01
	  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
	  Date:   Tue Nov 19 14:57:05 2013 +0100

	      coroutine: make gthread coroutine pass tests

	coroutine: fix current coroutine
	When leaving a coroutine, it swaps back to where it came from, not to
	the leader/main coroutine.

	This is a copy of spice-gtk commit

	  commit a9a2c162e0ee03f80e3e6f7450a002719a80d06a
	  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
	  Date:   Fri Nov 15 22:03:40 2013 +0100

	      coroutine: fix current coroutine

	coroutine: add some preconditions
	This is a copy of spice-gtk commit

	  commit baa51c5ee34ca6d0448d02901a0a61dc87c3dff8
	  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
	  Date:   Fri Nov 15 22:03:39 2013 +0100

	    coroutine: add some preconditions

	use _setjmp/_longjmp to speed up coroutine switching
	As described in http://www.1024cores.net/home/lock-free-algorithms/tricks/fibers

	This is a copy from spice-gtk of

	  commit 1cbfe2b8fccb86a20039867fc33bc475f358f8e4
	  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
	  Date:   Fri Aug 12 16:32:20 2011 +0200

	    use _setjmp/_longjmp to speed up coroutine switching

	build: disable syntax-check on non-Linux
	The rules expect GNU make which is not the default.

	build: remove disabled / irrelevant syntax-check rules
	Many of the GNULIB rules are explicitly disabled, while others are
	testing for scenarios that don't apply because we don't use GNULIB,
	and prefer glib2 APIs over raw platform libc APIs.

	build: purge parts of maint.mk unrelated to syntax-check

	build: fix syntax-check test case to actually do something
	The syntax-check script was setting the wrong current directory, so make
	was reporting nothing todo, making the test a no-op.

	examples: remove tabs from python demo

2022-12-23  Olga Smirnova  <mistresssilvara@hotmail.com>

	Add Interlingue translation

2022-11-28  Marc-André Lureau  <marcandre.lureau@redhat.com>

	build-sys: export vnc_color_map_lookup()
	It's in the public API.

2022-09-13  Marc-André Lureau  <marcandre.lureau@redhat.com>

	rpm: add reference documentation

	build-sys: build API docs with gi-docgen
	gtk-doc is being phased out, as unmaintained.

	Despite some current limitations or annoyances, gi-docgen is what
	Glib/Gtk+ is using these days, so follow along.

	I didn't include gvncpulse, it should be trivial to add if necessary...

	build-sys: build meson requirement to >=0.56
	Modernize a little bit the meson file, to avoid extra warnings when
	running a recent meson versions.

2022-09-06  Marc-André Lureau  <marcandre.lureau@redhat.com>

	Add g_autoptr API for exported allocated types

2022-08-08  Daniel P. Berrangé  <berrange@redhat.com>

	rpm: merge mingw specfile into native spec
	Fedora best practice is to now maintain native and mingw
	builds together, to prevent mingw falling behind and reduce
	the maint burden.

2021-03-31  Daniel P. Berrangé  <berrange@redhat.com>

2015-06-03  Pedro Albuquerque  <palbuquerque73@gmail.com>
2010-04-24  Takeshi AIHANA  <takeshi.aihana@gmail.com>
2009-09-08  Piotr Drąg  <piotrdrag@gmail.com>
2009-08-19  Daniel Nylander  <po@danielnylander.se>

2008-12-07  Daniel P. Berrange  <berrange@redhat.com>

	Added tag release-0.3.8 for changeset 501ba11b47f0

	Update ChangeLog/News/version info to 0.3.8

	Fix key mapping with evdev

	Initial RPM spec for mingw & add mingw to automated builds

2008-11-26  Daniel P. Berrange  <berrange@redhat.com>

	Use GVNC_DEBUG instead of fprintf for diagnostic

2008-11-19  anthony@squirrel  <anthony@squirrel>

	branch merge

	Update licensing text for all files to be the full FSF LGPL preamble.

	Switch to an older, still public domain version of d3des.  The RealVNC changes were GPL and we wish to remain LGPL.

2008-11-17  Daniel P. Berrange  <berrange@redhat.com>

	Simplify keyboard modifier handling to try and fix non-US keyboards

2008-11-12  Daniel P. Berrange  <berrange@redhat.com>

	Save updates dimensions from resize event

	Avoid triggering bogus screen updates for pseudo-encodings

	Fix Win32 socket/fd handle mix-up. Make read/write routines always use the FD, not the giochannel which could be a socket handle on win32

2008-10-30  Daniel P. Berrange  <berrange@redhat.com>

	Fix $(DESTDIR) in plugin rule

	Use LIBS instead of LDFLAGS when checking for cairo for Win32 portability (Richard Jones)

	Ignore more gnulib files

	Replace __MINGW32__ with WIN32 macro (Richard Jones)

	Call winsock initialization functions on startup (patch from Richard Jones)

	Use ioctl() instead of ioctlsocket() on Win32 platforms

	Switch to using recv/send for I/O to work on Win32 platforms

2008-10-09  Daniel P. Berrange  <berrange@redhat.com>

	Import gnulib, and make use of it for mingw portability

	Merge heads

	Allow ungrab sequence if currently grabbed, even if abs pointer mode is active

	Add missing mutex lock calls at init time

2008-09-15  Jonh Wendell  <wendell@bani.com.br>

	Fix the scaling factor for mouse motion.

	Fix checking gdk_cairo_create() in configure.ac

2008-09-11  Daniel P. Berrange  <berrange@redhat.com>

	Use cairo for drawing if available, including scaling support

	Remove use of gtkglext for scaling

2008-09-05  Daniel P. Berrange  <berrange@redhat.com>

	Added tag release-0.3.7 for changeset 37c0b4255895

	Re-generate changelog

	Update version & NEWS for 0.3.7

	Register internal signal handlers against class, instead of each object

2008-06-30  Jonh Wendell  <wendell@bani.com.br>

	Added vnc_display_[gs]et_force_size(), which tell if the widget has a fixed size. This helps scaling down work properly.

2008-06-05  Jonh Wendell  <wendell@bani.com.br>

	Backed out changeset dba0c3d837dd

2008-06-04  Jonh Wendell  <wendell@bani.com.br>

	Fix an error message in destructor, when using scaling

2008-06-01  Jonh Wendell  <wendell@bani.com.br>

	Do more checks if connection is still alive in initialisation. This fix a crash when closing the connection right after connecting.

2008-05-30  Jonh Wendell  <wendell@bani.com.br>

	Use a preferred pixmap format when we receive true_color_flag 0 from server

2008-05-29  Jonh Wendell  <wendell@bani.com.br>

	Ignore CTRL-ALT key combination if we are autograbbing and pointer is absolute

2008-05-21  Daniel P. Berrange  <berrange@redhat.com>

	Ungrab pointer upon loosing focus

2008-05-06  Anthony Liguori  <anthony@codemonkey.ws>

	Added tag release-0.3.6 for changeset 9daca7e451a5

	branch merge

	Added tag release-0.3.6 for changeset 8050c87f404b

	Update for 0.3.6

	Added tag release-0.3.6 for changeset 854c8ce46e5a

2008-04-30  Jonh Wendell  <wendell@bani.com.br>

	Created a function to let the app take control over the shared flag.

2008-04-27  Jonh Wendell  <wendell@bani.com.br>

	Implement preferable auth methods

2008-04-24  Daniel P. Berrange  <berrange@redhat.com>

	Fix typo

2008-04-22  Daniel P. Berrange  <berrange@redhat.com>

	Fix gcc warning about variable that can be clobbered by longjump/vfork (Atsushi Sakai)

	Use regex for symbol visibility in linker on Solaris (Halton Huo)

2008-04-15  Jonh Wendell  <wendell@bani.com.br>

	Fixed a crash when closing the connection in a middle of an update

2008-04-11  Jonh Wendell  <wendell@bani.com.br>

	Use GLib memory functions

2008-04-06  Anthony Liguori  <anthony@codemonkey.ws>

	Added tag release-0.3.5 for changeset d8003db700fd

	Prepare for 0.3.5 release

2008-04-04  Jonh Wendell  <wendell@bani.com.br>

	Maintain the consistency: create with g_strdup, free with g_free

2008-04-04  Daniel P. Berrange  <berrange@redhat.com>

	Fixed z-buffer depth to avoid rendering ontop of other windows. Enable scaling in gvncviewer if not composited

2008-04-03  Jonh Wendell  <wendell@bani.com.br>

	Dropped DEBUG_CFLAGS from plugin/Makefile.am, noticed by Richard W.M. Jones

	Use g_strdup() instead of strdup() in vnc_display_open_host(): It doesn't crash if we pass NULL as argument.

2008-04-02  Daniel P. Berrange  <berrange@redhat.com>

	Fix makecontext() for 64-bit args

	Fixed endianness conversions. Disable ZRLE for broken pixel depths. Fix CPIXEL size calculations

2008-04-02  Atsushi SAKAI  <sakaia@jp.fujitsu.com>

	This fixes following warnings about x_keymap. x_keymap.c:149: warning: no previous prototype for 'x_keymap_set_keymap_entries' x_keymap.c:162: warning: no previous prototype for 'x_keymap_free_keymap_entries'
	At this moment, all compile warnings are cleanuped by this patch.

2008-04-02  Jonh Wendell  <wendell@bani.com.br>

	Re-checked protocol version negotiation

2008-04-01  Jonh Wendell  <wendell@bani.com.br>

	Added a workaround to work with AppleVNCServer, based on patch from Jin Choi

	Fix some warnings, patch from Atsushi SAKAI

2008-03-30  Jonh Wendell  <wendell@bani.com.br>

	Changed debug output in protocol initialization

2008-03-29  Jonh Wendell  <wendell@bani.com.br>

	Changed debug behavior.
	Dropped --enable-debug flag in configure stage. We always build with debug framework.

	Also, we use GLib to generate debug messages, through g_debug() function, and we
	provide a new public symbol, vnc_display_get_option_group(), to be used with the
	GLib's command line parser, GOptionContext.

2008-03-25  Jonh Wendell  <wendell@bani.com.br>

	Use GLib's G_N_ELEMENTS instead of our ARRAY_SIZE macro

	Added GObject properties

2008-03-19  Daniel P. Berrange  <berrange@redhat.com>

	Fix multiple big-endian conversion bugs

2008-03-19  Atsushi SAKAI  <sakaia@jp.fujitsu.com>

	This is code clean up of "{" location.

2008-03-15  Jonh Wendell  <wendell@bani.com.br>

	Put more debug output

2008-03-14  Jonh Wendell  <wendell@bani.com.br>

	branches merged

	Added _get() for various properties

2008-03-14  Hiroyuki Kaguchi  <fj7025cf@aa.jp.fujitsu.com>

	This patch fixes compilation warnings for ISO_Left_Tab feature.

2008-03-12  Hiroyuki Kaguchi  <fj7025cf@aa.jp.fujitsu.com>

	I make the patch that applied your two indications. Moreover, this patch contains the fix of two bugs and a modification besides the indications.
	The change points from the last patch:

	1)Use GDK key symbols instead of X11 key symbols.

	2)Remove CR characters.

	3)Make keycode conversion function.
	  - I make the keycode conversion function on "x_keymap.c".

	4)Modify structure used for keycode conversion.
	  - The type of the keycodes member variable is changed from "guint*"
	    to "GdkKeymapKey*".

	5)Modify getting timing and release timing of keymap entries.
	  - Because "g_free" function is not called on the last patch, the memory leak is done.

2008-03-11  Anthony Liguori  <anthony@codemonkey.ws>

	Propagate key press events.  This is needed for kvm-test.

	Add accessor to determine if widget is in absolute mode.  This is needed by kvm-test.

2008-03-07  Anthony Liguori  <anthony@codemonkey.ws>

	branch merge

2008-03-07  Daniel P. Berrange  <berrange@redhat.com>

	Don't setup gl textures if display isn't active

2008-03-07  Atsushi SAKAI  <sakaia@jp.fujitsu.com>

	This patch changes endian definition from endian.h to gtypes.h.
	A.L. also remove endian.h include

	fix typos

2008-03-06  Anthony Liguori  <anthony@codemonkey.ws>

	Added tag release-0.3.4 for changeset 313620c58d69

	Update news for release

	Added tag release-0.3.4 for changeset a1fb42cb7694

2008-03-05  Daniel P. Berrange  <berrange@redhat.com>

	Add missing BuildRequires for gnutls/gtkglext. Add sub-package for mozilla plugin (disabled by default)

	Make configure.ac check for mozilla-plugin pkgconfig file for Firefox 3 build compatabiltiy

2008-03-02  Anthony Liguori  <anthony@codemonkey.ws>

	Added tag release-0.3.4 for changeset 96433efe0e7d

	We don't use tex_max so let's not query it for now.

	Added tag release-0.3.4 for changeset fa6db40bad43

	Prepare for release and also make gtkgl usage transparent.

	Added tag release-0.3.4 for changeset 7ea3a341f452

	Added tag release-0.3.4 for changeset 09836ab4d17a

	Fixup cursor grab so that it works properly in relative mode.

	For the Hardy release cycle, Ubuntu seems to be building some versions of GTK with G_ENABLE_DEBUG.  When G_ENABLE_DEBUG is set, the marshal functions use g_value_get_XXX() instead of directly accessing the members.  This function will validate that the parameter holds the exact type of value being requested. Without G_ENABLE_DEBUG set, no parameter type checking is done.
	After writing a marshaling function from scratch, I discovered that what we
	really need to use is the BOXED marshaling type as this is the GValue type that
	a GValueArray will be set to.  This should hopefully fix this problem once
	and for all.

	Remove unused function

	Remove debug printf.

2008-03-02  Marton Balint  <cus@fazekas.hu>

	A break statement is missing from the key event handler, where the keypress event of an already pressed key is sent as a key release and a key press event.
	Without this patch, the effect of the normal auto-repeat is multiplied,
	and if you hold down the backspace key for a long time and then release
	it, you won't be able to press a key before releasing the previously
	pressed key.

2008-03-02  Atsushi SAKAI  <sakaia@jp.fujitsu.com>

	This patch removes redundunt headers from examples/gvncviewer.c. Currently network is handled on src/gvnc.c

2008-02-26  Daniel P. Berrange  <berrange@redhat.com>

	Do key event tracking based on scancode instead of keyval to ensure matching press & release events

2008-02-26  Atsushi SAKAI  <sakaia@jp.fujitsu.com>

	This is compilation warning fix for Cset153.

2008-02-22  Atsushi SAKAI  <sakaia@jp.fujitsu.com>

	This patch clean up all compilation warning except vncmarshal.c

2008-02-22  Saori Fukuta  <fukuta.saori@jp.fujitsu.com>

	At Cset:127, Anthony changed the c_marshaller of vnc-auth-credentials from PARAM to POINTER, and also the parameter types changed from G_TYPE_VALUE_ARRAY to G_TYPE_POINTER. http://gtk-vnc.codemonkey.ws/hg/outgoing.hg/rev/a720c8172a85 Do we need to change the parameter type ?
	AL: this fixes not only Python, but more recent versions of GTK that are very
	strict about enforcing the type of the signal parameter.

2008-02-22  Anthony Liguori  <anthony@codemonkey.ws>

	Branch merge

2008-02-21  Anthony Liguori  <anthony@codemonkey.ws>

	Fix compile warnings introduced by previous commit.

2008-02-21  Stefano Stabellini  <stefano.stabellini@eu.citrix.com>

	Hi all, I am attaching a simple patch to add support for WMVi in gtk-vnc. Seems to work well with xen-unstable.

2008-02-19  Daniel P. Berrange  <berrange@redhat.com>

	Re-add bits of big endian fix which got lost in merge

	Added missing variable

2008-02-18  Daniel P. Berrange  <berrange@redhat.com>

	Merge heads

	Fix big endian color conversion (Hiroyuki Kaguchi)

2008-02-18  Jonh Wendell  <wendell@bani.com.br>

	Added lots of debug messages where we set the flag has_error to TRUE

2008-02-09  Jonh Wendell  <wendell@bani.com.br>

	Show 'support scaling?' in configure summary

2008-02-08  Jonh Wendell  <wendell@bani.com.br>

	Focus the widget on mouse click

2008-02-08  Anthony Liguori  <anthony@codemonkey.ws>

	Make sure to free image data on close.

	Make sure to draw something to the widget even when not connected.

2008-02-07  Anthony Liguori  <anthony@codemonkey.ws>

	Add interface to force pointer grab.

	Make sure to support key break when using raw keycodes

	on_resize() is called based on some events which aren't in a coroutine.  So we need to supress the signals when called like this to avoid yielding to a non-existent coroutine.

	Always emit signals from system coroutine.
	When using threads to simulate coroutines, GTK gets very confused as signal
	handlers are run in a different thread than the main loop when the signal
	handlers aren't expecting it.

	This patch changes all of the signals emitted from the VNC coroutine to use
	a delay function to actually issue the signals.  This appears to fix the
	GThread coroutine issue.

	Revert e65d8e4758b3eed4ae7b3a225c2d5a35d9de146b until we figure out what the regression it introduced with UltraVNC.

	SetActive has the behavior we want so let's use that.

	Update cursor grab to have the following behavior:
	For normal VNC servers, keyboard/mouse grab should only be activated when
	ctrl-alt is clicked.  If the server is doing cursor offloading, we should use
	that cursor.

	For servers supporting PointerTypeChange, when in absolute mode, they should
	behave as above.  When in relative mode, pointer grab should also be activated
	on the first left-click in the window.  The cursor should *not* be hidden when
	cursor grab is not activated.

2008-02-07  Hiroyuki Kaguchi  <fj7025cf@aa.jp.fujitsu.com>

	When the endian between VNC server and X server is different, the displayed color is abnormal. This is because the endian conversion of the pixel data is not done .
	X server that uses big endian cannot be used.
	The reason is that most Linux vncserver sends data by little endian.

	Of course, Fedora8(Linux) and Windows(Xming) works fine, since it uses
	little endian for X protocol.

	This patch applies follows:
	(a)The endian conversion function is called by the SET_PIXEL function.
	(b)It is checked whether there is difference in endian between X server and VNC Server.
	(c)The byte_order variable is added to the gvnc_framebuffer structure.

	Sign-off-by: Hiroyuki Kaguchi <fj7025cf@aa.jp.fujitsu.com>

2008-02-06  Atsushi SAKAI  <sakaia@jp.fujitsu.com>

	Just remove redundunt code. (same action is doing on coroutine_swap())

2008-02-05  Anthony Liguori  <anthony@codemonkey.ws>

	Make sure to flush the gl buffer.  This fixes updates on some graphics cards. This patch was originally from Dan Berrange.

2008-02-04  Anthony Liguori  <anthony@codemonkey.ws>

	Add the new symbol

2008-02-02  Anthony Liguori  <anthony@codemonkey.ws>

	Support VNC Scancode extension.

	Support for OpenGL scaling

	Added tag release-0.3.3 for changeset 784fc0419a5e

	Prepare for 0.3.3 release

2008-01-29  Atsushi SAKAI  <sakaia@jp.fujitsu.com>

	Fix ZRLE encoding where multiple palette sizes of different lengths occur in a single update.

2008-01-27  Anthony Liguori  <anthony@codemonkey.ws>

	Change vnc-auth-credentials to a POINTER instead of a PARAM.
	Newer versions of gtk are enforcing that PARMs are actually PARAMs so this was
	triggering an assert.  We switch to POINTER to avoid breaking the ABI.

2008-01-25  Richard W.M. Jones  <rjones@redhat.com>

	After some discussion here about plugin security, this documents what we think are the potential vulnerabilities of letting an unconstrained plugin live in your browser

2008-01-21  Anthony Liguori  <anthony@codemonkey.ws>

	Clarify license to be LGPLv2 or later.

	Make sure to free coroutine after it exits

2008-01-16  Jonh Wendell  <wendell@bani.com.br>

	Print a debug message when receive an unknown message

2008-01-15  Daniel P. Berrange  <berrange@redhat.com>

	Hide password characters in auth text entry (Rich Jones)

2008-01-15  Anthony Liguori  <anthony@codemonkey.ws>

	When doing pixel math, we have to take endianness into account.  This sucks for performance :-/

	Fix case where client byte order != server byte order

2008-01-11  Richard W.M. Jones  <rjones@redhat.com>

	This patch contains further fixes to the browser plugin:
	(1) As Dan suggested, use -module -avoid-version.  This still installs a static library and the linker script, both of which are unhelpful to have in the plugins directory, so I have to delete them by hand. Couldn't see any option in the libtool info to not have it build or install those.

	(2) Use the global ENABLE_DEBUG setting to turn on/off debug messages.

	(3) Move the debug() function into a common header file.

	(4) Include test.html, which I missed out from the first patch.

	(5) Put #if 1 ... #endif around the Gtk toolkit test.  I'll probably remove this test altogether in future since (in theory) XEmbed should let you embed a widget from any toolkit in any other toolkit, so this test doesn't really matter.

2008-01-11  Jonh Wendell  <wendell@bani.com.br>

	Output configure summary

2008-01-11  Anthony Liguori  <anthony@codemonkey.ws>

	Add the files from the plugin patch.  Sorry about that!

2008-01-11  Richard W.M. Jones  <rjones@redhat.com>

	Gtk-VNC browser plugin.

	This patch detects if the server responds with (illegal) VNC protocol version "3.6" and negotiates version 3.3.
	(This fix actually supplied for me by Dan Berrange ...)

2008-01-11  Anthony Liguori  <anthony@codemonkey.ws>

	uint8_t's are always greater than 0 and less than 255.  Removing these checks keeps GCC happy.

2008-01-11  Halton Huo  <halton.huo@sun.com>

	suncc does not range case for swith statement.

2008-01-11  Richard W.M. Jones  <rjones@redhat.com>

	If you call one of the vnc_display_open* functions followed quickly by vnc_display_close, then the library segfaults.
	The reason is that the vnc_display_open* functions register an idle callback to launch the coroutine, but if vnc_display_close is called before the idle loop has had a moment to run, this idle callback remains.  The coroutine later runs - in my case, after the plugin I'm writing has been unmapped from memory, with unhappy consequences.

	The attached patch fixes this by remembering the callback ID and unregistering it if necessary.

2008-01-10  Daniel P. Berrange  <berrange@redhat.com>

	Track keystate & send fake events for GTK key-repeat flaw & to reset state on focus out

2008-01-01  Anthony Liguori  <anthony@codemonkey.ws>

	Relax the jpeg compression a bit.

	Add support for Tight encoding.  Also add an interface to enable the use of lossy-encodings such as the Tight JPEG encoding.

2007-12-31  Anthony Liguori  <anthony@codemonkey.ws>

	Added tag release-0.3.2 for changeset 978cb4791ef2

2007-12-29  Anthony Liguori  <anthony@codemonkey.ws>

	Added tag release-0.3.2-rc0 for changeset ae93c84b5fc8

	Client cut text should used buffered writes to avoid race conditions since it may be called while the coroutine is blocked on IO.

2007-12-28  Anthony Liguori  <anthony@codemonkey.ws>

	Added tag release-0.3.2-rc0 for changeset b4006353448c

	Update news and prepare for 0.3.2

	Update ChangeLog

	Add support for ZRLE encoding

	Update news

	Fix rich cursor encoding.
	If the depth of the server is less than 24, when we built the cursor, we were
	expanding the smaller pixels to the lower bits of the new pixel instead of the
	upper bits.  The result was that colors in the cursor were showing up as dark
	grays.

	This patch refactors the cursor blitting function to be more similar to the
	rest of the blitting functions and ensures that the proper shift values are
	used.

2007-12-26  Anthony Liguori  <anthony@codemonkey.ws>

	Update news

2007-12-25  Anthony Liguori  <anthony@codemonkey.ws>

	Add pointer pass through support

2007-12-21  Anthony Liguori  <anthony@codemonkey.ws>

	Remove unused declaration.

	Remove unused file.

	Update the NEWS file to make the next release a bit easier.

	Add gthread-based coroutine implementation.  Many thanks to danpb for autconf support.

2007-12-20  Anthony Liguori  <anthony@codemonkey.ws>

	Add support for RRE encoding.

	We weren't passing the right number of encodings to set_encodings().  This is actually non-standard behavior since all clients are required to support at least raw!

2007-12-19  Anthony Liguori  <anthony@codemonkey.ws>

	Revert support for shared memory transport.  The code is fine but the protocol definition is incomplete.  The current protocol has a race condition whereas the guest may disconnect before acking the shmid which can lead to shared memory segment being leaked.
	Besides, I think I need to add an accessor to gdkimage to get the shared
	memory ID instead of reinventing the wheel.

2007-12-14  Anthony Liguori  <anthony@codemonkey.ws>

	Add an interface for setting the widget to be read-only

	Propagate mouse events.

	Extend send_keys() interface to allow raw key presses to be generated.

	Make sure the Display.send_keys() returns a value.

2007-12-13  Anthony Liguori  <anthony@codemonkey.ws>

	Added tag release-0.3.1 for changeset 493439fe2664

	Prepare for 0.3.1 release and fix bug in autogen script.

2007-12-12  Anthony Liguori  <anthony@codemonkey.ws>

	Added tag release-0.3.0 for changeset 1bbb129cb1ca

	Prepare for 0.3.0 release

2007-11-24  Jonh Wendell  <wendell@bani.com.br>

	gvnc_open_host(): Do not consider connect() return value EISCONN as an error, fix connection in Solaris

2007-10-26  Daniel P. Berrange  <berrange@redhat.com>

	Prefix yield()/yieldto() methods with coroutine_ to avoid namespace clash with unistd on Solaris

	Re-order SPLICE macros to avoid Solaris compiler/cpp bug (patch from Halton Huo)

2007-10-21  Jonh Wendell  <wendell@bani.com.br>

	Grab the cursor correctly

2007-10-10  Daniel P. Berrange  <berrange@redhat.com>

	Clear coroutine caller when exiting coroutine

2007-10-10  Jonh Wendell  <wendell@bani.com.br>

	Added the mask GDK_KEY_PRESS_MASK to the widget

2007-10-05  Daniel P. Berrange  <berrange@redhat.com>

	Fix to coroutine caller state management to avoid SEGV

2007-10-04  Jonh Wendell  <wendell@bani.com.br>

	Added support to bell message in vncdisplay widget.

	Implemented clipboard feature in vncdisplay widget

2007-10-03  Jonh Wendell  <wendell@bani.com.br>

	Added a signal for unsupported auth method

2007-10-02  Jonh Wendell  <wendell@bani.com.br>

	Added compatibility to RFB 3.4 (UltraVNC again)

2007-09-26  Daniel P. Berrange  <berrange@redhat.com>

	Remove use of PROT_EXEC with mmap to avoid execmem SELinux errors

2007-09-13  Daniel P. Berrange  <berrange@redhat.com>

	Added tag release-0.2.0 for changeset cebd472323b7

	Regenerate changelog

	Remove unused variable

	Prepare for 0.2.0 release

	Added signals for authentication failure reports & desktop resizes

2007-09-10  Daniel P. Berrange  <berrange@redhat.com>

	Support VINO's TLS auth method

2007-09-01  Jonh Wendell  <wendell@bani.com.br>

	Added some paranoid checkings before free() the things

2007-08-31  Daniel P. Berrange  <berrange@redhat.com>

	Hook into destroy method to do shutdown of GVNC couroutine. Keep a ref on vncdisplay, so widget isn't finalized unless the GVNC coroutine is complete

	Monitor IO errors & close socket when shutting down to interrupt poll()

	Get graceful shutdown working correctly (ie interrupting & waking up message thread)

2007-08-31  Jonh Wendell  <wendell@bani.com.br>

	Added a destructor for VncDisplay widget

	Added some ignored files to hgignore

	Uses g_signal_connect() instead of gtk_signal_connect()

2007-08-31  Daniel P. Berrange  <berrange@redhat.com>

	Added impl of xcursor and richcursor encodings for OSX-VNC and TightVNC compatability

	Fix decoding of mixed colour depths between client & server

2007-08-29  Jonh Wendell  <wendell@bani.com.br>

	Enable debugging messages

2007-08-22  Daniel P. Berrange  <berrange@redhat.com>

	Clear excess space in widget

	Fixed handling of shifts for BGR displays and mixed endian client vs server

	typedef the enums to aid API readability/docs generation

	Fix offf by one in argv use

2007-08-15  Daniel P. Berrange  <berrange@redhat.com>

	Added tag release-0.1.0 for changeset 87259132efca

	Update version to 0.1.0 for release

	Fix makefile rule for python bindings to install in lib64 on x86_64

2007-08-13  Daniel P. Berrange  <berrange@redhat.com>

	Merge heads

	Added support for TLS related credentials

2007-08-01  Jonh Wendell  <wendell@bani.com.br>

	Changed boolean functions (which use gvnc_has_error) to return FALSE when failure

2007-07-31  Daniel P. Berrange  <berrange@redhat.com>

	Fixed up handling of TLS i/o functions

	Only print GNU TLS debug if debug level > 1

	Remove hardcoded hostname & use user supplied hostname in certificate validation

2007-07-20  Daniel P. Berrange  <berrange@redhat.com>

	Added API for taking a screenshot

	Fixed typo in conditional test

	Added more general purpose authentication API

	Refactor GVNC open/close lifecycle APIs

2007-07-19  Anthony Liguori  <anthony@codemonkey.ws>

	[PATCH] Enhance gvncviewer a bit This patch adds the following to gvncviewer:
	1) install by default
	2) make title consistently displayed
	3) make the VNC session part of the title
	4) use a command line syntax more common with vnc viewers

	merge

	Line up the output of ./configure --help and correct a typo

2007-07-19  Daniel P. Berrange  <berrange@redhat.com>

	Merge

2007-07-18  Daniel P. Berrange  <berrange@redhat.com>

	Added vnc_display_send_keys API & example usage

2007-07-18  Anthony Liguori  <anthony@codemonkey.ws>

	Buffer client messages to avoid race condition when write() blocks.

2007-07-15  Daniel P. Berrange  <berrange@redhat.com>

	Run automated builds with -Werror enabled

	Disable verbose compiler warnings for python module - the auto-generated code is crap

2007-07-12  Anthony Liguori  <anthony@codemonkey.ws>

	merge

	Expose GVNC in libgtk-vnc-1.0
	This patch exposes gvnc as part of the public API for libgtk-vnc.  We won't
	considered this a supported API for the first release.  I'm using this lower
	level API at the moment to build an automation system.

2007-07-10  Daniel P. Berrange  <berrange@redhat.com>

	Fixed keycode -> keysym conversion wrt to modifier state

	Fix coroutine cleanup/release

	Allow local pointer hiding to be configurable

	Add APIs for keyboard & pointer grab policy

	Treat EHOSTUNREACH as non-fatal connection error

2007-07-04  Daniel P. Berrange  <berrange@redhat.com>

	Separate creation of gvnc object, from connect opening. Add ability to free/cleanup object & notify upon disconnect

	Use constants for framebuffer encodings

	Added really simple example programs in both C & python

	Allow connecting based on a host & port, vs a filedescriptor

	Tidy whitespace & put emacs formatting rules at bottom of files

	Fixed a number of compiler warnings

	Switched over to using automake/conf/libtool. Added pkgconfig data file. Added linker script to control library symbols

2007-06-20  Jonh Wendell  <wendell@bani.com.br>

	- Created two public get functions: get_width() and get_height() - Created a vnc-initialized signal - Made small changes in order to work with ultravnc, which reports rfb 3.6

2007-02-24  Anthony Liguori  <anthony@codemonkey.ws>

	Make sure to flush after set_shared_memory

	merge

	Add initial support for shared memory transport.  It's off by default.

2007-02-24  Daniel P. Berrange  <berrange@redhat.com>

	Merge heads

	Buffer all outgoing writes until gvnc_flush() is called. Fix signed/unsigned comparisons

	Add in missing diffie-hellman params. Fixed reading of TLS data wrt to internal buffer

2007-02-23  Anthony Liguori  <anthony@codemonkey.ws>

	Fix python widget build and add proper support for RFB 3.3

2007-02-22  Daniel P. Berrange  <berrange@redhat.com>

	Support the plain no X509 certificate auth types. Remove mistaken 1 byte write. Allow use of TLS 1.0 for compatability

	Initial suppport for protocol 3.7/3.8 and VeNCrypt TLS authentication

	Remove redundant call to resize - gvnc_set_vnc_ops triggers a resize signal

2007-01-06  anthony@rhesus  <anthony@rhesus>

	Some updates

	Reorganize repo and create a proper setup.py

	Add licensing stuff

	Add a proper set of signals to notify of grab change

2006-12-20  anthony@rhesus  <anthony@rhesus>

	Put vnc widget into a separate repo