Go to file
Thiago Macieira 0b79f58458 IPC: add QtIpcCommon::platformSafeKey()
This is the new implementation of how to make platform-safe native keys,
for which no past compatibility is required nor promised. Unlike when we
started in Qt 4.4, it doesn't look there are many restrictions in names
anyway.

Important differences are:
* POSIX RT: no restrictions, we prepend the necessary '/'
* System V/XSI: no restrictions, it's just a file path anyway;
  we pass absolute paths unchanged; otherwise we prepend RuntimeLocation
* Windows: no restrictions, but we do recognize Global\ and Local\
  kernel objects without munging them

The use of the RuntimeLocation may cause a warning on Unix systems
(other than Apple ones and Android) if $XDG_RUNTIME_DIR isn't set.

We do enforce the Apple 30-character limit here, otherwise you get
ENAMETOOLONG.

Change-Id: I12a088d1ae424825abd3fffd171d3a0e09e06361
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2023-01-22 13:02:02 -03:00
.github/workflows Repair github action workflow 2021-11-10 18:57:33 +01:00
bin Use the Windows path separator in a Batch file 2023-01-09 14:39:27 +01:00
cmake CMake: Work around AUTOUIC Ninja Multi-Config issue with EP examples 2023-01-20 18:21:46 +01:00
coin COIN: Sign Windows binaries only with Packaging configs 2023-01-19 09:16:41 +02:00
config.tests Change the license of all CMakeLists.txt and *.cmake files to BSD 2022-08-23 23:58:42 +02:00
dist Add Qt 6.0.0 changes file 2020-11-16 10:02:08 +02:00
doc Fix qt android notifier example name for qtdoc 2023-01-20 16:11:30 +00:00
examples Fix CMakeLists.txt of Style Plugin Example (broken on macOS) 2023-01-19 10:50:04 +00:00
lib Purge all fonts 2015-08-18 19:59:14 +00:00
libexec Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
LICENSES Add license text file for Creative Commons Zero (CC0) 1.0 2022-10-19 12:06:09 +02:00
mkspecs permissions: Take PlistBuddy exit code into account when reading Info.plist 2023-01-17 16:53:57 +01:00
qmake Make qmake and qtpaths report Qt version baked into the binaries 2023-01-18 13:21:05 +01:00
src IPC: add QtIpcCommon::platformSafeKey() 2023-01-22 13:02:02 -03:00
tests IPC: Long live QNativeIpcKey key 2023-01-22 13:02:00 -03:00
util Remove GENERATE_METATYPES 2023-01-18 14:47:12 +01:00
.cmake.conf Enable QT_NO_AS_CONST globally 2023-01-05 15:09:49 +01:00
.gitattributes Give batch files CRLF line endings 2020-11-04 15:02:29 +00:00
.gitignore Assume qhelpgenerator in libexec instead of bin 2021-11-08 19:27:32 +01:00
.lgtm.yml Skip LGTM analysis for the bootstrap library and tools 2020-07-16 01:04:34 +02:00
.tag Update the git-archive export options 2012-09-07 15:39:31 +02:00
CMakeLists.txt Change the license of all CMakeLists.txt and *.cmake files to BSD 2022-08-23 23:58:42 +02:00
conanfile.py Conan: Do not force 'qt_host_path' usage in cross-build context 2022-06-22 18:18:42 +03:00
config_help.txt Update -redo option such that it removes CMakeCache.txt and CMakeFiles/ 2022-12-01 02:23:51 +01:00
configure Fix a bug in -redo where -redo was not considering new options 2023-01-19 13:19:20 +01:00
configure.bat Fix a bug in -redo where -redo was not considering new options 2023-01-19 13:19:20 +01:00
configure.cmake Add find package for lttng library so that it gets added to target 2023-01-13 12:43:45 +02:00
dependencies.yaml Re-add dependencies.yaml now that qt5.git wip/qt6 builds fine 2019-09-18 13:19:31 +02:00
qt_cmdline.cmake QCryptographicHash: implement OpenSSL 3.0 support 2022-09-26 17:26:37 +02:00
sync.profile Move qurltlds_p.h out of src/network, and make it a .cpp file 2022-10-01 06:24:51 +00:00