summaryrefslogtreecommitdiff
path: root/agent/agent-priv.h
diff options
context:
space:
mode:
authorFabrice Bellet <fabrice@bellet.info>2017-11-21 15:12:45 +0100
committerOlivier CrĂȘte <olivier.crete@collabora.com>2017-11-27 15:27:13 -0500
commit02216a6766caccb652387d5ee19686149eedbc93 (patch)
treee8e0bd033a1718fc070b5936ea186c5efb16a153 /agent/agent-priv.h
parentfbdccf0c2787ebdc65fe13ac64bd25c829ea7972 (diff)
downloadlibnice-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.h4
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 */
};