DRC [Wed, 25 Feb 2015 20:18:07 +0000 (14:18 -0600)]
encperf: Optionally disable pixel translation
For 16-bit and 8-bit datasets, you can now run encperf with an argument of
-translate=0 to benchmark just the encoder without converting the datasets to
24-bit. This allows the output of encperf to be directly compared with that
of the TurboVNC Benchmark Tools.
DRC [Wed, 25 Feb 2015 20:08:34 +0000 (14:08 -0600)]
encperf: change % to %% in printf format
GCC lets this slide, but other compilers (clang) complain about using % rather
than %% to print a literal % character.
DRC [Sat, 21 Feb 2015 17:44:26 +0000 (11:44 -0600)]
encperf: report encoded & raw-equivalent bytes
Report encoded and raw-equivalent bytes as well as compression ratio (I like
to have these statistics so I can compute overall compression ratios for
groups of datasets in a spreadsheet.)
Tim Waugh [Wed, 25 Feb 2015 12:25:33 +0000 (12:25 +0000)]
Check for out-of-memory when installing color map.
Also remove Xalloc/Xfree definitions, using malloc/free directly
instead. Note that vfbAllocateFramebufferMemory() does not need to
check for failed allocations as it is the caller's responsibility to
do so (and they do).
In earlier Visual Studio and MinGW editions, BSD socket errno:s were
left undefined. This is no longer the case. This may cause build or
runtime errors. To avoid this, we are using a common header file which
corrects all definitions. This header will also be used with other
projects such as sercd, unfs3, PulseAudio etc.
Brian P. Hinz [Thu, 5 Feb 2015 02:28:18 +0000 (21:28 -0500)]
Fixes for build issues caused by recent restructuring
* Add typedef for XF86OptionPtr for Xorg < 112
* Include stddef.h to prevent missing size_t definition errors
* Workaround for libtool convenience library issue
Pierre Ossman [Thu, 29 Jan 2015 09:20:18 +0000 (10:20 +0100)]
Avoid complaints about unused variable in argument less requests
The REQUEST macro is used to access variables in the request data,
and if we don't then the compiler complains that the macro sets up
variables that we never use.
Brian P. Hinz [Mon, 19 Jan 2015 18:12:12 +0000 (13:12 -0500)]
Improved font path specifiecation for el5 & generic binaries.
Font paths were incompletely specified, resulting in font issues with some applications (nedit, for instance). Also, added support for font catalogues back in, even though el5 doesn't supoort it, this should make font handling more robust for the genric binaries.
Brian P. Hinz [Fri, 2 Jan 2015 14:17:04 +0000 (09:17 -0500)]
Fixes for various build issues with el5 build
Fixed various static linking problems with latest el5 spec.
Some definitions were being overridden in StaticBuild.cmake,
causing checks for various fltk capabilities to fail. Also,
fontconfig was not being configured properly for default font
locations, causing the vncviewer to fail to locate fonts when
used as a generic binary.
Brian P. Hinz [Fri, 26 Dec 2014 04:51:36 +0000 (23:51 -0500)]
Major update of EL5 build
The patches required for the 2014-12-09 Xorg CVE advisory would not
have been feasible to back-port to the 1.7 version of Xorg that we
were previously using to built against for EL5 and the generic
binaries. However, building the newer version of Xorg required
some fairly extensive re-tooling. In a nutshell, here's what was
done:
* The build is now done against Xorg X117R7, with all CVE patches
(taken from debian sources) applied. Note that this requires
updating various packages beyond the versions readily available
for EL5. This included things like automake, autoconf, libtool,
m4, and flex. Wherever possible, the EL6 rpm was used unaltered.
The most chalenging package to upgrade was libxml2, which was
necessary to supply the python26-libxml2 requirement from mesa.
* Mesa libGL is now supplied with the package, installed in the
%{_libdir}/tigervnc directory. The Xvnc binary is linked using
an rpath so that we always link against our version of libGL.
This was done to prevent linker errors with the generic binaries
in the case where the distro supplied libGL is built with
different options (in particular, kernel versions < 2.4.20 do
not support glx-tls, so the generic binaries would likely break
whenever used on newer distros that build libGL with glx-tls
turned on by default). Additionally, this allows swrast_dri.so
to be bundled without worrying about overwriting the distro
supplied library.
* A static libsha1 is built for Xorg to link against. The EL5
version of libgcrypt does not satisfy Xorg's requirements,
and linking against OpenSSL creates nearly a dozen runtime
dependencies.
Pierre Ossman [Mon, 26 Jan 2015 13:37:04 +0000 (14:37 +0100)]
Restructure Xvnc/libvnc.so code to avoid C++ header hacks
The internal Xorg headers are very incompatible with C++ and we've had
to resort to all kinds of hacks in order to include them in our C++
code. This approach isn't really viable long term so restructure things
so that we have a glue layer written in C that bridges the Xorg core
with the RFB classes.
Brian P. Hinz [Fri, 26 Dec 2014 05:53:33 +0000 (00:53 -0500)]
Remove support for openSUSE 11.4
Project Evergreen stopped supporting 11.4 in October and it's not feasible to
back-port the patches for the Xorg 2014-12-09 CVEs, so as a result we can no
longer provide pre-built packages for this distribution. The genric binaries
can be used instead.
Pierre Ossman [Tue, 2 Dec 2014 14:13:22 +0000 (15:13 +0100)]
Make sure attributes propagate through security wrappers
Both SSecurityVeNCrypt and SSecurityStack are wrappers around other
security objects, so they need to delegate the properties of those
sub-objects properly.
Pierre Ossman [Tue, 2 Dec 2014 13:33:17 +0000 (14:33 +0100)]
Limit access to non-shared mode
A read-only client should not be allowed to kick out other clients.
It will be forced into shared mode, or refused the connection, depending
on the neverShared parameter.
Brian P. Hinz [Sat, 22 Nov 2014 01:11:14 +0000 (20:11 -0500)]
SPEC file cleanup
* Removed the hard coded snap tag, if needed it should be passed in
via "rpmbuild --define 'snap ...'".
* Changed the hard coded version to "@VERSION@" to make it clear
that the copy of the spec file in the repository needs to be
updated manually.