Milestone 5: deliver embedded RDP sessions and lifecycle hardening

This commit is contained in:
Keith Smith
2026-03-03 18:59:26 -07:00
parent 230a401386
commit 36006bd4aa
2941 changed files with 724359 additions and 77 deletions

View File

@@ -0,0 +1,43 @@
## Timezone related options
* WITH_TIMEZONE_COMPILED Use compiled in mapping extracted with tzextract (default ON)
* WITH_TIMEZONE_FROM_FILE Use JSON file mapping generated with tzextract (default OFF)
* WITH_TIMEZONE_ICU Use ICU to map IANA to windows timezones (default OFF)
* WITH_TIMEZONE_UPDATER Build the tzextract utility (default OFF)
### Suggested usage
* WITH_TIMEZONE_COMPILED is suggested for single binary builds (aka fully static) binaries that
can not rely on external files to exist.
* WITH_TIMEZONE_FROM_FILE is suggested for distribution packages as this allows updating timezone
mappings without a necessary recompile of the FreeRDP binaries. Set WITH_TIMEZONE_COMPILED=OFF
in such cases as both options can be used in combination. (entries from file taking preference
over compiled in versions)
* WITH_TIMEZONE_ICU is suggested if the target is already linked against ICU. This eliminates a
required mapping table generated from WindowsZones.xml. This option is only a fallback if the
compiled in or loaded from file mappings do not match any.
## Keeping timezone mappings up to date
On an up to date windows machine run the following binary after a build with -DWITH_TIMEZONE_UPDATER=ON (from build directory):
tzextract <path to source>\winpr\libwinpr\timezone
After running the scripts check
* git clang-format -f to eliminate formatting changes
* winpr/libwinpr/timezone/WindowsZones.c
for changes.
on any machine run the following script from checkout root:
./scripts/update-windows-zones.py
After running the scripts check
* git clang-format -f to eliminate formatting changes
* winpr/libwinpr/timezone/WindowsZones.c
for changes.
Commit if the definitions changed:
1. run `git clang-format -f` on these changed files
2. commit these changes
3. create a pull request at https://github.com/FreeRDP/FreeRDP