diff options
author | Fabrice Bellet <fabrice@bellet.info> | 2017-11-21 15:12:45 +0100 |
---|---|---|
committer | Olivier CrĂȘte <olivier.crete@collabora.com> | 2017-11-27 15:27:13 -0500 |
commit | 02216a6766caccb652387d5ee19686149eedbc93 (patch) | |
tree | e8e0bd033a1718fc070b5936ea186c5efb16a153 /agent/agent-priv.h | |
parent | fbdccf0c2787ebdc65fe13ac64bd25c829ea7972 (diff) | |
download | libnice-02216a6766caccb652387d5ee19686149eedbc93.tar.gz |
agent: prevent external role change while conncheck is running
With this patch, we stash the controlling mode property change, and
apply it safely, when it won't interfere with an ongoing conncheck
running. According to RFC5245, sect 5.2. "Determining Role", the role
is determined for a session, and persists unless an ICE is restarted.
Differential Revision: https://phabricator.freedesktop.org/D1887
Diffstat (limited to 'agent/agent-priv.h')
-rw-r--r-- | agent/agent-priv.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/agent/agent-priv.h b/agent/agent-priv.h index 714ecff..7269be0 100644 --- a/agent/agent-priv.h +++ b/agent/agent-priv.h @@ -146,7 +146,7 @@ struct _NiceAgent NiceProxyType proxy_type; /* property: Proxy type */ gchar *proxy_username; /* property: Proxy username */ gchar *proxy_password; /* property: Proxy password */ - gboolean controlling_mode; /* property: controlling-mode */ + gboolean saved_controlling_mode;/* property: controlling-mode */ guint timer_ta; /* property: timer Ta */ guint max_conn_checks; /* property: max connectivity checks */ gboolean force_relay; /* property: force relay */ @@ -190,6 +190,8 @@ struct _NiceAgent gboolean use_ice_tcp; guint conncheck_timer_grace_period; /* ongoing delay before timer stop */ + gboolean controlling_mode; /* controlling mode used by the + conncheck */ /* XXX: add pointer to internal data struct for ABI-safe extensions */ }; |