[tor-commits] [snowflake/master] Reuse proxypair if sendAnswer fails

cohosh at torproject.org cohosh at torproject.org
Thu Aug 8 14:41:55 UTC 2019


commit 6cc944f2b452db8e74843ba6644c95201d7873ac
Author: Cecylia Bocovich <cohosh at torproject.org>
Date:   Wed Jul 17 09:22:23 2019 -0400

    Reuse proxypair if sendAnswer fails
    
    Make sure to set proxypair.active to false if createAnswer or
    setLocalDescription fails. This should prevent one edge case the results
    in an infinite loop described in ticket #31100.
---
 proxy/snowflake.js | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/proxy/snowflake.js b/proxy/snowflake.js
index bbf3d8b..ae7aa2c 100644
--- a/proxy/snowflake.js
+++ b/proxy/snowflake.js
@@ -120,10 +120,11 @@ class Snowflake {
     var fail, next;
     next = function(sdp) {
       dbg('webrtc: Answer ready.');
-      return pair.pc.setLocalDescription(sdp);
+      return pair.pc.setLocalDescription(sdp).catch(fail);
     };
     fail = function() {
-      return dbg('webrtc: Failed to create Answer');
+      pair.active = false
+      return dbg('webrtc: Failed to create or set Answer');
     };
     return pair.pc.createAnswer().then(next).catch(fail);
   }





More information about the tor-commits mailing list