You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When using an Async A2S client and having multiple futures in-flight (using buffered_unordered), any S2C_CHALLENGE responses will just use the most recent challenge bytes received from any server, sending the wrong response.
Client -> b'T' -> Server α
Server α -> b'A' [bytes α] -> Client
Client -> b'T' [bytes α] -> Server β
Server β -> b'A' [bytes β] -> Client
Client -> b'T' [bytes β] -> Server α
etc...
Currently I'm getting around this by having a client pool and using each client exclusively for each buffered_unordered batch; which isn't ideal since the API design allows and encourages using a shared client to make concurrent A2S requests.
The text was updated successfully, but these errors were encountered:
When using an Async A2S client and having multiple futures in-flight (using buffered_unordered), any S2C_CHALLENGE responses will just use the most recent challenge bytes received from any server, sending the wrong response.
Client ->
b'T'
-> Server αServer α ->
b'A'
[bytes α] -> ClientClient ->
b'T'
[bytes α] -> Server βServer β ->
b'A'
[bytes β] -> ClientClient ->
b'T'
[bytes β] -> Server αetc...
Currently I'm getting around this by having a client pool and using each client exclusively for each buffered_unordered batch; which isn't ideal since the API design allows and encourages using a shared client to make concurrent A2S requests.
The text was updated successfully, but these errors were encountered: