1. 31 Oct, 2018 1 commit
    • Jakub Adam's avatar
      agent: check message length before extracting RFC4571 frame size · 5496500b
      Jakub Adam authored
      nice_socket_recv_messages() may return a NiceInputMessage of length = 0,
      so before attempting to read the RFC4571 header check the message really
      has at least sizeof (guint16) bytes of data.
      
      The bug's always been there, the previous commit only made it more
      apparent.
      5496500b
  2. 28 Oct, 2018 3 commits
  3. 21 Oct, 2018 1 commit
  4. 12 Jun, 2018 1 commit
    • Nicolas Dufresne's avatar
      Fix cast-function-type warning introduced in GCC 8 · 23b59268
      Nicolas Dufresne authored
      This is new warning introduced with GCC 8. This is being fixed by using appropriate function, like g_queue_free_full/g_list_free_full or by casting to GCallback before casting to the target function signature.
      
      Closes: #46
      23b59268
  5. 23 Mar, 2018 4 commits
  6. 27 Nov, 2017 1 commit
  7. 05 Sep, 2017 1 commit
  8. 21 Jun, 2017 5 commits
  9. 12 Jun, 2017 2 commits
    • Fabrice Bellet's avatar
      conncheck: implement ice regular nomination method · 0636f9ad
      Fabrice Bellet authored
      This patch implements Regular Nomation as described in RFC5245
      8.1.1.1. The controlling agent lets valid pairs accumulate, and
      decides which pair to recheck with the use-candidate attribute set.
      priv_mark_pair_nominated() follows 7.2.1.5, to update the nominated
      pair when acting as a STUN server, and
      priv_map_reply_to_conn_check_request() implements 7.1.3.2.4 to
      update the nominated pair when acting as a STUN client. A new
      property is also added to the agent to control the nomination
      mode, which can be regular of aggressive, with default value
      set to aggressive.
      
      Two new flags are introduced in the CandidateCheckPair structure:
      
      - use_candidate_on_next_check indicates the STUN client to add the
        use-candidate attribute when the pair will be checked. At this
        time, the nominated flag has not been set on this pair yet.
      
      - mark_nominated_on_response_arrival indicates the STUN server
        to nominate the pair when its succesfull response to a
        previous triggered check will arrive (7.2.1.5, item #2)
      
      Differential Revision: https://phabricator.freedesktop.org/D811
      0636f9ad
    • Fabrice Bellet's avatar
      stun timer: make properties for stun timer tunables · 8bb210c5
      Fabrice Bellet authored
      Three STUN binding request properties should be customisable. RFC 5245
      describes the retransmission timer of the STUN transaction 'RTO', and
      RFC 5389 describes the number of retransmissions to send until a
      response is received 'Rc'. The third property is the 'RTO' when
      a reliable connection is used.
      
      RFC 5389 introduces a supplementary property 'Rm' as a multiplier used
      to compute the final timeout RTO * Rm. However, this property is not
      added in libnice, because this would require breaking the public API for
      STUN. Currently, our STUN implementation hardcodes a division by two for
      this final timeout.
      
      Differential Revision: https://phabricator.freedesktop.org/D1109
      8bb210c5
  10. 08 Jun, 2017 1 commit
  11. 11 Apr, 2017 2 commits
  12. 04 Apr, 2017 5 commits
  13. 03 Apr, 2017 4 commits
  14. 26 Oct, 2016 2 commits
  15. 21 Jun, 2016 2 commits
  16. 20 Jun, 2016 1 commit
    • Fabrice Bellet's avatar
      agent: rework gathering failures on auto-generated IPs · 8f74fa48
      Fabrice Bellet authored
      This patch reworks commit fc4d3aab "ignore gathering failures on
      auto-generated IPs", that introduces a regression in the test-fullmode
      check, when turn is on and use_loopback is off. The part of the test
      that fails is when nice_agent_gather_candidates (ragent...) should
      return false when the port range for the second component is already
      busy, line 385.
      
      In this case, agent->local_address is null, so the code path added by
      commit fc4d3aab is taken, and the function will return true, even when
      not local address has been gathered.
      
      The proper fix is to swap the inner and outer loops (on components, and
      on local addresses), and to go to error when all local addresses of a
      given component have failed, and to return false only in this case.
      8f74fa48
  17. 02 Jun, 2016 1 commit
  18. 31 May, 2016 2 commits
  19. 30 May, 2016 1 commit