Compare commits

..

No commits in common. "factory" and "factory" have entirely different histories.

11 changed files with 78 additions and 158 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, 2024);
+ PACKAGE_VERSION, 2024);
- PACKAGE_VERSION, BUILD_TIMESTAMP, 2022);
+ PACKAGE_VERSION, 2022);
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
@@ -25,12 +25,6 @@ set(JAVA_PKCS11_PROVIDER_ARG NOTFOUND CACHE STRING "Path to the PKCS11 security
@@ -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")
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

@ -11,7 +11,7 @@ Index: tigervnc-1.13.1/java/CMakeLists.txt
===================================================================
--- 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
@@ -154,15 +154,6 @@ add_custom_command(OUTPUT VncViewer.jar
com/jcraft/jsch/jce/*.class
com/jcraft/jsch/*.class
com/tigervnc/vncviewer/*.png
@ -21,12 +21,9 @@ Index: tigervnc-1.13.1/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,32 +0,0 @@
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) Normal file

Binary file not shown.

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

Binary file not shown.

View File

@ -1,61 +1,3 @@
-------------------------------------------------------------------
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

View File

@ -25,13 +25,11 @@
%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.14.1
Version: 1.13.1
Release: 0
Summary: An implementation of VNC
License: GPL-2.0-only AND MIT
@ -58,16 +56,11 @@ 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
Patch4: u_tigervnc-Change-button-layout-in-ServerDialog.patch
Patch5: n_tigervnc-Date-time.patch
Patch6: n_tigervnc-Correct-path-in-desktop-file.patch
Patch7: n_tigervnc-Vncserver.patch
Patch8: n_tigervnc-Dont-sign-java-client.patch
Provides: tightvnc = 1.5.0
Obsoletes: tightvnc < 1.5.0
Provides: vnc
@ -137,7 +130,7 @@ BuildRequires: pkgconfig(xorg-macros) >= 1.14
BuildRequires: pkgconfig(xproto) >= 7.0.17
BuildRequires: pkgconfig(xtrans) >= 1.2.2
BuildRequires: pkgconfig(zlib)
%if %use_update_alternative
%if 0%{?suse_version} >= 1315
Requires(post): update-alternatives
Requires(postun): update-alternatives
%endif
@ -161,7 +154,7 @@ BuildRequires: firewall-macros
%endif
# Needed to generate certificates
Requires: windowmanager
Requires: /usr/bin/dbus-launch
Requires: dbus-1-x11
Requires: xauth
Requires: xinit
Requires: xkbcomp
@ -177,7 +170,6 @@ 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.
@ -247,7 +239,7 @@ It maps common x11vnc arguments to x0vncserver arguments.
cp -r %{_prefix}/src/xserver/* unix/xserver/
pushd unix/xserver
patch -p1 < ../xserver21.patch
patch -p1 < ../xserver21.1.1.patch
popd
%build
@ -296,10 +288,8 @@ 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
@ -330,16 +320,14 @@ install -D -m 644 %{SOURCE6} %{buildroot}%{_pam_vendordir}/vnc
mv %{buildroot}%{_sysconfdir}/pam.d/tigervnc %{buildroot}%{_pam_vendordir}
%endif
install -D -m 644 %{SOURCE8} %{buildroot}%{_datadir}/vnc/classes
%if %use_update_alternative
%if 0%{?suse_version} >= 1315
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
@ -361,15 +349,15 @@ 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
@ -433,19 +421,17 @@ fi
%postun -n libXvnc1 -p /sbin/ldconfig
%files -f %{name}.lang
%license LICENCE.TXT
%doc README.rst
%if %use_update_alternative
%ghost %{_bindir}/vncviewer
%{_bindir}/vncviewer-tigervnc
%license LICENCE.TXT
%doc README.rst
%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
@ -497,9 +483,7 @@ 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*
@ -548,9 +532,7 @@ 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

@ -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 CSecurity {
@@ -66,6 +66,9 @@ public class CSecurityTLS extends CSecur
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()
{
@@ -84,6 +87,7 @@ public class CSecurityTLS extends CSecurity {
@@ -85,6 +88,7 @@ public class CSecurityTLS extends CSecur
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() {
@@ -277,6 +281,7 @@ public class CSecurityTLS extends CSecurity {
@@ -278,6 +282,7 @@ public class CSecurityTLS extends CSecur
"do you want to continue?"))
throw new AuthFailureException("server certificate has expired");
}
+ String thumbprint = getThumbprint(cert);
File vncDir = new File(FileUtils.getVncStateDir());
File vncDir = new File(FileUtils.getVncHomeDir());
if (!vncDir.exists()) {
try {
@@ -336,6 +341,9 @@ public class CSecurityTLS extends CSecurity {
@@ -337,6 +342,9 @@ public class CSecurityTLS extends CSecur
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 =
@@ -522,7 +530,7 @@ public class CSecurityTLS extends CSecurity {
@@ -524,7 +532,7 @@ public class CSecurityTLS extends CSecur
private SSLEngineManager manager;
private boolean anon;

View File

@ -8,18 +8,10 @@ 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
@@ -1,6 +1,5 @@
add_executable(vncconfig
buildtime.c
- vncExt.c
vncconfig.cxx
QueryConnectDialog.cxx)
@@ -3,13 +3,25 @@ include_directories(${X11_INCLUDE_DIR})
include_directories(${CMAKE_SOURCE_DIR}/common)
include_directories(${CMAKE_SOURCE_DIR}/unix/tx)
@@ -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
@ -31,6 +23,13 @@ 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

@ -0,0 +1,32 @@
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

@ -9,17 +9,17 @@ Index: tigervnc-1.13.1/common/rdr/FdOutStream.cxx
===================================================================
--- 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)
@@ -128,8 +128,12 @@ size_t FdOutStream::writeFd(const void*
#endif
} while (n < 0 && (errorNumber == EINTR));
} while (n < 0 && (errno == EINTR));
- if (n < 0)
- throw SystemException("write", errorNumber);
- throw SystemException("write", errno);
+ if (n < 0) {
+ if (errorNumber == EPIPE)
+ if(errno == 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", errorNumber);
+ throw SystemException("write", errno);
+ }
gettimeofday(&lastWrite, NULL);