diff --git a/n_tigervnc-Date-time.patch b/n_tigervnc-Date-time.patch index e9476f3..d0c9937 100644 --- a/n_tigervnc-Date-time.patch +++ b/n_tigervnc-Date-time.patch @@ -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) diff --git a/n_tigervnc-Dont-sign-java-client.patch b/n_tigervnc-Dont-sign-java-client.patch index 8078138..ca59ddd 100644 --- a/n_tigervnc-Dont-sign-java-client.patch +++ b/n_tigervnc-Dont-sign-java-client.patch @@ -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 -@@ -154,15 +154,6 @@ add_custom_command(OUTPUT VncViewer.jar +@@ -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: 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) diff --git a/n_tigervnc-reproducible-jar-mtime.patch b/n_tigervnc-reproducible-jar-mtime.patch index 81077f9..e85cd71 100644 --- a/n_tigervnc-reproducible-jar-mtime.patch +++ b/n_tigervnc-reproducible-jar-mtime.patch @@ -11,7 +11,7 @@ diff -urEbwB tigervnc-1.13.1.orig/java/CMakeLists.txt tigervnc-1.13.1/java/CMake + OUTPUT_VARIABLE COMPILATION_DATE + OUTPUT_STRIP_TRAILING_WHITESPACE) +else () -+ string (TIMESTAMP COMPILATION_DATE "+%Y-%m-%dT%H:%M:%SZ") ++ STRING(TIMESTAMP COMPILATION_DATE "+%Y-%m-%dT%H:%M:%SZ") +endif () + add_custom_command(OUTPUT VncViewer.jar diff --git a/tigervnc-1.13.1.tar.gz b/tigervnc-1.13.1.tar.gz deleted file mode 100644 index 646d8cc..0000000 --- a/tigervnc-1.13.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b7c5b8ed9e4e2c2f48c7b2c9f21927db345e542243b4be88e066b2daa3d1ae25 -size 1989081 diff --git a/tigervnc-1.14.1.tar.gz b/tigervnc-1.14.1.tar.gz new file mode 100644 index 0000000..28f1c1c --- /dev/null +++ b/tigervnc-1.14.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:579d0d04eb5b806d240e99a3c756b38936859e6f7db2f4af0d5656cc9a989d7c +size 2097932 diff --git a/tigervnc.changes b/tigervnc.changes index d3a7ba8..5d579ff 100644 --- a/tigervnc.changes +++ b/tigervnc.changes @@ -1,3 +1,31 @@ +------------------------------------------------------------------- +Mon Nov 4 11:25:41 UTC 2024 - Joan Torres + +- 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 + +- Fix path on vncviewer desktop file. Use %use_update_alternative + ------------------------------------------------------------------- Mon Oct 28 08:49:56 UTC 2024 - Dominique Leuenberger diff --git a/tigervnc.spec b/tigervnc.spec index 5625bc3..0414f64 100644 --- a/tigervnc.spec +++ b/tigervnc.spec @@ -31,7 +31,7 @@ %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 @@ -58,14 +58,15 @@ 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: 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 +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} -Patch9: n_tigervnc-reproducible-jar-mtime.patch +Patch8: n_tigervnc-reproducible-jar-mtime.patch %endif Provides: tightvnc = 1.5.0 Obsoletes: tightvnc < 1.5.0 @@ -246,7 +247,7 @@ It maps common x11vnc arguments to x0vncserver arguments. cp -r %{_prefix}/src/xserver/* unix/xserver/ pushd unix/xserver -patch -p1 < ../xserver21.1.1.patch +patch -p1 < ../xserver21.patch popd %build diff --git a/u_tigervnc-Add-autoaccept-parameter.patch b/u_tigervnc-Add-autoaccept-parameter.patch index 830a92f..a1b9c2c 100644 --- a/u_tigervnc-Add-autoaccept-parameter.patch +++ b/u_tigervnc-Add-autoaccept-parameter.patch @@ -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; diff --git a/u_tigervnc-Build-libXvnc-as-separate-library.patch b/u_tigervnc-Build-libXvnc-as-separate-library.patch index 7e79a98..db8df4f 100644 --- a/u_tigervnc-Build-libXvnc-as-separate-library.patch +++ b/u_tigervnc-Build-libXvnc-as-separate-library.patch @@ -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}) diff --git a/u_tigervnc-Change-button-layout-in-ServerDialog.patch b/u_tigervnc-Change-button-layout-in-ServerDialog.patch deleted file mode 100644 index 04e81e3..0000000 --- a/u_tigervnc-Change-button-layout-in-ServerDialog.patch +++ /dev/null @@ -1,32 +0,0 @@ -Patch-mainline: To be upstreamed -References: bnc#1084865 -Author: Michal Srb -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); diff --git a/u_tigervnc-Ignore-epipe-on-write.patch b/u_tigervnc-Ignore-epipe-on-write.patch index 69dcdbd..9f35305 100644 --- a/u_tigervnc-Ignore-epipe-on-write.patch +++ b/u_tigervnc-Ignore-epipe-on-write.patch @@ -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 -@@ -128,8 +128,12 @@ size_t FdOutStream::writeFd(const void* +@@ -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);