2018-03-23 Daniel P. Berrangé <berrange@redhat.com>
Update NEWS for 0.7.2 release
rpm: disable python binding build on Fedora and future RHEL
The python binding only works for GTK2 and Python2, both of which are
slowly going away. It is still possible to access the library from
any Python using GObject introspection dynamic binding.
Explicitly deprecate python binding prior to deletion
The python binding only works with Python 2 and GTK 2, neither of which
should be used long term. Applications should switch to GObject
Introspection which works with Python 3 and GTK 3.
rpm: Cleanup TLS priority setting for newer distros
rpm: Rename sub-package from gtk-vnc-python to python2-gtk-vnc
rpm: Fix BR on python-devel to use python2-devel
This has been available from RHEL >= 6
rpm: remove obsolete %clean section
RPM handles this automatically since RHEL >= 6
rpm: remove obsolete Group tags
This is not required since RHEL >= 6 or equivalently new Fedora.
rpm: Remove obsolete BuildRoot tag
Update links to wiki site
2018-03-21 Daniel P. Berrangé <berrange@redhat.com>
Add description to the doap file
Set programming language for doap file
Switch doap category to 'core' as 'desktop' is not permitted any longer
Remove Jonh from maintainers list, since he is no longer active.
2018-03-13 gogo <trebelnik2@gmail.com>
Add Croatian translation
2018-03-13 Nathan Follens <nathan@anche.no>
Add Dutch translation
2018-03-13 Olivier Fourdan <ofourdan@redhat.com>
Use scancode instead of keycode names
When running on Xwayland, the keycode mapping property is not available,
which causes unknown keycode mapping errors and the keyboard doesn't
work.
Check for a known scancode (“XK_Page_Up”) which differs to distinguish
between “xfree86” and “evdev” when the there is no keycode name.
2018-01-31 Daniel P. Berrangé <berrange@redhat.com>
Explicitly track whether x509 creds have been set
If we want to use the system trust DB, we can't rely on cred_x509_cacert
field being non-NULL. We must explicitly record whether the client app
has set the x509 credentials. We allow cacert to be missing if we are
built against a new enough GNUTLS.
Add debug logs wrt credential gathering
Don't short-circuit request for TLS credentials
Although newer GNUTLS has a default system trust fallback for CA
certificates, we must still request certificates from the client app. If
we do not, then the VNC client will never be given the opportunity to
provide custom certs to override the system trust database.
Add debug message when getting a desktop resize request
2017-08-08 Daniel P. Berrange <berrange@redhat.com>
Fix license of the keymap conversion code
The vncdisplaykeymap.c file was mistakenly declared as
LGPL v2-only when first created. Since then it has been
almost completely rewritten. After the previous commit
removing the special Tab key handling, the remaining
logic was all written by my own or Red Hat copyright.
So changing the license to LGPLv2-or-later under that
basis.
Remove uneccessarily generic handling of shifted tab key
Remove obsolete copyright notice
The copyright notice referred to a table mapping scan codes that
was taken from QEMU source. This table was, however, deleted in
commit e0910397d6ba1eca3d968c98a2105c1a7ead7fd7
Author: Daniel P. Berrange <berrange@redhat.com>
Date: Fri Jul 9 19:30:54 2010 +0100
Rewrite keymap code to work on more platforms
so the code that the copyright statement referenced no longer
exists.
2017-07-13 Peter Korsgaard <peter@korsgaard.com>
vncdisplay: on_initialized: send the led state notification encoding
So servers supporting this encoding will actually notify us and the
vnc-led-state signal will fire.
2017-05-19 Daniel P. Berrange <berrange@redhat.com>
Bump to 0.7.1 for new release
2017-04-12 Daniel P. Berrange <berrange@redhat.com>
Fix incompatibility with libvncserver websockets handling
The previous commit:
commit 7f4f2fe8da72ed9fef5dd4319e19feb2b4f3d62e
Author: Daniel P. Berrange <berrange@redhat.com>
Date: Thu Jan 26 09:31:40 2017 +0000
Add workaround to avoid hangs when connecting to SPICE
changed the code so that it would send the bytes "RFB " to the
server before we received its own greeting. This works fine for
VNC servers which follow the RFB protocol spec exclusively. The
libvncserver code though tries to implement websockets tunnelling
support on the same port as the normal RFB service. The way it
does this is by waiting 100ms after the client connects to see
if the client sends any data. If the client sends data, then it
tries to interpret this as an HTTP GET request to initiate the
websockets connection. This breaks when it sees our "RFB " bytes
being sent. Ideally the libvncserver would have just run a normal
RFB connection in this case, but that's not what happens, and
given the libvncserver code is in the wild we need a workaround.
So instead of immediately sending the 'RFB ' bytes to the VNC
server, we introduce a 2 second wait. ie, we'll wait for the
normal VNC server greeting and if it doesn't arrive after 2 seconds,
we'll send our 'RFB ' bytes proactively, and continue waiting. If we
are on a real VNC server, we'll get our connection initialized
eventually. If connecting to a SPICE server by mistake, we'll get a
clean disconnect, and we'll avoid upsetting libvncserver, because its
100ms wait for HTTP GET will have long since finished.
Report a proper error message if hitting connection timeout
Fix crash when no error is set after connection failure
Fix crash when opening connection from a GSocketAddress
Avoid sign extension warnings from coverity
src/vncconnection.c:3082: sign_extension:
Suspicious implicit sign extension: "height" with type "unsigned short"
(16 bits, unsigned) is promoted in "rowlen * height" to type "int"
(32 bits, signed), then sign-extended to type "unsigned long"
(64 bits, unsigned). If "rowlen * height" is greater than 0x7FFFFFFF,
the upper bits of the result will all be 1.
The 'rowlen' variable is initialization from the unsigned width
variable, so should have used uint instead of int.
Fix inverted args when creating framebuffer for test suite
The local & remote format args were inverted in the test
suite. This is currently harmless since we are not trying
to validate the rendered framebuffer content.
Restore correct size of reserved data
A previous commit
commit 7a9271620c894931cc22d6587d58e46c5996dac3
Author: Lei Li <lilei@linux.vnet.ibm.com>
Date: Mon May 20 11:45:59 2013 +0100
Add support for LED state extension to gvnc
removed 4 elements from the reserved data field, when adding
one pointer. This is because it mistakenly thought the reserved
elements were 1 byte in length, when they are in fact one pointer
in size.
The original change was technically an ABI incompatible change,
as is this fix. In practice, however, GObject classes are never
instantiated statically at compile time. Instead a call to
g_type_register_static is made at runtime. So this change in the
class size won't have a negative effect unless someone has
subclassed the VncConnectionClass type. Even if subclassing, this
should be harmless as we've merely increased the memory allocation
by 3 words.
2017-03-05 Fabio Tomat <f.t.public@gmail.com>
Add Friulian translation
2017-02-22 Rafael Fontenelle <rafaelff@gnome.org>
Fix path for keymap-gen when doing VPATH builds
2017-02-16 Daniel P. Berrange <berrange@redhat.com>
Fix some deps in spec file & new URL & missing group tags
2017-02-15 Daniel P. Berrange <berrange@redhat.com>
Switch to use keycodemapdb submodule
2017-02-14 Guido Günther <agx@sigxcpu.org>
Link against GIO_LIBS explicitly
to avoid
libtool: link: gcc -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -g -O2 -fdebug-prefix-map=/build/gtk-vnc-0.6.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z -Wl,relro
-Wl,-z -Wl,now -o .libs/vncconnectiontest vncconnectiontest-vncconnectiontest.o ./.libs/libgvnc-1.0.so -lz -pthread
/usr/bin/ld: vncconnectiontest-vncconnectiontest.o: undefined reference to symbol 'g_io_stream_get_output_stream'
//usr/lib/x86_64-linux-gnu/libgio-2.0.so.0: error adding symbols: DSO missing from command line
Also make the use of *_CFLAGS and *_LIBS match.
2017-02-09 Daniel P. Berrange <berrange@redhat.com>
Bump to 0.7.0 for new release
2017-02-08 Daniel P. Berrange <berrange@redhat.com>
Clamp cursor hot-pixel to be within cursor region
Some broken VNC servers send hot-pixel outside bounds of the
cursor. We could disconnect and report an error, but it is
more user friendly to just clamp the hot pixel coords
https://bugzilla.gnome.org/show_bug.cgi?id=775394
2017-02-08 Eric R. Schulz <eric@ers35.com>
Fix memory leaks
Call gnutls_deinit() after gnutls_bye().
Call g_free() in finalize().
Call g_free() in vnc_grab_sequence_free().
2017-02-08 Daniel P. Berrange <berrange@redhat.com>
Fix some misc warnings & mem leak in test case
2017-02-08 Christophe Fergeau <cfergeau@redhat.com>
README: Update URL to home page
The old page no longer seems to exist in GNOME's wiki.
Add preconditions to VncDisplay public methods
This should catch invalid arguments being passed to these. This required
moving the VncDisplayPrivate *priv = display->priv; assignment as the
VNC_IS_DISPLAY(display) check is also a NULL check which we want to
happen before dereferencing it.
Avoid crash if attempt to connect to an invalid host or port
If vnc_display_open_host() is called with a NULL port or host,
vnc_connection_open_host_internal() will eventually crash.
This commits adds runtime checks to return early with
g_return_val_if_fail() when this happens rather than
crashing
#0 0x00007ffff37de3d3 in __strchr_sse2 () at ../sysdeps/x86_64/strchr.S:32
#1 0x00007ffff4661a17 in g_inet_socket_address_new_from_string (address=0x0, port=0)
at ginetsocketaddress.c:416
#2 0x00007ffff466b784 in g_network_address_parse_sockaddr (addr=addr@entry=0x969f50 [GNetworkAddress])
at gnetworkaddress.c:245
#3 0x00007ffff466ba94 in g_network_address_address_enumerator_next (enumerator=0x972ca0 [GNetworkAddressAddressEnumerator], cancellable=0x0, error=<optimized out>) at gnetworkaddress.c:919
#4 0x00007ffff727130b in vnc_connection_open_host_internal (conn=0x99bbf0 [VncConnection])
at vncconnection.c:5395
#5 0x00007ffff7271523 in vnc_connection_coroutine (opaque=0x99bbf0) at vncconnection.c:5448
#6 0x00007ffff7272e54 in coroutine_trampoline (cc=0x998080) at coroutine_ucontext.c:55
#7 0x00007ffff7272b65 in continuation_trampoline (i0=10059904, i1=0) at continuation.c:43
#8 0x00007ffff379dc00 in __start_context () at /lib64/libc.so.6
#9 0x0000000000998448 in ()
#10 0x0000000000000000 in ()
2017-02-08 Rico Tzschichholz <ricotz@t-online.de>
Add missing vala .deps files for gvnc & gvncpulse
https://bugzilla.gnome.org/show_bug.cgi?id=772322
2017-02-07 Daniel P. Berrange <berrange@redhat.com>
Correctly validate color map range indexes
The color map index could wrap around to zero causing negative
array index accesses.
https://bugzilla.gnome.org/show_bug.cgi?id=778050
CVE-2017-5885
Don't accept color map entries for true-color pixel format
The color map entries should only be sent by the server
when true-color flag is false.
Fix bounds checking for RRE, hextile & copyrect encodings
While the client would bounds check the overall update
region, it failed to bounds check the payload data
parameters.
Add a test case to validate bounds checking.
https://bugzilla.gnome.org/show_bug.cgi?id=778048
CVE-2017-5884
2017-01-26 Daniel P. Berrange <berrange@redhat.com>
Add workaround to avoid hangs when connecting to SPICE
When used with QEMU at least, both SPICE and VNC live in the same port
range (5900+). It is thus not entirely uncommon for a user to mistakenly
connect to a SPICE server with a VNC client, or vica-verca.
When connecting to VNC server with a SPICE client, you quickly get an
error. This is because the VNC server sends its short greeting and then
sees the RedLinkMess from the SPICE client, realizes its garbage and
drops the connection.
When connecting to a SPICE server with a VNC client though, you get an
indefinite hang. The VNC client is waiting for the VNC greeting, which
the SPICE server will never send. The SPICE server is waiting for the
RedLinkMess which the VNC client will never send.
In VNC the protocol starts with the follow data sent:
Server: "RFB 003.008\n"
Client: "RFB 003.008\n"
This can be tweaked so the client proactively sends the first four
bytes
Client: "RFB "
Server: "RFB 003.008\n"
Client: "003.008\n"
From the VNC server POV, it'll still be receiving the same 12 bytes from
the client - it just happens that 4 of them might arrive a tiny bit
earlier than the other 8 of them. IOW nothing should break in the VNC
server from this change.
The SPICE server, waiting for its RedLinkMess message will see these
four bytes "RFB " and interpret them as the SPICE magic number. This
will be invalid and so the SPICE server will drop the connection.
This avoids the VNC client hanging forever when connecting to a SPICE
server by mistake.
2016-10-26 Felix E. Klee <felix.klee@inka.de>
Added menu option for smooth scaling
Added option for smooth scaling
Smooth scaling can now be turned off by setting the option "smoothing"
to false.
2016-08-18 Piotr Drąg <piotrdrag@gmail.com>
Updated Polish translation
2016-08-18 Daniel P. Berrange <berrange@redhat.com>
Update for 0.6.0 release
2016-08-16 Daniel P. Berrange <berrange@redhat.com>
Fix inverted endianness when setting pixel format
Least-significant-byte first corresponds to little endian,
not big endian. This problem was exposed when we started
setting pixel format in
commit d8adb75e926872792b57a7ece5ce7d8cf2c2d8bc
Author: Daniel P. Berrange <berrange@redhat.com>
Date: Fri Apr 25 17:30:12 2014 +0100
Always send back pixel format message
but only if disabling the tight encoding.
Ignore cast align warnings to avoid tripping up clang
Resolves: bz#765389
Update to newer copies of gnulib's warnings code
This introduces many more warning flags, and fixes compat
with clang
Resolves: bz#765389
Fix many %d vs %u format warnings
Newer gcc warning flags are better at catching misuse of
%d vs %u
Remove trailing '.' from error messages
Add support for using GNUTLS system trust DB
If using GNUTLS >= 3.0.0, we can fallback to using the
system trust DB, if no explicit CA cert is provided.
If an explicit CA is provided, we do *NOT* enable the
system trust, because we don't want to allow arbitrary
public CAs to issue bogus certs for VNC servers using
a dedicated CA.
Resolves: bz#759817
Assume we can always get GNUTLS version number
Fix path to h2def.py script
Resolves: bz#744393
Introduce a "vnc-error" signal
Provide the app uing GTK-VNC with information about what caused
the error via a new "vnc-error" signal.
Resolves: bz#762223, #768237
spec: assume Fedora >= 20
Allow default TLS priority to be set at build time
Add a --with-tls-priority flag to configure which takes a
GNUTLS cipher/protocol priority string, overriding the
built-in default of "NORMAL".
Drop support for gnutls < 2.2.0
The 2.2.0 release of gnutls includes gnutls_priority_set_direct
which we already use conditionally. This release dates from Dec
2007, so it is reasonable to drop the conditional code for older
GNUTLS releases.
2016-08-15 Pavel Grunt <pgrunt@redhat.com>
display: Fix redraw in Windows
The display redraws only on focus event.
Replace GDK_WINDOW_HWND by gdk_win32_window_get_impl_hwnd() which gets
the HWND directly, without any side effects - causing redrawing issues
2016-07-22 Daniel P. Berrange <berrange@redhat.com>
Remove vnc_connection_get_local
The last use of this inline method was removed in
commit 37fc69f2da557669b14728e2b4af5147f98a3b3c
Author: Daniel P. Berrange <berrange@redhat.com>
Date: Thu Nov 19 19:06:00 2009 +0000
Convert VncConnection over to use VncFramebuffer object
Add GIO when generating introspection for gvnc library
The gvnc library depends on some GIO data types, so this
library should be included when generating introspection.
This fixes the warning:
vncconnection.h:166: Warning: GVnc: vnc_connection_open_addr: argument addr: Unresolved type: u'GSocketAddress*'
Add docs for all public APIs
Default to bulding with GTK-3
GTK-2 is pretty obsolete now, so we should default to
using GTK-3
Avoid comparing display to self in gdk stubs
Latest gcc warns about the comparison 'dpy == dpy'
vncdisplaykeymap.c: In function 'vnc_display_keymap_gdk2rfb_table':
vncdisplaykeymap.c:165:14: error: self-comparison always evaluates to true [-Werror=tautological-compare]
if (GDK_IS_X11_DISPLAY(dpy)) {
^~
Change to using 'dpy != NULL' to avoid this.
2016-02-08 Federico Mena Quintero <federico@gnome.org>
Remove duplicate check for cert expiration time
2016-01-23 Aurimas Černius <aurisc4@gmail.com>
Updated Lithuanian translation
2015-06-04 Pedro Albuquerque <palbuquerque73@gmail.com>
Updated Portuguese translation
2015-05-11 Cédric Valmary <cvalmary@yahoo.fr>
Added Occitan translation
2015-03-13 Samir Ribic <samir.ribic@etf.unsa.ba>
Added Bosnian translation
2015-03-01 Michael Ramírez <radical_michael@hotmail.com>
Added Wayuu translation
2015-02-28 Daniel P. Berrange <berrange@redhat.com>
Remove previous hack for xwayland
With the new Xkb functions we don't need a special check for
xwayland.
2015-02-28 Pavel Grunt <pgrunt@redhat.com>
vncdisplaykeymap: Use XkbGetMap and XkbGetNames instead of XkbGetKeyboard
XkbGetKeyboard does not work in XWayland (bfo#89240).
Copied from spice-gtk: 95e322a6bbc29dc9c28724fb80706464e276b89f
2015-02-18 Fabiano Fidêncio <fidencio@redhat.com>
vncdisplay: check whether the widget is realized in focus_in_event()
Returning early on focus_in_event(), when widget is not realized, avoids
segfault when running on Windows using GTK3.
Revert "vncdisplay: check whether the widget is realized in focus_in_event()"
This reverts commit 6f4a70d2a8540d121d1a794bef467bb3f54f9f0d, because
the patch was applied to the wrong function.
vncdisplay: check whether the widget is realized in focus_in_event()
Returning early on focus_in_event(), when widget is not realized, avoids
segfault when running on Windows using GTK3.
2015-02-10 Daniel P. Berrange <berrange@redhat.com>
Update to 0..5.4 release
2015-02-09 Daniel P. Berrange <berrange@redhat.com>
Ensure we find mingw version of libgcrypt-config in $PATH
Add typo in keymap name for wayland
2015-02-06 Peter Korsgaard <peter@korsgaard.com>
keymaps.csv: use official USB/HID scancodes for vol mute/up/down + find/stop
The Linux kernel's usb_kbd_keycode translation table oddly enough translates
2 different USB/HID scancodes to the same Linux KEY_* symbol for a the
volume mute/up/down and find/stop symbols. The first of these matches the
HID usage tables (Hut1_12.pdf), and the second is in the reserved range
(0xe8-0xffff).
It is unclear why this is done (the commit predates the move to git), but
for the reverse table in keymaps.csv it makes sense to use the values from
the official HID usage tables instead.
2015-02-06 Daniel P. Berrange <berrange@redhat.com>
win32: translate virtual-key code to scancode via MapVirtualKey
Local client keyboard layout shouldn't affect hardware scancode sent
to guest, so that guest keyboard layout configuration can map it
properly.
Unfortunately, the Win32 GdkEventKey.hardware_keycode isn't a hardware
scancode, but the Windows virtual-key code. We could modify Gdk to
return the scancode (available in MSG.lParam or via global hook), but
that would mean some Gdk breakage, or some unnecessary complexity.
Instead, we can rely on MapVirtualKey(), which translates the
vitual-key code into a scan code using current keyboard layout.
This code is imported from SPICE-GTK
Install hook for Windows key code handling
To fix handling of AltGr keys on Windows displays, install a
hook for Windows keycode handling. This is copied from code
in SPICE-GTK
https://bugzilla.gnome.org/show_bug.cgi?id=731825
Support GTK Broadway backend
Copy changes from SPICE-GTK which implemented support for
GTK Broadway backend, with hacky keymapping.
Fix initialization of gcrypt threading dependant on gnutls
For GNUTLS 2.12, if it uses gcrypt, we must not initialize
gcrypt threading ourselves.
https://bugzilla.gnome.org/show_bug.cgi?id=734858
Add support for Wayland and Xwayland keymap
Both Wayland and Xwayland use the evdev + 8 map for keycodes,
just as regular Xorg with evdev does.
Disable -Wbad-function-cast for glib
The glib atomic access macros cause compiler warnings when
-Wbad-function-cast is in effect. There is no practical
workaround so the warning must be disabled.
Do an explicit check for libgcrypt
We can no longer assume that any gnutls install will include
libgcrypt, so we must do an explicit check for it at configure
time.
2015-01-06 Fabiano Fidêncio <fidencio@redhat.com>
connection: adapt to libgcrypt >= 1.6
From "gcrypt.h":
> NOTE: Since Libgcrypt 1.6 the thread callbacks are not anymore used.
> However we keep it to allow for some source code compatibility if used
> in the standard way.
build: disable -Wbad-function-cast
Due to a change in glib headers, gtk-vnc build is broken:
In file included from /usr/include/glib-2.0/glib/gthread.h:32:0,
from /usr/include/glib-2.0/glib/gasyncqueue.h:32,
from /usr/include/glib-2.0/glib.h:32,
from /usr/include/glib-2.0/gobject/gbinding.h:28,
from /usr/include/glib-2.0/glib-object.h:23,
from vncbaseaudio.h:24,
from vncbaseaudio.c:25:
vncbaseaudio.c: In function 'vnc_base_audio_get_type':
/usr/include/glib-2.0/glib/gatomic.h:108:5: error: cast from function call of type 'long unsigned int' to non-matching type 'void *' [-Werror=bad-function-cast]
(gpointer) __atomic_load_8 ((atomic), __ATOMIC_SEQ_CST); \
^
/usr/include/glib-2.0/glib/gthread.h:250:7: note: in expansion of macro 'g_atomic_pointer_get'
(!g_atomic_pointer_get (location) && \
^
/usr/include/glib-2.0/gobject/gtype.h:1697:7: note: in expansion of macro 'g_once_init_enter'
if (g_once_init_enter (&g_define_type_id__volatile)) \
^
/usr/include/glib-2.0/gobject/gtype.h:1476:60: note: in expansion of macro '_G_DEFINE_TYPE_EXTENDED_BEGIN'
#define G_DEFINE_TYPE_EXTENDED(TN, t_n, T_P, _f_, _C_) _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, _f_) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
^
vncbaseaudio.c:40:1: note: in expansion of macro 'G_DEFINE_TYPE_EXTENDED'
G_DEFINE_TYPE_EXTENDED(VncBaseAudio, vnc_base_audio, G_TYPE_OBJECT, 0,
^
cc1: all warnings being treated as errors
make[3]: *** [libgvnc_1_0_la-vncbaseaudio.lo] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
For now, lets remove the -Wbad-function-cast from manywarnings.m4.
2014-10-29 Daniel P. Berrange <berrange@redhat.com>
Enable double buffering on GTK3
2014-10-07 Daniel P. Berrange <berrange@redhat.com>
Remove tab character
2014-10-07 Cole Robinson <crobinso@redhat.com>
Fixes these noisy errors on Fedora 21:
gcc: warning: switch '-Wmudflap' is no longer supported
2014-10-07 Daniel P. Berrange <berrange@redhat.com>
Always send back pixel format message
If operating in 8bpp colourmap mode, at least one, VNC server is
known to not send the colourmap entries until after it receives
the set pixel format message. So always send that message even
if it is just matching the server's default.
2014-09-12 Christophe Fergeau <cfergeau@redhat.com>
Chain up to parent vfunc in VncDisplay::realize_event
Without this, gtk-vnc will abort when establishing a VNC connection.
This regression was introduced in 910c4d40e.
https://bugzilla.gnome.org/show_bug.cgi?id=736560
2014-08-28 Christophe Fergeau <cfergeau@redhat.com>
Don't call into GDK when we don't have a GdkWindow yet
In some situations, virt-viewer will call some gtk-vnc methods while
the gtk-vnc widget is not realized. This means it has no associated
GdkWindow and that it's not possible to do GDK calls on this widget.
Some of these gtk-vnc were trying to call into GDK without checking
this, causing runtime warnings such as:
(virt-viewer:29150): Gdk-CRITICAL **: gdk_window_set_cursor: assertion
'GDK_IS_WINDOW (window)' failed
or
(virt-viewer:20076): Gdk-CRITICAL **: gdk_window_get_width: assertion
`GDK_IS_WINDOW (window)' failed
(virt-viewer:20076): Gdk-CRITICAL **: gdk_window_get_height: assertion
`GDK_IS_WINDOW (window)' failed
#0 g_logv (log_domain=0x3247a74066 "Gdk", log_level=G_LOG_LEVEL_CRITICAL,
format=<optimized out>, args=args@entry=0x7fffffffd1b0) at gmessages.c:1038
#1 0x0000003a97450eff in g_log (
log_domain=log_domain@entry=0x3247a74066 "Gdk",
log_level=log_level@entry=G_LOG_LEVEL_CRITICAL,
format=format@entry=0x3a974bee3a "%s: assertion '%s' failed")
at gmessages.c:1071
#2 0x0000003a97450f39 in g_return_if_fail_warning (
log_domain=log_domain@entry=0x3247a74066 "Gdk",
pretty_function=pretty_function@entry=0x3247a8a320 <__FUNCTION__.33032> "gdk_window_get_width",
expression=expression@entry=0x3247a74794 "GDK_IS_WINDOW (window)")
at gmessages.c:1080
#3 0x0000003247a35ed4 in gdk_window_get_width (window=0x0) at gdkwindow.c:6093
#4 0x00007ffff7dc5e73 in gdk_drawable_get_size (w=0x0, ww=0x7fffffffd2f0,
wh=0x7fffffffd2f4) at vncdisplay.c:140
#5 0x00007ffff7dcc183 in vnc_display_set_scaling (obj=0x9661e0 [VncDisplay],
enable=1) at vncdisplay.c:2446
#6 0x0000000000425555 in virt_viewer_display_vnc_new (
vnc=0x9661e0 [VncDisplay]) at virt-viewer-display-vnc.c:191
#7 0x00000000004241b3 in virt_viewer_session_vnc_disconnected (
vnc=0x9661e0 [VncDisplay], session=0x962560 [VirtViewerSessionVnc])
at virt-viewer-session-vnc.c:114
#8 0x0000003944a10747 in _g_closure_invoke_va (
closure=closure@entry=0x6d2480, return_value=return_value@entry=0x0,
instance=instance@entry=0x9661e0, args=args@entry=0x7fffffffd560,
n_params=0, param_types=0x0) at gclosure.c:831
#9 0x0000003944a299d7 in g_signal_emit_valist (instance=0x9661e0,
signal_id=<optimized out>, detail=0,
var_args=var_args@entry=0x7fffffffd560) at gsignal.c:3215
#10 0x0000003944a2a63f in g_signal_emit (instance=<optimized out>,
signal_id=<optimized out>, detail=<optimized out>) at gsignal.c:3363
#11 0x00007ffff7dc9a60 in on_disconnected (conn=0x975cc0 [VncConnection],
opaque=0x9661e0) at vncdisplay.c:1568
#12 0x0000003944a10747 in _g_closure_invoke_va (
closure=closure@entry=0x6d2190, return_value=return_value@entry=0x0,
instance=instance@entry=0x975cc0, args=args@entry=0x7fffffffd850,
n_params=0, param_types=0x0) at gclosure.c:831
#13 0x0000003944a299d7 in g_signal_emit_valist (instance=0x975cc0,
signal_id=<optimized out>, detail=0,
var_args=var_args@entry=0x7fffffffd850) at gsignal.c:3215
#14 0x0000003944a2a63f in g_signal_emit (instance=<optimized out>,
signal_id=<optimized out>, detail=<optimized out>) at gsignal.c:3363
#15 0x00007ffff7ba419c in do_vnc_connection_emit_main_context (
opaque=0x7fffed16ef40) at vncconnection.c:578
#16 0x0000003a97449c3a in g_main_dispatch (context=0x68d280) at gmain.c:3064
#17 g_main_context_dispatch (context=context@entry=0x68d280) at gmain.c:3663
#18 0x0000003a97449f88 in g_main_context_iterate (context=0x68d280,
block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
at gmain.c:3734
#19 0x0000003a9744a25a in g_main_loop_run (loop=0x74c560) at gmain.c:3928
https://bugzilla.gnome.org/show_bug.cgi?id=734348
2014-04-02 Praveen Illa <mail2ipn@gmail.com>
updated Telugu translation
Added Language code te to LINGUAS file
2014-02-07 GunChleoc <fios@foramnagaidhlig.net>
Updated Scottish Gaelic translation
Added Scottish Gaelic translation
2014-01-30 Daniel P. Berrange <berrange@redhat.com>
Fix dep on Gtk-3 GIR file
Related to 423495e6e1cbf5936639e6b68c6cefe4fdadd368 which
only fixed it for GTK-2
2014-01-29 Daniel P. Berrange <berrange@redhat.com>
Display warnings when running g-ir-scanner
Release held keys upon grab_notify event
gtk may propagate some press event up to the Spice display widget, but
a widget may take focus and grab the release event, so the guest will
keep seeing the key pressed.
Releasing the keys when the grab is taken solves two menu-related bugs:
https://bugzilla.redhat.com/show_bug.cgi?id=820829
https://bugzilla.redhat.com/show_bug.cgi?id=924577
This is based on a spice-gtk fix:
http://lists.freedesktop.org/archives/spice-devel/2013-May/013351.html
2014-01-28 Daniel P. Berrange <berrange@redhat.com>
Add missing dep on Gtk introspection GIR
https://bugzilla.gnome.org/show_bug.cgi?id=723009
2014-01-23 Daniel P. Berrange <berrange@redhat.com>
Fix parallel build of introspection gir files
Add deps between build targets for gir files and use the
--include-uninstalled option to deal with dependancies.
2013-12-31 Daniel P. Berrange <dan@berrange.com>
Remove use of deprecated GTK_STOCK_OK/GTK_STOCK_CANCEL
2013-12-31 Koop Mast <kwm@rainbow-runner.nl>
Rework introspection support so it works on FreeBSD.
Based on the following documentation.
https://wiki.gnome.org/Projects/GObjectIntrospection/AutotoolsIntegration
Add stddef.h for size_t on FreeBSD.
2013-12-31 Christophe Fergeau <cfergeau@redhat.com>
sasl: Fix auth when using the PLAIN method
sasl_client_start() can return SASL_OK, in which case calling
sasl_client_step() returns an error. If sasl_client_start() returned
SASL_OK and the remote told us auth is complete, we can break out of the
stepping loop early.
The upstream documentation is not very explicit about what to do when
sasl_client_start() returns SASL_OK but this was clarified by
http://asg.andrew.cmu.edu/archive/message.php?mailbox=archive.cyrus-sasl&msg=10104
This is based on the libvirt patch
commit 0955025b9cdb734293adfae09be1fdae231d7a73
Author: Christophe Fergeau <cfergeau@redhat.com>
Date: Thu Nov 21 18:40:52 2013 +0100
sasl: Fix authentication when using PLAIN mechanism
https://bugzilla.gnome.org/show_bug.cgi?id=712820
2013-09-18 Daniel P. Berrange <berrange@redhat.com>
Update for 0.5.3 release
Fix generation of ChangeLog with VPATH build
Remove trailing whitespace
Only put examples in gtk3 based devel RPM
The example programs which use introspection are only compatible
with GTK3, so should be in gtk-vnc2-devel rather than gtk-vnc-devel
Remove execute permission from example programs in RPM
Avoid getting pointless RPM deps by removing the execute
permission from the example programs.
Add explicit dep on libgcrypt-devel RPM
gnutls-devel no longer pulls in libgcrypt-devel since the
switch to use nettle.
2013-09-17 Daniel P. Berrange <berrange@redhat.com>
Block all accelerators when grabbing keyboard
Prevent any global accelerators from activating in the
gvncviewer demo program when keyboard grab is active
https://bugzilla.gnome.org/show_bug.cgi?id=594571
Don't ungrab pointer on leave-notify events
If we ungrab the pointer on leave-notify events, this breaks
the automatic grabs when a button is pressed in absolute pointer.
A symptom of this is that if you press to start highlighting text
in a gedit window in a server, and move the mouse outside the VNC
widget and release the button, the server will never see the mouse
up event. We must preserve grabs upon button press so that the
VNC server always sees the eventual release events.
https://bugzilla.gnome.org/show_bug.cgi?id=664567
Don't drop mouse events that are out of bounds
In absolute mode, if the mouse cursor goes outside the bounds
of the window, we drop the motion event entirely. This is bad
because only one of the co-ordinates may be out of bounds, and
the server still wants to see movement in the other axis. Instead
of dropping the events, just clamp co-ordinates to the boundary.
2013-09-16 Doug Goldstein <cardoe@cardoe.com>
Fix typo in NO_UNDEFINED_FLAGS name
Fix typo in the configuration of the NO_UNDEFINED_FLAGS name for Cygwin.
test for --no-undefined linker flag
Currently the code assumes that all non-Windows like platforms have a
linker that supports --no-undefined, however llvm based compilers do not
support this on Linux or Mac OS X, so instead test for it and only
use if it is available.
2013-09-16 Daniel P. Berrange <berrange@redhat.com>
Reset 'blocking' flag after I/O wait
If the 'vnc_connection_read_wire' goes into an I/O wait
due to blocking I/O, the 'blocking' flag gets set to
true. Upon returning from the wait, it jumps back to
the start of the function, but does not reset the 'blocking'
flag to false. If the I/O attempt succeeds, this doesn't
matter, but if it fails for an error reason, this gets
mistakenly treated as blocking I/O again.
This is seen most often when the remote server drops the
connection. If the client was blocking on I/O at this
time, it could get into a potentially infinite loop.
https://bugzilla.gnome.org/show_bug.cgi?id=704098
2013-09-13 Daniel P. Berrange <berrange@redhat.com>
Only trigger grab sequence upon release
GTK-VNC uses the keyboard shortcut ctrl+alt to toggle inside/outside
the VM (aka release pointer). Now Gnome uses ctrl+alt+arrow_key to
switch virtual desktops. So these two shortcuts collide and gtk-vnc
will grab the key presses as soon as ctrl+alt is pressed and toogle
inside/outside the VM, which makes switching desktops impossible.
The solution is to only trigger the grab sequence when the user
releases the key. So if they press Ctrl+alt and then release it,
we trigger, but if they press Ctrl+alt+left-arrow we don't trigger
https://bugzilla.gnome.org/show_bug.cgi?id=685257
2013-09-13 Artem Rusanov <artem.rusanov@gmail.com>
Make handling of ZRLE encoding more efficient
Avoid memmove() on the uncompressed data buffer when dealing
with ZRLE encoding. Instead just track what offset we've read
upto.
2013-09-13 Daniel P. Berrange <berrange@redhat.com>
Free coroutine stack when releasing coroutine
The coroutine_init function mmap's a stack for the
ucontext coroutine, but nothing ever munmaps it.
Abort if mmap of coroutine stack fails
If we fail to mmap the stack, abort the processs rather
than returning an error. This is standard practice in
glib apps, and the caller was not checking the
coroutine_init() return code leading to memory corruption.
2013-05-20 Marc-André Lureau <marcandre.lureau@gmail.com>
connection: timeout connect() after 10s
It can take a minute or so before the connect() fails. Add an explicit
shorter timeout of 10s.
https://bugzilla.gnome.org/show_bug.cgi?id=700240
2013-05-20 Lei Li <lilei@linux.vnet.ibm.com>
Add support for LED state extension to gvnc
Support the QEMU LED state extension
2013-03-19 Enrico Nicoletto <enriconlto@src.gnome.org>
Added Tajik language on LINGUAS
2013-03-19 Victor Ibragimov <victor.ibragimov@gmail.com>
Updated Tajik translation
2013-02-22 Daniel P. Berrange <berrange@redhat.com>
Update for 0.5.2 release
Delete browser plugin
The plugin code has been unmaintained for years and almost
certainly has security problems. A pure HTML5 solution like
noVNC is a far better approach to browser support for VNC.
Update RPM specs for F19 changes
Add perl example to RPM spec
Add python example using introspection
Add vnc_grab_sequence_get_nth
To allow introspected bindings to get access to keysyms, add
a vnc_grab_sequence_get_nth method
Rename gvncviewer.py to gvncviewer-bindings.py
Convert VncConnectionCredential to VncDisplayCredential
When forwarding the auth signal from VncConnection to consumers
of VncDisplay, the VncConnectionCredential enums must be turned
into VncDisplayCredential enums
2013-01-31 Daniel P. Berrange <berrange@redhat.com>
Fix conditionals in gvncviewer example
Auto-generate AUTHORS file from GIT logs
Rather than trying to manually keep track of authors,
just auto-generate the list from GIT logs
Add missing 'default' case to switch statement
Disable deprecation warnings
Glib deprecated GValueArray in favour of GArry
gvncviewer.c:450:9: warning: ‘g_value_array_get_nth’ is deprecated (declared at /usr/include/glib-2.0/gobject/gvaluearray.h:65): Use 'g_array_index' instead [-Wdeprecated-declarations]
Unfortunately these types are not ABI compatible. eg
compare the field orders
struct GValueArray {
guint n_values;
GValue *values;
};
vs
struct GArray {
gchar *data;
guint len;
};
So the replacement can't be used without a change in API
and ABI. This is unacceptable, so the deprecation warniings
must be disabled :-(
Avoid crash with unsupported audio formats
Currently if the VNC server sends an unsupported audio format,
we skip creating the pulse audio instance. When we later receive
audio data from QEMU we crash on this NULL instance. Instead we
should simply discard the audio data. Also log a warning if we
get a format we can't supported
https://bugzilla.gnome.org/show_bug.cgi?id=679283
2013-01-31 Cole Robinson <crobinso@redhat.com>
Fix enabling pulseaudio bits in gvncviewer
The gvncviewer.c file used a HAVE_PULSEAUDIO conditional,
but this was only defined for make and not in config.h
Add introspection annotation for vnc_display_send_keys
The vnc_display_send_keys method signature is too complex
to be interpreted correctly without some annotations.
https://bugzilla.gnome.org/show_bug.cgi?id=691821
2012-12-07 Daniel P. Berrange <berrange@redhat.com>
Avoid use of uninitialized variables in password echo prompt
Remove bogus check for 'conn' being null in vnc_connection_is_open
Fix size check on available write buffer space
The vnc_connection_write() function did not consider the current
write offset when calculating how much space was available in
the write buffer. This could lead to an array overrun.
Avoid array overrun setting up blt24 function
If a VNC colourmap mode was enabled, we would attempt to access
beyond the end of the blt24 function table. There are no blt
functions that can work for this mode, so just stub out the
array with NULL, and add a later check for NULL.
Fix missing check for OOM in python binding by s/malloc/g_new0/
Fix NULL dereference in debug logging on socket read error
Replace strncpy with memcpy in VNC password code
Using strncpy for the VNC key makes coverity worried about
unterminated strings. Switch to use memcpy to keep it
happier
2012-12-04 Marc-André Lureau <marcandre.lureau@gmail.com>
win32: fix quote key handling
Fix keymaps to correctly handle the quote key.
https://bugzilla.gnome.org/show_bug.cgi?id=686177
Fix invalid array size
Avoid further out of bound access.
Also simplify other code using G_N_ELEMENTS.
https://bugzilla.gnome.org/show_bug.cgi?id=686178
2012-12-04 Christophe Fergeau <cfergeau@redhat.com>
spec: Tarballs are now in .xz format
https://bugzilla.gnome.org/show_bug.cgi?id=689101
spec: Use %global instead of %define
https://bugzilla.gnome.org/show_bug.cgi?id=689101
spec: Fix GTK2 typo in description of gtk3 package
https://bugzilla.gnome.org/show_bug.cgi?id=689101
2012-12-04 Adam Jackson <ajax@redhat.com>
cairo: Fix framebuffer setup on big-endian
Without this, big-endian machines would over-swizzle.
2012-11-09 Yaron Shahrabani <sh.yaron@gmail.com>
Added he.
Updated Hebrew translation.
2012-10-17 Мирослав Николић <miroslavnikolic@rocketmail.com>
Added Serbian translation
2012-09-04 Piotr Drąg <piotrdrag@gmail.com>
Updated Polish translation
2012-09-04 Daniel P. Berrange <berrange@redhat.com>
Call ldconfig from gvnc/gvncpulse/gtk-vnc2 %post/%postun
Add missing deps on gvnc package from gtk-vnc/gtk-vnc2
2012-07-12 Daniel P. Berrange <berrange@redhat.com>
Fix check for Text::CSV in configure.ac
2012-07-09 Daniel P. Berrange <berrange@redhat.com>
Updates for 0.5.1 release
Add support for connecting to GSocketAddress instances
To improve UNIX domain socket support, add the ability to open
a GSocketAddress instance. Pass the 'hostname' with the addr
for the purposes of SASL/TLS hostname verification. Also add
another method for opening a FD which accepts a hostname, again
for SASL/TLS hostname verification when using a tunnelled
socket
2012-07-02 Daniel P. Berrange <berrange@redhat.com>
Remove use of hardcoded constants
Currently code which sends/receives client/server messages uses
hardcoded constants for message types. Replace these with a bunch
of enums for clarity
Fix mistaken use of g_object_unref instead of gdk_cursor_unref
2012-06-27 Daniel P. Berrange <berrange@redhat.com>
Add Rūdolfs Mazurs to AUTHORS
2012-06-27 Rūdolfs Mazurs <rudolfsm@src.gnome.org>
Added Latvian translation
2012-06-21 Christophe Fergeau <cfergeau@redhat.com>
build: allow building with newer glibc-headers and -O0
Commit log and autoconf snippet written by Eric Blake for libvirt.
glibc 2.15 (on Fedora 17) coupled with explicit disabling of
optimization during development dies a painful death:
In file included from /usr/include/limits.h:27:0,
from /usr/lib/gcc/x86_64-redhat-linux/4.7.0/include/limits.h:169,.
from /usr/lib/gcc/x86_64-redhat-linux/4.7.0/include/syslimits.h:7,
from /usr/lib/gcc/x86_64-redhat-linux/4.7.0/include/limits.h:34,
from util/bitmap.c:26:
/usr/include/features.h:314:4: error: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror=cpp]
cc1: all warnings being treated as errors
Work around this by only conditionally defining _FORTIFY_SOURCE,
in the case where glibc can actually use it. The trick is using
AH_VERBATIM instead of AC_DEFINE.
* m4/gtk-vnc-warnings.m4 (LIBOSINFO_COMPILE_WARNINGS): Squelch
_FORTIFY_SOURCE when needed to avoid glibc #warnings.
https://bugzilla.gnome.org/show_bug.cgi?id=678014
2012-06-21 Alban Browaeys <prahal@yahoo.com>
gir: link against builddir libgvnc (pulse and gtkvnc)
Linking against builddir gnv fixes GVncPulse generation.
Done also against GtkVnc for completness.
2012-06-21 Daniel P. Berrange <berrange@redhat.com>
Add compat macro for g_mutex_new|free with glib >= 2.31
Fix triplet for mingw64 64-bit builds in autobuild.sh
2012-06-20 Daniel P. Berrange <berrange@redhat.com>
Add Andika Triwidada to AUTHORS
2012-06-15 Andika Triwidada <andika@gmail.com>
Added Indonesian translation
2012-05-04 Daniel P. Berrange <berrange@redhat.com>
Avoid some deprecation warnings from GTK3 about device grabs
Temporary workaround to avoid deprecation warnings from GTK3
about device grabs. Currently this just emulates existing
behaviour of grabbing all devices, but in the future should
be fine tuned to only grab specific devices
Fix constness wrt g_getenv
Switch to use mingw64 toolchain for cross-compiles
2012-04-27 Daniel P. Berrange <berrange@redhat.com>
Fix introspection of key grab APIs
Update specfile for RHEL-7
2012-04-26 Daniel P. Berrange <berrange@redhat.com>
Replace getenv/setenv with g_getenv/g_setenv for Win32 portability
2012-04-25 Daniel P. Berrange <berrange@redhat.com>
Ensure debugging works on GLib >= 2.32
Use g_object_unref instead of gdk_pixbuf_unref
2012-04-06 Alexandre Rostovtsev <tetromino@gentoo.org>
configure: make pulseaudio detection non-automagic
This is to allow building gtk-vnc on a system with pulseaudio and then
deploying on a system without pulseaudio.
https://bugzilla.gnome.org/show_bug.cgi?id=673570
2012-04-05 Daniel P. Berrange <berrange@redhat.com>
Add Fabiano Fidêncio to AUTHORS
2012-03-29 Fabiano Fidêncio <fabiano@fidencio.org>
Add check for Perl::Text::CSV if building from GIT
2012-03-19 Daniel P. Berrange <berrange@redhat.com>
Add Sasi Bhushan Boddepalli <sasi@swecha.net> to AUTHORS
2012-03-16 Sasi Bhushan Boddepalli <sasi@swecha.net>
Updated Telugu Translations
2012-03-16 Sasi Bhushan <sasi@swecha.net>
Added new language Telugu translation
2012-03-13 Daniel P. Berrange <berrange@redhat.com>
Add Alexandre Rostovtsev to AUTHORS
2012-03-13 Alexandre Rostovtsev <tetromino@gentoo.org>
tools/gvnccapture: unbreak pod syntax
For pod, the presence or absence of leading whitespace is significant.
https://bugzilla.gnome.org/show_bug.cgi?id=667943
2012-03-13 Daniel P. Berrange <berrange@redhat.com>
Ensure syntax-check files are included in dist
Change the way header files are handled by automake
Switch over to using the official _HEADERS target against the
library, instead of doing it manually. This helps automake
with VPATH builds
2012-02-17 Daniel P. Berrange <berrange@redhat.com>
Add GVNCPULSE_VERSION_FILE to BUILT_SOURCES
Remove duplicated AC_SUBST var in configure.ac
2012-02-10 Daniel P. Berrange <berrange@redhat.com>
Fix autobuild flags
Replace #if HAVE_SASL with #ifdef HAVE_SASL
Import GNULIBs GCC warning module
Replace hand-written warning checks with GNULIB module
Misc code fixes to vncconnectionc.
- Add default cases for switch statements
- Replace #if with #ifdef for DEBUG check
- Reduce excessive stack usage
Update to use modern function decl style
2011-12-21 Daniel P. Berrange <berrange@redhat.com>
Update for 0.5.0 release
2011-12-21 Marc-André Lureau <marcandre.lureau@gmail.com>
windows: fix broken left shift
On Windows, the received key when pressing left shift is VK_SHIFT 0x10
Patch from spice-gtk
https://bugzilla.gnome.org/show_bug.cgi?id=666171
2011-12-21 Christophe Fergeau <cfergeau@redhat.com>
properly free xkbDesk
valgrind detects a memory leak if it's not freed using
xkbFreeKeyboard.
2011-12-21 Daniel P. Berrange <berrange@redhat.com>
Fix some more indentation mistakes
2011-12-15 Daniel P. Berrange <berrange@redhat.com>
Update AUTHORS file
Add support for '--system' arg to autogen.sh
Add --pkg statements for all external libs needed in build
Ensure g-ir-scanner adds -I and -L flags for all external
libraries required to build
2011-12-13 Christophe Fergeau <cfergeau@redhat.com>
Include locale.h in gvnccapture.c
It uses setlocale and LC_ALL, without this header compilation fails
on RHEL 6.2
More fixing for gir generation
I missed the new GVncPulse.gir file in the previous fix
Fix GIR generation
Overriding PKG_CONFIG_PATH when generating GtkVnc-2.0.gir is
wrong since this means that if glib/... is installed in a prefix that
is not one of the default pkg-config paths, then it won't be found.
PKG_CONFIG_PATH is overridden so that g-ir-scanner can find GVnc-1.0.gir
in the build tree. Since g-ir-scanner provides --include-uninstalled
for that purpose, use that instead.
2011-12-11 Daniel P. Berrange <berrange@redhat.com>
Update AUTHORS file
2011-12-11 Daniel Korostil <ted.korostiled@gmail.com>
Added uk translation
2011-12-09 Daniel P. Berrange <berrange@redhat.com>
Import GNULIB framework for checking code style / rules
Add a new 'make syntax-check' rule which validates some
aspects of coding style. This is imported from GNULIB
Remove trailing whitespace at end of lines
Ensure <config.h> is always the first header included
Remove redundant 'const' annotations
use "test C1 && test C2", not "test C1 -a C2" etc
Remove trailing blank lines from COPYING.LIB
Remove use of @FOO@ syntax from Makefile.am in favour of $(FOO)
Ensure vars are fully quoted in configure.ac
Fix mistakes in copyright header
Update authors file & add a mailmap for non-primary addrs
Ensure gvnccapture calls bindtextdomain to setup localization
Remove useless if before free
Change debug function into a null macro
Death to tabs
Remove all tabs, change indentation level to 4 spaces. Add
emacs magic to files which were missing it. Reindent all
files with new rules
Batch up incoming audio samples for upto 100ms
The length of samples received from the guest can be very
small (as little as 1 sample). If this is dispatched directly
to the audio sink this can cause excessive CPU consumption
and context switching. Batch up incoming data for upto 100ms
until dispatching it
Convert connection over to use audio objects
* src/vncconnection.c, src/vncconnection.h: Convert to use
VncAudio, VncAudioFormat & VncAudioSample objects
* examples/Makefile.am, examples/gvncviewer.c: Convert to
use new API & pulse audio object impl
* src/vncmarshal.txt: Remove unused marshaller
Make decoding of audio extension more robust
Add checks for unknown QEMU messages and crazy sized audio
data packets
Remove all audio APIs from VncDisplay since we expose the connection
Now that there is a vnc_display_get_connection() method there is
no need to duplicate all the audio APIs & signals in the VncDisplay
class
Fix compiler warning in gvnccapture.c
Recent GCC warn about assignments to variables which are then
not used.
Introduce pulse audio bridge for GVnc
Introduce a new library libgvncpulse-1.0.so which provides an
implementation of VncAudio that uses Pulse Audio for output
* Makefile.am, gvncpulse-1.0.pc.in: Add pkgconfig file for
libgvncpulse
* gtk-vnc.spec.in: Add gvncpulse & gvncpulse-devel sub-RPMS
* src/Makefile.am, src/gvncpulse.h, src/libgvncpulse_sym.version
Add gvncpulse-1.0 library
* src/vncaudiopulse.c, src/vncaudiopulse.h: Pulse audio
impl of VncAudio
* vapi/Makefile.am: Build vala binding for pulse audio
Introduce a basic impl of audio handler
Introduce a basic implementation of the audio handler which
emits a signal for each method. This enables apps to support
audio playback without needing to create subclasses. It also
isolates subclasses from extensions in the interface
* src/Makefile.am, src/libgvnc_sym.version,
src/vncbaseaudio.c, src/vncbaseaudio.h: Introduce basic
audio handler
Introduce an interface for handling audio data
Define a new interface VncAudio which is used to handle playback
of audio data
* src/Makefile.am, src/libgvnc_sym.version,
src/vncaudio.c, src/vncaudio.h: Add interface for handling
audio data
Introduce a basic data type for audio samples
To avoid having to pass around all the parameters individually,
introduce a boxed data type for audio samples
* src/Makefile.am, src/libgvnc_sym.version,
src/vncaudiosample.c, src/vncaudiosample.h: Boxed type for
audio samples
Introduce a basic data type for audio formats
To avoid having to pass around all the parameters individually,
introduce a boxed data type for audio formats
* src/Makefile.am, src/libgvnc_sym.version,
src/vncaudioformat.c, src/vncaudioformat.h: Boxed type for
audio formats
2011-12-09 Steven Carr <Steven.Carr@scaa-usa.com>
Introduce support for the VNC audio tunnel extension
Add support for handling VNC audio extension and a pulse
audio implementation to the gvncviewer.c
* src/vncconnection.c, src/vncconnection.h: Handle VNC
audio extension
* src/vncdisplay.c, src/vncdisplay.h: Passthrough audio
control to connection
* src/vncmarshal.txt: New signal types
* examples/gvncviewer.c, examples/Makefile.am: Pulse
audio impl
* configure.ac: Check for pulse audio
2011-12-09 Daniel P. Berrange <berrange@redhat.com>
Add a 'connection' property to VncDisplay class
Allow apps access to the VncConnection behind the VncDisplay
instance, by adding a property and a getter API
* src/vncdisplay.c: Add a 'connection' property to allow
apps to get the VncConnection object
Adapt to avoid deprecated gnutls functions
Switch to using gnutls_priority_set_direct on newer GNUTLS
2011-11-18 Algimantas Margevičius <gymka@mail.ru>
Added Lithuanian translation
2011-11-10 Daniel P. Berrange <berrange@redhat.com>
Misc RPM specfile fixes
Add Perl example program using GTK3
Update NEWS for 0.4.4 release
2011-11-04 Daniel P. Berrange <berrange@redhat.com>
Update automated build to test both GTK2 and GTK3
Add rules for building GTK3 library on mingw32
Fix GTK3 build on mingw32
The mingw32 linker does not like .def files with symbols which
do not exist. Filter out the vnc_image_framebuffer* symbols.
Also ensure the python module generated files are not included
in the dist
2011-11-02 Marc-André Lureau <marcandre.lureau@gmail.com>
Fix introspection of vnc_display_get_pixbuf()
2011-10-31 Daniel P. Berrange <berrange@redhat.com>
Add vala files to RPM spec
2011-10-28 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
Specify location of pkg-config files to gir scanner
Fixes fresh build (when gtk-vnc isn't already installed).
Specify GIR directory to vapigen
Disable VAPI generation for gtk+ 2.0
Disable vala checks and binding generation by default when building
against gtk 2.0.
2011-10-26 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
Post release version bump
This is needed so apps depending on git master can require the correct
version at 'configure' time.
2011-10-26 Marc-André Lureau <marcandre.lureau@gmail.com>
Add vapi bindings generation
https://bugzilla.gnome.org/show_bug.cgi?id=662708
2011-09-24 Stanislav Petrek <stanislav.petrek@gmail.com>
Added Slovak translation
2011-07-30 Seong-ho, Cho <darkcircle.0426@gmail.com>
Add Korean translation
2011-07-12 Daniel P. Berrange <berrange@redhat.com>
Fix leak of string list when parsing grab sequence string
2011-07-11 Guido Günther <agx@sigxcpu.org>
Explicitly link gvncviewer against GTK + libgvnc
2011-07-01 Marc-André Lureau <marcandre.lureau@redhat.com>
gtk maps LAlt & LCtrl to Alt and Ctrl keycode, but they are missing from keymaps.csv
2011-06-04 Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>
Add Esperanto translation
2011-05-05 Muhammet Kara <muhammet.k@gmail.com>
Added Turkish translation
2011-04-14 Daniel P. Berrange <berrange@redhat.com>
Fix missing OS-X keymapping for letter 'A'
The keymap-gen.pl script was not correctly distinguishing
keycodes with a value of '0', from undefined keycodes. All
were skipped. This meant that the mapping for OS-X ANSI_A
key was lost (since it has value 0).
For similar reasons the XQuartz mapping for the letter A
was also lost.
* src/keymap-gen.pl: Fix handling of 0 vs undef for keycodes
* src/keymaps.csv: Remove bogus 0x0 entry in OS-X keymap
Tweak logging messages for TLS auth sub-types
2011-02-18 Daniel P. Berrange <berrange@redhat.com>
Update for 0.4.3 release
* NEWS: List of changes
* README: Remove note about GTK3 being experimental
* configure.ac: Update version & GTK3 required version
* gtk-vnc.spec.in: Remove bogus changelog
Remove some unused variables in VncConnection
* src/vncconnection.c: Remove unused vars
2011-01-28 Daniel P. Berrange <berrange@redhat.com>
Make pointer warp check more robust
The pointer warp code checks whether the local cursor
is hitting a boundary == 0, ==width, or ==height. This
is slightly too strict, it should check <= 0, >= width
or >= height
* src/vncdisplay.c: Make boundary check more robust
Fix warning about unused 'dpy' variable in keymap code
In GTK2 paths, GDK_IS_*_DISPLAY(dpy) evaluated to '1'
which meant 'dpy' could be unused. Change it to eval
to 'dpy == dpy' to trick compiler into thinking the
variable is in use.
* src/vncdisplaykeymap.c: Fix warning of unused variable
2011-01-14 George Stefanakis <george.stefanakis@gmail.com>
Updated Greek translation
2011-01-13 Sébastien Granjoux <seb.sfo@free.fr>
Fix setup of 'shared flag' when opening connection
The VncDisplay class forgot to pass the 'shared flag' onto
the VncConnection class when establishing a connection
2011-01-13 Daniel P. Berrange <berrange@redhat.com>
Refactor keymap handling to cope with multiple GDK backends
In GTK3 it is possible to have multiple GDK backends present.
The vncdisplaykeymap code needs a minor refactoring to cope
with this enhancement. The refactoring also trivially maintains
GTK2 compat
2011-01-05 Akom Chotiphantawanon <knight2000@gmail.com>
Added Thai translation.
2010-12-14 Daniel P. Berrange <berrange@redhat.com>
Fix leak of GSource objects which causes performance problems
The GLib event loop scales poorly as the number of GSource objects
increases. A missing unref on the GSource objects used in the VNC
connection meant that many unused instances accumulated, slowing
down the event loop processing.
* src/vncconnection.c: Unref all GSource objects
2010-12-09 Daniel P. Berrange <berrange@redhat.com>
Adapt to avoid further Gtk3 changes
More gdk_drawable calls have gone away in Gtk3. Adapt code to avoid
needing to use them, by calling gtk_widget APIs instead.
2010-11-29 Daniel P. Berrange <berrange@redhat.com>
Re-introduce a server side Pixmap to cache framebuffer
Despite use of clipping during drawing, rendering directly
from the client side cairo image, to the window incurred
a serious performance penalty for some users' X servers.
Re-introduce a server side copy of the VNC desktop using
a cairo surface, backed by an X Pixmap. This uses cairo
APIs directly, avoiding any need for GdkPixmap.
Remove check for Text::CSV
Revert the check for Text::CSV added in
753ddcb203fd9ad26829a065fd4d47c82773e849
Since the keymap files are now included in EXTRA_DIST, there
is no requirement fo Text::CSV at end user build time. Only
maintainers required the Text::CSV file when generating a
new dist.
2010-11-29 Daniel P. Berrange <dan@berrange.com>
Fix framebuffer update boundary check
Framebuffer boundary checks need to take into account offset,
in addition to width/height
* src/vncconnection.c: Fix boundary check
Avoid crash in TLS cleanup code on shutdown
The gnutls_bye() method may try to send data on the socket todo
graceful TLS shutdown. The priv->sock variable is possibly
already NULL at this point if the close was triggered via the
vnc_connection_shutdown() method. Change the latter so that
it only calls g_socket_close, not actually free'ing the
priv->sock object immediately. Also put sanity check code in
the TLS push/pull functions to catch future bugs in this area
Distribute built keymap files
Avoid the need for end users to have the Perl Text::CSV module
installed, by including the pre-generated keymap source files
in the dist.
* gtk-vnc.spec.in: Remove dep on perl(Text::CSV)
* src/Makefile.am: Include keymaps in dist
Avoid crash in motion event & vnc_display_get_pixbuf
If a mouse event occurs before a connection completes setup
priv->fb will be NULL and a crash can occur. Likewise if
vnc_display_get_pixbuf() is called before priv->fb is set,
then a crash occurs. Add checks for NULL in both cases
2010-11-26 Jonh Wendell <jwendell@gnome.org>
check for Text::CVS perl module in configure. closes #634621
2010-11-05 Daniel P. Berrange <berrange@redhat.com>
Update NEWS/README/configure.ac for 0.4.2 release
* NEWS: List of new features/bugs fixed
* README: Expand on GTK3 notes
* configure.ac: Increase version number
2010-11-03 Daniel P. Berrange <berrange@redhat.com>
Fix data type of arg to cut-text signal in VncConnection
The vnc-server-cut-text signal is marshalled by
g_cclosure_marshal_VOID__STRING
so its argument must be a 'const char *', not a 'GString *'
datatype.
* src/vncconnection.c: Fix data type for cut-text signal arg
2010-10-29 Carles Ferrando <carles.ferrando@gmail.com>
Added Catalan (Valencian) translation
2010-10-29 Kjartan Maraas <kmaraas@gnome.org>
Add nb
Updated Norwegian bokmål translation.
2010-10-28 Daniel P. Berrange <berrange@redhat.com>
Enable building of a sub-RPM for gtk3
Allow a single RPM to build both gtk2 and gtk3 libraries
* gtk-vnc.spec.in: Add gtk-vnc2 sub-RPM for gtk3 binaries
Cope with building against newer gobject-introspection
Newer gobject-introspection wants --symbol-prefix and
--identifier-prefix instead of --strip-prefix. Test
for such a version and use the new style options if
appropriate
* configure.ac: Check for new gobject introspection
* src/Makefile.am: Adapt to g-ir-scanner flags
Fix rendering artifacts when running in scaling mode
The expose region was not large enough when running in scaling mode
resulting in horizontal & vertical line artifacts when moving
windows around on the virtual desktop. The previous fix used in
Gtk2 was not sufficient for Gtk3, so change the fix to be entirely
within the on_framebuffer_update handler
* src/vncdisplay.c: Hack to fix rendering artifacts
Add compat macro for GDK_DISPLAY
The GDK_DISPLAY macro is removed in Gtk3, add a compatibility
macro to allow build with Gtk2 and Gtk3
* src/vncdisplaykeymap.c: Add GDK_DISPLAY compat
Add compatability code for GDK symbolic keys
The GDK key macros were changed from GDK_ to GDK_KEY_ in GTK3.
Add some compatibility #ifdefs to allow the same macros to be
used on both Gtk2 and Gtk3.
* examples/gvncviewer.c: Add GDK_KEY compat
* src/vncdisplaykeymap.c: Add GDK_KEY compat
2010-10-27 Daniel P. Berrange <berrange@redhat.com>
Refactor drawing code to allow compatibility with Gtk3
In Gtk3, the expose_event is replaced with a 'draw' callback.
This is provided with a 'cairo_t' context that is already
configured with the clip region.
Split the current expose_event into two parts, the first
which creates a cairo_t based on the GdkEventExpose data,
and the second method which draws to that cairo_t. The
expose_event is conditionally disabled for Gtk3 builds,
just leaving the draw method which works on Gtk2 and Gtk3
* src/vncdisplay.c: Pull drawing code out of expose_event
method and disable expose_event on Gtk3
Remove the server side framebuffer cached in GdkPixmap
For rendering efficiency a GdkPixmap was kept on the server
duplicating what was in the old GdkImage object on the client
side. The client was changed to use a cairo image surface.
This can easily be rendered straight to the window and does
not appear to have any performance degradation. Thus the
GdkPixmap can be eliminated, avoiding the extra memory usage
that entails
* src/vncdisplay.c: Remove the GdkPixmap copy of the framebuffer
Change cursor to use GDK_BLANK_CURSOR instead of a GdkPixmap
The GdkPixmap class has been removed in GTK3. Since Gtk 2.16
there is a standard GDK_BLANK_CURSOR which can replace their
usage and works across Gtk 2 and 3.
* src/vncdisplay.c: Use GDK_BLANK_CURSOR
2010-10-25 Daniel P. Berrange <berrange@redhat.com>
Clear out more fields when closing a vnc connection
Be more paranoid about reseting internal fields when closing
a VNC connection, to prevent surprises when reconnecting
* src/vncconnection.c: Clear out more fields when closing
a connection
Add strict bounds checking on framebuffer updates
Some broken VNC servers send frame buffer updates which stray
outside the boundary of the desktop. This will lead to memory
corruption when rendering, so explicitly check for this and
drop the VNC connection.
* src/vncconnection.c: Add framebuffer update bounds checking
2010-10-21 Michal Novotny <minovotn@redhat.com>
Introduce vnc_util_get_version() functions to get version
this is the patch to allow user to get the GTK-VNC version using the
vnc_util_get_version() and vnc_util_get_version_string() functions.
Both the functions returns the version numbers based on the VERSION
definition as created by autotools. Also, in version 2 (previous
version) a new function called vnc_util_check_version() has been added
to check whether the version of gtk-vnc is equal or higher to version
requested. Function vnc_util_check_version() is defined as:
gboolean vnc_util_check_version(gint major, gint minor, gint micro);
The version of gtk-vnc is written in a "major.minor.micro" format
and since the version number didn't change once the package was
compiled version 3 is using VERSION_{MAJOR,MINOR,MICRO} constants
being parsed and set by configure itself rather then parsing it
at run-time.
Then there are 2 version functions. The difference between those
functions is that vnc_util_get_version() returns the gint value
based on bit flags that have to be converted to get the version
number in the string format. It's designed for further processing of
the major, minor and release versions.
If you want to get the version number only (e.g. to let the user
know the GTK-VNC version he/she is using) you can use the second
function called the vnc_util_get_version_string() which returns
the string representation, e.g. 0.4.1.
For the vnc_util_get_version() function the gint is being returned
with setting up appropriate bits. You can get the versions using
following formula:
ver = vnc_util_get_version();
major = (ver >> 24) & 0xff;
minor = (ver >> 16) & 0xff;
micro = (ver >> 8 ) & 0xff;
I think this patch could be useful for mainly for reason mentioned
above. To check whether the user has at least 0.4.1 version of
gtk-vnc using the vnc_util_check_version(0, 4, 1) is preferred.
The vnc_util_get_version() function is a low-level function that
could be useful to get the version number to be converted further.
2010-09-17 Guido Günther <agx@sigxcpu.org>
Don't close the socket before the coroutine shut down
The connection shutdown needs the socket intact:
7 0xb6d38cdf in vnc_connection_tls_push (transport=0x8d84108, data=0x8df33c0, len=229) at vncconnection.c:942
8 0xb6b30437 in ?? () from /usr/lib/libgnutls.so.26
9 0xb6b2d12c in _gnutls_send_int () from /usr/lib/libgnutls.so.26
10 0xb6b4d682 in gnutls_alert_send () from /usr/lib/libgnutls.so.26
11 0xb6b2d662 in gnutls_bye () from /usr/lib/libgnutls.so.26
12 0xb6d3a620 in vnc_connection_close (conn=0x8d84108) at vncconnection.c:4323
so close the socket after the coroutine shutdown. Otherwise it fills the
console with:
(gvncviewer:11056): GLib-GIO-CRITICAL **: g_socket_send: assertion `G_IS_SOCKET (socket) && buffer != NULL' failed
and gets stuck in an endless loop.
2010-09-17 Daniel P. Berrange <berrange@redhat.com>
Add missing keytable entry for KEY_KATAKANAHIRAGANA
* src/keymaps.csv: Add XT code for KEY_KATAKANAHIRAGANA
Fix auth subtype choosing logic in vncdisplay
The method for choosing auth subtypes was rather flawed. Rewrite
it to work correctly. Introduce an explicit list of vencrypt
subtypes, since these are distinct from main subtypes. Improve
debug logging in auth choice code.
* src/vncdisplay.c: Fix auth type choice
* src/vncconnection.c: Improve auth debugging & invoke correct
signal for auth subtype choice
2010-09-08 Guido Günther <agx@sigxcpu.org>
Simplify logic in host open code
The second else clause checks for conn_error != NULL twice and since we
don't use it to determine the return value we can clear it
unconditionally.
* src/vncconnection.c: Simplify logic in vnc_connection_open_host_internal
Clear error when trying next IP address
If connecting to an IP address fails, the GError must be
cleared before trying the next address, otherwise the
error will be overwritten on next failure
* src/vncconnection.c: Clear error when trying next IP addr
2010-09-02 Jonh Wendell <jwendell@gnome.org>
Check if we have an error before reading or writing to the socket
If, in the middle of an operation the widget is destroyed, we
should check the has_error variable otherwise we can try to
read/write from/to an invalid socket.
Fix logic for removing unwanted encodings
2010-08-27 Daniel P. Berrange <berrange@redhat.com>
Fix files list in mingw32 specfile
The files for gtk-vnc and gvnc were inverted in the mingw32
RPM specfile
2010-08-27 Marek Černocký <marek@manet.cz>
Add Czech translation
2010-08-27 Jonh Wendell <jwendell@gnome.org>
Check if we have a valid socket before trying to close it
If we attempt to destroy the widget while VncConnection still
is trying to connect to the host, then priv->sock is not valid yet.
2010-08-22 Shushi Kurose <md81bird@hitaki.net>
Updated Japanese translation.
2010-08-20 Håkon Enger <hakon.enger@gmail.com>
Support Mac OS VNC authentication
2010-08-20 Daniel P. Berrange <berrange@redhat.com>
Add comment about where each keymap datasource came from
To assist in people identifying/resolving mistakes, add a note
about where each data source from keymaps.csv came from. Most
are from Linux kernel source data tables, a few were manually
matched up (Xwin/OS-X)
* src/keymap-gen.pl: Record data sources for keymaps.csv
Ensure automake maintainer mode is enabled
Add a cairo based framebuffer implementation
In GTK3, GdkImage has been removed completely. The vncimageframebuffer
class cannot thus be used. Replace it with a vnccairoframebuffer
class instead, but keep the old one around in GTK2 builds for ABI
compatability.
* src/vnccairoframebuffer.c, src/vnccairoframebuffer.h,
src/libgtk-vnc_sym.version: Add new framebuffer impl
based on Cairo.
* src/Makefile.am: Disable GdkImage based framebuffer on
GTK3 builds
* src/vncdisplay.c: Always use Cairo based framebuffer
Fix typo in keycode names & improve error message
Fix typo in evdev keycode names left over from debugging. Improve
the error message when finding unknown keycodes
Mandate the use of Cairo for all drawing
Cairo has been used for GTK drawing for a long time and is now
mandatory in GTK3. Drop support for non-Cairo drawing ops since
they're obsolete.
* configure.ac: Check for Cairo
* src/vncdisplay.c: Drop non-cairo drawing
2010-08-15 Daniel P. Berrange <dan@berrange.com>
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
2010-08-04 Lucian Adrian Grijincu <lucian.grijincu@gmail.com>
Updated Romanian translation
2010-08-03 Nils-Christoph Fiedler <ncfiedler@gnome.org>
Added LowGerman translation
Added LowGerman translation
2010-07-20 Daniel P. Berrange <berrange@redhat.com>
Rewrite keymap code to work on more platforms
The current keymap code assumes an Xorg server on Linux with
either evdev or kbd drivers. This adds heuristics to detect
XQuartz (Xorg on OS-X) and XWin (Xorg on Cygwin). Further it
adds support for native GDK on OS-X and Win32.
It is not possible to assume that keycodes < 87 have a 1-1
mapping to RFB (XT) keycodes. Thus the keymap arrays must
have a complete dataset, all special casing is removed.
All master keymaps are defined in a CSV file. THis covers
Linux keycodes, OSX keycodes, AT set1, 2 & 3, XT keycodes,
the XT encoding used by the Linux KBD driver, USB keycodes,
Win32 keycodes, the XT encoding used by Xorg on Cygwin,
the XT encoding used by Xorg on Linux with kbd driver.
Further RFB and final Xorg driver mappings are derived
from these master maps automatically. The keymap-gen.pl
tool can generate lookup tables between all possible
keycode sets as required.
eg To generate a map from native Win32 keycodes to RFB
keycodes
keymap-gen.pl keymaps.csv win32 rfb
* gtk-vnc.spec.in, mingw32-gtk-vnc.spec.in: Require Text::CSV
for generating keymaps
* src/Makefile.am: Generate keymaps dynamically
* src/keymap-gen.pl: Tool to generate keymaps from CSV file
* src/keymaps.csv: Master keymap definitions
* src/vncconnection.c: Improve keypress log message
* src/vncdisplay.c: Convert to guint16 for keymap table
* src/vncdisplaykeymap.c, src/vncdisplaykeymap.h: Use a
new dynamically generated, full keymap.
2010-07-20 Daniel P. Berrange <dan@berrange.com>
Disable extended key events if keymap is unknown
Currently if we cannot determine the GDK keymap, we default to
the XT keymap. This is not a good choice because is causes
definite breakage on several platforms. If the keymap cannot
be determined, it is safer to disable the extended key event
support completely & rely on traditional VNC keysyms.
Also rename the x2pc methods to be gdk2rfb, since that's what
the conversion is actually doing.
Change way encodings are disabled at runtime
The approach for disabling pseudo encodings is fragile because
it relies on ordering in the array. Rewrite to allow removing
arbitrary encodings
Remove all gnulib code
Since the port to use GIO for sockets, there is no requirement
for gnulib. Delete it all
Switch over to use GIO for socket connections / DNS resolution
GIO provides GSocket and GResolver classes that can replace all
current use of POSIX sockets / DNS resolution APIs. This gives
cross platform portability for free, removing the need to use
gnulib for socket portability
* configure.ac: Check for GIO
* src/Makefile.am: Link to GIO
* src/vncconnection.c: Switch to using GSocket & friends
* src/vncdisplay.c: Remove winsock initialization code
2010-07-14 Daniel P. Berrange <dan@berrange.com>
Remove a few uses of stdint in favour of glib int types
Resync RPM specfiles based on latest Fedora devel
Update version to 0.4.1
2010-07-13 Daniel P. Berrange <berrange@redhat.com>
Fix test suite
* Makefile.am: list files in build-aux instead of wildcarding
* vc-list-files: Move to build-aux
* gnulib/lib/Makefile.am: Point to build-aux for vc-list-files
* gtk-vnc.spec.in: Run tests during RPM build
* tools/gvnccapture.c: Remove bogus N_ annotation. Not yet
ready for i18n support.
Use separate soname when building against GTK-3
The GTK-3 library is not ABI compatible with GTK-2. Thus when
GTK-VNC builds against GTK-3 it is not ABI compatible with a
build done against GTK-2. It is thus neccessasry to allow for
parallel install of GTK-2 and GTK-3 builds. This is done by
changing the library name, pkgconfig name and include file
locations
GTK-2:
libgtk-vnc-1.0.so
gtk-vnc-1.0.pc
/usr/include/gtk-vnc-1.0
GTK-3:
libgtk-vnc-2.0.so
gtk-vnc-2.0.pc
/usr/include/gtk-vnc-2.0
NB, when enabling GTK-3, the traditional python bindings will
be disabled. The new GObject Introspection support provide an
alternative python binding for users of GTK-3
* gtk-vnc-1.0.pc.in: Fix to only use GTK-2
* gtk-vnc-2.0.pc.in: New for GTK-3 support
* src/Makefile.am: Different sonames & include dirs when
building against GTK3
* configure.ac: Disable python binding with GTK3
* README: Add note about GTK3
* Makefile.am: Install new pkgconfig file for GTK3
2010-07-11 Daniel P. Berrange <berrange@redhat.com>
Fix ChangeLog generation
Cannot assume changelog generation is run directlyin source
directory
Add gvncviewer.js to EXTRA_DIST
Remove GNOME compile warnings checks
Remove GNOME compile warnings checks, since GTK-VNC already has
custom checks that are far more aggressive in enabling compile
warnings. C++ compiler warnings are not required
Update metadata files ready for new release
Updated AUTHORS, MAINTAINERS, NEWS, README for new release.
Autogenerate ChangeLog from GIT logs
Fix mingw32 RPM specfile
Add the gvnccapture program to the mingw32 RPM spec
Fix DLL linking on mingw32
libtool does not like -Wl,--no-undefined, even though the compiler
and linker are happy enough. Revert to using -no-undefined on
mingw32 platforms. Also use the correct style of linker script
for exporting symbols on mingw32
Add missing deps for gobject introspection
Add RPM specfile BRs for gobject introspection support
2010-07-11 Daniel P. Berrange <dan@berrange.com>
Replace getline with fgets for win32 portability
The getline function is gnu specific. Replace with use of fgets
for portability to win32
Make use of termios.h conditional, to fix win32 builds
Win32 does not have termios support to disable terminal echo.
Disable that code until a better solution can be found.
Drop autoconf version back to 2.63
Fedora 12 only has autoconf 2.63. Drop back minimum version to
allow this usage
2010-07-05 Daniel P. Berrange <dan@berrange.com>
Fix dead framebuffer refresh after psuedo encodings
Users of VncConnection are responsible for requesting framebuffer
updates after every framebuffer update, resize of pixel encoding
change. Other pseudo encodings are not visible to users of the
VncConnection class, so a framebuffer update request must be
re-requested if one of these psuedo encodings arrives
Fix parallel build with introspection data
THe GVnc introspection data must be built before GtkVnc data.
Add a gvnccapture command line tool
Add a command line tool for capturing a screenshot of a VNC
desktop
Change vnc_connection_framebuffer_update_request to use boolean
Use a boolean for the incremental parameter in the
vnc_connection_framebuffer_update_request API
When using 32bpp, depth 24 fill alpha byte.
When constructing a GdkPixbuf from the framebuffer pixel array,
it will expect the alpha bits to be initialized to a sensible
value. Since we don't care about alpha, make sure 32bpp, depth 24
format sets alpha to 0xff (full opaque).
Fix emitting of unsupported auth signal
The vnc_connection_set_auth_type method is invoked from the system
coroutine, so it must directly emit the signal, not use the delayed
signal emitter
Change vnc_connection_key_event to use a boolean
Use a boolean for the down flag in the vnc_connection_key_event#
API.
Add padding to GObject classes
To allow the class structs to be expanded later without breaking
ABI it is neccessary to include padding in the structs. If extra
fields are later added, an equivalent amount padding must be
remnoved
2010-06-30 Jonh Wendell <jwendell@gnome.org>
Allows linking with gtk+2.0 and gtk+3.0
This adds a new configure parameter: --with-gtk=2.0|3.0 (default: 2.0)
Prepare for gtk+ >= 2.22
This uses accessors instead of accessing struct members
2010-06-29 Jonh Wendell <jwendell@gnome.org>
Fixed GOBJECT flags
2010-06-26 Gil Forcada <gforcada@gnome.org>
Added Catalan translation
2010-06-22 Jonh Wendell <jwendell@gnome.org>
Only handle motion events when initialized.
Closes #622429.
2010-06-17 Michal Novotny <minovotn@redhat.com>
Add APIs for configurable key grab sequences
Allow the key grab sequence to be configured by applications.
The grab sequence is represented by a new boxed data object
VncGrabSequence
This can be created from an array of keysyms
guint keys[] = { GDK_Control_L, GDK_Alt_L };
guint len = sizeof(keys)/sizeof(keys[0]);
vnc_grab_sequence_new(len, keys);
Or from a string format
vnc_grab_sequence_new_from_string("Control_L+Alt_L");
The gvncviewer.c example program shows a user interface for
configuring key sequences. The gvncviewer.py example program
demonstrates access from the python binding.
This patch is heavily based on the original proposal from
Michal Novotny
2010-06-17 Daniel P. Berrange <dan@berrange.com>
Add support for colourmap based pixel formats
The current code will force the server to use the native
client's pixel format if it ever sees a pixel format
with true_color_flag==0 (ie colourmap). This is bad because
the client native pixel format is almost always 32bpp while
the main reason for using a colourmap is to get bandwidth
friendly 8bpp format. This makes GTK-VNC look bad in any
performance comparisons.
This patch implements full support for rendering from
colourmaps. It introduces a boxed data type to store the
colour map entries and wires this upto the framebuffer
interface.
For rendering, the BLT functions for the VncBaseFramebuffer
are enhanced to cope with colourmaps. Since colour maps
provide 16bit r,g,b triples, the BLT code is enhanced to
cope with 64-bit bpp pixels. This is technically required
even for non-colourmap entries since the VNC pixel format
protocol message allows for 16 bit r,g,b masks which
results in a 64-bit true colour pixel.
* src/vnccolormap.h, src/vnccolormap.c, src/Makefile.am: Add
a VncColorMap boxed data type to hold the colour map entries.
* src/vncframebuffer.h, src/vncframebuffer.c: Add an API to
the VncFrameBuffer interface to allow the colour map to be
updated.
* src/vncconnection.h, src/vncconnection.c: Remove last case
of vnc_ops and replace with new VncColorMap object
* src/vncdisplay.c: Don't override the default server pixel
format, allow use of colour maps
* src/vncbaseframebuffer.c, src/vncbaseframebufferblt.h: Add
support for rendering pixels using a colourmap
Fix off by 1 in initial protocol greeting
The client -> server greeting must be 12 bytes long, ending in a
newline character. An off-by-1 in snprintf resulted in the 12th
byte being a NULL instead. This caused wireshark to not detect
the stream as VNC
Fix the vnc_connection_set_encodings method write
The vnc_connection_set_encodings method is a public API which is
called from the system coroutine. Thus is must use the buffered
write routines.
Fix crash in server cut text
GString needs to be freed with g_string_free rather than g_free.
Fix the signature of the cut text callback
2010-06-11 Jonh Wendell <jwendell@gnome.org>
Build with GSEAL. Closes #612727.
Now we require gtk+ 2.18.
git-ignore build-aux dir
Modernize autotools. Bug #621312.
2010-06-08 Daniel P. Berrange <berrange@redhat.com>
Try next DNS addr after all connect failures
There are many more ways an IPv6 connection can fail than just
CONNREFUSED and HOSTUNREACH. For example ETIMEDOUT, NETUNREACH
and more. Try the next DNS addr after all connect() failures,
no matter what the errno code, to ensure we always fallback
to IPv4 eventually.
* src/vncconnection.c: Retry connection after all errors
2010-04-25 Takeshi AIHANA <takeshi.aihana@gmail.com>
Add Japanese translation
2010-04-23 Matej Urbančič <mateju@svn.gnome.org>
Updated Slovenian translation
2010-04-05 Kris Thomsen <lakristho@gmail.com>
Updated Danish translation
2010-04-05 Kenneth Nielsen <k.nielsen81@gmail.com>
Added da to list of languages
2010-03-22 Halton Huo <halton.huo@sun.com>
Conditional use JRI stuff in npupp.h
Since 3.6, firefox does not ship jri.h, so remove it from npupp.h
as GTK-VNC does not need it
Add -lgpg-error to linker flags
The gcrypt.h file has several inline functions which cause code
using gcrypt to have a direct link time dependancy on gpg-error,
if the compiler decides to inline. Thus we need to add -lgpg-error
to the linker flags to cope with potential inlining
* configure.ac: Add -lgpg-error to GNUTLS_LIBS
2010-03-22 Daniel P. Berrange <berrange@redhat.com>
Use --no-undefined instead of -no-undefined
Solaris can't cope with -no-undefined, and even Linux prefers the
--no-undefined style.
2010-03-21 Daniel P. Berrange <berrange@redhat.com>
Turn on debug in javascript example program
* src/Makefile.am: Include vncutil.h/.c in introspection processing
* examples/gvncviewer.js: Enable debugging
Fix include files / libs in new RPM split
The gvnc-devel package mistakenly included the gtk-vnc include
directory. The gtk-vnc package mistakenly included the gvnc.so
library
Support GObject introspection & add javascript demo program
Add Makefile.am rules to generate a typelib with introspection
data. Add a javascript demo program to show how trivial it is.
Turn VncPixelFormat into a boxed type
To allow introspection to work with VncPixelFormat properties,
this struct needs to be a boxed type
Split up library into libgvnc.so (GObject) bits and libgtk-vnc.so (GTK widget)
The libgvnc.so library comprises the classes
VncConnection
VncPixelFormat
VncFramebuffer
VncBaseFramebuffer
VncCursor
VncConnection
This only depends on glib, gobject and gdk-pixbuf
The libgtk-vnc.so library comprises the classes
VncDisplay
VncImageFramebuffer
Adding a dependancy on GTK
Update copyright headers after last round of object refactoring
In the major 20-patch series of object refactoring, the copyright
headers were mistakenly not updated. Add extra copyright header to
reflect the work done
Introduce a function for setting debug flag in prep for library split
The base APIs will soon be split into a separate libgvnc.so library.
Since libgtk-vnc.so exposes the --gtk-vnc-debug flag, this needs to
be implemented using an API in the libgvnc.so library, rather than
just a static boolean flag in vncdisplay.c
The GVNC_DEBUG macros is also renamed to VNC_DEBUG
* vncutil.c, vncutil.h: New file for vnc_util_set_debug(gboolean)
* utils.h: Remove old debug flag
* dh.c, vncbaseframebuffer.c, vncconnection.c, vncdisplay.c,
vncdisplaykeymap.c, vncimageframebuffer.c: s/GVNC_DEBUG/VNC_DEBUG/
* Makefile.am: Add vncutil.h/.c files
2010-03-20 Daniel P. Berrange <berrange@redhat.com>
Avoid crash if framebuffer is not set & silence warning
* src/vncdisplay.c: Avoid possible crash if framebuffer isn't set
* src/vncconnection.c: Avoid warning when sasl is not enabled
Move all coroutine stuff into VncConnection
The VncDisplay class currently runs the main coroutine for the
VncConnection. This means some VncConnection APIs need to be
invoked from the VNC coroutine context, while others need to be
invoked from the main system context. This will make the
VncConnection class very hard to use from non-C languages like
Python/Perl/Java/etc.
Move all the coroutine code into the VncConnection class. All
its APIs are now to be invoked from system context. This means
it can now easily be used from any language
Move X keycode -> PC scancode conversion into VncDisplay
The VncConnection class should not depend on anything from GDK.
The X keycode to PC scancode conversion uses GDK. Therefore it
had to be moved into the VncDisplay class
Rename enums from GVNC_ to VNC_CONNECTION_
Rename the symbols for the VncConnectionEncoding, VncConnectionAuth
and VncConnectionAuthVencrypt enums to use a prefix of
VNC_CONNECTION_ instead of GVNC_
Remove jpeg_render function and use gdk-pixbuf directly
Replace 'auth_type' and 'auth_subtype' operations with signals
Remove the 'auth_type' and 'auth_subtype' operation callbacks.
Introduce new 'vnc-auth-choose-type' and 'vnc-auth-choose-subtype'
signals
Replace 'auth_cred' operation with a signal
Remove the 'auth_cred' operation in VncConnection. Introduce a
new 'vnc-auth-credential' signal
Remove 'get_preferred_pixel_format' operation
Remove the 'get_preferred_pixel_format' operation callback, and
instead directly set the pixel format (if desired) during the
initialization phase of the coroutine
Replace 'auth_failure' and 'auth_unsupported' operations with signals
Remove the 'auth_failure' and 'auth_unsupported' operation callbacks
from VncConnection. Introduce new 'vnc-auth-failure' and
'vnc-auth-unsupported' signals.
Replace 'update', 'resize' and 'pixel_format' operation callbacks with signals
Remove the 'update', 'resize' and 'pixel_format' operation callbacks
from VncConnection. Introduce new 'vnc-framebuffer-update',
'vnc-desktop-resize' and 'vnc-pixel-format-changed' signals
Replace 'server_cut_text' operation with a signal
Remove the 'server_cut_text' operation from VncConnection.
Introduce a signal 'vnc-server-cut-text' for VncConnection and
pass in the text
Replace 'bell' operation with a signal
Remove the 'bell' operation callback from VncConnection.
Introduce a signal 'vnc-bell' for VncConnection.
Replace 'pointer_type_changed' operation with a signal
Remove the 'pointer_type_changed' operation callback from VncConnection.
Introduce a signal 'vnc-pointer-mode-changed' and pass it the pointer
state as a gboolean
Replace 'local_cursor' operation callback with a signal
Remove the 'local_cursor' operation callback from VncConnection.
Introduce a signal 'vnc-cursor-changed' and pass it as a
VncCursor object
Introduce a VncCursor object
Introduce a VncCursor object to represent a client side rendered
pointer
Tidy up header files to have consistent coding style
Convert VncConnection into a proper GObject type
Generate enum types for VncConnection enums
Convert VncConnection over to use VncFramebuffer object
Remove the vnc_framebuffer struct, and make VncConnection use the
new VncFramebuffer object.
VncDisplay is changed to use the VncImageFramebuffer object
type as its implementation of VncFramebuffer
Add a framebuffer implementation based on a GdkImage
Subclass the VncBaseFramebuffer class to add an implementation
which uses a GdkImage as its local storage
Add a VncFrameBuffer interface and basic implementation
Define the interface for a framebuffer and rendering into it
between local & remote pixel formats.
Provide a basic implementation of the interface using simple
blt functions for a local memory region
Pull pixel format struct out into a separate file with typedef
Turn struct vnc_pixel_format into VncPixelFormat type
Rename gvnc module to prepare for turning into public GObjects
struct gvnc -> VncConnection
gvnc_ops -> vnc_connection_ops (to be later removed)
gvnc_framebuffer -> vnc_framebuffer (to be later replaced)
gvnc_pixel_format -> vnc_pixel_format (to be later replaced)
gvnc_dh -> vnc_dh
Rename gvnc.[h,c] -> vncconnection.[h,c]
Add some installation caveats to README
Add note about NetBSD swapcontext() problems & Mingw SASL limitation
Fix compile warnings
Fix the compile warnings / initialization order bug from
commit 0a6bae9c19e9f86dda5433d8260d5f29e7ef4ed1
* src/vncdisplay.c: Fix variable init order & mark function static
2010-03-20 Andre Klapper <a9016009@gmx.de>
Remove use of 'widget->window' in favour of gtk_widget_get_window()
When building using -DGSEAL_ENABLE, the 'widget->window' field is
not available. Instead the gtk_widget_get_window() method must be
used
* configure.ac: Bump dep on GTK to 2.14
* src/vncdisplay.c: Switch to gtk_widget_get_window()
2010-03-20 Emilio Pozuelo Monfort <pochu27@gmail.com>
Remove use of PATH_MAX in favour of dynamic buffers
GNU/Hurd does not define the PATH_MAX constant. Replace use of
PATH_MAX with dynamic buffers instead.
* src/vncdisplay.c: Remove use of PATH_MAX
2010-03-20 Michal Suchanek <hramrach@centrum.cz>
Improve error message in gvncviewer when connection fails
The 'vnc-disconnected' signal is emitted both when a connection
closes, and when a connection fails to initialize at all. The
gvncviewer demo was not taking account of this, so providing a
misleading diagnostic message
* examples/gvncviewer.c: Distinguish errors conditions in
disconnect signal
2010-03-20 Halton Huo <halton.huo@sun.com>
Remove check for NSPR in configure.ac
The firefox/mozilla-plugin pkgconfig files already have a dependancy
on the nspr package. Thus there is no need for an explicit NSPR check
in gtk-vnc.
* configure.ac: Remove redundant check for NSPR
2010-03-20 Daniel P. Berrange <berrange@redhat.com>
Add plugin to .gitignore files
2010-03-20 Halton Huo <halton.huo@sun.com>
Pull in npapi.h & npupp.h from FF3 source to fix plugin build
Latest versions of firefox do not provide the npapi.h/npupp.h
files that the plugin requires to build. Copy those files from
the FF3 source tree into plugin to provide compatability.
* plugin/npapi.h, plugin/npupp.h: Pull in from FF3 source tree
2010-03-20 Guido Günther <agx@sigxcpu.org>
Add -Wl since --no-undefined is a linker option
The --no-undefined option was not being processed correctly, since
it needs a -Wl prefix to be passed through to the linker
* src/Makefile.am: Add -Wl to --no-undefined arg
Explicitly link against X11 libs for XkbGetKeyboard
When building with --no-undefined and modern linkers, X11 won't
be found implicitly. Therefore it is neccessary to link directly
to X11
* configure.ac: Use pkgconfig to check for X11 libs
* src/Makefile.am: Link against X11
Fix symbol versioning script application
* src/Makefile.am: Drop space after -Wl, in libgtk_vnc_1_0_la_LDFLAGS
to ensure linker script is applied
Add missing symbols
* src/libgtk-vnc_sym.version: Add missing symbols from 0.3.8
and 0.3.9 releases
2010-03-18 Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Make sure the local pointer setting is respected on enter events
Patch from
https://bugzilla.gnome.org/show_bug.cgi?id=577580
2010-03-18 Leonid Kanter <leon@asplinux.ru>
Added Russian translation
2010-02-27 Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>
Added Traditional Chinese translation(Hong Kong and Taiwan)
2010-01-24 A S Alam <aalam@users.sf.net>
Adding Punjabi (pa) Translation by A S Alam (aman)
2009-12-17 Daniel P. Berrange <berrange@redhat.com>
Initialize gcrypt threading callbacks
If GTK has threading enabled, we must be sure to enable gcrypt
threading callbacks too for safety
2009-12-13 Daniel P. Berrange <berrange@redhat.com>
Remove use of stdint in favour of GLib fixed size types
GLib provides guint8, gint8, guint16, gint16, guint32, gint32
data types. Use these instead of stdint.h, so we better follow
standard GLibc practice.
2009-11-18 Lyper Lai <lyp069@gmail.com>
Add Simplified Chinese translation.
2009-10-29 Jonh Wendell <jwendell@gnome.org>
Only memcpy() if source and destination are different
Drop the useless global variable signalCredParam
2009-10-28 Jonh Wendell <jwendell@gnome.org>
Fix a memory leak by freeing a buffer variable
Fix a memory leak by freeing the remote cursor
Fix a memory leak by freeing a GdkGC private variable
Fix a memory leak by freeing the result of gdk_pixbuf_format_get_name()
Fix a memory leak by freeing the private null cursor
Fix a memory leak by freeing host and port private variables
2009-10-21 Jonh Wendell <jwendell@gnome.org>
Fix plugin build. Closes #599146.
2009-10-21 Matej Urbančič <mateju@svn.gnome.org>
Added sl for Slovenian language
Updated Slovenian translation
2009-10-21 Jonh Wendell <jwendell@gnome.org>
Avoid a GCC warning
2009-10-20 Jonh Wendell <jwendell@gnome.org>
0.3.10 release
2009-10-17 Simos Xenitellis <simos@gnome.org>
Added el to po/LINGUAS
2009-10-17 Pavlos Tournaris <p.tournaris@gmail.com>
Added Greek translation
2009-10-15 Jonh Wendell <jwendell@gnome.org>
Added the ability to request an update.
vnc_display_request_update() is the new symbol.
2009-10-06 Jonh Wendell <jwendell@gnome.org>
Request a full screen refresh when receives a desktop-resize encoding.
Closes #585571.
2009-09-30 Jonh Wendell <jwendell@gnome.org>
Added depth color tunning into VncDisplay.
Provide a set_depth() in VncDisplay which tunes that setting.
In gvnc_initialize we always call get_preferred_pixel_format() which
makes use of that tunning.
2009-09-19 Gabor Kelemen <kelemeng@gnome.hu>
Added hu to LINGUAS
Added Hungarian translation
2009-09-18 Luca Ferretti <elle.uca@libero.it>
Added it to LINGUAS
Added Italian translation
2009-09-17 Jonh Wendell <jwendell@gnome.org>
Deleted .hgignore
Updated Makefile rules for .gitignore
Updated README
Use glib-mkenums to automatically create GTypes from C enums.
2009-09-13 Philip Withnall <philip@tecnocode.co.uk>
Added British English translation
2009-09-09 Piotr Drąg <piotrdrag@gmail.com>
Updated Polish translation
2009-09-07 António Lima <amrlima@gmail.com>
Updated Portuguese translation
2009-09-06 António Lima <amrlima@gmail.com>
Updated Portuguese translation
2009-09-04 Claude Paroz <claude@2xlibre.net>
Added French translation
2009-08-30 Jorge González <jorgegonz@svn.gnome.org>
Added es to LINGUAS
Added Spanish translation
2009-08-28 Inaki Larranaga <dooteo@zundan.com>
Added Basque translation
2009-08-28 Daniel P. Berrange <berrange@redhat.com>
Disable build-aux since its broken on older libtool/intltool
* configure.ac: Disable use of build-aux rule
2009-08-25 Daniel P. Berrange <berrange@redhat.com>
Include po files in RPM builds
* gtk-vnc.spec.in, mingw32-gtk-vnc.spec.in: Use %lang related macros
to pull in po files to RPM
Re-write configure rules to avoid many warnings
* acinclude.m4: Add helper function for checking a huge list of
compile flags. Also test ability to link with the flag, not just
to compile.
* configure.ac: gl_EARLY must come before every rule that isnt
just autoconf/make metadata initialization. Call out to the
generic compile flag macro. Turn off automake's GNU-make-ism
warnings.
* autobuild.sh: Change way compile warnings are turned on
* src/Makefile.am: Enable compile warning flags on python build
Add separate m4 dir to avoid intltool/libtool splattering over gnulib
If no generic -I m4 directory is listed, libtool & intltool will
splatter their files all over those belonging to gnulib. This gives
wierd, unpredictable build errors depending on whose file was copied
over most recently.
* Makefile.am: Add -I m4 flag
Invoke intltoolize in autogen.sh
* autogen.sh: Run intltoolize
Don't do arithmetic on void *, to avoid compile warnings
* src/gvnc.c: Cast to char * before doing arithmetic
2009-08-25 Michal Suchanek <hramrach@centrum.cz>
Set a default hostname in viewer demo program
* examples/gvncviewer.c: Set a default hostname of 127.0.0.1
if only a port number is given
2009-08-25 John Haxby <john.haxby@oracle.com>
Drop the connection if some credentials cannot be set
* examples/gvncviewer.py: Close VNC connection if setting a credential
fails
Make the authorization dialog more friendly
* examples/gvncviewer.py: Hide the password as the user types
it in and allow authentication to complete when you hit Enter.
2009-08-23 Mario Blättermann <mariobl@gnome.org>
Added German translation
2009-08-20 Halton Huo <halton.huo@sun.com>
Checking SASL for -lsasl2 or -lsasl. Closes #591521.
2009-08-20 Daniel Nylander <po@danielnylander.se>
Updated Swedish translation
2009-08-19 Fran Diéguez <fran.dieguez@glug.es>
Added Galician Translation
2009-08-19 Henrique P. Machado <zehrique@gmail.com>
Updated Brazilian Portuguese translation.
2009-08-17 Jonh Wendell <jwendell@gnome.org>
Added DOAP file
Added basic Brazilian Portuguese translation
Added i18n initial support.
Use git.mk from Behdad Esfahbod. It generates .gitignore automatically.
Include vncmarshal.h in vncmarshal.c generation.
This fix a gcc warning.
2009-08-11 Jonh Wendell <jwendell@gnome.org>
Disable cvs tests
Output SASL configure options in configure.ac
2009-08-10 Daniel P. Berrange <berrange@redhat.com>
Update for 0.3.9 release
* NEWS: Add details new features/bugs fixed in 0.3.9
* configure.ac: Update version to 0.3.9
Add rest of C-A-Fn menu options to example
* examples/gvncviewer.c: Add menu shortcut for Ctrl-Alt-F2->8
2009-08-10 Jonh Wendell <jwendell@gnome.org>
Added vnc_display_get_option_entries() symbol in VncDisplay.
It returns a GOptionEntry *. It's up to apps to integrate those
options, returned by gtk-vnc into their own groups. This makes
things flexible.
2009-07-25 Jonh Wendell <jwendell@gnome.org>
Don't send keys if we are in read only mode
2009-07-06 Daniel P. Berrange <berrange@redhat.com>
Annotate unusued params with G_GNUC_UNUSED to avoid warnings
Remove trailing whitespace from all files
Remove useless if() before free()
Re-fix Shift+Tab keyval translation from 1e121b4084788399c4d71d60b513997661e3116e, accidentally reverted in 4f4103fbc7021a3ae8e9c43e1f561cd8f65481aa
Remove bogus trailing newlines from all GVNC_DEBUG calls
2009-06-15 Daniel P. Berrange <berrange@redhat.com>
Add explicit link to libgcrypt for MS Logon extension, to avoid link problem on Win32
2009-06-15 Bruce Cowan <bcowan@fastmail.co.uk>
Remove deprecated GTK+ symbols
2009-06-15 Daniel P. Berrange <berrange@redhat.com>
Disable SASL when building on mingw32
Added 2 missing #if HAVE_SASL conditionals
2009-06-10 Daniel P. Berrange <berrange@redhat.com>
Add support for SASL authentication type
Fix inverted logic for releasing pointer grab when switching to absolute mouse mode
Process all enter/leave events to ensure we release key grab after a mouse ungrab in relative mode
2009-04-17 Jonh Wendell <jwendell@gnome.org>
Added support for UltraVNC MS-Logon auth type
2009-03-17 Jonh Wendell <jwendell@gnome.org>
Added MAINTAINERS file
Do not send clipboard messages when in View Only state
2009-02-26 Daniel P. Berrange <berrange@redhat.com>
Change pointer grab to allow movement across entire desktop and fix warping of pointer at desktop edges, to make relative mouse mode work correctly. Document what's going on with more comments.
2009-02-20 Jonh Wendell <jwendell@gnome.org>
Ignore some files