Skip to content

Commit a248c27

Browse files
committed
fake server: wait to become ready when setting username and password
1 parent 5ed64f6 commit a248c27

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

pyrdp/mitm/FakeServer.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -302,15 +302,21 @@ def resize(self, width: int, height: int):
302302
def check_submit(self):
303303
self.fakeLoginScreen.check_submit()
304304

305+
def is_ready(self):
306+
return self.fakeLoginScreen is not None
307+
308+
def wait_ready(self):
309+
# wait until the server and the login screen is initialized
310+
while not self.is_ready():
311+
time.sleep(0.01)
312+
305313
def set_username(self, username: str):
306-
# FIXME: properly solve this concurrency
307-
if self.fakeLoginScreen is None:
308-
time.sleep(0.1)
309-
if self.fakeLoginScreen is not None:
310-
self.fakeLoginScreen.set_username(username)
311-
self.check_submit()
314+
self.wait_ready()
315+
self.fakeLoginScreen.set_username(username)
316+
self.check_submit()
312317

313318
def set_password(self, password: str):
319+
self.wait_ready()
314320
self.fakeLoginScreen.set_password(password)
315321
self.check_submit()
316322

0 commit comments

Comments
 (0)