Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package qt6-remoteobjects for
openSUSE:Factory checked in at 2026-08-21 16:51:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt6-remoteobjects (Old)
and /work/SRC/openSUSE:Factory/.qt6-remoteobjects.new.1258 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-remoteobjects"
Fri Aug 21 16:51:12 2026 rev:38 rq:1372257 version:6.11.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/qt6-remoteobjects/qt6-remoteobjects.changes
2026-05-28 17:25:53.925134997 +0200
+++
/work/SRC/openSUSE:Factory/.qt6-remoteobjects.new.1258/qt6-remoteobjects.changes
2026-08-21 16:52:06.834394901 +0200
@@ -1,0 +2,6 @@
+Tue Aug 18 11:49:11 UTC 2026 - Christophe Marin <[email protected]>
+
+- Update to 6.11.2
+ https://www.qt.io/blog/qt-6.11.2-released
+
+-------------------------------------------------------------------
Old:
----
qtremoteobjects-everywhere-src-6.11.1.tar.xz
New:
----
qtremoteobjects-everywhere-src-6.11.2.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qt6-remoteobjects.spec ++++++
--- /var/tmp/diff_new_pack.Q4lAMb/_old 2026-08-21 16:52:07.522419366 +0200
+++ /var/tmp/diff_new_pack.Q4lAMb/_new 2026-08-21 16:52:07.525419473 +0200
@@ -16,7 +16,7 @@
#
-%define real_version 6.11.1
+%define real_version 6.11.2
%define short_version 6.11
%define tar_name qtremoteobjects-everywhere-src
%define tar_suffix %{nil}
@@ -30,7 +30,7 @@
%global __requires_exclude qt6qmlimport\\(TimeExample\\)
#
Name: qt6-remoteobjects%{?pkg_suffix}
-Version: 6.11.1
+Version: 6.11.2
Release: 0
Summary: Qt6 RemoteObjects Library
License: GPL-2.0-only OR GPL-3.0-or-later OR LGPL-3.0-only
++++++ qtremoteobjects-everywhere-src-6.11.1.tar.xz ->
qtremoteobjects-everywhere-src-6.11.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/qtremoteobjects-everywhere-src-6.11.1/.cmake.conf
new/qtremoteobjects-everywhere-src-6.11.2/.cmake.conf
--- old/qtremoteobjects-everywhere-src-6.11.1/.cmake.conf 2026-05-08
03:19:14.000000000 +0200
+++ new/qtremoteobjects-everywhere-src-6.11.2/.cmake.conf 2026-08-12
03:33:55.000000000 +0200
@@ -1,8 +1,9 @@
-set(QT_REPO_MODULE_VERSION "6.11.1")
+set(QT_REPO_MODULE_VERSION "6.11.2")
set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "alpha1")
set(QT_EXTRA_INTERNAL_TARGET_DEFINES
"QT_NO_CONTEXTLESS_CONNECT=1"
"QT_NO_FOREACH=1"
"QT_NO_QASCONST=1"
+ "QT_NO_SINGLE_ARGUMENT_QHASH_OVERLOAD=1"
"QT_NO_URL_CAST_FROM_STRING=1"
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/qtremoteobjects-everywhere-src-6.11.1/.tag
new/qtremoteobjects-everywhere-src-6.11.2/.tag
--- old/qtremoteobjects-everywhere-src-6.11.1/.tag 2026-05-08
03:19:14.000000000 +0200
+++ new/qtremoteobjects-everywhere-src-6.11.2/.tag 2026-08-12
03:33:55.000000000 +0200
@@ -1 +1 @@
-e5acd828cb0c8dfe833d66ffb952de088213b6c6
+7271905e6e7b5ccefec0d41750b0dfe652f356e1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/dependencies.yaml
new/qtremoteobjects-everywhere-src-6.11.2/dependencies.yaml
--- old/qtremoteobjects-everywhere-src-6.11.1/dependencies.yaml 2026-05-08
03:19:14.000000000 +0200
+++ new/qtremoteobjects-everywhere-src-6.11.2/dependencies.yaml 2026-08-12
03:33:55.000000000 +0200
@@ -1,7 +1,7 @@
dependencies:
../qtbase:
- ref: 59c81a3c2247b821b9b84b4eb8d939b77e07e276
+ ref: ef55f427f2c8b410d34f8a7681020a3000cf6866
required: true
../qtdeclarative:
- ref: a02bed441965ee1f18f856352c7d5ee5ba35d795
+ ref: 4e3399c26ec57246c08de019cfcbda8d23604cfa
required: false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/common/cert/cert.qrc
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/common/cert/cert.qrc
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/common/cert/cert.qrc
2026-05-08 03:19:14.000000000 +0200
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/common/cert/cert.qrc
1970-01-01 01:00:00.000000000 +0100
@@ -1,11 +0,0 @@
-<RCC>
- <qresource prefix="/sslcert">
- <file>client.crt</file>
- <file>client.key</file>
- <file>rootCA.key</file>
- <file>rootCA.pem</file>
- <file>rootCA.srl</file>
- <file>server.crt</file>
- <file>server.key</file>
- </qresource>
-</RCC>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/common/cert/client.crt
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/common/cert/client.crt
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/common/cert/client.crt
2026-05-08 03:19:14.000000000 +0200
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/common/cert/client.crt
1970-01-01 01:00:00.000000000 +0100
@@ -1,18 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIC9jCCAd6gAwIBAgIUc5CCC9R/WjxzmLfI3KIYs1wsLi0wDQYJKoZIhvcNAQEL
-BQAwEjEQMA4GA1UEAwwHUXRSTyBDQTAeFw0yNTA5MDMxMDQ4NTBaFw0yNzEyMDcx
-MDQ4NTBaMBQxEjAQBgNVBAMMCTEyNy4wLjAuMTCCASIwDQYJKoZIhvcNAQEBBQAD
-ggEPADCCAQoCggEBAKLVgG77bekyLvR6dO8ircufMmC8CFM2+wSPsmcGST+P2uru
-YjbCLCpsA6ogpaRS5w7G8FMHEaXBi6cxqeToKSekd37gq4wB2GiodiLcOEQe7NrL
-q7ZjwI+HjVSBL2d52kcrOm3HW8ARuPyIrXja6RA4lYsF8OYjeCEbLdvo8NvaC3p5
-gz7/mejL5jEfVbZbYA5gVadq+ox+x/+w4zB7IJte9RcIhRSb+a0god+X4FUUkTjE
-6NdKRZJ5wxC3MicMfkiAu9vMzpFk20SLhfrWWDtG0FDM8M7eIcJ6WcZKjNuNxKQK
-MGzWWA1o6S2vBBIXn/cxJCLJBdYoxfVkrYTw6PcCAwEAAaNCMEAwHQYDVR0OBBYE
-FD7SSgWDYbmRA3+phMAdi/UkzG7xMB8GA1UdIwQYMBaAFFooAS3VPRDDEh5AgnZJ
-PmTWQOoOMA0GCSqGSIb3DQEBCwUAA4IBAQBiIAUJcoK19qzDumVXXIrClwtVRr6y
-zMvfVhmhKiPvGPToKr4es8Rmv4csbRFth1HRQ8vZTLwLW99M+gtOACuenhoxZN7+
-nGVLUh4LmB2K06PCEy/FqVGSrxvzheTKojTJL8+Zn1ABQECD9fi6DxbdYOmrBX7W
-LcRh4tJ8KCwqwkqEoQXnbYGAR+di9PAdZ+siowDGYX+Ptx8WTu5MnBkDcl4Q92DP
-6y3r6xvlcVwHLyB4D3lV3wiSFS+8dj3eo18h/ELUdqF/htVd1RVdLgLQBRkgY1o3
-8BbfZxTyhwFTSvKCASFtWPg+QgWPsbXAs8v0UmKiCB93FxHBK9hBxoMh
------END CERTIFICATE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/common/cert/client.key
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/common/cert/client.key
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/common/cert/client.key
2026-05-08 03:19:14.000000000 +0200
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/common/cert/client.key
1970-01-01 01:00:00.000000000 +0100
@@ -1,28 +0,0 @@
------BEGIN PRIVATE KEY-----
-MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCi1YBu+23pMi70
-enTvIq3LnzJgvAhTNvsEj7JnBkk/j9rq7mI2wiwqbAOqIKWkUucOxvBTBxGlwYun
-Mank6CknpHd+4KuMAdhoqHYi3DhEHuzay6u2Y8CPh41UgS9nedpHKzptx1vAEbj8
-iK142ukQOJWLBfDmI3ghGy3b6PDb2gt6eYM+/5noy+YxH1W2W2AOYFWnavqMfsf/
-sOMweyCbXvUXCIUUm/mtIKHfl+BVFJE4xOjXSkWSecMQtzInDH5IgLvbzM6RZNtE
-i4X61lg7RtBQzPDO3iHCelnGSozbjcSkCjBs1lgNaOktrwQSF5/3MSQiyQXWKMX1
-ZK2E8Oj3AgMBAAECggEAURbKdTo/k2Q6zuPWrKnT67WVNGgfKzWTjsNyn+yY+I7O
-gbUB8uwCa4PL1WKZqnngd9LpJie8iZOXVMUeKpDUwdmc6nG+7COVHhVac2TAnmfa
-IuFPWy5U3AUwg/crYLflVBC6caXYUo9g1F3KKYe2ja3oBsoIG8tpDO+IiF156Llj
-Jsk6aGVS1b+raz0FeVdxOYiywepqxqtbT1dbLqv1G6Ze8P3wj2mGChsBK4nYDrDa
-BSQ2qGjIcj2ksTboWCgTYrTVdVoytyIP2whVoFY3qJCZzVaYP4nzCCh3cBt6xcN0
-OQmd/PM/6fOTTDiTo8l/DxkbQXYOjWICIiVKitp+oQKBgQDOHHkFaBy4VSqbICvc
-nDiELfMS2nxIgX65Q1hfiGgY8iNpW72B8Yhtb+/p7v0OjNGh8NMtLwt98sOSoXql
-sDiwR0EqdxOOJCC/32PS33TibFZVI/us/I4AdrOGd5Xzxe0JmuXuYmByuvIPlwsV
-8HwmTZwqKIMBmiEH4SJcBJ564QKBgQDKP2NH8USFbNBoIf8aoFnpTUQ7EMIGxN6+
-jZMh1IRolJZg3YdsGDM03Cnzb6RNVR7Tw7Bk7ud9PD3R6GjV2BXhzgaBcPaDOjsf
-L9yRmp59hEtGuAyCg3O3txgUl6Ct3HyS6vGN5kI6g5VVaECGSTHfev7I+MresZVj
-kPaVUbR21wKBgBtsjm25vJiKPHEHhs6DusFbm8wWZhL/p+zemROdArzO+wc5va1c
-hdqJ2lI2ClW1Ru9VK8QHTnAjrQIFmlwRZnmOAY206lUvWWwuPQoB0XuPDq2lbAdI
-U1ycbqalor4cx71PbuiZDlw1o5+PaVox9VLjYLP7T/MWnu59diToOG4BAoGBAJOa
-i4S36sBN2BQHq7ztBnGkuIU7B8AU8lOz04u/JBuHRfDP/MPBLa4IeH14HztpQiRf
-D1+6lCvsSVnm+owHNoEj8c+Kd/7yArASKDID3GPSp3WnYUnnUg7ki6iLuPLqlehL
-m5tqTy+RVO2ONnlK9iEaDNTz7mt0w4h1BeGYTdLlAoGABW3xJ6cVbXYkQmigfl5u
-eueOdMFkUm4fiUOf2Gs4TtQWQOO6OCIzVDUyQKzfNiUukOxwHoZ9oAiJW65G5TFQ
-5mX59bkH8kJPNqBAdAY3WeSRTjqK8NTrXhkFvw3UbNmBWmO8+VCdlNozYBFdmQxZ
-xJs+Z+AYZAhH77dInNIryuU=
------END PRIVATE KEY-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/common/cert/readme
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/common/cert/readme
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/common/cert/readme
2026-05-08 03:19:14.000000000 +0200
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/common/cert/readme
1970-01-01 01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-These files are generated by the script located at
tests/auto/external_IODevice/cert/generate.sh
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/common/cert/rootCA.key
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/common/cert/rootCA.key
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/common/cert/rootCA.key
2026-05-08 03:19:14.000000000 +0200
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/common/cert/rootCA.key
1970-01-01 01:00:00.000000000 +0100
@@ -1,28 +0,0 @@
------BEGIN PRIVATE KEY-----
-MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDZK48/hEAdPMFS
-8KFOEhlAEBQiJ6JdVoQ4ihM4yWDmaToLzckQW3TSTZWrALksZ+EXon+tF32N6syR
-vDfjmBckOJ5+h3byKBt5yxzeDbdgUeJQ0iWCTAfVCJTJyofv8UhBfCM3yf32l/Li
-4pko9/VEJ6Eruv1XVjQtVUhpNqRHSS1vnfhKR6OyujUKKguVmissjDTc8IWR4esP
-a6mWiKjFEEv4hT/YmHzD7SLseubxmqUwhBU+Q+6914ba9Q3fisI84sdgDHA3fZQ0
-b1hETbjmt3Q1VP3GlMoQ4puu43LuOtTx8OGZYAkivoDuzjkXtBK24jEijHGLcQX2
-k57YhpTVAgMBAAECggEADCtpORV3pEvJx5SNbXsNKC5eenV/HzzgZuyx3A5I3FCM
-PKoY+M4vMzO+zdjaB5eAoRrtja0Rz5iXQxlphlr4/QIhO5TqwPInbAFKSlU5b+/W
-v1GvYWhSTglPkSlEydjbBDRpItCyZxWnujgZfha7C0kvOmydkr3Vaa7sQl0aApaI
-M6XdrlspGb22Xez+4bJhXKPZDhmj+NA/B9XquTazEd5bRjGyDJ+IOWfJYPfHZzZr
-afGTkvLh+Q1JzBAXqzahhzfyZzv+fCkDdQc23rGrWjD2AsspjTlqDlODBlXFpLpT
-x2INSP/NyuBEOM/PX+rLuriwkCZeGgV6Xe3gGuAOJwKBgQD9JDofiERPmpeAIRvg
-kKpiUO6OhdMkYyWXLQvNODpmaeHM+efWyThSWJq1DAbLIUqiZOTVXrqpnjIEU3HT
-Ok0OY3YJDSsQJ7XOXa0L/HzNC3FvZfJi8F9zzP1B0Y2kMvgLTxWxgQk3zWRrxjbi
-YTU83+ftR2pOfbAiuNxhbWI9JwKBgQDbn1kE5uYxoYG+ur6TZHyxm+xwtEPRcwiZ
-KuiWaHQXKvMGm0i74oxV/ZoadEqtOUTrLJXoUa9V7XlTc9P4BNLb+fHpJXA5m3lP
-H9619pHMUt6PIF96kfegYdSYyT0h9kUoP8dy8Nf/9H1QFzJsp6LLRyRrCuwqfDvk
-2c7wIWpTowKBgBmQAPaSMiO/vrDHpyMEONB4z75AsVOpV3BushRlKzCQXKbwTYMZ
-CsD2BZlmv4DfucOwYJNTX5IlUXOyYXotFv7u+Epts/2LpQZT21eshYXHNAtFxjZL
-g7gT6TcuTBlatEWgFNa56w5hhVSEzaIKou+kxKznW0rV0mWPOWH1Q8hdAoGBAMj8
-ozLhPHjfHSW3MQEiTRsdXtwlnIrpg0zo/8HmBZfOLmo1YfLP+S4Y0Ba1pkGwz2mJ
-fAcH+jXhBc9hiPLJN08pBkIfiPyvU+0ddWuBIxyiGhtRvQ8m1j9oSG8qe0/BWLjk
-5VpDHumWjbfmArd9EnaFvMZZUJfw6b8dtUv8yJmRAoGAXEZRzEMJ1RBNyu7JBDM3
-0BA7X2Y6jQ8bnQkKmamxdxcDUx13Bw5f3N/SkZCLqKW4GF7/D1LmxDCxHQukznZZ
-3Jo4+hbQGXM43PAQ3bNraZgbBXX1bp3NMWA6wy5gKE/AxOTp/ntWQVA7DjL+bBDp
-aUH/mgKoWyGyJTtgXF0BHD4=
------END PRIVATE KEY-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/common/cert/rootCA.pem
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/common/cert/rootCA.pem
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/common/cert/rootCA.pem
2026-05-08 03:19:14.000000000 +0200
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/common/cert/rootCA.pem
1970-01-01 01:00:00.000000000 +0100
@@ -1,19 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIDBTCCAe2gAwIBAgIUTCSzaGDZAKIYI33B9kBVGElER2owDQYJKoZIhvcNAQEL
-BQAwEjEQMA4GA1UEAwwHUXRSTyBDQTAeFw0yNTA5MDMxMDQ4NDlaFw0yNzEyMTgx
-MDQ4NDlaMBIxEDAOBgNVBAMMB1F0Uk8gQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IB
-DwAwggEKAoIBAQDZK48/hEAdPMFS8KFOEhlAEBQiJ6JdVoQ4ihM4yWDmaToLzckQ
-W3TSTZWrALksZ+EXon+tF32N6syRvDfjmBckOJ5+h3byKBt5yxzeDbdgUeJQ0iWC
-TAfVCJTJyofv8UhBfCM3yf32l/Li4pko9/VEJ6Eruv1XVjQtVUhpNqRHSS1vnfhK
-R6OyujUKKguVmissjDTc8IWR4esPa6mWiKjFEEv4hT/YmHzD7SLseubxmqUwhBU+
-Q+6914ba9Q3fisI84sdgDHA3fZQ0b1hETbjmt3Q1VP3GlMoQ4puu43LuOtTx8OGZ
-YAkivoDuzjkXtBK24jEijHGLcQX2k57YhpTVAgMBAAGjUzBRMB0GA1UdDgQWBBRa
-KAEt1T0QwxIeQIJ2ST5k1kDqDjAfBgNVHSMEGDAWgBRaKAEt1T0QwxIeQIJ2ST5k
-1kDqDjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQDGKjCW69Dj
-mtTGszNJLicGOQKhHk9Vli6UdQ2DW442qEzXtvpv05cu2l99jdXwBP5BJo9MZnXR
-jduv693t4B6ujUy+XXHFzPGECTaQuBQeOHvwWLfsjE/ITtyyWKYnpY7ozXs3yzJq
-Ipl7xtXnVcEkaQkmphr27iJx66XznsReRYhRuJdy83XL9UXG/WALFqEz4OCUB+q7
-ON/szYNRp5C35DufgER8AD771DE/JBOpAxI1h80oTj9q+/1i12E6kJvnZ0gkN88b
-Bsb1stgtuSWVebvRCjSyQKZYy9liQbM5RyUHqjI5MudQQ3nleaGvJSowSDh60W5m
-cUtelIfR+X8U
------END CERTIFICATE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/common/cert/rootCA.srl
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/common/cert/rootCA.srl
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/common/cert/rootCA.srl
2026-05-08 03:19:14.000000000 +0200
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/common/cert/rootCA.srl
1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-7390820BD47F5A3C7398B7C8DCA218B35C2C2E2D
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/common/cert/server.crt
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/common/cert/server.crt
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/common/cert/server.crt
2026-05-08 03:19:14.000000000 +0200
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/common/cert/server.crt
1970-01-01 01:00:00.000000000 +0100
@@ -1,20 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIDNTCCAh2gAwIBAgIUc5CCC9R/WjxzmLfI3KIYs1wsLiwwDQYJKoZIhvcNAQEL
-BQAwEjEQMA4GA1UEAwwHUXRSTyBDQTAeFw0yNTA5MDMxMDQ4NTBaFw0yNzEyMDcx
-MDQ4NTBaMBQxEjAQBgNVBAMMCTEyNy4wLjAuMTCCASIwDQYJKoZIhvcNAQEBBQAD
-ggEPADCCAQoCggEBAL3xQANW6gjSqXHrb1MjziDPFIlbbMPHteRYryZX5xM7fmcX
-TrF4j3JPHyycl/fpq/5xPIagCkaLh2oC/EvPp/w+9p5E2Oe2M/nK5EGyCiGCWS2v
-fjcsxeVCTw8h+GqxveghWJzGAWFgfnCyKvXvWORwvSYVNpfKir2g9/YMp1aB9gsF
-4A5FgTWxZDfIYle5O1IQ5khKdufTJwKrxecUYkQRc3T2FqIaUpIvhHHFqIlYyJ+n
-WiG/QRB3AI8rEnbUArRyV/ygU76U6AaPW+S3InqtrlfUkE6nHmCLAVatN3TzQIF6
-RM/a5PpNdbJZ/pn7c6T8aWh0QCMI4d4s34Z9P3MCAwEAAaOBgDB+MB8GA1UdIwQY
-MBaAFFooAS3VPRDDEh5AgnZJPmTWQOoOMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgTw
-MBMGA1UdJQQMMAoGCCsGAQUFBwMBMA8GA1UdEQQIMAaHBH8AAAEwHQYDVR0OBBYE
-FE7IUaR0Vdi87Q5tPilRuzSGu4uqMA0GCSqGSIb3DQEBCwUAA4IBAQAyapkYYgdo
-QGcvMcfXdJ/lrbi8EnqdqV5wI/PD1n7Cx4wNMsaA4y58JuPZydlCcGLk4N1FhFoG
-hVzkeFjSTmKqI4sTYJbDfPKWXGzVhuMTVLtWQew6H/x4OeJJ5nm53/U3JGOwyELN
-vo7SV3aODiAJRHQpKtzOwYsjIa2T+8lDiMstDetH5yMrYFW6aD+nAc+eM8eUFmIM
-45qhc59EFc7wH4IKRDH4w0M4gU//PDTIQsjyKR1Sm6nZGh4fei47zggQsKX5NZZj
-KZSLN4wbF5qHigoyhfuFdwWi5X3VoGcY6m6xAocNq1vqbmzpRo6+M/DfBM0XBbmd
-g5Zk6pJ2xiVz
------END CERTIFICATE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/common/cert/server.key
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/common/cert/server.key
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/common/cert/server.key
2026-05-08 03:19:14.000000000 +0200
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/common/cert/server.key
1970-01-01 01:00:00.000000000 +0100
@@ -1,28 +0,0 @@
------BEGIN PRIVATE KEY-----
-MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC98UADVuoI0qlx
-629TI84gzxSJW2zDx7XkWK8mV+cTO35nF06xeI9yTx8snJf36av+cTyGoApGi4dq
-AvxLz6f8PvaeRNjntjP5yuRBsgohglktr343LMXlQk8PIfhqsb3oIVicxgFhYH5w
-sir171jkcL0mFTaXyoq9oPf2DKdWgfYLBeAORYE1sWQ3yGJXuTtSEOZISnbn0ycC
-q8XnFGJEEXN09haiGlKSL4RxxaiJWMifp1ohv0EQdwCPKxJ21AK0clf8oFO+lOgG
-j1vktyJ6ra5X1JBOpx5giwFWrTd080CBekTP2uT6TXWyWf6Z+3Ok/GlodEAjCOHe
-LN+GfT9zAgMBAAECggEAP/MmuzkbCKdsl0dOLu7CKret0WUvpGbr7ZqSNdWonggM
-0ca+HvBZU4IiG9IJNFW/K6aSWz0s2H2HtQCWUyvyAfJs8/J4GON2cmaGHTxFPuz0
-+3W3h/oSEtMVbSHh0oJPTwVTIU1lD5T+XREPd8gC5L60YEsKG2b8+UVl1riB6pS2
-67hR631+eoc8QzGSWWl52vvMS2FlOHZu0dRcn5LgeO4PuNQiFHsqpTY4c/6QzwzD
-p7W2jJSFuwhv1wXyoGHmPtBXPh0jPQ2+Ctvw1VcancDdSfHC+AJBA3o/ZNxJBiAg
-3RTZiYqZx/p+6xDO/MuFHDgmjtxpXOW59RA1dWP2YQKBgQD+rK0G5MLXLkjGeewt
-25q5aSwMtcU32dd/oDYlc+zl6M8HqkoH7bRZ2w5aJiJgna4xyR/uH/CaKap7HtvV
-0pUYsWTZcNPAyUI7YLDLLzvyNS12BEGh5diAms70hIMcfLqBE6QpVaOyiB5nDMGl
-sPaX8k1vwMTrnG52GtMaKD21MQKBgQC+7lN+B6yGXSbA6gf/IIXSJ/GV9A0cgVi4
-9W690MEJ8F/2yTNH4lzoqk+Q2vs6Hllmt/n3Xi6k3WBGeAcBoSpER4tsNaM7U1W5
-gfYNLD2pyCJ/dggUG3QSyFSVjN5zEjJsvRIAcKRtS/Ok5iEK3hts47X8RuaQqtvS
-1qScJo2l4wKBgQDYrXOdTN7VE2UJsMwYDCKtI2U9/x0nsqkdxeKrpODmj1gtjl3k
-NwLd/HlOi+ltyFpfs13+TKB5mX+ZtxyU5NDDrJJASjVvbgxy1oY0qSBYp5PhOCfb
-JeI5MP1pnqCqiRhpH5vpKxrWl+c+B+VuIoz7pETsEte4GmUFCTeYpqox0QKBgDvR
-Bq9RUCe4P0/pAiBX3BT/FpzYHNN1YopvugYVxKSMfkQevMYkkN8DnHHRaSvIHlIk
-CVgKVaqpAGSTbf6As3E4yOFZ3I3VieHYaXGvDpKGdOhh3h4Oi8rmoDlKLNb4OHwA
-sAcbQyhKx0Y+ItP4ybbPkFA9Fjb0kHH5dRDGs1HpAoGBAMu56C/XK+xcSYxxMiUu
-4KM2h1CZVJoAmAcgM9hrE08/4PbWegNU1WkLolR6mZoR2/Z6fKeHyjSQcqhpV+gm
-ejObzHc+3MkEOA43R5GIEHgnYO1GpeoS0dxyhItt8K+2Exr3hqUF/sr+ouVlbADr
-9erdDgzkTU69hT6GizjQAYBV
------END PRIVATE KEY-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/common/common.pri
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/common/common.pri
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/common/common.pri
2026-05-08 03:19:14.000000000 +0200
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/common/common.pri
1970-01-01 01:00:00.000000000 +0100
@@ -1,11 +0,0 @@
-CONFIG -= app_bundle
-
-INCLUDEPATH += $$PWD
-
-HEADERS += \
- $$PWD/websocketiodevice.h
-
-SOURCES += \
- $$PWD/websocketiodevice.cpp
-
-RESOURCES += $$PWD/cert/cert.qrc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/common/websocketiodevice.cpp
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/common/websocketiodevice.cpp
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/common/websocketiodevice.cpp
2026-05-08 03:19:14.000000000 +0200
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/common/websocketiodevice.cpp
1970-01-01 01:00:00.000000000 +0100
@@ -1,50 +0,0 @@
-// Copyright (C) 2019 Ford Motor Company
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
-
-#include "websocketiodevice.h"
-
-WebSocketIoDevice::WebSocketIoDevice(QWebSocket *webSocket, QObject *parent)
- : QIODevice(parent)
- , m_socket(webSocket)
-{
- open(QIODevice::ReadWrite);
- connect(webSocket, &QWebSocket::disconnected, this,
&WebSocketIoDevice::disconnected);
- connect(webSocket, &QWebSocket::binaryMessageReceived, this, [this](const
QByteArray &message){
- m_buffer.append(message);
- emit readyRead();
- });
- connect(webSocket, &QWebSocket::bytesWritten, this,
&WebSocketIoDevice::bytesWritten);
-}
-
-qint64 WebSocketIoDevice::bytesAvailable() const
-{
- return QIODevice::bytesAvailable() + m_buffer.size();
-}
-
-bool WebSocketIoDevice::isSequential() const
-{
- return true;
-}
-
-void WebSocketIoDevice::close()
-{
- if (m_socket)
- m_socket->close();
-}
-
-qint64 WebSocketIoDevice::readData(char *data, qint64 maxlen)
-{
- auto sz = std::min(maxlen, qint64(m_buffer.size()));
- if (sz <= 0)
- return sz;
- memcpy(data, m_buffer.constData(), size_t(sz));
- m_buffer.remove(0, sz);
- return sz;
-}
-
-qint64 WebSocketIoDevice::writeData(const char *data, qint64 len)
-{
- if (m_socket)
- return m_socket->sendBinaryMessage(QByteArray{data, int(len)});
- return -1;
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/common/websocketiodevice.h
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/common/websocketiodevice.h
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/common/websocketiodevice.h
2026-05-08 03:19:14.000000000 +0200
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/common/websocketiodevice.h
1970-01-01 01:00:00.000000000 +0100
@@ -1,36 +0,0 @@
-// Copyright (C) 2019 Ford Motor Company
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
-
-#ifndef WEBSOCKETIODEVICE_H
-#define WEBSOCKETIODEVICE_H
-
-#include <QBuffer>
-#include <QIODevice>
-#include <QPointer>
-#include <QWebSocket>
-
-class WebSocketIoDevice : public QIODevice
-{
- Q_OBJECT
-public:
- WebSocketIoDevice(QWebSocket *webSocket, QObject *parent = nullptr);
-
-signals:
- void disconnected();
-
- // QIODevice interface
-public:
- qint64 bytesAvailable() const override;
- bool isSequential() const override;
- void close() override;
-
-protected:
- qint64 readData(char *data, qint64 maxlen) override;
- qint64 writeData(const char *data, qint64 len) override;
-
-private:
- QPointer<QWebSocket> m_socket;
- QByteArray m_buffer;
-};
-
-#endif // WEBSOCKETIODEVICE_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsclient/CMakeLists.txt
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsclient/CMakeLists.txt
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsclient/CMakeLists.txt
2026-05-08 03:19:14.000000000 +0200
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsclient/CMakeLists.txt
2026-08-12 03:33:55.000000000 +0200
@@ -15,7 +15,7 @@
find_package(Qt6 REQUIRED COMPONENTS Core Gui RemoteObjects WebSockets Widgets)
qt_add_executable(wsclient
- ../common/websocketiodevice.cpp ../common/websocketiodevice.h
+ websocketiodevice.cpp websocketiodevice.h
main.cpp
)
@@ -24,10 +24,6 @@
MACOSX_BUNDLE FALSE
)
-target_include_directories(wsclient PUBLIC
- ../common
-)
-
target_link_libraries(wsclient PUBLIC
Qt::Core
Qt::Gui
@@ -37,23 +33,21 @@
)
# Resources:
-set(cert_resource_files
- "../common/cert/client.crt"
- "../common/cert/client.key"
- "../common/cert/rootCA.key"
- "../common/cert/rootCA.pem"
- "../common/cert/rootCA.srl"
- "../common/cert/server.crt"
- "../common/cert/server.key"
+set(sslcert_resource_files
+ "sslcert/client.crt"
+ "sslcert/client.key"
+ "sslcert/rootCA.key"
+ "sslcert/rootCA.pem"
+ "sslcert/rootCA.srl"
+ "sslcert/server.crt"
+ "sslcert/server.key"
)
-qt6_add_resources(wsclient "cert"
+qt6_add_resources(wsclient "sslcert"
PREFIX
- "/sslcert"
- BASE
- "../common/cert"
+ "/"
FILES
- ${cert_resource_files}
+ ${sslcert_resource_files}
)
install(TARGETS wsclient
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsclient/sslcert/client.crt
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsclient/sslcert/client.crt
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsclient/sslcert/client.crt
1970-01-01 01:00:00.000000000 +0100
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsclient/sslcert/client.crt
2026-08-12 03:33:55.000000000 +0200
@@ -0,0 +1,18 @@
+-----BEGIN CERTIFICATE-----
+MIIC9jCCAd6gAwIBAgIUc5CCC9R/WjxzmLfI3KIYs1wsLi0wDQYJKoZIhvcNAQEL
+BQAwEjEQMA4GA1UEAwwHUXRSTyBDQTAeFw0yNTA5MDMxMDQ4NTBaFw0yNzEyMDcx
+MDQ4NTBaMBQxEjAQBgNVBAMMCTEyNy4wLjAuMTCCASIwDQYJKoZIhvcNAQEBBQAD
+ggEPADCCAQoCggEBAKLVgG77bekyLvR6dO8ircufMmC8CFM2+wSPsmcGST+P2uru
+YjbCLCpsA6ogpaRS5w7G8FMHEaXBi6cxqeToKSekd37gq4wB2GiodiLcOEQe7NrL
+q7ZjwI+HjVSBL2d52kcrOm3HW8ARuPyIrXja6RA4lYsF8OYjeCEbLdvo8NvaC3p5
+gz7/mejL5jEfVbZbYA5gVadq+ox+x/+w4zB7IJte9RcIhRSb+a0god+X4FUUkTjE
+6NdKRZJ5wxC3MicMfkiAu9vMzpFk20SLhfrWWDtG0FDM8M7eIcJ6WcZKjNuNxKQK
+MGzWWA1o6S2vBBIXn/cxJCLJBdYoxfVkrYTw6PcCAwEAAaNCMEAwHQYDVR0OBBYE
+FD7SSgWDYbmRA3+phMAdi/UkzG7xMB8GA1UdIwQYMBaAFFooAS3VPRDDEh5AgnZJ
+PmTWQOoOMA0GCSqGSIb3DQEBCwUAA4IBAQBiIAUJcoK19qzDumVXXIrClwtVRr6y
+zMvfVhmhKiPvGPToKr4es8Rmv4csbRFth1HRQ8vZTLwLW99M+gtOACuenhoxZN7+
+nGVLUh4LmB2K06PCEy/FqVGSrxvzheTKojTJL8+Zn1ABQECD9fi6DxbdYOmrBX7W
+LcRh4tJ8KCwqwkqEoQXnbYGAR+di9PAdZ+siowDGYX+Ptx8WTu5MnBkDcl4Q92DP
+6y3r6xvlcVwHLyB4D3lV3wiSFS+8dj3eo18h/ELUdqF/htVd1RVdLgLQBRkgY1o3
+8BbfZxTyhwFTSvKCASFtWPg+QgWPsbXAs8v0UmKiCB93FxHBK9hBxoMh
+-----END CERTIFICATE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsclient/sslcert/client.key
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsclient/sslcert/client.key
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsclient/sslcert/client.key
1970-01-01 01:00:00.000000000 +0100
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsclient/sslcert/client.key
2026-08-12 03:33:55.000000000 +0200
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCi1YBu+23pMi70
+enTvIq3LnzJgvAhTNvsEj7JnBkk/j9rq7mI2wiwqbAOqIKWkUucOxvBTBxGlwYun
+Mank6CknpHd+4KuMAdhoqHYi3DhEHuzay6u2Y8CPh41UgS9nedpHKzptx1vAEbj8
+iK142ukQOJWLBfDmI3ghGy3b6PDb2gt6eYM+/5noy+YxH1W2W2AOYFWnavqMfsf/
+sOMweyCbXvUXCIUUm/mtIKHfl+BVFJE4xOjXSkWSecMQtzInDH5IgLvbzM6RZNtE
+i4X61lg7RtBQzPDO3iHCelnGSozbjcSkCjBs1lgNaOktrwQSF5/3MSQiyQXWKMX1
+ZK2E8Oj3AgMBAAECggEAURbKdTo/k2Q6zuPWrKnT67WVNGgfKzWTjsNyn+yY+I7O
+gbUB8uwCa4PL1WKZqnngd9LpJie8iZOXVMUeKpDUwdmc6nG+7COVHhVac2TAnmfa
+IuFPWy5U3AUwg/crYLflVBC6caXYUo9g1F3KKYe2ja3oBsoIG8tpDO+IiF156Llj
+Jsk6aGVS1b+raz0FeVdxOYiywepqxqtbT1dbLqv1G6Ze8P3wj2mGChsBK4nYDrDa
+BSQ2qGjIcj2ksTboWCgTYrTVdVoytyIP2whVoFY3qJCZzVaYP4nzCCh3cBt6xcN0
+OQmd/PM/6fOTTDiTo8l/DxkbQXYOjWICIiVKitp+oQKBgQDOHHkFaBy4VSqbICvc
+nDiELfMS2nxIgX65Q1hfiGgY8iNpW72B8Yhtb+/p7v0OjNGh8NMtLwt98sOSoXql
+sDiwR0EqdxOOJCC/32PS33TibFZVI/us/I4AdrOGd5Xzxe0JmuXuYmByuvIPlwsV
+8HwmTZwqKIMBmiEH4SJcBJ564QKBgQDKP2NH8USFbNBoIf8aoFnpTUQ7EMIGxN6+
+jZMh1IRolJZg3YdsGDM03Cnzb6RNVR7Tw7Bk7ud9PD3R6GjV2BXhzgaBcPaDOjsf
+L9yRmp59hEtGuAyCg3O3txgUl6Ct3HyS6vGN5kI6g5VVaECGSTHfev7I+MresZVj
+kPaVUbR21wKBgBtsjm25vJiKPHEHhs6DusFbm8wWZhL/p+zemROdArzO+wc5va1c
+hdqJ2lI2ClW1Ru9VK8QHTnAjrQIFmlwRZnmOAY206lUvWWwuPQoB0XuPDq2lbAdI
+U1ycbqalor4cx71PbuiZDlw1o5+PaVox9VLjYLP7T/MWnu59diToOG4BAoGBAJOa
+i4S36sBN2BQHq7ztBnGkuIU7B8AU8lOz04u/JBuHRfDP/MPBLa4IeH14HztpQiRf
+D1+6lCvsSVnm+owHNoEj8c+Kd/7yArASKDID3GPSp3WnYUnnUg7ki6iLuPLqlehL
+m5tqTy+RVO2ONnlK9iEaDNTz7mt0w4h1BeGYTdLlAoGABW3xJ6cVbXYkQmigfl5u
+eueOdMFkUm4fiUOf2Gs4TtQWQOO6OCIzVDUyQKzfNiUukOxwHoZ9oAiJW65G5TFQ
+5mX59bkH8kJPNqBAdAY3WeSRTjqK8NTrXhkFvw3UbNmBWmO8+VCdlNozYBFdmQxZ
+xJs+Z+AYZAhH77dInNIryuU=
+-----END PRIVATE KEY-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsclient/sslcert/readme
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsclient/sslcert/readme
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsclient/sslcert/readme
1970-01-01 01:00:00.000000000 +0100
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsclient/sslcert/readme
2026-08-12 03:33:55.000000000 +0200
@@ -0,0 +1,2 @@
+These files are generated by the script located at
tests/auto/external_IODevice/cert/generate.sh
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsclient/sslcert/rootCA.key
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsclient/sslcert/rootCA.key
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsclient/sslcert/rootCA.key
1970-01-01 01:00:00.000000000 +0100
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsclient/sslcert/rootCA.key
2026-08-12 03:33:55.000000000 +0200
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDZK48/hEAdPMFS
+8KFOEhlAEBQiJ6JdVoQ4ihM4yWDmaToLzckQW3TSTZWrALksZ+EXon+tF32N6syR
+vDfjmBckOJ5+h3byKBt5yxzeDbdgUeJQ0iWCTAfVCJTJyofv8UhBfCM3yf32l/Li
+4pko9/VEJ6Eruv1XVjQtVUhpNqRHSS1vnfhKR6OyujUKKguVmissjDTc8IWR4esP
+a6mWiKjFEEv4hT/YmHzD7SLseubxmqUwhBU+Q+6914ba9Q3fisI84sdgDHA3fZQ0
+b1hETbjmt3Q1VP3GlMoQ4puu43LuOtTx8OGZYAkivoDuzjkXtBK24jEijHGLcQX2
+k57YhpTVAgMBAAECggEADCtpORV3pEvJx5SNbXsNKC5eenV/HzzgZuyx3A5I3FCM
+PKoY+M4vMzO+zdjaB5eAoRrtja0Rz5iXQxlphlr4/QIhO5TqwPInbAFKSlU5b+/W
+v1GvYWhSTglPkSlEydjbBDRpItCyZxWnujgZfha7C0kvOmydkr3Vaa7sQl0aApaI
+M6XdrlspGb22Xez+4bJhXKPZDhmj+NA/B9XquTazEd5bRjGyDJ+IOWfJYPfHZzZr
+afGTkvLh+Q1JzBAXqzahhzfyZzv+fCkDdQc23rGrWjD2AsspjTlqDlODBlXFpLpT
+x2INSP/NyuBEOM/PX+rLuriwkCZeGgV6Xe3gGuAOJwKBgQD9JDofiERPmpeAIRvg
+kKpiUO6OhdMkYyWXLQvNODpmaeHM+efWyThSWJq1DAbLIUqiZOTVXrqpnjIEU3HT
+Ok0OY3YJDSsQJ7XOXa0L/HzNC3FvZfJi8F9zzP1B0Y2kMvgLTxWxgQk3zWRrxjbi
+YTU83+ftR2pOfbAiuNxhbWI9JwKBgQDbn1kE5uYxoYG+ur6TZHyxm+xwtEPRcwiZ
+KuiWaHQXKvMGm0i74oxV/ZoadEqtOUTrLJXoUa9V7XlTc9P4BNLb+fHpJXA5m3lP
+H9619pHMUt6PIF96kfegYdSYyT0h9kUoP8dy8Nf/9H1QFzJsp6LLRyRrCuwqfDvk
+2c7wIWpTowKBgBmQAPaSMiO/vrDHpyMEONB4z75AsVOpV3BushRlKzCQXKbwTYMZ
+CsD2BZlmv4DfucOwYJNTX5IlUXOyYXotFv7u+Epts/2LpQZT21eshYXHNAtFxjZL
+g7gT6TcuTBlatEWgFNa56w5hhVSEzaIKou+kxKznW0rV0mWPOWH1Q8hdAoGBAMj8
+ozLhPHjfHSW3MQEiTRsdXtwlnIrpg0zo/8HmBZfOLmo1YfLP+S4Y0Ba1pkGwz2mJ
+fAcH+jXhBc9hiPLJN08pBkIfiPyvU+0ddWuBIxyiGhtRvQ8m1j9oSG8qe0/BWLjk
+5VpDHumWjbfmArd9EnaFvMZZUJfw6b8dtUv8yJmRAoGAXEZRzEMJ1RBNyu7JBDM3
+0BA7X2Y6jQ8bnQkKmamxdxcDUx13Bw5f3N/SkZCLqKW4GF7/D1LmxDCxHQukznZZ
+3Jo4+hbQGXM43PAQ3bNraZgbBXX1bp3NMWA6wy5gKE/AxOTp/ntWQVA7DjL+bBDp
+aUH/mgKoWyGyJTtgXF0BHD4=
+-----END PRIVATE KEY-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsclient/sslcert/rootCA.pem
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsclient/sslcert/rootCA.pem
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsclient/sslcert/rootCA.pem
1970-01-01 01:00:00.000000000 +0100
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsclient/sslcert/rootCA.pem
2026-08-12 03:33:55.000000000 +0200
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDBTCCAe2gAwIBAgIUTCSzaGDZAKIYI33B9kBVGElER2owDQYJKoZIhvcNAQEL
+BQAwEjEQMA4GA1UEAwwHUXRSTyBDQTAeFw0yNTA5MDMxMDQ4NDlaFw0yNzEyMTgx
+MDQ4NDlaMBIxEDAOBgNVBAMMB1F0Uk8gQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IB
+DwAwggEKAoIBAQDZK48/hEAdPMFS8KFOEhlAEBQiJ6JdVoQ4ihM4yWDmaToLzckQ
+W3TSTZWrALksZ+EXon+tF32N6syRvDfjmBckOJ5+h3byKBt5yxzeDbdgUeJQ0iWC
+TAfVCJTJyofv8UhBfCM3yf32l/Li4pko9/VEJ6Eruv1XVjQtVUhpNqRHSS1vnfhK
+R6OyujUKKguVmissjDTc8IWR4esPa6mWiKjFEEv4hT/YmHzD7SLseubxmqUwhBU+
+Q+6914ba9Q3fisI84sdgDHA3fZQ0b1hETbjmt3Q1VP3GlMoQ4puu43LuOtTx8OGZ
+YAkivoDuzjkXtBK24jEijHGLcQX2k57YhpTVAgMBAAGjUzBRMB0GA1UdDgQWBBRa
+KAEt1T0QwxIeQIJ2ST5k1kDqDjAfBgNVHSMEGDAWgBRaKAEt1T0QwxIeQIJ2ST5k
+1kDqDjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQDGKjCW69Dj
+mtTGszNJLicGOQKhHk9Vli6UdQ2DW442qEzXtvpv05cu2l99jdXwBP5BJo9MZnXR
+jduv693t4B6ujUy+XXHFzPGECTaQuBQeOHvwWLfsjE/ITtyyWKYnpY7ozXs3yzJq
+Ipl7xtXnVcEkaQkmphr27iJx66XznsReRYhRuJdy83XL9UXG/WALFqEz4OCUB+q7
+ON/szYNRp5C35DufgER8AD771DE/JBOpAxI1h80oTj9q+/1i12E6kJvnZ0gkN88b
+Bsb1stgtuSWVebvRCjSyQKZYy9liQbM5RyUHqjI5MudQQ3nleaGvJSowSDh60W5m
+cUtelIfR+X8U
+-----END CERTIFICATE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsclient/sslcert/rootCA.srl
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsclient/sslcert/rootCA.srl
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsclient/sslcert/rootCA.srl
1970-01-01 01:00:00.000000000 +0100
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsclient/sslcert/rootCA.srl
2026-08-12 03:33:55.000000000 +0200
@@ -0,0 +1 @@
+7390820BD47F5A3C7398B7C8DCA218B35C2C2E2D
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsclient/sslcert/server.crt
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsclient/sslcert/server.crt
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsclient/sslcert/server.crt
1970-01-01 01:00:00.000000000 +0100
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsclient/sslcert/server.crt
2026-08-12 03:33:55.000000000 +0200
@@ -0,0 +1,20 @@
+-----BEGIN CERTIFICATE-----
+MIIDNTCCAh2gAwIBAgIUc5CCC9R/WjxzmLfI3KIYs1wsLiwwDQYJKoZIhvcNAQEL
+BQAwEjEQMA4GA1UEAwwHUXRSTyBDQTAeFw0yNTA5MDMxMDQ4NTBaFw0yNzEyMDcx
+MDQ4NTBaMBQxEjAQBgNVBAMMCTEyNy4wLjAuMTCCASIwDQYJKoZIhvcNAQEBBQAD
+ggEPADCCAQoCggEBAL3xQANW6gjSqXHrb1MjziDPFIlbbMPHteRYryZX5xM7fmcX
+TrF4j3JPHyycl/fpq/5xPIagCkaLh2oC/EvPp/w+9p5E2Oe2M/nK5EGyCiGCWS2v
+fjcsxeVCTw8h+GqxveghWJzGAWFgfnCyKvXvWORwvSYVNpfKir2g9/YMp1aB9gsF
+4A5FgTWxZDfIYle5O1IQ5khKdufTJwKrxecUYkQRc3T2FqIaUpIvhHHFqIlYyJ+n
+WiG/QRB3AI8rEnbUArRyV/ygU76U6AaPW+S3InqtrlfUkE6nHmCLAVatN3TzQIF6
+RM/a5PpNdbJZ/pn7c6T8aWh0QCMI4d4s34Z9P3MCAwEAAaOBgDB+MB8GA1UdIwQY
+MBaAFFooAS3VPRDDEh5AgnZJPmTWQOoOMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgTw
+MBMGA1UdJQQMMAoGCCsGAQUFBwMBMA8GA1UdEQQIMAaHBH8AAAEwHQYDVR0OBBYE
+FE7IUaR0Vdi87Q5tPilRuzSGu4uqMA0GCSqGSIb3DQEBCwUAA4IBAQAyapkYYgdo
+QGcvMcfXdJ/lrbi8EnqdqV5wI/PD1n7Cx4wNMsaA4y58JuPZydlCcGLk4N1FhFoG
+hVzkeFjSTmKqI4sTYJbDfPKWXGzVhuMTVLtWQew6H/x4OeJJ5nm53/U3JGOwyELN
+vo7SV3aODiAJRHQpKtzOwYsjIa2T+8lDiMstDetH5yMrYFW6aD+nAc+eM8eUFmIM
+45qhc59EFc7wH4IKRDH4w0M4gU//PDTIQsjyKR1Sm6nZGh4fei47zggQsKX5NZZj
+KZSLN4wbF5qHigoyhfuFdwWi5X3VoGcY6m6xAocNq1vqbmzpRo6+M/DfBM0XBbmd
+g5Zk6pJ2xiVz
+-----END CERTIFICATE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsclient/sslcert/server.key
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsclient/sslcert/server.key
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsclient/sslcert/server.key
1970-01-01 01:00:00.000000000 +0100
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsclient/sslcert/server.key
2026-08-12 03:33:55.000000000 +0200
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC98UADVuoI0qlx
+629TI84gzxSJW2zDx7XkWK8mV+cTO35nF06xeI9yTx8snJf36av+cTyGoApGi4dq
+AvxLz6f8PvaeRNjntjP5yuRBsgohglktr343LMXlQk8PIfhqsb3oIVicxgFhYH5w
+sir171jkcL0mFTaXyoq9oPf2DKdWgfYLBeAORYE1sWQ3yGJXuTtSEOZISnbn0ycC
+q8XnFGJEEXN09haiGlKSL4RxxaiJWMifp1ohv0EQdwCPKxJ21AK0clf8oFO+lOgG
+j1vktyJ6ra5X1JBOpx5giwFWrTd080CBekTP2uT6TXWyWf6Z+3Ok/GlodEAjCOHe
+LN+GfT9zAgMBAAECggEAP/MmuzkbCKdsl0dOLu7CKret0WUvpGbr7ZqSNdWonggM
+0ca+HvBZU4IiG9IJNFW/K6aSWz0s2H2HtQCWUyvyAfJs8/J4GON2cmaGHTxFPuz0
++3W3h/oSEtMVbSHh0oJPTwVTIU1lD5T+XREPd8gC5L60YEsKG2b8+UVl1riB6pS2
+67hR631+eoc8QzGSWWl52vvMS2FlOHZu0dRcn5LgeO4PuNQiFHsqpTY4c/6QzwzD
+p7W2jJSFuwhv1wXyoGHmPtBXPh0jPQ2+Ctvw1VcancDdSfHC+AJBA3o/ZNxJBiAg
+3RTZiYqZx/p+6xDO/MuFHDgmjtxpXOW59RA1dWP2YQKBgQD+rK0G5MLXLkjGeewt
+25q5aSwMtcU32dd/oDYlc+zl6M8HqkoH7bRZ2w5aJiJgna4xyR/uH/CaKap7HtvV
+0pUYsWTZcNPAyUI7YLDLLzvyNS12BEGh5diAms70hIMcfLqBE6QpVaOyiB5nDMGl
+sPaX8k1vwMTrnG52GtMaKD21MQKBgQC+7lN+B6yGXSbA6gf/IIXSJ/GV9A0cgVi4
+9W690MEJ8F/2yTNH4lzoqk+Q2vs6Hllmt/n3Xi6k3WBGeAcBoSpER4tsNaM7U1W5
+gfYNLD2pyCJ/dggUG3QSyFSVjN5zEjJsvRIAcKRtS/Ok5iEK3hts47X8RuaQqtvS
+1qScJo2l4wKBgQDYrXOdTN7VE2UJsMwYDCKtI2U9/x0nsqkdxeKrpODmj1gtjl3k
+NwLd/HlOi+ltyFpfs13+TKB5mX+ZtxyU5NDDrJJASjVvbgxy1oY0qSBYp5PhOCfb
+JeI5MP1pnqCqiRhpH5vpKxrWl+c+B+VuIoz7pETsEte4GmUFCTeYpqox0QKBgDvR
+Bq9RUCe4P0/pAiBX3BT/FpzYHNN1YopvugYVxKSMfkQevMYkkN8DnHHRaSvIHlIk
+CVgKVaqpAGSTbf6As3E4yOFZ3I3VieHYaXGvDpKGdOhh3h4Oi8rmoDlKLNb4OHwA
+sAcbQyhKx0Y+ItP4ybbPkFA9Fjb0kHH5dRDGs1HpAoGBAMu56C/XK+xcSYxxMiUu
+4KM2h1CZVJoAmAcgM9hrE08/4PbWegNU1WkLolR6mZoR2/Z6fKeHyjSQcqhpV+gm
+ejObzHc+3MkEOA43R5GIEHgnYO1GpeoS0dxyhItt8K+2Exr3hqUF/sr+ouVlbADr
+9erdDgzkTU69hT6GizjQAYBV
+-----END PRIVATE KEY-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsclient/sslcert.qrc
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsclient/sslcert.qrc
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsclient/sslcert.qrc
1970-01-01 01:00:00.000000000 +0100
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsclient/sslcert.qrc
2026-08-12 03:33:55.000000000 +0200
@@ -0,0 +1,11 @@
+<RCC>
+ <qresource prefix="/">
+ <file>sslcert/client.crt</file>
+ <file>sslcert/client.key</file>
+ <file>sslcert/rootCA.key</file>
+ <file>sslcert/rootCA.pem</file>
+ <file>sslcert/rootCA.srl</file>
+ <file>sslcert/server.crt</file>
+ <file>sslcert/server.key</file>
+ </qresource>
+</RCC>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsclient/websocketiodevice.cpp
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsclient/websocketiodevice.cpp
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsclient/websocketiodevice.cpp
1970-01-01 01:00:00.000000000 +0100
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsclient/websocketiodevice.cpp
2026-08-12 03:33:55.000000000 +0200
@@ -0,0 +1,50 @@
+// Copyright (C) 2019 Ford Motor Company
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
+#include "websocketiodevice.h"
+
+WebSocketIoDevice::WebSocketIoDevice(QWebSocket *webSocket, QObject *parent)
+ : QIODevice(parent)
+ , m_socket(webSocket)
+{
+ open(QIODevice::ReadWrite);
+ connect(webSocket, &QWebSocket::disconnected, this,
&WebSocketIoDevice::disconnected);
+ connect(webSocket, &QWebSocket::binaryMessageReceived, this, [this](const
QByteArray &message){
+ m_buffer.append(message);
+ emit readyRead();
+ });
+ connect(webSocket, &QWebSocket::bytesWritten, this,
&WebSocketIoDevice::bytesWritten);
+}
+
+qint64 WebSocketIoDevice::bytesAvailable() const
+{
+ return QIODevice::bytesAvailable() + m_buffer.size();
+}
+
+bool WebSocketIoDevice::isSequential() const
+{
+ return true;
+}
+
+void WebSocketIoDevice::close()
+{
+ if (m_socket)
+ m_socket->close();
+}
+
+qint64 WebSocketIoDevice::readData(char *data, qint64 maxlen)
+{
+ auto sz = std::min(maxlen, qint64(m_buffer.size()));
+ if (sz <= 0)
+ return sz;
+ memcpy(data, m_buffer.constData(), size_t(sz));
+ m_buffer.remove(0, sz);
+ return sz;
+}
+
+qint64 WebSocketIoDevice::writeData(const char *data, qint64 len)
+{
+ if (m_socket)
+ return m_socket->sendBinaryMessage(QByteArray{data, int(len)});
+ return -1;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsclient/websocketiodevice.h
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsclient/websocketiodevice.h
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsclient/websocketiodevice.h
1970-01-01 01:00:00.000000000 +0100
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsclient/websocketiodevice.h
2026-08-12 03:33:55.000000000 +0200
@@ -0,0 +1,36 @@
+// Copyright (C) 2019 Ford Motor Company
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
+#ifndef WEBSOCKETIODEVICE_H
+#define WEBSOCKETIODEVICE_H
+
+#include <QBuffer>
+#include <QIODevice>
+#include <QPointer>
+#include <QWebSocket>
+
+class WebSocketIoDevice : public QIODevice
+{
+ Q_OBJECT
+public:
+ WebSocketIoDevice(QWebSocket *webSocket, QObject *parent = nullptr);
+
+signals:
+ void disconnected();
+
+ // QIODevice interface
+public:
+ qint64 bytesAvailable() const override;
+ bool isSequential() const override;
+ void close() override;
+
+protected:
+ qint64 readData(char *data, qint64 maxlen) override;
+ qint64 writeData(const char *data, qint64 len) override;
+
+private:
+ QPointer<QWebSocket> m_socket;
+ QByteArray m_buffer;
+};
+
+#endif // WEBSOCKETIODEVICE_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsclient/wsclient.pro
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsclient/wsclient.pro
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsclient/wsclient.pro
2026-05-08 03:19:14.000000000 +0200
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsclient/wsclient.pro
2026-08-12 03:33:55.000000000 +0200
@@ -1,9 +1,15 @@
QT += widgets remoteobjects websockets
requires(qtConfig(treeview))
-SOURCES += main.cpp
+CONFIG -= app_bundle
-include(../common/common.pri)
+HEADERS += websocketiodevice.h
+
+SOURCES += \
+ main.cpp \
+ websocketiodevice.cpp
+
+RESOURCES += sslcert.qrc
target.path = $$[QT_INSTALL_EXAMPLES]/remoteobjects/websockets/wsclient
INSTALLS += target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsserver/CMakeLists.txt
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsserver/CMakeLists.txt
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsserver/CMakeLists.txt
2026-05-08 03:19:14.000000000 +0200
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsserver/CMakeLists.txt
2026-08-12 03:33:55.000000000 +0200
@@ -15,7 +15,7 @@
find_package(Qt6 REQUIRED COMPONENTS Core Gui RemoteObjects WebSockets Widgets)
qt_add_executable(wsserver
- ../common/websocketiodevice.cpp ../common/websocketiodevice.h
+ websocketiodevice.cpp websocketiodevice.h
main.cpp
)
@@ -24,10 +24,6 @@
MACOSX_BUNDLE FALSE
)
-target_include_directories(wsserver PUBLIC
- ../common
-)
-
target_link_libraries(wsserver PUBLIC
Qt::Core
Qt::Gui
@@ -37,23 +33,21 @@
)
# Resources:
-set(cert_resource_files
- "../common/cert/client.crt"
- "../common/cert/client.key"
- "../common/cert/rootCA.key"
- "../common/cert/rootCA.pem"
- "../common/cert/rootCA.srl"
- "../common/cert/server.crt"
- "../common/cert/server.key"
+set(sslcert_resource_files
+ "sslcert/client.crt"
+ "sslcert/client.key"
+ "sslcert/rootCA.key"
+ "sslcert/rootCA.pem"
+ "sslcert/rootCA.srl"
+ "sslcert/server.crt"
+ "sslcert/server.key"
)
-qt6_add_resources(wsserver "cert"
+qt6_add_resources(wsserver "sslcert"
PREFIX
- "/sslcert"
- BASE
- "../common/cert"
+ "/"
FILES
- ${cert_resource_files}
+ ${sslcert_resource_files}
)
install(TARGETS wsserver
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsserver/sslcert/client.crt
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsserver/sslcert/client.crt
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsserver/sslcert/client.crt
1970-01-01 01:00:00.000000000 +0100
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsserver/sslcert/client.crt
2026-08-12 03:33:55.000000000 +0200
@@ -0,0 +1,18 @@
+-----BEGIN CERTIFICATE-----
+MIIC9jCCAd6gAwIBAgIUc5CCC9R/WjxzmLfI3KIYs1wsLi0wDQYJKoZIhvcNAQEL
+BQAwEjEQMA4GA1UEAwwHUXRSTyBDQTAeFw0yNTA5MDMxMDQ4NTBaFw0yNzEyMDcx
+MDQ4NTBaMBQxEjAQBgNVBAMMCTEyNy4wLjAuMTCCASIwDQYJKoZIhvcNAQEBBQAD
+ggEPADCCAQoCggEBAKLVgG77bekyLvR6dO8ircufMmC8CFM2+wSPsmcGST+P2uru
+YjbCLCpsA6ogpaRS5w7G8FMHEaXBi6cxqeToKSekd37gq4wB2GiodiLcOEQe7NrL
+q7ZjwI+HjVSBL2d52kcrOm3HW8ARuPyIrXja6RA4lYsF8OYjeCEbLdvo8NvaC3p5
+gz7/mejL5jEfVbZbYA5gVadq+ox+x/+w4zB7IJte9RcIhRSb+a0god+X4FUUkTjE
+6NdKRZJ5wxC3MicMfkiAu9vMzpFk20SLhfrWWDtG0FDM8M7eIcJ6WcZKjNuNxKQK
+MGzWWA1o6S2vBBIXn/cxJCLJBdYoxfVkrYTw6PcCAwEAAaNCMEAwHQYDVR0OBBYE
+FD7SSgWDYbmRA3+phMAdi/UkzG7xMB8GA1UdIwQYMBaAFFooAS3VPRDDEh5AgnZJ
+PmTWQOoOMA0GCSqGSIb3DQEBCwUAA4IBAQBiIAUJcoK19qzDumVXXIrClwtVRr6y
+zMvfVhmhKiPvGPToKr4es8Rmv4csbRFth1HRQ8vZTLwLW99M+gtOACuenhoxZN7+
+nGVLUh4LmB2K06PCEy/FqVGSrxvzheTKojTJL8+Zn1ABQECD9fi6DxbdYOmrBX7W
+LcRh4tJ8KCwqwkqEoQXnbYGAR+di9PAdZ+siowDGYX+Ptx8WTu5MnBkDcl4Q92DP
+6y3r6xvlcVwHLyB4D3lV3wiSFS+8dj3eo18h/ELUdqF/htVd1RVdLgLQBRkgY1o3
+8BbfZxTyhwFTSvKCASFtWPg+QgWPsbXAs8v0UmKiCB93FxHBK9hBxoMh
+-----END CERTIFICATE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsserver/sslcert/client.key
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsserver/sslcert/client.key
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsserver/sslcert/client.key
1970-01-01 01:00:00.000000000 +0100
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsserver/sslcert/client.key
2026-08-12 03:33:55.000000000 +0200
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCi1YBu+23pMi70
+enTvIq3LnzJgvAhTNvsEj7JnBkk/j9rq7mI2wiwqbAOqIKWkUucOxvBTBxGlwYun
+Mank6CknpHd+4KuMAdhoqHYi3DhEHuzay6u2Y8CPh41UgS9nedpHKzptx1vAEbj8
+iK142ukQOJWLBfDmI3ghGy3b6PDb2gt6eYM+/5noy+YxH1W2W2AOYFWnavqMfsf/
+sOMweyCbXvUXCIUUm/mtIKHfl+BVFJE4xOjXSkWSecMQtzInDH5IgLvbzM6RZNtE
+i4X61lg7RtBQzPDO3iHCelnGSozbjcSkCjBs1lgNaOktrwQSF5/3MSQiyQXWKMX1
+ZK2E8Oj3AgMBAAECggEAURbKdTo/k2Q6zuPWrKnT67WVNGgfKzWTjsNyn+yY+I7O
+gbUB8uwCa4PL1WKZqnngd9LpJie8iZOXVMUeKpDUwdmc6nG+7COVHhVac2TAnmfa
+IuFPWy5U3AUwg/crYLflVBC6caXYUo9g1F3KKYe2ja3oBsoIG8tpDO+IiF156Llj
+Jsk6aGVS1b+raz0FeVdxOYiywepqxqtbT1dbLqv1G6Ze8P3wj2mGChsBK4nYDrDa
+BSQ2qGjIcj2ksTboWCgTYrTVdVoytyIP2whVoFY3qJCZzVaYP4nzCCh3cBt6xcN0
+OQmd/PM/6fOTTDiTo8l/DxkbQXYOjWICIiVKitp+oQKBgQDOHHkFaBy4VSqbICvc
+nDiELfMS2nxIgX65Q1hfiGgY8iNpW72B8Yhtb+/p7v0OjNGh8NMtLwt98sOSoXql
+sDiwR0EqdxOOJCC/32PS33TibFZVI/us/I4AdrOGd5Xzxe0JmuXuYmByuvIPlwsV
+8HwmTZwqKIMBmiEH4SJcBJ564QKBgQDKP2NH8USFbNBoIf8aoFnpTUQ7EMIGxN6+
+jZMh1IRolJZg3YdsGDM03Cnzb6RNVR7Tw7Bk7ud9PD3R6GjV2BXhzgaBcPaDOjsf
+L9yRmp59hEtGuAyCg3O3txgUl6Ct3HyS6vGN5kI6g5VVaECGSTHfev7I+MresZVj
+kPaVUbR21wKBgBtsjm25vJiKPHEHhs6DusFbm8wWZhL/p+zemROdArzO+wc5va1c
+hdqJ2lI2ClW1Ru9VK8QHTnAjrQIFmlwRZnmOAY206lUvWWwuPQoB0XuPDq2lbAdI
+U1ycbqalor4cx71PbuiZDlw1o5+PaVox9VLjYLP7T/MWnu59diToOG4BAoGBAJOa
+i4S36sBN2BQHq7ztBnGkuIU7B8AU8lOz04u/JBuHRfDP/MPBLa4IeH14HztpQiRf
+D1+6lCvsSVnm+owHNoEj8c+Kd/7yArASKDID3GPSp3WnYUnnUg7ki6iLuPLqlehL
+m5tqTy+RVO2ONnlK9iEaDNTz7mt0w4h1BeGYTdLlAoGABW3xJ6cVbXYkQmigfl5u
+eueOdMFkUm4fiUOf2Gs4TtQWQOO6OCIzVDUyQKzfNiUukOxwHoZ9oAiJW65G5TFQ
+5mX59bkH8kJPNqBAdAY3WeSRTjqK8NTrXhkFvw3UbNmBWmO8+VCdlNozYBFdmQxZ
+xJs+Z+AYZAhH77dInNIryuU=
+-----END PRIVATE KEY-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsserver/sslcert/readme
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsserver/sslcert/readme
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsserver/sslcert/readme
1970-01-01 01:00:00.000000000 +0100
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsserver/sslcert/readme
2026-08-12 03:33:55.000000000 +0200
@@ -0,0 +1,2 @@
+These files are generated by the script located at
tests/auto/external_IODevice/cert/generate.sh
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsserver/sslcert/rootCA.key
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsserver/sslcert/rootCA.key
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsserver/sslcert/rootCA.key
1970-01-01 01:00:00.000000000 +0100
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsserver/sslcert/rootCA.key
2026-08-12 03:33:55.000000000 +0200
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDZK48/hEAdPMFS
+8KFOEhlAEBQiJ6JdVoQ4ihM4yWDmaToLzckQW3TSTZWrALksZ+EXon+tF32N6syR
+vDfjmBckOJ5+h3byKBt5yxzeDbdgUeJQ0iWCTAfVCJTJyofv8UhBfCM3yf32l/Li
+4pko9/VEJ6Eruv1XVjQtVUhpNqRHSS1vnfhKR6OyujUKKguVmissjDTc8IWR4esP
+a6mWiKjFEEv4hT/YmHzD7SLseubxmqUwhBU+Q+6914ba9Q3fisI84sdgDHA3fZQ0
+b1hETbjmt3Q1VP3GlMoQ4puu43LuOtTx8OGZYAkivoDuzjkXtBK24jEijHGLcQX2
+k57YhpTVAgMBAAECggEADCtpORV3pEvJx5SNbXsNKC5eenV/HzzgZuyx3A5I3FCM
+PKoY+M4vMzO+zdjaB5eAoRrtja0Rz5iXQxlphlr4/QIhO5TqwPInbAFKSlU5b+/W
+v1GvYWhSTglPkSlEydjbBDRpItCyZxWnujgZfha7C0kvOmydkr3Vaa7sQl0aApaI
+M6XdrlspGb22Xez+4bJhXKPZDhmj+NA/B9XquTazEd5bRjGyDJ+IOWfJYPfHZzZr
+afGTkvLh+Q1JzBAXqzahhzfyZzv+fCkDdQc23rGrWjD2AsspjTlqDlODBlXFpLpT
+x2INSP/NyuBEOM/PX+rLuriwkCZeGgV6Xe3gGuAOJwKBgQD9JDofiERPmpeAIRvg
+kKpiUO6OhdMkYyWXLQvNODpmaeHM+efWyThSWJq1DAbLIUqiZOTVXrqpnjIEU3HT
+Ok0OY3YJDSsQJ7XOXa0L/HzNC3FvZfJi8F9zzP1B0Y2kMvgLTxWxgQk3zWRrxjbi
+YTU83+ftR2pOfbAiuNxhbWI9JwKBgQDbn1kE5uYxoYG+ur6TZHyxm+xwtEPRcwiZ
+KuiWaHQXKvMGm0i74oxV/ZoadEqtOUTrLJXoUa9V7XlTc9P4BNLb+fHpJXA5m3lP
+H9619pHMUt6PIF96kfegYdSYyT0h9kUoP8dy8Nf/9H1QFzJsp6LLRyRrCuwqfDvk
+2c7wIWpTowKBgBmQAPaSMiO/vrDHpyMEONB4z75AsVOpV3BushRlKzCQXKbwTYMZ
+CsD2BZlmv4DfucOwYJNTX5IlUXOyYXotFv7u+Epts/2LpQZT21eshYXHNAtFxjZL
+g7gT6TcuTBlatEWgFNa56w5hhVSEzaIKou+kxKznW0rV0mWPOWH1Q8hdAoGBAMj8
+ozLhPHjfHSW3MQEiTRsdXtwlnIrpg0zo/8HmBZfOLmo1YfLP+S4Y0Ba1pkGwz2mJ
+fAcH+jXhBc9hiPLJN08pBkIfiPyvU+0ddWuBIxyiGhtRvQ8m1j9oSG8qe0/BWLjk
+5VpDHumWjbfmArd9EnaFvMZZUJfw6b8dtUv8yJmRAoGAXEZRzEMJ1RBNyu7JBDM3
+0BA7X2Y6jQ8bnQkKmamxdxcDUx13Bw5f3N/SkZCLqKW4GF7/D1LmxDCxHQukznZZ
+3Jo4+hbQGXM43PAQ3bNraZgbBXX1bp3NMWA6wy5gKE/AxOTp/ntWQVA7DjL+bBDp
+aUH/mgKoWyGyJTtgXF0BHD4=
+-----END PRIVATE KEY-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsserver/sslcert/rootCA.pem
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsserver/sslcert/rootCA.pem
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsserver/sslcert/rootCA.pem
1970-01-01 01:00:00.000000000 +0100
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsserver/sslcert/rootCA.pem
2026-08-12 03:33:55.000000000 +0200
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDBTCCAe2gAwIBAgIUTCSzaGDZAKIYI33B9kBVGElER2owDQYJKoZIhvcNAQEL
+BQAwEjEQMA4GA1UEAwwHUXRSTyBDQTAeFw0yNTA5MDMxMDQ4NDlaFw0yNzEyMTgx
+MDQ4NDlaMBIxEDAOBgNVBAMMB1F0Uk8gQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IB
+DwAwggEKAoIBAQDZK48/hEAdPMFS8KFOEhlAEBQiJ6JdVoQ4ihM4yWDmaToLzckQ
+W3TSTZWrALksZ+EXon+tF32N6syRvDfjmBckOJ5+h3byKBt5yxzeDbdgUeJQ0iWC
+TAfVCJTJyofv8UhBfCM3yf32l/Li4pko9/VEJ6Eruv1XVjQtVUhpNqRHSS1vnfhK
+R6OyujUKKguVmissjDTc8IWR4esPa6mWiKjFEEv4hT/YmHzD7SLseubxmqUwhBU+
+Q+6914ba9Q3fisI84sdgDHA3fZQ0b1hETbjmt3Q1VP3GlMoQ4puu43LuOtTx8OGZ
+YAkivoDuzjkXtBK24jEijHGLcQX2k57YhpTVAgMBAAGjUzBRMB0GA1UdDgQWBBRa
+KAEt1T0QwxIeQIJ2ST5k1kDqDjAfBgNVHSMEGDAWgBRaKAEt1T0QwxIeQIJ2ST5k
+1kDqDjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQDGKjCW69Dj
+mtTGszNJLicGOQKhHk9Vli6UdQ2DW442qEzXtvpv05cu2l99jdXwBP5BJo9MZnXR
+jduv693t4B6ujUy+XXHFzPGECTaQuBQeOHvwWLfsjE/ITtyyWKYnpY7ozXs3yzJq
+Ipl7xtXnVcEkaQkmphr27iJx66XznsReRYhRuJdy83XL9UXG/WALFqEz4OCUB+q7
+ON/szYNRp5C35DufgER8AD771DE/JBOpAxI1h80oTj9q+/1i12E6kJvnZ0gkN88b
+Bsb1stgtuSWVebvRCjSyQKZYy9liQbM5RyUHqjI5MudQQ3nleaGvJSowSDh60W5m
+cUtelIfR+X8U
+-----END CERTIFICATE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsserver/sslcert/rootCA.srl
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsserver/sslcert/rootCA.srl
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsserver/sslcert/rootCA.srl
1970-01-01 01:00:00.000000000 +0100
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsserver/sslcert/rootCA.srl
2026-08-12 03:33:55.000000000 +0200
@@ -0,0 +1 @@
+7390820BD47F5A3C7398B7C8DCA218B35C2C2E2D
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsserver/sslcert/server.crt
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsserver/sslcert/server.crt
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsserver/sslcert/server.crt
1970-01-01 01:00:00.000000000 +0100
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsserver/sslcert/server.crt
2026-08-12 03:33:55.000000000 +0200
@@ -0,0 +1,20 @@
+-----BEGIN CERTIFICATE-----
+MIIDNTCCAh2gAwIBAgIUc5CCC9R/WjxzmLfI3KIYs1wsLiwwDQYJKoZIhvcNAQEL
+BQAwEjEQMA4GA1UEAwwHUXRSTyBDQTAeFw0yNTA5MDMxMDQ4NTBaFw0yNzEyMDcx
+MDQ4NTBaMBQxEjAQBgNVBAMMCTEyNy4wLjAuMTCCASIwDQYJKoZIhvcNAQEBBQAD
+ggEPADCCAQoCggEBAL3xQANW6gjSqXHrb1MjziDPFIlbbMPHteRYryZX5xM7fmcX
+TrF4j3JPHyycl/fpq/5xPIagCkaLh2oC/EvPp/w+9p5E2Oe2M/nK5EGyCiGCWS2v
+fjcsxeVCTw8h+GqxveghWJzGAWFgfnCyKvXvWORwvSYVNpfKir2g9/YMp1aB9gsF
+4A5FgTWxZDfIYle5O1IQ5khKdufTJwKrxecUYkQRc3T2FqIaUpIvhHHFqIlYyJ+n
+WiG/QRB3AI8rEnbUArRyV/ygU76U6AaPW+S3InqtrlfUkE6nHmCLAVatN3TzQIF6
+RM/a5PpNdbJZ/pn7c6T8aWh0QCMI4d4s34Z9P3MCAwEAAaOBgDB+MB8GA1UdIwQY
+MBaAFFooAS3VPRDDEh5AgnZJPmTWQOoOMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgTw
+MBMGA1UdJQQMMAoGCCsGAQUFBwMBMA8GA1UdEQQIMAaHBH8AAAEwHQYDVR0OBBYE
+FE7IUaR0Vdi87Q5tPilRuzSGu4uqMA0GCSqGSIb3DQEBCwUAA4IBAQAyapkYYgdo
+QGcvMcfXdJ/lrbi8EnqdqV5wI/PD1n7Cx4wNMsaA4y58JuPZydlCcGLk4N1FhFoG
+hVzkeFjSTmKqI4sTYJbDfPKWXGzVhuMTVLtWQew6H/x4OeJJ5nm53/U3JGOwyELN
+vo7SV3aODiAJRHQpKtzOwYsjIa2T+8lDiMstDetH5yMrYFW6aD+nAc+eM8eUFmIM
+45qhc59EFc7wH4IKRDH4w0M4gU//PDTIQsjyKR1Sm6nZGh4fei47zggQsKX5NZZj
+KZSLN4wbF5qHigoyhfuFdwWi5X3VoGcY6m6xAocNq1vqbmzpRo6+M/DfBM0XBbmd
+g5Zk6pJ2xiVz
+-----END CERTIFICATE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsserver/sslcert/server.key
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsserver/sslcert/server.key
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsserver/sslcert/server.key
1970-01-01 01:00:00.000000000 +0100
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsserver/sslcert/server.key
2026-08-12 03:33:55.000000000 +0200
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC98UADVuoI0qlx
+629TI84gzxSJW2zDx7XkWK8mV+cTO35nF06xeI9yTx8snJf36av+cTyGoApGi4dq
+AvxLz6f8PvaeRNjntjP5yuRBsgohglktr343LMXlQk8PIfhqsb3oIVicxgFhYH5w
+sir171jkcL0mFTaXyoq9oPf2DKdWgfYLBeAORYE1sWQ3yGJXuTtSEOZISnbn0ycC
+q8XnFGJEEXN09haiGlKSL4RxxaiJWMifp1ohv0EQdwCPKxJ21AK0clf8oFO+lOgG
+j1vktyJ6ra5X1JBOpx5giwFWrTd080CBekTP2uT6TXWyWf6Z+3Ok/GlodEAjCOHe
+LN+GfT9zAgMBAAECggEAP/MmuzkbCKdsl0dOLu7CKret0WUvpGbr7ZqSNdWonggM
+0ca+HvBZU4IiG9IJNFW/K6aSWz0s2H2HtQCWUyvyAfJs8/J4GON2cmaGHTxFPuz0
++3W3h/oSEtMVbSHh0oJPTwVTIU1lD5T+XREPd8gC5L60YEsKG2b8+UVl1riB6pS2
+67hR631+eoc8QzGSWWl52vvMS2FlOHZu0dRcn5LgeO4PuNQiFHsqpTY4c/6QzwzD
+p7W2jJSFuwhv1wXyoGHmPtBXPh0jPQ2+Ctvw1VcancDdSfHC+AJBA3o/ZNxJBiAg
+3RTZiYqZx/p+6xDO/MuFHDgmjtxpXOW59RA1dWP2YQKBgQD+rK0G5MLXLkjGeewt
+25q5aSwMtcU32dd/oDYlc+zl6M8HqkoH7bRZ2w5aJiJgna4xyR/uH/CaKap7HtvV
+0pUYsWTZcNPAyUI7YLDLLzvyNS12BEGh5diAms70hIMcfLqBE6QpVaOyiB5nDMGl
+sPaX8k1vwMTrnG52GtMaKD21MQKBgQC+7lN+B6yGXSbA6gf/IIXSJ/GV9A0cgVi4
+9W690MEJ8F/2yTNH4lzoqk+Q2vs6Hllmt/n3Xi6k3WBGeAcBoSpER4tsNaM7U1W5
+gfYNLD2pyCJ/dggUG3QSyFSVjN5zEjJsvRIAcKRtS/Ok5iEK3hts47X8RuaQqtvS
+1qScJo2l4wKBgQDYrXOdTN7VE2UJsMwYDCKtI2U9/x0nsqkdxeKrpODmj1gtjl3k
+NwLd/HlOi+ltyFpfs13+TKB5mX+ZtxyU5NDDrJJASjVvbgxy1oY0qSBYp5PhOCfb
+JeI5MP1pnqCqiRhpH5vpKxrWl+c+B+VuIoz7pETsEte4GmUFCTeYpqox0QKBgDvR
+Bq9RUCe4P0/pAiBX3BT/FpzYHNN1YopvugYVxKSMfkQevMYkkN8DnHHRaSvIHlIk
+CVgKVaqpAGSTbf6As3E4yOFZ3I3VieHYaXGvDpKGdOhh3h4Oi8rmoDlKLNb4OHwA
+sAcbQyhKx0Y+ItP4ybbPkFA9Fjb0kHH5dRDGs1HpAoGBAMu56C/XK+xcSYxxMiUu
+4KM2h1CZVJoAmAcgM9hrE08/4PbWegNU1WkLolR6mZoR2/Z6fKeHyjSQcqhpV+gm
+ejObzHc+3MkEOA43R5GIEHgnYO1GpeoS0dxyhItt8K+2Exr3hqUF/sr+ouVlbADr
+9erdDgzkTU69hT6GizjQAYBV
+-----END PRIVATE KEY-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsserver/sslcert.qrc
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsserver/sslcert.qrc
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsserver/sslcert.qrc
1970-01-01 01:00:00.000000000 +0100
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsserver/sslcert.qrc
2026-08-12 03:33:55.000000000 +0200
@@ -0,0 +1,11 @@
+<RCC>
+ <qresource prefix="/">
+ <file>sslcert/client.crt</file>
+ <file>sslcert/client.key</file>
+ <file>sslcert/rootCA.key</file>
+ <file>sslcert/rootCA.pem</file>
+ <file>sslcert/rootCA.srl</file>
+ <file>sslcert/server.crt</file>
+ <file>sslcert/server.key</file>
+ </qresource>
+</RCC>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsserver/websocketiodevice.cpp
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsserver/websocketiodevice.cpp
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsserver/websocketiodevice.cpp
1970-01-01 01:00:00.000000000 +0100
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsserver/websocketiodevice.cpp
2026-08-12 03:33:55.000000000 +0200
@@ -0,0 +1,50 @@
+// Copyright (C) 2019 Ford Motor Company
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
+#include "websocketiodevice.h"
+
+WebSocketIoDevice::WebSocketIoDevice(QWebSocket *webSocket, QObject *parent)
+ : QIODevice(parent)
+ , m_socket(webSocket)
+{
+ open(QIODevice::ReadWrite);
+ connect(webSocket, &QWebSocket::disconnected, this,
&WebSocketIoDevice::disconnected);
+ connect(webSocket, &QWebSocket::binaryMessageReceived, this, [this](const
QByteArray &message){
+ m_buffer.append(message);
+ emit readyRead();
+ });
+ connect(webSocket, &QWebSocket::bytesWritten, this,
&WebSocketIoDevice::bytesWritten);
+}
+
+qint64 WebSocketIoDevice::bytesAvailable() const
+{
+ return QIODevice::bytesAvailable() + m_buffer.size();
+}
+
+bool WebSocketIoDevice::isSequential() const
+{
+ return true;
+}
+
+void WebSocketIoDevice::close()
+{
+ if (m_socket)
+ m_socket->close();
+}
+
+qint64 WebSocketIoDevice::readData(char *data, qint64 maxlen)
+{
+ auto sz = std::min(maxlen, qint64(m_buffer.size()));
+ if (sz <= 0)
+ return sz;
+ memcpy(data, m_buffer.constData(), size_t(sz));
+ m_buffer.remove(0, sz);
+ return sz;
+}
+
+qint64 WebSocketIoDevice::writeData(const char *data, qint64 len)
+{
+ if (m_socket)
+ return m_socket->sendBinaryMessage(QByteArray{data, int(len)});
+ return -1;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsserver/websocketiodevice.h
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsserver/websocketiodevice.h
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsserver/websocketiodevice.h
1970-01-01 01:00:00.000000000 +0100
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsserver/websocketiodevice.h
2026-08-12 03:33:55.000000000 +0200
@@ -0,0 +1,36 @@
+// Copyright (C) 2019 Ford Motor Company
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
+#ifndef WEBSOCKETIODEVICE_H
+#define WEBSOCKETIODEVICE_H
+
+#include <QBuffer>
+#include <QIODevice>
+#include <QPointer>
+#include <QWebSocket>
+
+class WebSocketIoDevice : public QIODevice
+{
+ Q_OBJECT
+public:
+ WebSocketIoDevice(QWebSocket *webSocket, QObject *parent = nullptr);
+
+signals:
+ void disconnected();
+
+ // QIODevice interface
+public:
+ qint64 bytesAvailable() const override;
+ bool isSequential() const override;
+ void close() override;
+
+protected:
+ qint64 readData(char *data, qint64 maxlen) override;
+ qint64 writeData(const char *data, qint64 len) override;
+
+private:
+ QPointer<QWebSocket> m_socket;
+ QByteArray m_buffer;
+};
+
+#endif // WEBSOCKETIODEVICE_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsserver/wsserver.pro
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsserver/wsserver.pro
---
old/qtremoteobjects-everywhere-src-6.11.1/examples/remoteobjects/websockets/wsserver/wsserver.pro
2026-05-08 03:19:14.000000000 +0200
+++
new/qtremoteobjects-everywhere-src-6.11.2/examples/remoteobjects/websockets/wsserver/wsserver.pro
2026-08-12 03:33:55.000000000 +0200
@@ -1,9 +1,15 @@
QT += widgets remoteobjects websockets
requires(qtConfig(treeview))
-SOURCES += main.cpp
+CONFIG -= app_bundle
-include(../common/common.pri)
+HEADERS += websocketiodevice.h
+
+SOURCES += \
+ main.cpp \
+ websocketiodevice.cpp
+
+RESOURCES += sslcert.qrc
target.path = $$[QT_INSTALL_EXAMPLES]/remoteobjects/websockets/wsserver
INSTALLS += target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/src/remoteobjects/doc/src/remoteobjects-index.qdoc
new/qtremoteobjects-everywhere-src-6.11.2/src/remoteobjects/doc/src/remoteobjects-index.qdoc
---
old/qtremoteobjects-everywhere-src-6.11.1/src/remoteobjects/doc/src/remoteobjects-index.qdoc
2026-05-08 03:19:14.000000000 +0200
+++
new/qtremoteobjects-everywhere-src-6.11.2/src/remoteobjects/doc/src/remoteobjects-index.qdoc
2026-08-12 03:33:55.000000000 +0200
@@ -111,6 +111,7 @@
\li \l {Troubleshooting Qt Remote Objects}{Troubleshooting}
\li \l {Qt Remote Objects Protocol Versioning}{Protocol Versioning}
\li \l {Qt Remote Objects Examples}{Examples}
+ \li \l {Qt Remote Objects Security Considerations}{Security Considerations}
\endlist
\section2 API Reference
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/src/remoteobjects/doc/src/remoteobjects-security.qdoc
new/qtremoteobjects-everywhere-src-6.11.2/src/remoteobjects/doc/src/remoteobjects-security.qdoc
---
old/qtremoteobjects-everywhere-src-6.11.1/src/remoteobjects/doc/src/remoteobjects-security.qdoc
1970-01-01 01:00:00.000000000 +0100
+++
new/qtremoteobjects-everywhere-src-6.11.2/src/remoteobjects/doc/src/remoteobjects-security.qdoc
2026-08-12 03:33:55.000000000 +0200
@@ -0,0 +1,30 @@
+// Copyright (C) 2026 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR
GFDL-1.3-no-invariants-only
+
+/*!
+ \page qtremoteobjects-security.html
+ \title Qt Remote Objects Security Considerations
+ \ingroup security-considerations
+ \brief Security considerations for Qt Remote Objects.
+
+ \section1 Overview
+
+ The purpose of Qt Remote Objects is the ability to call methods on
+ objects that are not in the same process or on the same host as if
+ they are in the same process. However, the Qt Remote Objects module is
+ not designed with security in mind and provides no authentication of
+ other hosts. The protocol has no way of discovering if two hosts are
+ using different versions of the shared objects, and attackers sending
+ random data can cause misbehavior or crashing. Because all hosts have
+ equal access to the same methods on the shared objects, a single host
+ can flood the others with high rates of method calls and large amounts
+ of data. It must therefore be used in a trusted environment protected
+ from the internet.
+
+ \warning Exposing Qt Remote Objects directly to the internet is a security
+ risk. Qt Remote Objects is not hardened against network-based attacks.
+
+ If internet-facing access to Qt Remote Objects functionality is needed,
isolate
+ the Qt Remote Objects nodes behind a hardened application-level gateway
that
+ exposes only the specific operations required.
+*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/src/remoteobjects/qremoteobjectnode.cpp
new/qtremoteobjects-everywhere-src-6.11.2/src/remoteobjects/qremoteobjectnode.cpp
---
old/qtremoteobjects-everywhere-src-6.11.1/src/remoteobjects/qremoteobjectnode.cpp
2026-05-08 03:19:14.000000000 +0200
+++
new/qtremoteobjects-everywhere-src-6.11.2/src/remoteobjects/qremoteobjectnode.cpp
2026-08-12 03:33:55.000000000 +0200
@@ -99,7 +99,7 @@
QMetaType::unregisterMetaType(QMetaType(id));
else
fakeClassIdManager()->removeTypeById(id);
- for (auto enumMetaType : enumMetaTypes)
+ for (auto enumMetaType : std::as_const(enumMetaTypes))
QMetaType::unregisterMetaType(enumMetaType);
free(metaObject);
}
@@ -782,8 +782,8 @@
QRemoteObjectMetaObjectManager::~QRemoteObjectMetaObjectManager()
{
- for (QMetaObject *mo : dynamicTypes) {
- for (auto metaType : enumTypes[mo])
+ for (QMetaObject *mo : std::as_const(dynamicTypes)) {
+ for (auto metaType : std::as_const(enumTypes[mo]))
QMetaType::unregisterMetaType(metaType);
enumTypes.remove(mo);
free(mo); //QMetaObjectBuilder uses malloc, not new
@@ -968,7 +968,7 @@
gadgetBuilder.setClassName(typeName);
gadgetBuilder.setFlags(PropertyAccessInStaticMetaCall);
- auto [enumLookup, enumsToBeAssignedMetaObject] =
handleEnums(gadgetBuilder, gadget.enums, typeName);
+ const auto [enumLookup, enumsToBeAssignedMetaObject] =
handleEnums(gadgetBuilder, gadget.enums, typeName);
for (auto metaType : enumLookup)
entry.enumMetaTypes.append(metaType);
@@ -1081,14 +1081,14 @@
// that dynamic Sources are being added, we will have registration issues
unless we have
// distinct names for Replicas and Sources. To not break existing code,
we will append
// "Source" to the type name if it is a Source, but leave Replica class
names alone.
- auto type = data.type + (data.isSource ? "Source" : "");
+ const QByteArray type = data.type + (data.isSource ? "Source" : "");
QMetaObjectBuilder builder;
builder.setSuperClass(data.baseMeta);
builder.addClassInfo(QCLASSINFO_REMOTEOBJECT_TYPE, data.type);
builder.setClassName(type);
- auto [enumLookup, enumsToBeAssignedMetaObject] = handleEnums(builder,
data.enums, type);
+ const auto [enumLookup, enumsToBeAssignedMetaObject] =
handleEnums(builder, data.enums, type);
for (const auto &signal : data._signals) {
auto mmb = builder.addSignal(signal.signature);
@@ -1134,7 +1134,7 @@
QMetaObject *registerAndTrackDefinition(const ClassData &data, QObject
*reference)
{
- auto [meta, newEnums] = registerDefinition(data);
+ const auto [meta, newEnums] = registerDefinition(data);
if (reference) {
ManagedTypeEntry entry;
auto id = fakeClassIdManager->addTypeName(meta->className());
@@ -1249,8 +1249,6 @@
classData._slots.reserve(numMethods);
for (quint32 i = 0; i < numMethods; ++i) {
ClassSlot classSlot;
- QByteArray signature, returnType;
- QByteArrayList paramNames;
in >> classSlot.signature;
in >> classSlot.returnType;
in >> classSlot.parameterNames;
@@ -2440,7 +2438,8 @@
void
QRemoteObjectNodePrivate::handlePointerToQObjectProperties(QConnectedReplicaImplementation
*rep, QVariantList &properties)
{
- for (const int index : rep->childIndices())
+ const auto childIndices = rep->childIndices();
+ for (const int index : childIndices)
properties[index] = handlePointerToQObjectProperty(rep, index,
properties.at(index));
}
@@ -2866,14 +2865,14 @@
if (state != QRemoteObjectRegistry::Suspect)
return;
// unproxy all objects
- for (ProxyReplicaInfo* info : proxiedReplicas)
+ for (ProxyReplicaInfo* info : std::as_const(proxiedReplicas))
disableAndDeleteObject(info);
proxiedReplicas.clear();
});
}
ProxyInfo::~ProxyInfo() {
- for (ProxyReplicaInfo* info : proxiedReplicas)
+ for (ProxyReplicaInfo* info : std::as_const(proxiedReplicas))
delete info;
delete proxyNode;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/src/remoteobjects/qremoteobjectpacket.cpp
new/qtremoteobjects-everywhere-src-6.11.2/src/remoteobjects/qremoteobjectpacket.cpp
---
old/qtremoteobjects-everywhere-src-6.11.1/src/remoteobjects/qremoteobjectpacket.cpp
2026-05-08 03:19:14.000000000 +0200
+++
new/qtremoteobjects-everywhere-src-6.11.2/src/remoteobjects/qremoteobjectpacket.cpp
2026-08-12 03:33:55.000000000 +0200
@@ -595,7 +595,7 @@
dynamicEnumMetaObjects.insert(metaEnum.enclosingMetaObject());
}
ds << quint32(qtEnums.size());
- for (const auto &metaEnum : qtEnums) {
+ for (const auto &metaEnum : std::as_const(qtEnums)) {
QByteArray enumName(metaEnum.scope());
enumName.append("::", 2).append(metaEnum.name());
ds << enumName;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/src/remoteobjects/qremoteobjectreplica.cpp
new/qtremoteobjects-everywhere-src-6.11.2/src/remoteobjects/qremoteobjectreplica.cpp
---
old/qtremoteobjects-everywhere-src-6.11.1/src/remoteobjects/qremoteobjectreplica.cpp
2026-05-08 03:19:14.000000000 +0200
+++
new/qtremoteobjects-everywhere-src-6.11.2/src/remoteobjects/qremoteobjectreplica.cpp
2026-08-12 03:33:55.000000000 +0200
@@ -119,7 +119,7 @@
connectionToSource->d_func()->m_codec->serializeRemoveObjectPacket(m_objectName);
sendCommand();
}
- for (auto prop : m_propertyStorage) {
+ for (const auto &prop : std::as_const(m_propertyStorage)) {
if (prop.canConvert<QObject*>()) {
if (auto o = prop.value<QObject*>())
o->deleteLater();
@@ -284,7 +284,8 @@
void QConnectedReplicaImplementation::setDynamicProperties(QVariantList
&&values)
{
QRemoteObjectReplicaImplementation::setDynamicProperties(std::move(values));
- for (QRemoteObjectReplica *obj : std::exchange(m_parentsNeedingConnect,
{}))
+ const auto parentsNeedingConnect = std::exchange(m_parentsNeedingConnect,
{});
+ for (QRemoteObjectReplica *obj : parentsNeedingConnect)
configurePrivate(obj);
Q_ASSERT(m_state.loadAcquire() < QRemoteObjectReplica::Valid);
@@ -481,7 +482,8 @@
Q_ASSERT(connectionToSource);
connectionToSource.clear();
setState(QRemoteObjectReplica::State::Suspect);
- for (const int index : childIndices()) {
+ const auto childIds = childIndices();
+ for (const int index : childIds) {
auto pointerToQObject = qvariant_cast<QObject *>(getProperty(index));
auto child = qobject_cast<QRemoteObjectReplica *>(pointerToQObject);
if (child) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/src/remoteobjects/qremoteobjectsource.cpp
new/qtremoteobjects-everywhere-src-6.11.2/src/remoteobjects/qremoteobjectsource.cpp
---
old/qtremoteobjects-everywhere-src-6.11.1/src/remoteobjects/qremoteobjectsource.cpp
2026-05-08 03:19:14.000000000 +0200
+++
new/qtremoteobjects-everywhere-src-6.11.2/src/remoteobjects/qremoteobjectsource.cpp
2026-08-12 03:33:55.000000000 +0200
@@ -198,7 +198,8 @@
else {
roles.clear();
const auto knownRoles = model->roleNames();
- for (auto role : modelInfo.roles.split('|')) {
+ const auto modelInfoRoles = modelInfo.roles.split('|');
+ for (const auto &role : modelInfoRoles) {
if (role.isEmpty())
continue;
const int roleIndex = knownRoles.key(role, -1);
@@ -321,42 +322,43 @@
return;
if (!newObject) {
- for (auto child : m_children)
+ for (const auto &child : std::as_const(m_children))
child->resetObject(nullptr);
return;
}
- for (int i : m_children.keys()) {
+ for (const auto &[i, val] : std::as_const(m_children).asKeyValueRange()) {
const int index = m_api->sourcePropertyIndex(i);
const auto property = m_object->metaObject()->property(index);
QObject *child = property.read(m_object).value<QObject *>();
- m_children[i]->resetObject(child);
+ val->resetObject(child);
}
}
QRemoteObjectSource::~QRemoteObjectSource()
{
- for (auto it : m_children) {
+ for (const auto &it : std::as_const(m_children)) {
// We used QPointers for m_children because we don't control the
lifetime of child QObjects
// Since the this/source QObject's parent is the referenced QObject,
it could have already
// been deleted
- delete it;
+ delete it.data();
}
}
QRemoteObjectRootSource::~QRemoteObjectRootSource()
{
- for (auto it : m_children) {
+ for (const auto &it : std::as_const(m_children)) {
// We used QPointers for m_children because we don't control the
lifetime of child QObjects
// Since the this/source QObject's parent is the referenced QObject,
it could have already
// been deleted
- delete it;
+ delete it.data();
}
d->m_sourceIo->unregisterSource(this);
// removeListener tries to modify d->m_listeners, this is O(N²),
// so clear d->m_listeners prior to calling unregister (consume loop).
// We can do this, because we don't care about the return value of
removeListener() here.
- for (QtROIoDeviceBase *io : std::exchange(d->m_listeners, {})) {
+ const auto listeners = std::exchange(d->m_listeners, {});
+ for (QtROIoDeviceBase *io : listeners) {
removeListener(io, true);
}
delete d;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/src/remoteobjects/qremoteobjectsource.h
new/qtremoteobjects-everywhere-src-6.11.2/src/remoteobjects/qremoteobjectsource.h
---
old/qtremoteobjects-everywhere-src-6.11.1/src/remoteobjects/qremoteobjectsource.h
2026-05-08 03:19:14.000000000 +0200
+++
new/qtremoteobjects-everywhere-src-6.11.2/src/remoteobjects/qremoteobjectsource.h
2026-08-12 03:33:55.000000000 +0200
@@ -15,7 +15,7 @@
//Based on compile time checks for static connect() from qobjectdefs_impl.h
template <class ObjectType, typename Func1, typename Func2>
-static inline int qtro_property_index(Func1, Func2, const char *propName)
+int qtro_property_index(Func1, Func2, const char *propName)
{
typedef QtPrivate::FunctionPointer<Func1> Type1;
typedef QtPrivate::FunctionPointer<Func2> Type2;
@@ -31,7 +31,7 @@
}
template <class ObjectType, typename Func1, typename Func2>
-static inline int qtro_signal_index(Func1 func, Func2, int *count, int const
**types)
+int qtro_signal_index(Func1 func, Func2, int *count, int const **types)
{
typedef QtPrivate::FunctionPointer<Func1> Type1;
typedef QtPrivate::FunctionPointer<Func2> Type2;
@@ -50,7 +50,7 @@
}
template <class ObjectType, typename Func1, typename Func2>
-static inline void qtro_method_test(Func1, Func2)
+void qtro_method_test(Func1, Func2)
{
typedef QtPrivate::FunctionPointer<Func1> Type1;
typedef QtPrivate::FunctionPointer<Func2> Type2;
@@ -69,7 +69,7 @@
const char *methodName, int *count, const int
**types);
template <class ObjectType, typename Func1, typename Func2>
-static inline int qtro_method_index(Func1, Func2, const char *methodName, int
*count, int const **types)
+int qtro_method_index(Func1, Func2, const char *methodName, int *count, int
const **types)
{
typedef QtPrivate::FunctionPointer<Func1> Type1;
typedef QtPrivate::FunctionPointer<Func2> Type2;
@@ -90,7 +90,7 @@
}
template <class ObjectType>
-static inline QByteArray qtro_enum_signature(const char *enumName)
+QByteArray qtro_enum_signature(const char *enumName)
{
const auto qme =
ObjectType::staticMetaObject.enumerator(ObjectType::staticMetaObject.indexOfEnumerator(enumName));
return QByteArrayLiteral("1::2").replace("1", qme.scope()).replace("2",
qme.name());
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/tests/auto/integration/enum.rep
new/qtremoteobjects-everywhere-src-6.11.2/tests/auto/integration/enum.rep
--- old/qtremoteobjects-everywhere-src-6.11.1/tests/auto/integration/enum.rep
2026-05-08 03:19:14.000000000 +0200
+++ new/qtremoteobjects-everywhere-src-6.11.2/tests/auto/integration/enum.rep
2026-08-12 03:33:55.000000000 +0200
@@ -7,3 +7,9 @@
PROP(ClassEnum classEnum)
PROP(ClassEnum classEnumRW READWRITE)
}
+
+class TestClass2
+{
+ ENUM ClassEnum {Null, One, Two}
+ SLOT(ClassEnum getEnum())
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-6.11.1/tests/auto/integration/tst_integration.cpp
new/qtremoteobjects-everywhere-src-6.11.2/tests/auto/integration/tst_integration.cpp
---
old/qtremoteobjects-everywhere-src-6.11.1/tests/auto/integration/tst_integration.cpp
2026-05-08 03:19:14.000000000 +0200
+++
new/qtremoteobjects-everywhere-src-6.11.2/tests/auto/integration/tst_integration.cpp
2026-08-12 03:33:55.000000000 +0200
@@ -125,6 +125,12 @@
}
};
+class TestClass2Impl : public TestClass2SimpleSource
+{
+public:
+ TestClass2Source::ClassEnum getEnum() override { return
TestClass2Source::Two; }
+};
+
class tst_Integration: public QObject
{
@@ -413,6 +419,26 @@
}
}
+ void enumReturnValueTest()
+ {
+ setupHost();
+ setupClient();
+
+ TestClass2Impl tc;
+ host->enableRemoting<TestClass2SourceAPI>(&tc);
+ const std::unique_ptr<TestClass2Replica>
tc_rep(client->acquire<TestClass2Replica>());
+ QVERIFY(tc_rep->waitForSource());
+
+ QRemoteObjectPendingReply<TestClass2Replica::ClassEnum> reply =
tc_rep->getEnum();
+ QVERIFY(reply.waitForFinished());
+ QCOMPARE(reply.error(), QRemoteObjectPendingCall::NoError);
+
+#if QT_VERSION < QT_VERSION_CHECK(6, 12, 0)
+ QEXPECT_FAIL("", "515711c520975049fea242eb08c6036b831c9655 missing",
Continue);
+#endif
+ QCOMPARE(reply.returnValue(), TestClass2Replica::Two);
+ }
+
void namedObjectTest()
{
setupHost();