From 5ddd1651ee48d89a74f606e01fdd82f5036a77e6 Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Tue, 30 Jul 2024 13:55:08 -0400 Subject: [PATCH] Fix stream reset error handling. --- .../signalservice/internal/push/PushServiceSocket.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libsignal-service/src/main/java/org/whispersystems/signalservice/internal/push/PushServiceSocket.java b/libsignal-service/src/main/java/org/whispersystems/signalservice/internal/push/PushServiceSocket.java index 731206568d..014633c96a 100644 --- a/libsignal-service/src/main/java/org/whispersystems/signalservice/internal/push/PushServiceSocket.java +++ b/libsignal-service/src/main/java/org/whispersystems/signalservice/internal/push/PushServiceSocket.java @@ -215,6 +215,7 @@ import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; import okhttp3.ResponseBody; +import okhttp3.internal.http2.StreamResetException; /** * @author Moxie Marlinspike @@ -1915,6 +1916,9 @@ public class PushServiceSocket { } catch (PushNetworkException | NonSuccessfulResponseCodeException e) { throw e; } catch (IOException e) { + if (e instanceof StreamResetException) { + throw e; + } throw new PushNetworkException(e); } finally { synchronized (connections) { @@ -1987,6 +1991,9 @@ public class PushServiceSocket { } catch (PushNetworkException | NonSuccessfulResponseCodeException e) { throw e; } catch (IOException e) { + if (e instanceof StreamResetException) { + throw e; + } throw new PushNetworkException(e); } finally { synchronized (connections) {