diff --git a/xpra/platform/win32/auth.py b/xpra/platform/win32/auth.py index 332aec25f9..35ea09d14c 100755 --- a/xpra/platform/win32/auth.py +++ b/xpra/platform/win32/auth.py @@ -23,15 +23,13 @@ LOGON32_PROVIDER_DEFAULT = 0 -def check(domain="", username: str = "", password: bytes = b"") -> bool: +def check(domain="", username: str = "", password: str = "") -> bool: token = HANDLE() # domain = os.environ.get('COMPUTERNAME') - pstr = password.decode("utf8") if LOG_CREDENTIALS: log("LogonUser(%s, %s, %s, CLEARTEXT, DEFAULT, %#x)", - username, domain, pstr, addressof(token)) - #LogonUser.argtypes = [LPCWSTR, LPCWSTR, LPCWSTR, DWORD, DWORD, POINTER(HANDLE)] - status = LogonUser(username, domain, pstr, + username, domain, password, addressof(token)) + status = LogonUser(username, domain, password, LOGON32_LOGON_NETWORK_CLEARTEXT, LOGON32_PROVIDER_DEFAULT, byref(token)) diff --git a/xpra/server/auth/win32.py b/xpra/server/auth/win32.py index 9d8f889cb0..5258b665db 100755 --- a/xpra/server/auth/win32.py +++ b/xpra/server/auth/win32.py @@ -30,7 +30,7 @@ def get_challenge(self, digests: Sequence[str]) -> tuple[bytes, str]: self.req_xor(digests) return super().do_get_challenge(["xor"]) - def check(self, password: bytes) -> bool: + def check_password(self, password: str) -> bool: domain = "" # os.environ.get('COMPUTERNAME') if check(domain, self.username, password): self.password = password