Skip to content

Merge beta to master#14111

Merged
seanbudd merged 19 commits into
masterfrom
mergeBetaToMaster
Sep 7, 2022
Merged

Merge beta to master#14111
seanbudd merged 19 commits into
masterfrom
mergeBetaToMaster

Conversation

@seanbudd

@seanbudd seanbudd commented Sep 7, 2022

Copy link
Copy Markdown
Member

Must be a merge commit not a squash merge

NVDA translation automation and others added 19 commits September 2, 2022 00:01
From translation svn revision: 69587

Authors:
Bernd Dorer <[email protected]>
David Parduhn <[email protected]>
Rene Linke <[email protected]>
Adriani Botez <[email protected]>
Karl Eick <[email protected]>
Robert Hänggi <[email protected]>
Astrid Waldschmetterling <[email protected]>

Stats:
10	2	user_docs/de/changes.t2t
 1 file changed, 10 insertions(+), 2 deletions(-)
From translation svn revision: 69587

Authors:
Jani Kinnunen <[email protected]>
Isak Sand <[email protected]>

Stats:
7	0	user_docs/fi/changes.t2t
 1 file changed, 7 insertions(+)
From translation svn revision: 69587

Authors:
Michel such <[email protected]>
Patrick ZAJDA <[email protected]>
Remy Ruiz <[email protected]>
Abdelkrim Bensaid <[email protected]>
Cyrille Bougot <[email protected]>
Corentin Bacqué-Cazenave <[email protected]>
Sylvie Duchateau <[email protected]>
Sof <[email protected]>

Stats:
25	9	source/locale/fr/LC_MESSAGES/nvda.po
4	0	source/locale/fr/symbols.dic
28	0	user_docs/fr/changes.t2t
 3 files changed, 57 insertions(+), 9 deletions(-)
From translation svn revision: 69587

Authors:
Simone Dal Maso <[email protected]>
Alberto Buffolino <[email protected]>

Stats:
20	4	source/locale/it/LC_MESSAGES/nvda.po
35	0	user_docs/it/changes.t2t
 2 files changed, 55 insertions(+), 4 deletions(-)
From translation svn revision: 69587

Authors:
Takuya Nishimoto <[email protected]>
Minako Nonogaki <[email protected]>

Stats:
28	0	user_docs/ja/changes.t2t
 1 file changed, 28 insertions(+)
From translation svn revision: 69587

Authors:
Dan Pungă <[email protected]>
Florian Ionașcu <[email protected]>
Alexandru Matei <[email protected]>
Nicuşor Untilă <[email protected]>
Adriani Ionuț Botez <[email protected]>
Dragoș Grecianu <[email protected]>
Daniela Popovici <[email protected]>
George Antonio Andrei <[email protected]>

Stats:
220	38	source/locale/ro/LC_MESSAGES/nvda.po
 1 file changed, 220 insertions(+), 38 deletions(-)
From translation svn revision: 69587

Authors:
Zvonimir Stanecic <[email protected]>
Aleksandr Lin'kov <[email protected]>

Stats:
30	34	source/locale/ru/LC_MESSAGES/nvda.po
 1 file changed, 30 insertions(+), 34 deletions(-)
From translation svn revision: 69587

Authors:
Nikola Jovic <[email protected]>
Janko Valencik <[email protected]>
Zvonimir <[email protected]>
Danijela Popovic <[email protected]>

Stats:
66	0	user_docs/sr/changes.t2t
52	4	user_docs/sr/userGuide.t2t
 2 files changed, 118 insertions(+), 4 deletions(-)
From translation svn revision: 69587

Authors:
Cagri Dogan <[email protected]>

Stats:
7	1	user_docs/tr/changes.t2t
 1 file changed, 7 insertions(+), 1 deletion(-)
From translation svn revision: 69587

Authors:
Volodymyr Pyrig <[email protected]>

Stats:
94	0	user_docs/uk/changes.t2t
 1 file changed, 94 insertions(+)
From translation svn revision: 69587

Authors:
Dang Hoai Phuc <[email protected]>
Nguyen Van Dung <[email protected]>

Stats:
223	35	source/locale/vi/LC_MESSAGES/nvda.po
6	0	user_docs/vi/changes.t2t
 2 files changed, 229 insertions(+), 35 deletions(-)
From translation svn revision: 69587

Authors:
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]

Stats:
7	0	user_docs/zh_CN/changes.t2t
 1 file changed, 7 insertions(+)
From translation svn revision: 69587

Authors:
[email protected]
[email protected]
Aaron Wu <[email protected]>
Victor Cai <[email protected]>
[email protected]

Stats:
26	49	source/locale/zh_TW/LC_MESSAGES/nvda.po
133	0	user_docs/zh_TW/changes.t2t
2	2	user_docs/zh_TW/userGuide.t2t
 3 files changed, 161 insertions(+), 51 deletions(-)
From translation svn revision: 69587
Supersedes #14098
Fixes #14094

Summary of the issue:
SecureDesktopNVDAObject needs to be whitelisted on the lock screen.
This is an NVDAObject used to notify the user and API consumers that NVDA has entered a secure desktop.

Description of user facing changes
Fixes NVDA remote bug described in #14094.
"Secure Desktop" is now consistently announced again when entering a secure desktop.

Description of development approach
Add SecureDesktopNVDAObject to the whitelist of available objects on the lock screen.
Ensures that when setting the foreground event does not occur via doPreGainFocus for SecureDesktopNVDAObject.
This is because the foreground event cannot be handled in a secure manner, and is not required for the SecureDesktopNVDAObject API.
@seanbudd
seanbudd requested a review from a team as a code owner September 7, 2022 04:21
@seanbudd
seanbudd requested a review from feerrenrut September 7, 2022 04:21
@seanbudd seanbudd mentioned this pull request Sep 7, 2022
2 tasks
@seanbudd
seanbudd merged commit 2d3e267 into master Sep 7, 2022
@seanbudd
seanbudd deleted the mergeBetaToMaster branch September 7, 2022 05:18
@nvaccessAuto nvaccessAuto added this to the 2022.4 milestone Sep 7, 2022
@LeonarddeR

Copy link
Copy Markdown
Collaborator

I'm getting the following in the log when entering a secure desktop on alpha:

ERROR - unhandled exception (09:53:42.222) - winInputHook (9044):
Traceback (most recent call last):
  File "_ctypes/callbacks.c", line 232, in 'calling callback function'
  File "winInputHook.pyc", line 56, in keyboardHook
  File "keyboardHandler.pyc", line 227, in internal_keyDownEvent
  File "keyboardHandler.pyc", line 120, in shouldUseToUnicodeEx
AttributeError: 'SecureDesktopNVDAObject' object has no attribute 'windowClassName'

seanbudd added a commit that referenced this pull request Sep 9, 2022
Follow up to #14105
Fixes issue described in #14111 (comment)

Summary of the issue:
SecureDesktopNVDAObject is an API end point used to indicate to the user and to API consumers (including NVDA remote), that the user has switched to a secure desktop.
This is triggered when Windows notification EVENT_SYSTEM_DESKTOPSWITCH notifies that the desktop has changed.
The switch is handled via a gainFocus event.
The gainFocus event causes the user instance of NVDA to enter sleep mode as the secure mode NVDA instance starts on the secure screen.

Information from SecureDesktopNVDAObject should not be accessible to the user, as it is backed by a valid MSAA desktop running on a secure profile, that NVDA can report information from.
This should generally be handled by NVDA entering sleep mode.
In #14105, SecureDesktopNVDAObject became based on NVDAObject to improve security for the object, by breaking it's connection to a valid window.
This was to decrease the theoretical risk of information leakage.

However, it was discovered that NVDA core event tracking and API consumers rely on SecureDesktopNVDAObject inheriting from Window (a parent class of Desktop).

As such, SecureDesktopNVDAObject must remain a Desktop subclass to retain backwards compatibility.

However we can prevent neighbouring objects from being accessed.

Description of user facing changes
Fixes bug in NVDA alpha with handling SecureDesktopNVDAObject.
Fixes API breakage.

Description of development approach
Reverts the change in #14105, making SecureDesktopNVDAObject inherit from Desktop.

Prevents neighbouring objects to SecureDesktopNVDAObject from being accessed by overriding relevant methods.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants