Sync from SUSE:SLFO:Main tigervnc revision b69884f766253a856573cb2eff7e3963

This commit is contained in:
Adrian Schröter 2024-11-28 17:50:05 +01:00
parent b2a9114658
commit f7dfed1e9f
13 changed files with 249 additions and 136 deletions

View File

@ -64,8 +64,8 @@ Index: tigervnc-1.13.1/vncviewer/vncviewer.cxx
- "Built on: %s\n"
"Copyright (C) 1999-%d TigerVNC Team and many others (see README.rst)\n"
"See https://www.tigervnc.org for information on TigerVNC."),
- PACKAGE_VERSION, BUILD_TIMESTAMP, 2022);
+ PACKAGE_VERSION, 2022);
- PACKAGE_VERSION, BUILD_TIMESTAMP, 2024);
+ PACKAGE_VERSION, 2024);
return buffer;
}
@ -73,9 +73,9 @@ Index: tigervnc-1.13.1/java/CMakeLists.txt
===================================================================
--- tigervnc-1.13.1.orig/java/CMakeLists.txt
+++ tigervnc-1.13.1/java/CMakeLists.txt
@@ -22,12 +22,6 @@ set(JAVA_STOREPASS NOTFOUND CACHE STRING
set(JAVA_KEYPASS NOTFOUND CACHE STRING "Password used to protect the private key of the specified keystore entry")
@@ -25,12 +25,6 @@ set(JAVA_PKCS11_PROVIDER_ARG NOTFOUND CACHE STRING "Path to the PKCS11 security
set(JAVA_TSA_URL NOTFOUND CACHE STRING "URL of Time Stamping Authority (TSA)")
set(JAVA_CERT_CHAIN NOTFOUND CACHE STRING "Path to CA certificate chain file")
-if(NOT BUILD)
- STRING(TIMESTAMP BUILD "%Y%m%d" UTC)

View File

@ -7,11 +7,11 @@ The signing was necessary for accessing the system clipboard
when the Java client runs as an applet.
(This shouldn't harm due to the deprecation of Java applets
was done in version 9).
Index: java/CMakeLists.txt
Index: tigervnc-1.13.1/java/CMakeLists.txt
===================================================================
--- java/CMakeLists.txt.orig
+++ java/CMakeLists.txt
@@ -154,15 +154,6 @@ add_custom_command(OUTPUT VncViewer.jar
--- tigervnc-1.13.1.orig/java/CMakeLists.txt
+++ tigervnc-1.13.1/java/CMakeLists.txt
@@ -163,18 +163,6 @@ add_custom_command(OUTPUT VncViewer.jar
com/jcraft/jsch/jce/*.class
com/jcraft/jsch/*.class
com/tigervnc/vncviewer/*.png
@ -21,9 +21,12 @@ Index: java/CMakeLists.txt
- -DJAVA_KEYSTORE=${JAVA_KEYSTORE}
- -DJAVA_KEYSTORE_TYPE=${JAVA_KEYSTORE_TYPE}
- -DJAVA_STOREPASS=${JAVA_STOREPASS}
- -DJAVA_PKCS11_PROVIDER_CLASS=${JAVA_PKCS11_PROVIDER_CLASS}
- -DJAVA_PKCS11_PROVIDER_ARG=${JAVA_PKCS11_PROVIDER_ARG}
- -DJAVA_KEYPASS=${JAVA_KEYPASS}
- -DJAVA_KEY_ALIAS=${JAVA_KEY_ALIAS}
- -DJAVA_TSA_URL=${JAVA_TSA_URL}
- -DJAVA_CERT_CHAIN=${JAVA_CERT_CHAIN}
- -P ${SRCDIR}/cmake/SignJar.cmake)
+ com/tigervnc/vncviewer/tigervnc.ico)

View File

@ -1,7 +1,7 @@
Index: unix/vncserver/vncserver.in
Index: tigervnc-1.13.1/unix/vncserver/vncserver.in
===================================================================
--- unix/vncserver/vncserver.in.orig
+++ unix/vncserver/vncserver.in
--- tigervnc-1.13.1.orig/unix/vncserver/vncserver.in
+++ tigervnc-1.13.1/unix/vncserver/vncserver.in
@@ -1,4 +1,4 @@
-#!/usr/bin/env perl
+#!/usr/bin/perl

View File

@ -0,0 +1,32 @@
diff -urEbwB tigervnc-1.13.1.orig/java/CMakeLists.txt tigervnc-1.13.1/java/CMakeLists.txt
--- tigervnc-1.13.1.orig/java/CMakeLists.txt 2024-09-26 22:41:57.677131737 +0200
+++ tigervnc-1.13.1/java/CMakeLists.txt 2024-09-26 22:46:01.029014276 +0200
@@ -139,6 +139,15 @@
string(REGEX REPLACE "jar" "" Java_PATH ${Java_JAR_EXECUTABLE})
string(REGEX REPLACE ".exe" "" Java_PATH ${Java_PATH})
+if (DEFINED ENV{SOURCE_DATE_EPOCH})
+ execute_process(
+ COMMAND "date" "-u" "-d" "@$ENV{SOURCE_DATE_EPOCH}" "+%Y-%m-%dT%H:%M:%SZ"
+ OUTPUT_VARIABLE COMPILATION_DATE
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+else ()
+ STRING(TIMESTAMP COMPILATION_DATE "+%Y-%m-%dT%H:%M:%SZ")
+endif ()
+
add_custom_command(OUTPUT VncViewer.jar
DEPENDS ${JAVA_CLASSES}
${SRCDIR}/${CLASSPATH}/MANIFEST.MF
@@ -148,8 +157,10 @@
${BINDIR}/${CLASSPATH}/insecure.png
${BINDIR}/${CLASSPATH}/secure.png
COMMAND ${JAVA_ARCHIVE}
- ARGS cfm VncViewer.jar
- ${SRCDIR}/${CLASSPATH}/MANIFEST.MF
+ ARGS --create
+ --date=${COMPILATION_DATE}
+ --file=VncViewer.jar
+ --manifest=${SRCDIR}/${CLASSPATH}/MANIFEST.MF
${CLASSPATH}/timestamp
${CLASSPATH}/*.class
com/tigervnc/rfb/*.class

BIN
tigervnc-1.13.1.tar.gz (Stored with Git LFS)

Binary file not shown.

BIN
tigervnc-1.14.1.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,3 +1,101 @@
-------------------------------------------------------------------
Mon Nov 4 11:25:41 UTC 2024 - Joan Torres <joan.torres@suse.com>
- Update to tigervnc 1.14.1
* Default installation of native viewer can once again handle VncAuth
* Graphic acceleration now can now be disabled through the vncserver config file the same way as other features
* Command vncpasswd can again correctly update passwords
* Native viewer once again consider passwd file that contain more than one password valid
* Native viewer can once again connect to RealVNC servers
* Users of x0vncserver should no longer experience the mouse cursor moving to the upper left corner
* H264 encoding no longer causes crashing
- Removed patches (no longer needed):
* u_tigervnc-Change-button-layout-in-ServerDialog.patch
- Refreshed patches:
* n_tigervnc-Date-time.patch
* n_tigervnc-Dont-sign-java-client.patch
* n_tigervnc-reproducible-jar-mtime.patch
* u_tigervnc-Add-autoaccept-parameter.patch
* u_tigervnc-Build-libXvnc-as-separate-library.patch
* u_tigervnc-Ignore-epipe-on-write.patch
-------------------------------------------------------------------
Mon Nov 4 11:24:45 UTC 2024 - Joan Torres <joan.torres@suse.com>
- Fix path on vncviewer desktop file. Use %use_update_alternative
-------------------------------------------------------------------
Mon Oct 28 08:49:56 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Require /usr/bin/dbus-launch insted of dbus-1-x11: Do not rely on
legacy dbus-1-x11 package, which is going away after moving to
dbus-broker.
-------------------------------------------------------------------
Fri Oct 18 12:10:51 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Do not ship rcFOO symlinks for CODE 16 (PED-266).
- No longer use update alternatives on CODE 16: there are no
alternatives for vncviewer present.
-------------------------------------------------------------------
Thu Sep 26 20:58:00 UTC 2024 - Fridrich Strba <fstrba@suse.com>
- Added patch:
* n_tigervnc-reproducible-jar-mtime.patch
+ Use SOURCE_DATE_EPOCH for reproducible jar mtime
+ Applied if building with Java >= 17
-------------------------------------------------------------------
Tue Sep 24 11:27:02 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- added conflicts to patterns-wsl-tmpfiles as this patterns package
creates a symlink from /tmp/.X11-unix to /mnt/wslg/.X11-unix and
therefore prevents Xvnc from creating this needed directory
(bsc#1230755)
-------------------------------------------------------------------
Mon Feb 26 11:29:31 UTC 2024 - pgajdos@suse.com
- remove dependency on /usr/bin/python3 using
%python3_fix_shebang macro, [bsc#1212476]
-------------------------------------------------------------------
Wed Feb 21 09:15:27 UTC 2024 - Joan Torres <joan.torres@suse.com>
- Set the URL at Source0.
-------------------------------------------------------------------
Tue Feb 20 16:12:44 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- patches have been renamed
* u_build_libXvnc_as_separate_library.patch -->
u_tigervnc-Build-libXvnc-as-separate-library.patch
* n_vncserver.patch -->
n_tigervnc-Vncserver.patch
* n_correct_path_in_desktop_file.patch -->
n_tigervnc-Correct-path-in-desktop-file.patch
* n_tigervnc-date-time.patch -->
n_tigervnc-Date-time.patch
* u_change-button-layout-in-ServerDialog.patch -->
u_tigervnc-Change-button-layout-in-ServerDialog.patch
* n_dont_sign_java_client.patch -->
n_tigervnc-Dont-sign-java-client.patch
* u_tigervnc-add-autoaccept-parameter.patch -->
u_tigervnc-Add-autoaccept-parameter.patch
* u_tigervnc-ignore-epipe-on-write.patch
u_tigervnc-Ignore-epipe-on-write.patch
-------------------------------------------------------------------
Tue Feb 20 10:16:54 UTC 2024 - Joan Torres <joan.torres@suse.com>
- Cleanup specfile
* Use the same format for all the patches.
* Use autosetup to apply all the patches with -p1.
* Clean number of sources.
-------------------------------------------------------------------
Mon Feb 19 12:49:39 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>

View File

@ -25,42 +25,49 @@
%else
%define use_firewalld 0
%endif
%define use_update_alternative 0%{?suse_version} >= 1315 && 0%{?suse_version} < 1600
%define with_rc_service_symlink 0%{?suse_version} && 0%{?suse_version} < 1600
%if 0%{?suse_version} < 1550
%define _pam_vendordir %{_sysconfdir}/pam.d
%endif
Name: tigervnc
Version: 1.13.1
Version: 1.14.1
Release: 0
Summary: An implementation of VNC
License: GPL-2.0-only AND MIT
Group: System/X11/Servers/XF86_4
URL: https://tigervnc.org/
Source1: https://github.com/TigerVNC/tigervnc/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
Source4: 10-libvnc.conf
Source5: vnc-server.susefirewall
Source6: vnc-httpd.susefirewall
Source7: vnc.reg
Source8: vncpasswd.arg
Source9: vnc.pam
Source10: with-vnc-key.sh
Source11: index.vnc
Source12: x11vnc
Source13: xvnc@.service.in
Source14: xvnc.socket
Source16: xvnc-novnc.socket
Source17: tigervnc.firewalld
Source18: tigervnc-https.firewalld
Source19: xvnc.target
Source21: xvnc-novnc.service.in
Source22: vnc.sysusers
Patch1: u_tigervnc-ignore-epipe-on-write.patch
Patch2: u_build_libXvnc_as_separate_library.patch
Patch3: u_tigervnc-add-autoaccept-parameter.patch
Patch4: u_change-button-layout-in-ServerDialog.patch
Patch5: n_tigervnc-date-time.patch
Patch6: n_correct_path_in_desktop_file.patch
Patch7: n_vncserver.patch
Patch8: n_dont_sign_java_client.patch
Source0: https://github.com/TigerVNC/tigervnc/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
Source1: 10-libvnc.conf
Source2: vnc-server.susefirewall
Source3: vnc-httpd.susefirewall
Source4: vnc.reg
Source5: vncpasswd.arg
Source6: vnc.pam
Source7: with-vnc-key.sh
Source8: index.vnc
Source9: x11vnc
Source10: xvnc@.service.in
Source11: xvnc.socket
Source12: xvnc-novnc.socket
Source13: tigervnc.firewalld
Source14: tigervnc-https.firewalld
Source15: xvnc.target
Source16: xvnc-novnc.service.in
Source17: vnc.sysusers
Patch1: u_tigervnc-Ignore-epipe-on-write.patch
Patch2: u_tigervnc-Build-libXvnc-as-separate-library.patch
Patch3: u_tigervnc-Add-autoaccept-parameter.patch
Patch4: n_tigervnc-Date-time.patch
%if %use_update_alternative
Patch5: n_tigervnc-Correct-path-in-desktop-file.patch
%endif
Patch6: n_tigervnc-Vncserver.patch
Patch7: n_tigervnc-Dont-sign-java-client.patch
# The "--date" option was added into jar in OpenJDK 17
%if %{?pkg_vcmp:%pkg_vcmp java-devel >= 17}%{!?pkg_vcmp:0}
Patch8: n_tigervnc-reproducible-jar-mtime.patch
%endif
Provides: tightvnc = 1.5.0
Obsoletes: tightvnc < 1.5.0
Provides: vnc
@ -130,9 +137,9 @@ BuildRequires: pkgconfig(xorg-macros) >= 1.14
BuildRequires: pkgconfig(xproto) >= 7.0.17
BuildRequires: pkgconfig(xtrans) >= 1.2.2
BuildRequires: pkgconfig(zlib)
%if 0%{?suse_version} >= 1315
%if %use_update_alternative
Requires(post): update-alternatives
Requires(postun):update-alternatives
Requires(postun): update-alternatives
%endif
%description
@ -154,7 +161,7 @@ BuildRequires: firewall-macros
%endif
# Needed to generate certificates
Requires: windowmanager
Requires: dbus-1-x11
Requires: /usr/bin/dbus-launch
Requires: xauth
Requires: xinit
Requires: xkbcomp
@ -170,6 +177,7 @@ Recommends: xorg-x11-Xvnc-module
Provides: tightvnc = 1.5.0
Obsoletes: tightvnc < 1.5.0
Provides: xorg-x11-Xvnc:/usr/lib/vnc/with-vnc-key.sh
Conflicts: patterns-wsl-tmpfiles
%description -n xorg-x11-Xvnc
This is the TigerVNC implementation of Xvnc.
@ -235,27 +243,19 @@ This is a wrapper that looks like x11vnc, but starts x0vncserver instead.
It maps common x11vnc arguments to x0vncserver arguments.
%prep
%setup -T -b1 -q -n tigervnc-%{version}
%patch1 -p0
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p0
%patch8 -p0
%autosetup -p1
cp -r %{_prefix}/src/xserver/* unix/xserver/
pushd unix/xserver
patch -p1 < ../xserver21.1.1.patch
patch -p1 < ../xserver21.patch
popd
%build
%sysusers_generate_pre %{SOURCE22} xorg-x11-Xvnc vnc.conf
%sysusers_generate_pre %{SOURCE17} xorg-x11-Xvnc vnc.conf
export CXXFLAGS="%optflags"
export CFLAGS="%optflags"
sed "s|@LIBEXECDIR@|%{_libexecdir}|g" %{SOURCE13} > xvnc@.service
sed "s|@LIBEXECDIR@|%{_libexecdir}|g" %{SOURCE21} > xvnc-novnc.service
sed "s|@LIBEXECDIR@|%{_libexecdir}|g" %{SOURCE10} > xvnc@.service
sed "s|@LIBEXECDIR@|%{_libexecdir}|g" %{SOURCE16} > xvnc-novnc.service
# Build all tigervnc
cmake -DCMAKE_VERBOSE_MAKEFILE=ON \
-DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \
@ -296,8 +296,10 @@ popd
%make_install
%if %use_update_alternative
mv %{buildroot}%{_bindir}/vncviewer %{buildroot}%{_bindir}/vncviewer-tigervnc
mv %{buildroot}%{_datadir}/man/man1/vncviewer.1 %{buildroot}%{_datadir}/man/man1/vncviewer-tigervnc.1
%endif
pushd unix/xserver
%make_install
@ -309,62 +311,65 @@ install -m755 VncViewer.jar %{buildroot}%{_datadir}/vnc/classes
popd
%ifnarch s390x
install -D -m 644 %{SOURCE4} %{buildroot}%{_datadir}/X11/xorg.conf.d/10-libvnc.conf
install -D -m 644 %{SOURCE1} %{buildroot}%{_datadir}/X11/xorg.conf.d/10-libvnc.conf
%endif
%if %{use_firewalld}
install -D -m 644 %{SOURCE17} %{buildroot}%{_prefix}/lib/firewalld/services/tigervnc.xml
install -D -m 644 %{SOURCE18} %{buildroot}%{_prefix}/lib/firewalld/services/tigervnc-https.xml
install -D -m 644 %{SOURCE13} %{buildroot}%{_prefix}/lib/firewalld/services/tigervnc.xml
install -D -m 644 %{SOURCE14} %{buildroot}%{_prefix}/lib/firewalld/services/tigervnc-https.xml
%else
install -D -m 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/vnc-server
install -D -m 644 %{SOURCE6} %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/vnc-httpd
install -D -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/vnc-server
install -D -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/vnc-httpd
%endif
# only package as %%doc (boo#1173045)
cp %{SOURCE7} .
install -D -m 755 %{SOURCE8} %{buildroot}%{_bindir}/vncpasswd.arg
install -D -m 644 %{SOURCE9} %{buildroot}%{_pam_vendordir}/vnc
cp %{SOURCE4} .
install -D -m 755 %{SOURCE5} %{buildroot}%{_bindir}/vncpasswd.arg
install -D -m 644 %{SOURCE6} %{buildroot}%{_pam_vendordir}/vnc
%if 0%{?suse_version} >= 1550
mv %{buildroot}%{_sysconfdir}/pam.d/tigervnc %{buildroot}%{_pam_vendordir}
%endif
install -D -m 644 %{SOURCE11} %{buildroot}%{_datadir}/vnc/classes
%if 0%{?suse_version} >= 1315
install -D -m 644 %{SOURCE8} %{buildroot}%{_datadir}/vnc/classes
%if %use_update_alternative
ln -s -f %{_sysconfdir}/alternatives/vncviewer %{buildroot}%{_bindir}/vncviewer
ln -s -f %{_sysconfdir}/alternatives/vncviewer.1.gz %{buildroot}%{_mandir}/man1/vncviewer.1.gz
%endif
%if %with_rc_service_symlink
mkdir -p %{buildroot}%{_sbindir}
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rcxvnc
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rcxvnc-novnc
%endif
mkdir -p %{buildroot}%{_sysconfdir}/vnc
mkdir -p %{buildroot}%{_libexecdir}/vnc
install -D -m 755 %{SOURCE10} %{buildroot}%{_libexecdir}/vnc
install -D -m 755 %{SOURCE7} %{buildroot}%{_libexecdir}/vnc
install -D -m 755 %{SOURCE12} %{buildroot}%{_bindir}/x11vnc
install -D -m 755 %{SOURCE9} %{buildroot}%{_bindir}/x11vnc
install -D xvnc@.service -m 0444 %{buildroot}%{_unitdir}/xvnc@.service
install -D %{SOURCE14} -m 0444 %{buildroot}%{_unitdir}/xvnc.socket
install -D %{SOURCE16} -m 0444 %{buildroot}%{_unitdir}/xvnc-novnc.socket
install -D %{SOURCE19} -m 0444 %{buildroot}%{_unitdir}/xvnc.target
install -D %{SOURCE11} -m 0444 %{buildroot}%{_unitdir}/xvnc.socket
install -D %{SOURCE12} -m 0444 %{buildroot}%{_unitdir}/xvnc-novnc.socket
install -D %{SOURCE15} -m 0444 %{buildroot}%{_unitdir}/xvnc.target
install -D xvnc-novnc.service -m 0444 %{buildroot}%{_unitdir}/xvnc-novnc.service
install -Dm0644 %{SOURCE22} %{buildroot}%{_sysusersdir}/vnc.conf
install -Dm0644 %{SOURCE17} %{buildroot}%{_sysusersdir}/vnc.conf
rm -rf %{buildroot}%{_datadir}/doc/tigervnc*
%find_lang '%{name}'
%python3_fix_shebang
%if %use_update_alternative
%post
%if 0%{?suse_version} >= 1315
%_sbindir/update-alternatives \
--install %{_bindir}/vncviewer vncviewer %{_bindir}/vncviewer-tigervnc 20 \
--slave %{_mandir}/man1/vncviewer.1.gz vncviewer.1.gz %{_mandir}/man1/vncviewer-tigervnc.1.gz
%endif
%if %use_update_alternative
%postun
%if 0%{?suse_version} >= 1315
if [ "$1" = 0 ] ; then
"%{_sbindir}/update-alternatives" --remove vncviewer %{_bindir}/vncviewer-tigervnc
fi
@ -428,17 +433,19 @@ fi
%postun -n libXvnc1 -p /sbin/ldconfig
%files -f %{name}.lang
%ghost %{_bindir}/vncviewer
%{_bindir}/vncviewer-tigervnc
%license LICENCE.TXT
%doc README.rst
%if %use_update_alternative
%ghost %{_bindir}/vncviewer
%{_bindir}/vncviewer-tigervnc
%ghost %{_mandir}/man1/vncviewer.1.gz
%{_mandir}/man1/vncviewer-tigervnc.1%{?ext_man}
%if 0%{?suse_version} >= 1315
%ghost %{_sysconfdir}/alternatives/vncviewer
%ghost %{_sysconfdir}/alternatives/vncviewer.1.gz
%else
%{_bindir}/vncviewer
%{_mandir}/man1/vncviewer.1%{?ext_man}
%endif
%dir %{_datadir}/icons/hicolor/16x16
%dir %{_datadir}/icons/hicolor/16x16/apps
%dir %{_datadir}/icons/hicolor/22x22
@ -490,7 +497,9 @@ fi
%{_unitdir}/xvnc.socket
%{_unitdir}/xvnc.target
%{_sysusersdir}/vnc.conf
%if %with_rc_service_symlink
%{_sbindir}/rcxvnc
%endif
%dir %{_sysconfdir}/tigervnc
%config(noreplace) %{_sysconfdir}/tigervnc/vncserver*
@ -539,7 +548,9 @@ fi
%files -n xorg-x11-Xvnc-novnc
%{_unitdir}/xvnc-novnc.service
%{_unitdir}/xvnc-novnc.socket
%if %with_rc_service_symlink
%{_sbindir}/rcxvnc-novnc
%endif
%files -n xorg-x11-Xvnc-java
%doc java/com/tigervnc/vncviewer/README

View File

@ -1,32 +0,0 @@
Patch-mainline: To be upstreamed
References: bnc#1084865
Author: Michal Srb <msrb@suse.com>
Subject: Change button layout in ServerDialog.
To fit strings in languages with longer words...
---
vncviewer/ServerDialog.cxx | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
Index: tigervnc-1.13.0/vncviewer/ServerDialog.cxx
===================================================================
--- tigervnc-1.13.0.orig/vncviewer/ServerDialog.cxx
+++ tigervnc-1.13.0/vncviewer/ServerDialog.cxx
@@ -70,7 +70,7 @@ ServerDialog::ServerDialog()
serverName = new Fl_Input_Choice(x, y, w() - margin*2 - server_label_width, INPUT_HEIGHT, _("VNC server:"));
usedDir = NULL;
- int adjust = (w() - 20) / 4;
+ int adjust = (w() - 20) / 3;
int button_width = adjust - margin/2;
x = margin;
@@ -93,6 +93,8 @@ ServerDialog::ServerDialog()
x = 0;
y += margin/2 + BUTTON_HEIGHT;
+ adjust = (w() - 20) / 4;
+ button_width = adjust - margin/2;
divider = new Fl_Box(x, y, w(), 2);
divider->box(FL_THIN_DOWN_FRAME);

View File

@ -2,17 +2,17 @@ Index: tigervnc-1.12.0/java/com/tigervnc/rfb/CSecurityTLS.java
===================================================================
--- tigervnc-1.12.0.orig/java/com/tigervnc/rfb/CSecurityTLS.java
+++ tigervnc-1.12.0/java/com/tigervnc/rfb/CSecurityTLS.java
@@ -66,6 +66,9 @@ public class CSecurityTLS extends CSecur
@@ -66,6 +66,9 @@ public class CSecurityTLS extends CSecurity {
public static StringParameter X509CRL
= new StringParameter("X509CRL",
"X509 CRL file", "", Configuration.ConfigurationObject.ConfViewer);
+ public static StringParameter x509autoaccept
+ = new StringParameter("x509autoaccept",
+ "X509 Certificate SHA-1 fingerprint", "", Configuration.ConfigurationObject.ConfViewer);
public static UserMsgBox msg;
private void initGlobal()
@@ -85,6 +88,7 @@ public class CSecurityTLS extends CSecur
{
@@ -84,6 +87,7 @@ public class CSecurityTLS extends CSecurity {
setDefaults();
cafile = X509CA.getData();
crlfile = X509CRL.getData();
@ -20,15 +20,15 @@ Index: tigervnc-1.12.0/java/com/tigervnc/rfb/CSecurityTLS.java
}
public static String getDefaultCA() {
@@ -278,6 +282,7 @@ public class CSecurityTLS extends CSecur
@@ -277,6 +281,7 @@ public class CSecurityTLS extends CSecurity {
"do you want to continue?"))
throw new AuthFailureException("server certificate has expired");
}
+ String thumbprint = getThumbprint(cert);
File vncDir = new File(FileUtils.getVncHomeDir());
File vncDir = new File(FileUtils.getVncStateDir());
if (!vncDir.exists()) {
try {
@@ -337,6 +342,9 @@ public class CSecurityTLS extends CSecur
@@ -336,6 +341,9 @@ public class CSecurityTLS extends CSecurity {
store_pubkey(dbPath, client.getServerName().toLowerCase(), pk);
} catch (java.lang.Exception e) {
if (e.getCause() instanceof CertPathBuilderException) {
@ -38,7 +38,7 @@ Index: tigervnc-1.12.0/java/com/tigervnc/rfb/CSecurityTLS.java
vlog.debug("Server host not previously known");
vlog.debug(info);
String text =
@@ -524,7 +532,7 @@ public class CSecurityTLS extends CSecur
@@ -522,7 +530,7 @@ public class CSecurityTLS extends CSecurity {
private SSLEngineManager manager;
private boolean anon;

View File

@ -8,10 +8,18 @@ Index: tigervnc-1.12.0/unix/vncconfig/CMakeLists.txt
===================================================================
--- tigervnc-1.12.0.orig/unix/vncconfig/CMakeLists.txt
+++ tigervnc-1.12.0/unix/vncconfig/CMakeLists.txt
@@ -3,13 +3,25 @@ include_directories(${X11_INCLUDE_DIR})
include_directories(${CMAKE_SOURCE_DIR}/common)
include_directories(${CMAKE_SOURCE_DIR}/unix/tx)
@@ -1,6 +1,5 @@
add_executable(vncconfig
buildtime.c
- vncExt.c
vncconfig.cxx
QueryConnectDialog.cxx)
@@ -9,7 +8,20 @@ target_include_directories(vncconfig SYSTEM PUBLIC ${X11_INCLUDE_DIR})
target_include_directories(vncconfig PUBLIC ${CMAKE_SOURCE_DIR}/common)
target_include_directories(vncconfig PUBLIC ${CMAKE_SOURCE_DIR}/unix/tx)
-target_link_libraries(vncconfig tx rfb network rdr ${X11_LIBRARIES})
+include(GNUInstallDirs)
+
+add_library(Xvnc SHARED
@ -23,13 +31,6 @@ Index: tigervnc-1.12.0/unix/vncconfig/CMakeLists.txt
+ SOVERSION 1
+)
+
add_executable(vncconfig
buildtime.c
- vncExt.c
vncconfig.cxx
QueryConnectDialog.cxx)
-target_link_libraries(vncconfig tx rfb network rdr ${X11_LIBRARIES})
+target_link_libraries(vncconfig tx rfb network rdr Xvnc ${X11_LIBRARIES})
install(TARGETS vncconfig DESTINATION ${CMAKE_INSTALL_FULL_BINDIR})

View File

@ -5,21 +5,21 @@ References: bnc#864676
If the VNC server closes connection after our last read and before this write, we will report error message about EPIPE.
This situation is no error, however, we should quit normally same as when we find out that connection was closed during read.
Index: common/rdr/FdOutStream.cxx
Index: tigervnc-1.13.1/common/rdr/FdOutStream.cxx
===================================================================
--- common/rdr/FdOutStream.cxx.orig
+++ common/rdr/FdOutStream.cxx
@@ -128,8 +128,12 @@ size_t FdOutStream::writeFd(const void*
--- tigervnc-1.13.1.orig/common/rdr/FdOutStream.cxx
+++ tigervnc-1.13.1/common/rdr/FdOutStream.cxx
@@ -133,8 +133,12 @@ size_t FdOutStream::writeFd(const uint8_t* data, size_t length)
#endif
} while (n < 0 && (errno == EINTR));
} while (n < 0 && (errorNumber == EINTR));
- if (n < 0)
- throw SystemException("write", errno);
- throw SystemException("write", errorNumber);
+ if (n < 0) {
+ if(errno == EPIPE)
+ if (errorNumber == EPIPE)
+ n = length; // Ignore EPIPE and fake successfull write, it doesn't matter that we are writing to closed socket, we will find out once we try to read from it.
+ else
+ throw SystemException("write", errno);
+ throw SystemException("write", errorNumber);
+ }
gettimeofday(&lastWrite, NULL);