Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package qt6-websockets for openSUSE:Factory checked in at 2023-05-28 19:22:28 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qt6-websockets (Old) and /work/SRC/openSUSE:Factory/.qt6-websockets.new.1533 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-websockets" Sun May 28 19:22:28 2023 rev:14 rq:1089115 version:6.5.1 Changes: -------- --- /work/SRC/openSUSE:Factory/qt6-websockets/qt6-websockets.changes 2023-04-05 21:37:27.027183301 +0200 +++ /work/SRC/openSUSE:Factory/.qt6-websockets.new.1533/qt6-websockets.changes 2023-05-28 19:22:55.068988958 +0200 @@ -1,0 +2,6 @@ +Wed May 24 07:45:47 UTC 2023 - Christophe Marin <[email protected]> + +- Update to 6.5.1 + * https://www.qt.io/blog/qt-6.5.1-released + +------------------------------------------------------------------- Old: ---- qtwebsockets-everywhere-src-6.5.0.tar.xz New: ---- qtwebsockets-everywhere-src-6.5.1.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qt6-websockets.spec ++++++ --- /var/tmp/diff_new_pack.AQ80Nj/_old 2023-05-28 19:22:55.504991552 +0200 +++ /var/tmp/diff_new_pack.AQ80Nj/_new 2023-05-28 19:22:55.508991576 +0200 @@ -16,7 +16,7 @@ # -%define real_version 6.5.0 +%define real_version 6.5.1 %define short_version 6.5 %define tar_name qtwebsockets-everywhere-src %define tar_suffix %{nil} @@ -27,7 +27,7 @@ %endif # Name: qt6-websockets%{?pkg_suffix} -Version: 6.5.0 +Version: 6.5.1 Release: 0 Summary: Qt 6 WebSockets library License: LGPL-3.0-only OR (GPL-2.0-only OR GPL-3.0-or-later) ++++++ qtwebsockets-everywhere-src-6.5.0.tar.xz -> qtwebsockets-everywhere-src-6.5.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwebsockets-everywhere-src-6.5.0/.QT-ENTERPRISE-LICENSE-AGREEMENT new/qtwebsockets-everywhere-src-6.5.1/.QT-ENTERPRISE-LICENSE-AGREEMENT --- old/qtwebsockets-everywhere-src-6.5.0/.QT-ENTERPRISE-LICENSE-AGREEMENT 2023-03-29 08:45:08.505524200 +0200 +++ new/qtwebsockets-everywhere-src-6.5.1/.QT-ENTERPRISE-LICENSE-AGREEMENT 2023-05-22 09:05:59.188949000 +0200 @@ -1253,7 +1253,7 @@ +----------------------------------------------------------+ | Device Utilities | | | X,R | X,R | +----------------------------------------------------------+ -| Qt Debugging Bridge (QBD) Daemon | | | X,R | X,R | +| Qt Debugging Bridge (QDB) Daemon | | | X,R | X,R | +----------------------------------------------------------+ | Qt Quick Ultralite Controls | | | X,R | X,R | +----------------------------------------------------------+ @@ -1669,116 +1669,152 @@ APPENDIX 8: INTENTIONALLY LEFT BLANK APPENDIX 9: SUPPORT TERMS +Version 2023-04 -These Qt support terms and conditions ("Support Terms") set forth the legal -framework, where under The Qt Company ("The Qt Company") provides support +These Qt support terms and conditions (âSupport Termsâ) set forth the legal +framework, where under The Qt Company (âThe Qt Companyâ) provides support services (as herein defined) to the Licensee. 1 DEFINITIONS -"Application Code" shall mean a computer software program written strictly +âApplication Codeâ shall mean a computer software program written strictly using the Qt programming language, by or for the Licensee, with a user interface, enabling the Licensee or their users to accomplish a specific task and display any results of the task on the display monitor or screen. -"Dedicated Contact" shall mean the employee of The Qt Company who will be the -first point of contact for all Designated Users' requests for Support. +âCustomer Portalâ shall mean The Qt Companyâs web-based service and support +user interface located at https://account.qt.io/ or at another location +designated by The Qt Company. Customer Portal is used by a Designated User with +Qt Account, and it provides downloads, license management, license certificate +and other services for Designated Users. -"Errors" shall mean an error, flaw, mistake, failure, or fault in Licensed +âDedicated Contactâ shall mean the employee of The Qt Company who will be the +first point of contact for all Designated Usersâ requests for Support. + +âErrorsâ shall mean an error, flaw, mistake, failure, or fault in Licensed Software that prevents it from behaving as described in the relevant -documentation or as agreed between the Parties. +documentation or as agreed between the Parties. Designated User can follow the +state and progress of Errors in Customer Portal. -"Extended Support" shall mean a continuation to the normal Support period, +âExtended Supportâ shall mean a continuation to the normal Support period, which allows Designated Users to receive selected Support (Standard Support or Premium Support) for a version of Licensed Software that is no longer generally supported by The Qt Company. -"Install Support" shall mean Support that is limited to installation related +âInstall Supportâ shall mean Support that is limited to installation-related Error(s) on Development Platforms specified as supported host platforms for -each Qt release under doc.qt.io. +each Qt release under doc.qt.io. Install Support covers also operational use of +the QA Tools, but not operational use of Qt Software. -"Maintenance Release" shall mean a release or version of Licensed Software +âMaintenance Releaseâ shall mean a release or version of Licensed Software containing bug fixes, error corrections and other changes targeted to maintaining and improving product stability and quality. Maintenance Releases are generally depicted as a change to the third digit of Licensed Software version number. -"Platforms" shall mean both Development Platforms and Deployment Platforms. +âPlatformsâ shall mean both Development Platforms and Deployment Platforms. Supported host and target Platforms may vary from for each Qt release as defined under doc.qt.io. -"Premium Support" shall mean an upgraded level of Support that The Qt Company +âPremium Supportâ shall mean an upgraded level of Support that The Qt Company provides pursuant to these Support Terms to Licensee if Licensee has purchased -Premium Support instead of Standard Support. Premium Support shall always be -purchased for all Designated User(s) in the respective development team of the -Licensee. +Premium Support instead of Standard Support. Premium Support also covers what +is included in Standard Support. Premium Support shall always be purchased for +all Designated User(s) in the respective development team of the Licensee. + +âQt Accountâ shall mean the Qt Account for a Designated User used for using Qt +services and Customer Portal. A Qt Account is mapped to the Licensee company +with the corporate email domain or domains. + +âQualification Kitâ shall mean a set of documents and validation test cases +used for product certification needs as defined in section 2.6. -"Response Time" shall mean the period of time from when Licensee notifies -TheQt Company about an Error or requests Support until The Qt Company provides +âResponse Timeâ shall mean the period of time from when Licensee notifies The +Qt Company about an Error or requests Support until The Qt Company provides Licensee with a response that addresses (but not necessarily resolves) the reported Error or provides the requested Support. -"Standard Support" shall mean standard level of Support that The Qt Company -provides pursuant to these Support Terms to Licensee. +âStandard Supportâ shall mean standard level of Support that The Qt Company +provides pursuant to these Support Terms to Licensee. Standard Support also +covers what is included in Install Support. + +âSecurity Issueâ shall mean an Error that may cause a vulnerability in a system +or application that uses the Licensed Software. + +âSupportâ shall mean developer assistance that is provided by The Qt Company to +assist eligible Designated Users in Licensed Software installation, usage and +functionality problem resolution for Error(s) and Error workarounds pursuant to +the terms of these Support Terms. Support for different products is available +as specified in the below table (âXâ marking the Support that is included in +the license price, optional Add-on Support services are marked as âOâ): -"Support" shall mean developer assistance that is provided by The Qt Company -to assist eligible Designated Users in Licensed Software installation, usage -and functionality problem resolution for Error(s) and Error workarounds -pursuant to the terms of these Support Terms. Support for different products is -available as specified in the below table ("X" marking the Support that is -included in the license price, optional Add-on Support services are marked as -"O"): - -+-----------------------------------------------------------------------+ -| |ADP|ADE|DCP|DCE|DSP|DSE|Squish|Coco|Test Center| -+-----------------------------------------------------------------------+ -| Install Support | X | X | X | X | X | X | X | X | X | -+-----------------------------------------------------------------------+ -| Standard Support | | X | X | X | X | X | X | X | X | -+-----------------------------------------------------------------------+ -| Premium Support | | O | O | O | O | O | O | O | O | -+-----------------------------------------------------------------------+ -| Extended Support | | O | O | O | O | O | | | | -+-----------------------------------------------------------------------+ -| Tool Qualification Kit| | | | | | | O | O | | -+-----------------------------------------------------------------------+ ++-----------------------------------------------------------------------------+ +| | Install| Standard| Premium| Extended| Qualification| +| | Support| Support | Support| Support | Kit | ++-----------------------------------------------------------------------------+ +| DSP | X | X | O | O | | ++-----------------------------------------------------------------------------+ +| DSE | X | X | O | O | | ++-----------------------------------------------------------------------------+ +| ADP | X | | | | | ++-----------------------------------------------------------------------------+ +| ADE | X | X | O | O | | ++-----------------------------------------------------------------------------+ +| DCP | X | X | O | O | | ++-----------------------------------------------------------------------------+ +| DCE | X | X | O | O | | ++-----------------------------------------------------------------------------+ +| Squish | X | X | O | | O | ++-----------------------------------------------------------------------------+ +| Coco | X | X | O | | O | ++-----------------------------------------------------------------------------+ +| Test Center | X | X | O | | O | ++-----------------------------------------------------------------------------+ +| Axivion Suite | X | X | | | | ++-----------------------------------------------------------------------------+ +| Architecture Analysis | X | X | | | | ++-----------------------------------------------------------------------------+ +| Static Code Analysis | X | X | | | | ++-----------------------------------------------------------------------------+ +| Static Coverage | X | X | | | | +| Analysis Professional | | | | | | ++-----------------------------------------------------------------------------+ +| Qt Insight | | X | | | | ++-----------------------------------------------------------------------------+ -"Support Validity Term" shall mean the Development License Term or any other -fixed time period agreed between the Parties during which time the Customer is +âSupport Validity Termâ shall mean the Development License Term or any other +fixed time period agreed between the Parties during which time the Licensee is eligible to receive Support from The Qt Company. -"Tool Qualification Kit" shall mean a customized set of documents and -validation test cases. - 2 SUPPORT SERVICES 2.1 Support Services Provided by The Qt Company Subject to these Support Terms and during the Support Validity Term, The Qt -Company will via its web-based support user-interface, provide Designated -User(s) with Support for the Platforms which Customer has licensed under the -Agreement. -The Qt Company will make commercially reasonable efforts to solve any Errors -reported by Designated User(s). Resolution of an Error may be provided through +Company will via its Customer Portal, provide Designated User(s) with Support +for the Licensed Software which Licensee has licensed under the Agreement. The +Qt Company will make commercially reasonable efforts to solve any Errors +reported by Designated User(s). Resolution of an Error may be provided through Designated User(s) themselves downloading of a later released version of the applicable Licensed Software product(s) or providing the Designated User with a -temporary workaround addressing such Error. +workaround addressing such Error or providing the Designated User with an +updated tool configuration. 2.2 Licensee's Obligations -To report an Error, the Designated User shall register the Error on The Qt -Company's web-based support user interface located at: -https://account.qt.io/login or at another location designated by The Qt Company. +To report an Error, the Designated User shall register the Error on the +Customer Portal. If the Designated User considers the reported Error to be a +Security Issue, the Error shall be marked as a Security Issue. The Designated User must provide adequate information and documentation to The Qt Company to enable it to recreate the Error or problem for which the -Designated User has sought assistance. -To ensure efficient handling of Errors, the Designated User must provide the -following information, where relevant: +Designated User has sought assistance. To ensure efficient handling of Errors, +the Designated User must provide the following information, where relevant: - A clear, detailed description of the problem, question or suggestion; - Identification of which Licensed Software product and version is affected; - Identification of the operating environment (e.g. operating system, hardware - Platform, build tools, etc.) on which the problem exists; + Platform, build tools, tool configuration, etc.) on which the problem exists; +- Marking the issue as a Security Issue, when reporting a Security Issue; - On Standard Support: A complete and compilable test case of not more than 500 lines of code that demonstrates the problem; - On Premium Support: A complete and compilable test case that demonstrates the @@ -1800,29 +1836,30 @@ Each version or release of the Licensed Software will be Supported under Standard Support or Premium Support only for limited time period as set forth -in doc.qt.io. For example, regular releases of Qt Software are supported for -one (1) year from the release date of the version x.y.0 and Long Term Support -(LTS) Releases are supported for a period of three (3) years from the release -date of the LTS version x.y.0. - -The Qt Company shall only provide Support for Designated User(s). - -Support is made available for the entire development teams only: It is not -allowed to purchase Support only for some members of the development team, and -all Designated Users of the respective development team must be eligible for -the same level of Support. +in doc.qt.io or in documentation provided with the respective Licensed Software +product. If nothing is documented, a release of Licensed Software is supported +for one (1) year from the release date of the version x.y.0 and Long Term +Support (LTS) Releases are supported for a period of three (3) years from the +release date of the LTS version x.y.0. + +The Qt Company shall only provide Support for Designated User(s) through +Customer Portal.Support is made available for the entire development teams +only: It is not allowed to purchase Support only for some members of the +development team, and all Designated Users of the respective development team +must be eligible for the same level of Support. Support is not provided for snapshots, preview releases, beta releases or release candidates. -The Qt Company shall have no obligation to provide Support for hardware or -operating system specific problems or problems arising from improper use, -accident, neglect or modification of Qt. +The Qt Company shall have no obligation to provide Support for 3rd party +components, hardware or operating system specific problems or problems arising +from improper use, accident, neglect, or modification of Qt. Limitations with Install Support: -Support limited to Error(s) regarding installation and setting up of the Qt -development environment on host Platforms. +Support limited to (i) Error(s) regarding installation and setting up of the Qt +development environment on host Platforms, or (ii) Errors impacting operational +use of the QA Tools. Limitations with Standard Support: @@ -1848,31 +1885,60 @@ corresponding supported Platform. Premium Support is optional and purchased for an agreed bucket of hours -("Bucket"). Hours can be used by any Designated User in the respective +(âBucketâ). Hours can be used by any Designated User in the respective development team. To encourage continuous usage of the Support, ten percent (10%) of the purchased Bucket shall automatically expire (regardless of whether such support hours are actually used or not by the Licensee) each month after three (3) months from the purchase of the Premium Support. -2.4 Extended Support +2.4 Handling of Security Issues + +The reported Errors marked as Security Issues will be assessed by experts to +determine the severity of the issue and to verify if it indeed is a valid +Security Issue. The Designated User who reported the issue may be contacted for +more details. If the reported issue is not deemed to be a Security Issue, it +will be treated as a normal Error and handled accordingly. + +A verified Security Issue will be fixed as soon as possible. Qt Company will +notify all Licensees via appropriate channels about the Security Errors and +availability of patches for Licensed Software. Typically, a fix for the +Security Issue is included in the next Maintenance Release of Licensed +Software. + +If the Security Issue is reported in a third-party library used in Licensed +Software, The Qt Company will notify the relevant third party of such Security +Issue detected in their library. When the Security Issue is fixed in the +third-party library, the new version of the third-party library will be in the +next feasible Maintenance Release of the Licensed Software. If a fixed version +of the third-party library is not available, The Qt Company may instead decide +to include documentation regarding the issue, or a patch for this third-party +library. + +All known Security Issues in Licensed Software will be mentioned as part of the +change notes released with each version of Licensed Software. + +2.5 Extended Support Extended Support extends the Support Validity Term for a release of Licensed Software that is no longer generally supported. Extended Support includes and is by default provided with Standard Support -rules and limitations, unless Extended Support is purchased with Premium -Support in which case Premium Support rules and limitations will apply. +rules and limitations, unless Extended Support is purchased together with +Premium Support in which case Premium Support rules and limitations will apply. Extended Support is optional and purchased with annual fee and separately per each Licensee product. Extended Support will need definition of (i) Licensee -product, (ii) used Platform(s) and (iii) Licensed Software version(s). - -2.5 Tool Qualification Kit - -The Qt Company shall provide set of customized documents and validation tests -that enable Licensee to qualify QA testing tool for the purpose of ISO 26262, -EN 50128, DO-330, IEC 61508, IEC 62304 or IEC 13485 certification Licensee end -to end solution. +product, (ii) used Platform(s) and (iii) Licensed Software version(s). For +avoidance of doubt, Extended Support requires that the Designated User has a +valid license for the respective Licensed Software. + +2.6 Qualification Kit + +The Qt Company shall provide a set of documents and validation tests that +enable the Licensee to qualify QA testing tool (subject to a separate fee) or +Qt Safe Renderer for the purpose of safety certification of Licensee end-to-end +solution. Exact complied safety standards may vary between products, used +features, use case, and industry. 3 RESPONSE TIME @@ -1885,6 +1951,9 @@ Premium Support: Errors and Support requests will have a Response Time not to exceed one (1) business day. +Security Issues: Errors that are Security Issues will have a Response Time not +to exceed one (1) business day. + For complex issues, The Qt Company may provide an initial response to the Designated User and then follow up, without undue delay, with additional communication before an Error is properly addressed or Support provided. @@ -1908,7 +1977,7 @@ 5 MAINTENANCE RELEASES, UPDATES AND UPGRADES -Under the Support the Customer is eligible for Maintenance Releases and Updates +Under the Support the Licensee is eligible for Maintenance Releases and Updates that The Qt Company generally makes available to customers who has purchased Support. Unless otherwise decided by The Company at its free and absolute discretion, Upgrades will not be provided under the Support. @@ -1920,6 +1989,7 @@ - Fixes related to build issues on supported Platforms; - Error corrections specific to a single Platform that are not present on other Platforms; +- Corrections to Security Issues; - Critical Error corrections such as crashes, data corruption, loss of data, race conditions; and - Updates to documentation and license information when deemed necessary by diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwebsockets-everywhere-src-6.5.0/.cmake.conf new/qtwebsockets-everywhere-src-6.5.1/.cmake.conf --- old/qtwebsockets-everywhere-src-6.5.0/.cmake.conf 2023-03-28 16:23:33.000000000 +0200 +++ new/qtwebsockets-everywhere-src-6.5.1/.cmake.conf 2023-05-16 11:46:05.000000000 +0200 @@ -1,3 +1,3 @@ -set(QT_REPO_MODULE_VERSION "6.5.0") +set(QT_REPO_MODULE_VERSION "6.5.1") set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "alpha1") set(QT_EXTRA_INTERNAL_TARGET_DEFINES "QT_NO_AS_CONST=1") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwebsockets-everywhere-src-6.5.0/.tag new/qtwebsockets-everywhere-src-6.5.1/.tag --- old/qtwebsockets-everywhere-src-6.5.0/.tag 2023-03-28 16:23:33.000000000 +0200 +++ new/qtwebsockets-everywhere-src-6.5.1/.tag 2023-05-16 11:46:05.000000000 +0200 @@ -1 +1 @@ -5c92cce2f79edcd26d05608d86351b82d1c00373 +ec6015ec6f9c6e99adf1a69ce14af0d431a9fd46 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwebsockets-everywhere-src-6.5.0/dependencies.yaml new/qtwebsockets-everywhere-src-6.5.1/dependencies.yaml --- old/qtwebsockets-everywhere-src-6.5.0/dependencies.yaml 2023-03-28 16:23:33.000000000 +0200 +++ new/qtwebsockets-everywhere-src-6.5.1/dependencies.yaml 2023-05-16 11:46:05.000000000 +0200 @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: aea92807be2567c4212b96ae67de7137075ba4ee + ref: 55aee8697512af105dfefabc1e2ec41d4df1e45e required: true ../qtdeclarative: - ref: 3238e18d6b0dc45d2e765fb0b93da5cbf3f396ec + ref: 65651dc1d333e2aded18b0d6f0b71c35e5b40c1c required: false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwebsockets-everywhere-src-6.5.0/examples/websockets/doc/echoclient.qdoc new/qtwebsockets-everywhere-src-6.5.1/examples/websockets/doc/echoclient.qdoc --- old/qtwebsockets-everywhere-src-6.5.0/examples/websockets/doc/echoclient.qdoc 2023-03-28 16:23:33.000000000 +0200 +++ new/qtwebsockets-everywhere-src-6.5.1/examples/websockets/doc/echoclient.qdoc 2023-05-16 11:46:05.000000000 +0200 @@ -3,12 +3,24 @@ /*! \example echoclient - \title Echo Client Example + \title WebSocket Echo Client + \examplecategory {Networking} \ingroup qtwebsockets-examples - \brief Describes how to use the WebSocket API for creating a simple echo client. + \brief Show how to write a simple WebSocket client application. - The Echo Client Example shows how to use the WebSocket API to create a simple - echo client. + The Echo Client shows how to use the \l {Qt WebSockets}{WebSocket} + API to send a message to a server and process whatever response the + server returns - in this case, simply reporting the response. - \sa {Echo Server Example} + The client by default opens a WebSocket connection to a server listening + on local port 1234. When the connection attempt is successful, the client + will send a message to the server and print out whatever response the + server sends. The client then closes the connection. + + \image echoclient-console-example.webp WebSocket Echo Console Client + + For the sake of illustration, we use the \l {WebSocket Echo Server}, whose + reply is simply the message that was sent. + + \sa {WebSocket Echo Server} */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwebsockets-everywhere-src-6.5.0/examples/websockets/doc/echoserver.qdoc new/qtwebsockets-everywhere-src-6.5.1/examples/websockets/doc/echoserver.qdoc --- old/qtwebsockets-everywhere-src-6.5.0/examples/websockets/doc/echoserver.qdoc 2023-03-28 16:23:33.000000000 +0200 +++ new/qtwebsockets-everywhere-src-6.5.1/examples/websockets/doc/echoserver.qdoc 2023-05-16 11:46:05.000000000 +0200 @@ -3,20 +3,23 @@ /*! \example echoserver - \title Echo Server Example + \title WebSocket Echo Server + \examplecategory {Networking} \ingroup qtwebsockets-examples - \brief Shows how to create a simple server application that - sends back the messages it receives. + \brief Show how to write a simple WebSocket server application. - The Echo Server Example shows how to create a simple server application that - sends back the messages it receives, using the \l {Qt WebSockets}{WebSocket} API. + This Echo Server shows how to create a simple server application that sends + back a reply in response to a message it receives, using the + \l {Qt WebSockets}{WebSocket} API. For the sake of illustration, the reply + is simply a copy of the message. If your web browser supports \l {Qt WebSockets}{WebSocket}, you can also use it to open the \c {echoserver/echoclient.html}{echoclient.html} file, and operate - like the following screenshot. + as shown in the following screenshot: - \image echoclient-html-example.png Screenshot of the HTML version of Echo - Client example + \image echoclient-html-example.png WebSocket Echo HTML Client - \sa {Echo Client Example} + Otherwise use the \l {WebSocket Echo Client} to connect to the server. + + \sa {WebSocket Echo Client} */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwebsockets-everywhere-src-6.5.0/examples/websockets/doc/examples.qdoc new/qtwebsockets-everywhere-src-6.5.1/examples/websockets/doc/examples.qdoc --- old/qtwebsockets-everywhere-src-6.5.0/examples/websockets/doc/examples.qdoc 2023-03-28 16:23:33.000000000 +0200 +++ new/qtwebsockets-everywhere-src-6.5.1/examples/websockets/doc/examples.qdoc 2023-05-16 11:46:05.000000000 +0200 @@ -5,6 +5,7 @@ /*! \group qtwebsockets-examples \title Qt WebSockets Examples + \examplecategory {Networking} \brief List of Qt WebSocket examples The examples below can be used as a guide to using the \l{Qt WebSockets} API. Binary files old/qtwebsockets-everywhere-src-6.5.0/examples/websockets/doc/images/echoclient-console-example.webp and new/qtwebsockets-everywhere-src-6.5.1/examples/websockets/doc/images/echoclient-console-example.webp differ Binary files old/qtwebsockets-everywhere-src-6.5.0/examples/websockets/doc/images/qmlwebsocketclient-example.webp and new/qtwebsockets-everywhere-src-6.5.1/examples/websockets/doc/images/qmlwebsocketclient-example.webp differ Binary files old/qtwebsockets-everywhere-src-6.5.0/examples/websockets/doc/images/qmlwebsocketserver-example.webp and new/qtwebsockets-everywhere-src-6.5.1/examples/websockets/doc/images/qmlwebsocketserver-example.webp differ Binary files old/qtwebsockets-everywhere-src-6.5.0/examples/websockets/doc/images/simplechat-html-example.webp and new/qtwebsockets-everywhere-src-6.5.1/examples/websockets/doc/images/simplechat-html-example.webp differ Binary files old/qtwebsockets-everywhere-src-6.5.0/examples/websockets/doc/images/sslechoclient-console-example.webp and new/qtwebsockets-everywhere-src-6.5.1/examples/websockets/doc/images/sslechoclient-console-example.webp differ Binary files old/qtwebsockets-everywhere-src-6.5.0/examples/websockets/doc/images/sslechoclient-html-example.webp and new/qtwebsockets-everywhere-src-6.5.1/examples/websockets/doc/images/sslechoclient-html-example.webp differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwebsockets-everywhere-src-6.5.0/examples/websockets/doc/qmlwebsocketclient.qdoc new/qtwebsockets-everywhere-src-6.5.1/examples/websockets/doc/qmlwebsocketclient.qdoc --- old/qtwebsockets-everywhere-src-6.5.0/examples/websockets/doc/qmlwebsocketclient.qdoc 2023-03-28 16:23:33.000000000 +0200 +++ new/qtwebsockets-everywhere-src-6.5.1/examples/websockets/doc/qmlwebsocketclient.qdoc 2023-05-16 11:46:05.000000000 +0200 @@ -3,7 +3,29 @@ /*! \example qmlwebsocketclient - \title QML WebSocket Client Example + \title QML WebSocket Client + \examplecategory {Networking} \ingroup qtwebsockets-examples - \brief Explains how to program a QML WebSocket client example. + \brief Explains how to write a QML WebSocket client example. + + The QML WebSocket Client example creates a secure and an + insecure \l {Qt WebSockets}{WebSocket} connection to an echo + server, using the QML API, and alternates between opening + connections and closing them. Every time a connection has + been opened, it sends a message. + + \image qmlwebsocketclient-example.webp QML WebSocket Client GUI + + This example opens a window with a welcome message. Every time + the window is clicked on, it alternates between opening and + closing two connections to an external echo server. The echo + server used is at ws.ifelse.io, and an Internet connection is + necessary for the example to work. Also TLS must be enabled for + the secure connection to work. When the connection is opened or + closed, the statusChanged signal is handled by the + onStatusChanged handler. Every time the socket is opened, a + message is sent, and every time the socket is closed, a message + is logged in the window. In addition, there is an + onTextMessageReceived handler that logs to the window the + messages received from the server. */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwebsockets-everywhere-src-6.5.0/examples/websockets/doc/qmlwebsocketserver.qdoc new/qtwebsockets-everywhere-src-6.5.1/examples/websockets/doc/qmlwebsocketserver.qdoc --- old/qtwebsockets-everywhere-src-6.5.0/examples/websockets/doc/qmlwebsocketserver.qdoc 2023-03-28 16:23:33.000000000 +0200 +++ new/qtwebsockets-everywhere-src-6.5.1/examples/websockets/doc/qmlwebsocketserver.qdoc 2023-05-16 11:46:05.000000000 +0200 @@ -3,7 +3,18 @@ /*! \example qmlwebsocketserver - \title QML WebSocket Server Example + \title QML WebSocket Server + \examplecategory {Networking} \ingroup qtwebsockets-examples \brief A simple example that shows how to use a QML WebSocketServer. + + \image qmlwebsocketserver-example.webp QML WebSocket Server GUI + + This example opens a window and has a WebSocketServer listening + for incoming connections and a WebSocket connecting to the + WebSocketServer. Every time the window is clicked, the WebSocket + sends a message to the WebSocketServer. The WebSocketServer has a + signal handler that logs the incoming message to the window and + sends a message back again, and the WebSocket has a signal + handler that logs the returned message to the window. */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwebsockets-everywhere-src-6.5.0/examples/websockets/doc/simplechat.qdoc new/qtwebsockets-everywhere-src-6.5.1/examples/websockets/doc/simplechat.qdoc --- old/qtwebsockets-everywhere-src-6.5.0/examples/websockets/doc/simplechat.qdoc 2023-03-28 16:23:33.000000000 +0200 +++ new/qtwebsockets-everywhere-src-6.5.1/examples/websockets/doc/simplechat.qdoc 2023-05-16 11:46:05.000000000 +0200 @@ -3,12 +3,25 @@ /*! \example simplechat - \title Simple Chat Example + \title Simple WebSocket Chat + \examplecategory {Networking} \ingroup qtwebsockets-examples - \brief Shows how to use the QWebSocket and QWebSocketServer classes - for creating a minimalistic chat application over the WebSocket protocol. + \brief A minimal chat application using the WebSocket protocol. - The Simple Chat Example shows how to use the QWebSocket and QWebSocketServer - classes to create a minimalistic chat application over the WebSocket protocol. + This application shows how to use the QWebSocket and QWebSocketServer + classes to create a minimalist chat application over the WebSocket protocol. + The example is a server that allows multiple clients to connect to it to send + and receive messages. + + By default it listens at localhost port 1234. It keeps track of all clients + that are connected to it, and each time one of the clients sends a message to + the server, the message is forwarded to all other clients. When a client + disconnects, it is removed from the list of clients. + + \image simplechat-html-example.webp Simple WebSocket Chat HTML Client + + There is also an HTML-client that is used to connect to and disconnect from + the server, query about the connection, send messages, and view all the + messages sent by other clients. */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwebsockets-everywhere-src-6.5.0/examples/websockets/doc/sslechoclient.qdoc new/qtwebsockets-everywhere-src-6.5.1/examples/websockets/doc/sslechoclient.qdoc --- old/qtwebsockets-everywhere-src-6.5.0/examples/websockets/doc/sslechoclient.qdoc 2023-03-28 16:23:33.000000000 +0200 +++ new/qtwebsockets-everywhere-src-6.5.1/examples/websockets/doc/sslechoclient.qdoc 2023-05-16 11:46:05.000000000 +0200 @@ -3,13 +3,23 @@ /*! \example sslechoclient - \title SSL Echo Client Example + \title Secure WebSocket Echo Client + \examplecategory {Networking} \ingroup qtwebsockets-examples - \brief Shows how to use the QWebSocket class to implement an echo - client over a secure connection (wss). + \brief A simple client application using secure WebSockets (wss). - The SSL Echo Client example shows how to use the QWebSocket class to implement - an echo client over a secure connection (wss). + The Secure WebSocket Echo Client example shows how to use the + \l {Qt WebSockets}{WebSocket} class to implement an echo client over + a secure connection (wss). It connects to a server and sends a message, + and when it receives a message back, it prints it out and exits. SSL + support is required for this example to work. - \sa {Echo Client Example}, {SSL Echo Server Example} + This example connects by default to localhost at port 1234 using a secure + connection. It trusts the certificates signed by the CA certificates + configured in the SSL backend, and in addition trusts the certificate + used by \l {Secure WebSocket Echo Server}. + + \image echoclient-console-example.webp Secure WebSocket Echo Console Client + + \sa {WebSocket Echo Client}, {Secure WebSocket Echo Server} */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwebsockets-everywhere-src-6.5.0/examples/websockets/doc/sslechoserver.qdoc new/qtwebsockets-everywhere-src-6.5.1/examples/websockets/doc/sslechoserver.qdoc --- old/qtwebsockets-everywhere-src-6.5.0/examples/websockets/doc/sslechoserver.qdoc 2023-03-28 16:23:33.000000000 +0200 +++ new/qtwebsockets-everywhere-src-6.5.1/examples/websockets/doc/sslechoserver.qdoc 2023-05-16 11:46:05.000000000 +0200 @@ -3,13 +3,28 @@ /*! \example sslechoserver - \title SSL Echo Server Example + \title Secure WebSocket Echo Server + \examplecategory {Networking} \ingroup qtwebsockets-examples - \brief Shows how to use the QWebSocketServer class for implementing a simple - echo server over secure sockets (wss). + \brief A simple server to respond to clients over secure WebSockets (wss). - The SSL Echo Server example shows how to use the QWebSocketServer class - to implement a simple echo server over secure sockets (wss). + The Secure WebSocket Echo Server example shows how to use the QWebSocketServer + class to implement a simple echo server over secure sockets (wss). TLS support + is required for this example to work. It authenticates itself to the client + and, on success, can accept a message from the client, to which it responds. + For the sake of illustration, its response is simply a copy of the message + it was sent. - \sa {SSL Echo Client Example}, {Echo Server Example} + This server is configured with a self-signed certificate and key. + Unless the clients contacting this server is configured to trust that + certificate, which \l {Secure WebSocket Echo Client} does, they will reject + this server. + + \image sslechoclient-html-example.webp Secure WebSocket Echo HTML Client + + There is an HTML-based client as part of this example. But it will only + work either if the browser used supports the certificate as described above, + or if it ignores TLS errors for localhost addresses. + + \sa {Secure WebSocket Echo Client}, {WebSocket Echo Server} */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwebsockets-everywhere-src-6.5.0/examples/websockets/echoclient/main.cpp new/qtwebsockets-everywhere-src-6.5.1/examples/websockets/echoclient/main.cpp --- old/qtwebsockets-everywhere-src-6.5.0/examples/websockets/echoclient/main.cpp 2023-03-28 16:23:33.000000000 +0200 +++ new/qtwebsockets-everywhere-src-6.5.1/examples/websockets/echoclient/main.cpp 2023-05-16 11:46:05.000000000 +0200 @@ -7,19 +7,41 @@ int main(int argc, char *argv[]) { + using namespace Qt::Literals::StringLiterals; QCoreApplication a(argc, argv); QCommandLineParser parser; parser.setApplicationDescription("QtWebSockets example: echoclient"); parser.addHelpOption(); - QCommandLineOption dbgOption(QStringList() << "d" << "debug", + QCommandLineOption dbgOption( + QStringList{ u"d"_s, u"debug"_s }, QCoreApplication::translate("main", "Debug output [default: off].")); parser.addOption(dbgOption); + QCommandLineOption hostnameOption( + QStringList{ u"n"_s, u"hostname"_s }, + QCoreApplication::translate("main", "Hostname [default: localhost]."), "hostname", + "localhost"); + parser.addOption(hostnameOption); + QCommandLineOption portOption(QStringList{ u"p"_s, u"port"_s }, + QCoreApplication::translate("main", "Port [default: 1234]."), + "port", "1234"); + parser.addOption(portOption); + parser.process(a); bool debug = parser.isSet(dbgOption); - - EchoClient client(QUrl(QStringLiteral("ws://localhost:1234")), debug); + bool ok = true; + int port = parser.value(portOption).toInt(&ok); + if (!ok || port < 1 || port > 65535) { + qWarning("Port invalid, must be a number between 1 and 65535\n%s", + qPrintable(parser.helpText())); + return 1; + } + QUrl url; + url.setScheme(u"ws"_s); + url.setHost(parser.value(hostnameOption)); + url.setPort(port); + EchoClient client(url, debug); QObject::connect(&client, &EchoClient::closed, &a, &QCoreApplication::quit); return a.exec(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwebsockets-everywhere-src-6.5.0/examples/websockets/sslechoclient/CMakeLists.txt new/qtwebsockets-everywhere-src-6.5.1/examples/websockets/sslechoclient/CMakeLists.txt --- old/qtwebsockets-everywhere-src-6.5.0/examples/websockets/sslechoclient/CMakeLists.txt 2023-03-28 16:23:33.000000000 +0200 +++ new/qtwebsockets-everywhere-src-6.5.1/examples/websockets/sslechoclient/CMakeLists.txt 2023-05-16 11:46:05.000000000 +0200 @@ -19,6 +19,11 @@ sslechoclient.cpp sslechoclient.h ) +qt_add_resources(sslechoclient "cert" + BASE ../sslechoserver + FILES ../sslechoserver/localhost.cert +) + set_target_properties(sslechoclient PROPERTIES WIN32_EXECUTABLE FALSE MACOSX_BUNDLE FALSE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwebsockets-everywhere-src-6.5.0/examples/websockets/sslechoclient/main.cpp new/qtwebsockets-everywhere-src-6.5.1/examples/websockets/sslechoclient/main.cpp --- old/qtwebsockets-everywhere-src-6.5.0/examples/websockets/sslechoclient/main.cpp 2023-03-28 16:23:33.000000000 +0200 +++ new/qtwebsockets-everywhere-src-6.5.1/examples/websockets/sslechoclient/main.cpp 2023-05-16 11:46:05.000000000 +0200 @@ -1,13 +1,42 @@ // Copyright (C) 2016 Kurt Pattyn <[email protected]>. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause #include <QtCore/QCoreApplication> +#include <QtCore/QCommandLineParser> +#include <QtCore/QCommandLineOption> #include "sslechoclient.h" int main(int argc, char *argv[]) { + using namespace Qt::Literals::StringLiterals; QCoreApplication a(argc, argv); - SslEchoClient client(QUrl(QStringLiteral("wss://localhost:1234"))); + QCommandLineParser parser; + parser.setApplicationDescription("QtWebSockets example: sslechoclient"); + parser.addHelpOption(); + + QCommandLineOption hostnameOption( + QStringList{ u"n"_s, u"hostname"_s }, + QCoreApplication::translate("main", "Hostname [default: localhost]."), "hostname", + "localhost"); + parser.addOption(hostnameOption); + QCommandLineOption portOption(QStringList{ u"p"_s, u"port"_s }, + QCoreApplication::translate("main", "Port [default: 1234]."), + "port", "1234"); + parser.addOption(portOption); + + parser.process(a); + bool ok = true; + int port = parser.value(portOption).toInt(&ok); + if (!ok || port < 1 || port > 65535) { + qWarning("Port invalid, must be a number between 1 and 65535\n%s", + qPrintable(parser.helpText())); + return 1; + } + QUrl url; + url.setScheme(u"wss"_s); + url.setHost(parser.value(hostnameOption)); + url.setPort(port); + SslEchoClient client(url); Q_UNUSED(client); return a.exec(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwebsockets-everywhere-src-6.5.0/examples/websockets/sslechoclient/sslechoclient.cpp new/qtwebsockets-everywhere-src-6.5.1/examples/websockets/sslechoclient/sslechoclient.cpp --- old/qtwebsockets-everywhere-src-6.5.0/examples/websockets/sslechoclient/sslechoclient.cpp 2023-03-28 16:23:33.000000000 +0200 +++ new/qtwebsockets-everywhere-src-6.5.1/examples/websockets/sslechoclient/sslechoclient.cpp 2023-05-16 11:46:05.000000000 +0200 @@ -1,9 +1,10 @@ // Copyright (C) 2016 Kurt Pattyn <[email protected]>. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause #include "sslechoclient.h" +#include <QtCore/QCoreApplication> #include <QtCore/QDebug> +#include <QtCore/QFile> #include <QtWebSockets/QWebSocket> -#include <QCoreApplication> QT_USE_NAMESPACE @@ -14,6 +15,15 @@ connect(&m_webSocket, &QWebSocket::connected, this, &SslEchoClient::onConnected); connect(&m_webSocket, QOverload<const QList<QSslError>&>::of(&QWebSocket::sslErrors), this, &SslEchoClient::onSslErrors); + + QSslConfiguration sslConfiguration; + QFile certFile(QStringLiteral(":/localhost.cert")); + certFile.open(QIODevice::ReadOnly); + QSslCertificate certificate(&certFile, QSsl::Pem); + certFile.close(); + sslConfiguration.addCaCertificate(certificate); + m_webSocket.setSslConfiguration(sslConfiguration); + m_webSocket.open(QUrl(url)); } //! [constructor] @@ -37,12 +47,8 @@ void SslEchoClient::onSslErrors(const QList<QSslError> &errors) { - Q_UNUSED(errors); + qWarning() << "SSL errors:" << errors; - // WARNING: Never ignore SSL errors in production code. - // The proper way to handle self-signed certificates is to add a custom root - // to the CA store. - - m_webSocket.ignoreSslErrors(); + qApp->quit(); } //! [onTextMessageReceived] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwebsockets-everywhere-src-6.5.0/examples/websockets/sslechoclient/sslechoclient.pro new/qtwebsockets-everywhere-src-6.5.1/examples/websockets/sslechoclient/sslechoclient.pro --- old/qtwebsockets-everywhere-src-6.5.0/examples/websockets/sslechoclient/sslechoclient.pro 2023-03-28 16:23:33.000000000 +0200 +++ new/qtwebsockets-everywhere-src-6.5.1/examples/websockets/sslechoclient/sslechoclient.pro 2023-05-16 11:46:05.000000000 +0200 @@ -13,5 +13,10 @@ HEADERS += \ sslechoclient.h +resources.files = ../sslechoserver/localhost.cert +resources.prefix = / + +RESOURCES += resources + target.path = $$[QT_INSTALL_EXAMPLES]/websockets/sslechoclient INSTALLS += target diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwebsockets-everywhere-src-6.5.0/src/websockets/qwebsocket_wasm_p.cpp new/qtwebsockets-everywhere-src-6.5.1/src/websockets/qwebsocket_wasm_p.cpp --- old/qtwebsockets-everywhere-src-6.5.0/src/websockets/qwebsocket_wasm_p.cpp 2023-03-28 16:23:33.000000000 +0200 +++ new/qtwebsockets-everywhere-src-6.5.1/src/websockets/qwebsocket_wasm_p.cpp 2023-05-16 11:46:05.000000000 +0200 @@ -263,6 +263,8 @@ emscripten_websocket_get_ready_state(m_socketContext, &m_readyState); if (m_readyState == 3) { // closed + setSocketState(QAbstractSocket::UnconnectedState); + emit q->disconnected(); emscripten_websocket_delete(emCloseEvent->socket); m_socketContext = 0; }
