This is an automated email from the ASF dual-hosted git repository.
mjumper pushed a change to branch patch
in repository https://gitbox.apache.org/repos/asf/guacamole-server.git
from 86510220 GUACAMOLE-1971: Merge safely multiply values to be used for
memory allocation.
add c716a07a Merge 1.5.0 changes back to master.
add 9cbd7682 GUACAMOLE-1312: Added fr_ca keymap
add a175a3d9 GUACAMOLE-1312: Merge add Canadian French RDP keymap
add df4e5c6f GUACAMOLE-1595: Ensure all mouse buttons are initially
released when terminal starts.
add 81300052 GUACAMOLE-1595: Merge mouse mask initialization fix.
add c4693009 GUACAMOLE-377: Support for RDPGFX.
add c795bf9e GUACAMOLE-377: Control RemoteFX / GFX support with
"enable-gfx" parameter.
add dd85c549 GUACAMOLE-377: Add handling for EndPaint required by software
GDI implementation of RDPGFX.
add c19eab96 GUACAMOLE-377: Revise processing lag calculations to consider
cumulative processing lag.
add 52c8683b GUACAMOLE-377: Add protocol-level support for reporting
remote frame statistics.
add 669e02b4 GUACAMOLE-377: Leverage RDPGFX to report remote frame
statistics to the client.
add bde8cdee GUACAMOLE-377: Add general RDP support for frame markers.
add a0e9f6ed GUACAMOLE-377: Leverage client timestamp tracking for RDP
frame duration.
add 28396ae3 GUACAMOLE-377: Expect explicit RDP frame boundaries only
after at least one frame boundary has been received.
add da80163e GUACAMOLE-377: Enable graphics pipeline extension by default.
add b26f9d64 GUACAMOLE-377: Clarify usage of EndPaint to detect frames.
add d5761ad6 GUACAMOLE-377: Warn about required color depth only if
actually overridden.
add b7f05b9e GUACAMOLE-377: Ensure backing surface of underlying FreeRDP
GDI implementation is resized when desktop is resized.
add ce27936e GUACAMOLE-377: Add frame boundaries around cursor set
operations if otherwise absent.
add 31f1b2c7 GUACAMOLE-377: Rename single-letter "e" event arguments
variable to "args" for readability.
add d4cd9b3e GUACAMOLE-377: Merge support for RemoteFX.
add 1e9cd913 GUACAMOLE-1622: Added margins to ssh sessions.
add a5834fd3 GUACAMOLE-1622: Separated logic into single responsibility
functions.
add 64ea9c4d GUACAMOLE-1622: Clarified comments to describe if param is a
pointer.
add ffb6c809 GUACAMOLE-1622: Merge addition of margins to ssh sessions.
add 9642afc4 GUACAMOLE-377: Update unit tests for new prototype of
guac_protocol_send_sync().
add 4cf1bfae GUACAMOLE-377: Merge update unit tests for new prototype of
guac_protocol_send_sync().
add bce1d2a4 GUACAMOLE-1436: Add winpr file.h dependencies as required.
add 51c640fd GUACAMOLE-1436: Merge addition of missing FreeRDP winpr
headers.
add 523532a5 GUACAMOLE-1636: Fix a typo mistake `offscren`.
add e8d966ae GUACAMOLE-1636: Fix a typo mistake `Versoin`.
add f438a366 GUACAMOLE-1636: Fix a typo mistake `synchonize`.
add 98556fbe GUACAMOLE-1636: Fix a typo mistake `coordinare`.
add 4048dd49 GUACAMOLE-1636: Fix a typo mistake `assicated`.
add cba5484b GUACAMOLE-1636: Fix a typo mistake `recieved`.
add 6d994db9 GUACAMOLE-1636: Fix a typo mistake `invokved`.
add 0aae5eea GUACAMOLE-1636: Merge corrections to typos within RDP
comments/documentation.
add 5bb56ed5 GUACAMOLE-1622: Restructured code to resolve scrollbar
resizing bug where the scrollbar would clip off the side of the terminal. This
fix also resolves the issue where the text would blur at certain intervals of
resizing the window.
add eee3ac09 GUACAMOLE-1622: Merge correction to terminal resize
regression.
add cdee93ae GUACAMOLE-1652: Only call SSL init functions when the library
version requires it.
add 9c93337d GUACAMOLE-1652: Migrate OpenSSL initialization to modern
methods for OpenSSL >= 1.1.0.
add 6ab82446 GUACAMOLE-1652: Merge only call SSL init functions when the
library version requires it.
add 15f6e9f6 Merge 1.5.0 changes back to master.
add 5dbf4820 Merge 1.5.0 changes back to master.
add 1971a9da GUACAMOLE-1669: Prefer FIPS compliant ciphers and algorithms
when FIPS mode is enabled.
add 0361adc0 GUACAMOLE-1669: Merge FIPS support for SSH connections.
add dffbeac5 GUACAMOLE-1674: Warn about NLA mode if FIPS mode is enabled,
or disable if possible.
add 4d211e0c GUACAMOLE-1674: Merge changes removing NLA from negotiation
if FIPS is enabled.
add b096e47f GUACAMOLE-1669: Include ext-info-c in preferred KEX
algorithms to ensure RSA key upgrades can happen.
add b20afa27 GUACAMOLE-1669: Merge fix for RSA key upgrade failure if FIPS
mode is enabled.
add bc524855 GUACAMOLE-1682: Normalize conflicting newline encodings in
clipboards between Linux and Windows systems for ssh sessions.
add 067f2a91 GUACAMOLE-1682: Merge automatic newline normalization of
terminal clipboard.
add 6171da6d GUACAMOLE-1708: Added Czech keyboard keymap for RDP
add bad381ce GUACAMOLE-1708: Merge RDP support for Czech keyboard layout.
add 457a169c GUACAMOLE-1708: Added Czech keyboard keymap fix missing char
add 3ca6bb0a GUACAMOLE-1708: Merge correction to missing Czech keyboard
character mapping.
add 55941823 Merge 1.5.0 changes back to master.
add add7ce36 Merge 1.5.0 changes back to master.
add 4afc1d85 Merge 1.5.0 changes back to master.
add f6893ed3 Merge 1.5.0 changes back to master.
add 3b0a9bac GUACAMOLE-377: Send a sync instruction to users when
synchronizing surfaces.
add 98c2a6ad GUACAMOLE-377: Merge correction ensuring users receive a
proper frame boundary when joining.
add 5cf408eb GUACAMOLE-1714: Adapt to const parameters of ffmpeg 5.0.
add 47b9360d GUACAMOLE-1714: Merge update guacenc for const
parameters/values introduced in FFmpeg 5.0.
add 1ff7dd55 Merge 1.5.1 changes back to master.
add 23e42fb6 GUACAMOLE-1717: Fix RDP cursor use of uninitialized memory
add a59af51b GUACAMOLE-1717: Merge fix RDP cursor use of uninitialized
memory
add 07b96980 GUACAMOLE-377: Correct frame start and frame end timestamps
when reading from rdp. Correct logic when marking surface frames.
add 77ec058e GUACAMOLE-377: Merge corrections to RDP frame boundary logic.
add a1d6d45a GUACAMOLE-1505: Avoid null pointer dereference in RDP
protocol when display is already freed.
add 51dce6f6 GUACAMOLE-1505: Merge correction to pointer cleanup within
user leave handler for RDP.
add e2e78e76 GUACAMOLE-1754: Run docker build for PR CI.
add 6033bfc3 GUACAMOLE-1754: Merge automatic PR verification builds.
add 75a7039f GUACAMOLE-1761: Fix hungarian keymap
add 49bddcf4 GUACAMOLE-1761: Merge fix Latin i in Hungarian keymap
add caade9ed Merge 1.5.1 changes back to master.
add 5314ec07 Merge 1.5.1 changes back to master.
add 8b93c344 GUACAMOLE-1771: add Portuguese keymap to RDP
add ea172635 GUACAMOLE-1771: Merge add Portuguese keymap to RDP
add 61826858 GUACAMOLE-1770: add Romanian keymap to RDP
add daffc29a GUACAMOLE-1770: Merge add Romanian keymap to RDP
add f81b70f2 Merge 1.5.2 changes back to master.
add f378132d Merge 1.5.2 changes back to master.
add cc50915c Merge 1.5.2 changes back to master.
add d9f72103 Merge 1.5.2 change back to master.
add 463831f8 GUACAMOLE-1754: Run unit tests within Docker build.
add fb2ef398 GUACAMOLE-1754: Merge change to run unit tests within Docker
build.
add d60177e6 GUACAMOLE-1776: Batch up base64 encoding to reduce syscalls.
add 7a092b06 GUACAMOLE-1776: Merge buffered base64 encoder.
add 48ac0674 Merge 1.5.3 changes back to master.
add 162a75f4 GUACAMOLE-1804: Support mac style paste shortcut.
add 98f92216 GUACAMOLE-1804: Merge support for pasting in terminal via
Mac-style "Cmd+V".
add c73c37b2 GUACAMOLE-1805: Ignore unhandled copy shortcuts in terminal
to avoid confusion.
add 1aeba8ba GUACAMOLE-1805: Merge ignore unhandled copy shortcuts in
terminal to avoid confusion.
add b43b2d9f GUACAMOLE-1113: Support right hand modifiers in terminal.
add e94b0a9a GUACAMOLE-1113: Merge support for right hand modifiers in
terminal emulator.
add 1f14982a GUACAMOLE-1473: Disable AltGr handling for RDP keyboard
layouts that don't support it.
add 1e9777ab GUACAMOLE-1473: Merge removal of AltGr from RDP keyboard
layouts that lack the key entirely.
add 870cc5fc Merge 1.5.3 changes back to master.
add f2b9aaf3 GUACAMOLE-1290: Add support for ssh certificate authentication
add 766b9f68 GUACAMOLE-1290: Minor changes to comments
add 80598ae8 GUACAMOLE-1290: Merge support for ssh public certificate
authentication
add eae24284 Merge 1.5.4 changes back to master.
add d44815d7 Merge 1.5.4 changes back to master.
add d7ad6030 GUACAMOLE-377: Correct guac_common_display_dup() for
compatibility with batch join API.
add fe24e2d4 GUACAMOLE-377: Merge correct guac_common_display_dup() for
compatibility with batch join API.
add 1d0b421f GUACAMOLE-600: Add support for setting the Telnet connection
timeout.
add 694b3fc5 GUACAMOLE-600: Merge support for setting the Telnet
connection timeout.
add fa4209c8 GUACAMOLE-1332: Add support for certificate fingerprints and
auto-accept.
add d5921067 GUACAMOLE-1332: Merge support for RDP certificate
fingerprints and auto-accept.
add 125e33c4 Merge 1.5.4 changes back to master.
add 97870177 Merge 1.5.4 changes back to master.
add bb14ee97 Merge 1.5.4 changes back to master.
add 5b2eb7b0 Merge 1.5.4 changes back to master.
add 8d3414e6 Merge 1.5.4 changes back to master.
add 4c467d50 GUACAMOLE-1290: Migrate SSH certificate auth support to new
memory management functions.
add f339b489 GUACAMOLE-1290: Merge migration of SSH certificate auth
support to new memory management functions.
add c60f40c6 GUACAMOLE-1875: Check return values of WebP API functions.
add 88ece722 GUACAMOLE-1875: Merge check return values of WebP API
functions.
add 96704c5e GUACAMOLE-1869: Aligned library names
add 8e3d7594 GUACAMOLE-1869: Merge aligned library names in ./configure
output
add f0ab6655 Merge 1.5.4 changes back to master.
add 21c72e3a GUACAMOLE-1891: Pin docker base image to Alpine Linux 3.18,
which still provides required GUACAMOLE-1891 package.
add 94a755c9 GUACAMOLE-1891: Merge pin docker base image to Alpine Linux
3.18
add 8e6e0011 Merge 1.5.5 changes back to master.
add fecb3b25 Merge 1.5.5 changes back to master.
add c383a731 Merge 1.5.5 changes back to master.
add 28d97076 Merge 1.5.5 changes back to master.
add c9664bc4 Merge 1.5.5 changes back to master.
add a575af63 Merge 1.5.5 changes back to master.
add 73f23fc1 Merge 1.5.5 changes back to master.
add 12e875e4 Merge 1.5.5 changes back to master.
add a34d10fa Merge 1.5.5 changes back to master.
add 14ca1b16 Merge 1.5.5 changes back to master.
add c96c5abc Merge 1.5.5 changes back to master.
add 212b0abf Merge 1.5.5 changes back to master.
add e724d033 Merge 1.5.5 changes back to master.
add 7d5a9c42 Merge 1.5.5 changes back to master.
add 37823390 Merge 1.5.5 changes back to master.
add 2844a7dc GUACAMOLE-1931: Allow writing to existing recording files.
add 7553e793 GUACAMOLE-1931: Merge addition of configuration option to
allow overwriting recording files.
add a52177dd GUACAMOLE-1931: Allow writing to existing typescript files.
add f9d9dff8 GUACAMOLE-1931: Merge allow writing to existing typescript
files.
add 5a65011e GUACAMOLE-1374: Adding extensible architecture-specific build
options
add 633d5b99 GUACAMOLE-1374: Merge Guacamole Server options for Docker on
ARM
add 4ba0b016 GUACAMOLE-1940: Correct flag comparison in
"guac_rwlock_acquire_write_lock" function
add 91351aae GUACAMOLE-1940: Merge correct flag comparison in
"guac_rwlock_acquire_write_lock" function
add 69b45885 GUACAMOLE-1760: Add guacd support for setting VNC compression
and quality.
add ce99fa70 GUACAMOLE-1760: Merge guacd support for setting VNC
compression and quality.
add 825d87f4 GUACAMOLE-1944: Remove display margin at mouse position
add ad0b4401 GUACAMOLE-1944: Merge remove display margin on mouse position
add fe808ce6 Merge patch branch changes back to main.
add 721e6669 GUACAMOLE-1267: Add VNC setting 'disable-remote-input'
add 3ad3b041 GUACAMOLE-1267: Merge VNC parameter for disabling local input
on VNC server.
add efc9a178 GUACAMOLE-1686: Add common function for opening TCP sockets.
add eb3f85d8 GUACAMOLE-1686: Implement WOL function to attempt to connect
to host after waking it.
add 2c796593 GUACAMOLE-1686: Switch SSH and Telnet to common TCP socket
function.
add 69a616ce GUACAMOLE-1686: Add convenience function for converting
integer to string.
add e214ad4c GUACAMOLE-1686: Switch WOL in each of the protocols to use
new wake_and_wait function.
add c91b0efc GUACAMOLE-1686: Merge improved WOL functionality.
add 275ffbe4 GUACAMOLE-1686: Fix fd resource leak in WoL code.
add fa448f13 GUACAMOLE-1686: Merge fix for file descriptor resource leak
in WoL code.
add 5e452359 GUACAMOLE-1084: Implement basic handling for unsuccessful
RAIL execution results.
add c81e53c0 GUACAMOLE-1084: Merge handling for unsuccessful RAIL
execution results.
add 246a285e GUACAMOLE-1952: Add compatibility with FFMPEG 7.0
add cc8addf9 GUACAMOLE-1952: Merge add compatibility with FFMPEG 7.0
add 74d319b7 GUACAMOLE-1231: Implement basic support for restoring
minimized RAIL windows.
add 4cd10b3b GUACAMOLE-1231: Merge support for restoring minimized RAIL
windows.
add d00ce0a3 GUACAMOLE-192: Select word in terminal on double click
add 7d004ce1 GUACAMOLE-192: Merge functionality allowing word selection in
terminal on double click.
add 97ca969e GUACAMOLE-1026: Add support for FreeRDP3.
add 3d7e4bdd GUACAMOLE-1026: Merge add support for FreeRDP3.
add 38d88931 GUACAMOLE-1026: Remove build flag ALLOW_IN_SOURCE_BUILD when
building FreeRDP.
add 9b06eccc GUACAMOLE-1026: Merge remove build flag ALLOW_IN_SOURCE_BUILD
when building FreeRDP.
add ad81f4c7 Merge patch branch changes to main.
add 2ad3a7c5 GUACAMOLE-1633: Add support of alternate screen buffer
add aa6e7ad4 GUACAMOLE-1633: Merge add terminal support for alternate
screen buffer
add 30c93fcc GUACAMOLE-1026: Fix const correctness and unused variable
warnings for FreeRDP3 checks.
add d17c4278 GUACAMOLE-1026: Merge improved FreeRDP3 Configuration Checks
for el7 and el8 Build Environments.
add 917fd366 GUACAMOLE-1944: display margin only affects the default layer
and not scrollbar layer
add eb9c9f31 GUACAMOLE-1944: Merge display margin only affects the default
layer and not scrollbar layer
add 91d293ae GUACAMOLE-520: Add mapping of Japanese IME keys.
add 8bc7319f GUACAMOLE-520: Merge add mapping of Japanese IME keys.
add 0994ee67 GUACAMOLE-1971: Safely multiply values to be used for memory
allocation.
add 2aabe284 GUACAMOLE-1971: Merge fix for potential integer overflow in
memory allocation.
add a5a91000 Merge patch branch changes to main.
add 1f52c48a GUACAMOLE-1196: Move display fit function to common area.
add ddc2e22a GUACAMOLE-1196: Add VNC protocol support for updating display
size.
add 785b11e8 GUACAMOLE-1196: Remove unnecessary display size checking for
VNC.
add 0e7622ab GUACAMOLE-1196: Implement our own function for sending size
updates to server.
add f4af20ae GUACAMOLE-1196: Use message lock where other RFB messages are
sent.
add 667343af GUACAMOLE-1196: Add callback for setting the initial display
size.
add a608928e GUACAMOLE-1196: Add option to disable display resizing.
add af8c9b2a GUACAMOLE-1196: Merge support for VNC display size updates.
add 2a9554b9 Merge 1.6.0 changes back to patch.
No new revisions were added by this update.
Summary of changes:
.github/workflows/pr-build.yml | 29 ++
Dockerfile | 27 +-
configure.ac | 216 ++++++++--
src/common-ssh/common-ssh/user.h | 24 ++
src/common-ssh/ssh.c | 92 +---
src/common-ssh/user.c | 14 +
src/common/common/display.h | 31 ++
src/common/display.c | 35 +-
src/guacd-docker/bin/build-all.sh | 35 +-
src/guacd/daemon.c | 7 +-
src/guacenc/video.c | 2 +
src/libguac/Makefile.am | 2 +
src/libguac/client.c | 8 +-
src/libguac/encode-webp.c | 16 +-
src/libguac/guacamole/client.h | 39 +-
src/libguac/guacamole/protocol.h | 19 +-
src/libguac/guacamole/recording.h | 6 +-
src/libguac/guacamole/socket-constants.h | 11 +
.../{encode-png.h => guacamole/socket-tcp.h} | 34 +-
src/libguac/guacamole/socket.h | 11 +-
src/libguac/guacamole/string.h | 51 ++-
src/libguac/guacamole/wol-constants.h | 6 +
src/libguac/guacamole/wol.h | 40 ++
src/libguac/protocol.c | 5 +-
src/libguac/recording.c | 35 +-
src/libguac/socket-tcp.c | 102 +++++
src/libguac/socket.c | 134 +++---
src/libguac/string.c | 40 +-
src/libguac/tests/socket/fd_send_instruction.c | 4 +-
src/libguac/tests/socket/nested_send_instruction.c | 6 +-
src/libguac/user-handlers.c | 28 +-
src/libguac/wol.c | 53 ++-
src/protocols/kubernetes/kubernetes.c | 6 +-
src/protocols/kubernetes/settings.c | 24 ++
src/protocols/kubernetes/settings.h | 12 +
src/protocols/rdp/Makefile.am | 10 +-
src/protocols/rdp/bitmap.c | 4 +-
src/protocols/rdp/channels/cliprdr.c | 46 +-
src/protocols/rdp/channels/disp.c | 63 +--
src/protocols/rdp/channels/disp.h | 16 -
src/protocols/rdp/channels/rail.c | 127 +++++-
src/protocols/rdp/channels/rail.h | 27 ++
src/protocols/rdp/channels/rdpei.c | 14 +-
src/protocols/rdp/channels/rdpgfx.c | 122 ++++++
src/protocols/rdp/channels/{rail.h => rdpgfx.h} | 26 +-
.../rdp/channels/rdpsnd/rdpsnd-messages.c | 3 +-
src/protocols/rdp/client.c | 1 +
src/protocols/rdp/color.c | 15 +-
src/protocols/rdp/gdi.c | 116 +++++-
src/protocols/rdp/gdi.h | 64 ++-
src/protocols/rdp/glyph.c | 3 +-
src/protocols/rdp/glyph.h | 8 +-
src/protocols/rdp/input.c | 15 +-
src/protocols/rdp/keyboard.c | 9 +-
src/protocols/rdp/keymaps/base.keymap | 1 -
.../keymaps/{failsafe.keymap => base_altgr.keymap} | 6 +-
src/protocols/rdp/keymaps/cs-cz-qwertz.keymap | 79 ++++
src/protocols/rdp/keymaps/da_dk_qwerty.keymap | 2 +-
src/protocols/rdp/keymaps/de_ch_qwertz.keymap | 2 +-
src/protocols/rdp/keymaps/de_de_qwertz.keymap | 2 +-
src/protocols/rdp/keymaps/en_gb_qwerty.keymap | 2 +-
src/protocols/rdp/keymaps/es_es_qwerty.keymap | 2 +-
src/protocols/rdp/keymaps/es_latam_qwerty.keymap | 2 +-
src/protocols/rdp/keymaps/fr_be_azerty.keymap | 2 +-
src/protocols/rdp/keymaps/fr_ca_qwerty.keymap | 55 +++
src/protocols/rdp/keymaps/fr_ch_qwertz.keymap | 2 +-
src/protocols/rdp/keymaps/fr_fr_azerty.keymap | 2 +-
src/protocols/rdp/keymaps/hu_hu_qwertz.keymap | 2 +-
src/protocols/rdp/keymaps/it_it_qwerty.keymap | 2 +-
src/protocols/rdp/keymaps/ja_jp_qwerty.keymap | 6 +
src/protocols/rdp/keymaps/no_no_qwerty.keymap | 2 +-
src/protocols/rdp/keymaps/pt_br_qwerty.keymap | 4 +-
src/protocols/rdp/keymaps/pt_pt_qwerty.keymap | 69 +++
src/protocols/rdp/keymaps/ro_ro_qwerty.keymap | 92 ++++
src/protocols/rdp/keymaps/sv_se_qwerty.keymap | 2 +-
src/protocols/rdp/keymaps/tr_tr_qwerty.keymap | 2 +-
src/protocols/rdp/plugins/channels.c | 7 +-
src/protocols/rdp/plugins/channels.h | 9 +-
src/protocols/rdp/plugins/guacai/guacai.c | 6 +-
src/protocols/rdp/pointer.c | 40 +-
src/protocols/rdp/pointer.h | 8 +-
src/protocols/rdp/rdp.c | 154 ++++---
src/protocols/rdp/rdp.h | 39 ++
src/protocols/rdp/settings.c | 378 ++++++++++++++++-
src/protocols/rdp/settings.h | 28 ++
src/protocols/ssh/settings.c | 35 ++
src/protocols/ssh/settings.h | 18 +
src/protocols/ssh/ssh.c | 69 ++-
src/protocols/telnet/settings.c | 35 ++
src/protocols/telnet/settings.h | 23 +
src/protocols/telnet/telnet.c | 117 ++----
src/protocols/vnc/client.c | 6 +
src/protocols/vnc/display.c | 137 +++++-
src/protocols/vnc/display.h | 37 +-
src/protocols/vnc/input.c | 14 +
src/protocols/vnc/input.h | 6 +-
src/protocols/vnc/settings.c | 61 +++
src/protocols/vnc/settings.h | 27 ++
src/protocols/vnc/user.c | 4 +
src/protocols/vnc/vnc.c | 87 +++-
src/protocols/vnc/vnc.h | 6 +
src/terminal/display.c | 29 ++
src/terminal/select.c | 2 +-
src/terminal/terminal-handlers.c | 13 +
src/terminal/terminal.c | 464 +++++++++++++++++----
src/terminal/terminal/display.h | 16 +
src/terminal/terminal/terminal-priv.h | 60 +++
src/terminal/terminal/terminal.h | 25 +-
src/terminal/terminal/typescript.h | 14 +-
src/terminal/typescript.c | 41 +-
110 files changed, 3522 insertions(+), 726 deletions(-)
create mode 100644 .github/workflows/pr-build.yml
copy src/libguac/{encode-png.h => guacamole/socket-tcp.h} (56%)
create mode 100644 src/libguac/socket-tcp.c
create mode 100644 src/protocols/rdp/channels/rdpgfx.c
copy src/protocols/rdp/channels/{rail.h => rdpgfx.h} (53%)
copy src/protocols/rdp/keymaps/{failsafe.keymap => base_altgr.keymap} (92%)
create mode 100644 src/protocols/rdp/keymaps/cs-cz-qwertz.keymap
create mode 100644 src/protocols/rdp/keymaps/fr_ca_qwerty.keymap
create mode 100644 src/protocols/rdp/keymaps/pt_pt_qwerty.keymap
create mode 100644 src/protocols/rdp/keymaps/ro_ro_qwerty.keymap