1. 04 Aug, 2019 1 commit
  2. 02 Aug, 2019 1 commit
    • Eden Abitbol's avatar
      upnp: support libupnp and libnatnatpmp simultaneously · 60515d89
      Eden Abitbol authored
      Update libupnp to version 1.8.4.
      
      For windows, the IPV6 preprocessor must be undefined. Or else
      libupnp won't initialize. Added visual studio 2017 support
      via one patch for windows that also combines previous windows
      patches.
      
      UPnPController: Class that the jami classes use to control the
      opening and closing of ports. Every  service has it's own upnp
      controller. The controller does it's actions by using the upnp
      context class. Also refactored the functions used to add
      mappings. Instead of using two different functions with
      different types of parameters, we now use one function with
      parameters that have default values. The logic stays the same
      but the function call is more clear.
      
      UPnPContext: Class that holds a (linked) list of discovered IGDs
      and their corresponding protocols (which discovered them).
      Whenever the controller wants to add or remove a mapping, the
      context picks a valid IGD in it's list and uses the correct
      protocol to complete the required action. This class also has
      the ability to swap protocols for an IGD that was discovered
      by more then one protocol.
      
      UPnPProtocol: Virtual base class that defines the functions
      needed by the context to use the corresponding protocol.
      
      PUPnP: UPnPProtocol derived class that represents a upnp client
      that uses the portable upnp library (libupnp). Every time the
      client discovers a new IGD it uses a callback to add it to the
      context's main IGD linked list. It also has an internal list of
      IGDs that it discovered. Added features to this class include:
      	- IGD event subscription.
      	- Use UpnpInit2 function instead of deprecated UpnpInit
      	  function. It's also supposed to support IPv6.
      
      NatPmp: UPnPProtocol derived class that represents a upnp client
      that uses the NAT-PMP library (libnatpmp). Unlike libupnp,
      libnatpmp only supports discovering one IGD. Also uses callbacks
      to add the IGD it finds to the context's main IGD class.
      
      Also inclided debug warning prints whenever a controller opens
      and closes the ports. That way we can keep track of whenever
      the application opens and closes ports on the internet
      gateway device.
      
      Gitlab: #96
      
      Change-Id: I199271edac2c6d93dc60c24e2e2aefe36de7950c
      60515d89
  3. 31 May, 2019 1 commit
  4. 30 May, 2019 1 commit
    • Eden Abitbol's avatar
      upnp: Port mappings are not deleted upon IGD discovery anymore. · 852bd075
      Eden Abitbol authored
      Part of the discovery event handling for libupnp was to delete
      all port mappings associated with the local ip address of the
      application. I can only assume this was done to close pre-
      existing ports that were not properly closed when the application
      terminated. The problem with this logic is that since
      advertisements and discovery events are treated with the same
      switch case (fall through), the application was trying to close
      all the ports on the internet gateway everytime it got an
      advertisement. However, the application would then try to reopen
      the ports every time after closing them. And this would happen
      every five to ten seconds (i.e. whenever the application would
      catch and advertisement or discovery event from the internet
      gateway.)
      
      To fix this quickly, I modified the way the event handling treats
      discovery and advertisement events. Instead of having a list based
      on the URL of the internet gateway, I use a list of it's unique
      service ID. That way, as soon as the event occurs, we check if
      we don't already have this service ID in our list. If we don't,
      then we proceed as usual. If we do, we exit the event handling
      since it's already been processed.
      
      The advertisement bye bye event has also been implemented. When
      this event occurs, the corresponding internet gateway devices are
      deleted from the lists.
      
      Gitlab: #96
      
      Change-Id: Idd8023eba319b431b3a9328ebe648e75d61b1dc8
      852bd075
  5. 24 May, 2019 1 commit
  6. 29 Apr, 2019 1 commit
    • Sébastien Blin's avatar
      upnp: add TCP port mapping · ecf198bf
      Sébastien Blin authored
      P2P file transfer should support UPnP as a NAT traversal technique.
      
      Change-Id: I62f9990fd646c874f611d3dba7277bef54caeb46
      Gitlab: #86
      ecf198bf
  7. 02 Apr, 2019 1 commit
    • Adrien Béraud's avatar
      sources: rename to jami · 2130f067
      Adrien Béraud authored
      * rename namespace from ring to jami
      * rename logs methods from RING_* to JAMI_*
      * rename RING_VIDEO to ENABLE_VIDEO
      
      Change-Id: Ic98498652d7059fafe58a96220d565bcdfa53658
      2130f067
  8. 14 Mar, 2019 1 commit
  9. 02 Jan, 2019 1 commit
  10. 26 Jul, 2018 1 commit
  11. 13 Jun, 2018 1 commit
  12. 24 May, 2018 1 commit
  13. 23 Jan, 2018 1 commit
  14. 28 Feb, 2017 1 commit
  15. 23 Jan, 2017 1 commit
  16. 05 Jan, 2017 1 commit
  17. 15 Oct, 2016 1 commit
    • Adrien Béraud's avatar
      android: enable vp8, cleanup · e03b970d
      Adrien Béraud authored
      Fix and enable VPX on Android.
      Since the Android build moved to clang and libc++,
      it's no longer necessary to redefine some common
      standard C++ methods.
      
      Change-Id: I3488633782ded31bc260c5a234802ebd6f251377
      e03b970d
  18. 10 Aug, 2016 1 commit
  19. 08 Aug, 2016 1 commit
    • atraczyk's avatar
      daemon: avoid intrin.h conflict on Windows · c221eb0e
      atraczyk authored
      The Microsoft compiler will include the common header <intrin.h>
      regardless of the use of quotes. The file "intrin.h" should be renamed,
      and all references to it changed, as well as defining the UNUSED macro
      to nothing on the Windows platform.
      
      Change-Id: Id04d36e70d149746be8d78eed09aa963514b2810
      Tuleap: #801
      c221eb0e
  20. 04 Aug, 2016 1 commit
  21. 26 Jul, 2016 1 commit
  22. 25 Jul, 2016 1 commit
    • Adrien Béraud's avatar
      NAT-PMP: add initial support · 3165a70c
      Adrien Béraud authored
      * add optional dependency to libnatpmp
      * can run with or without UPnP
      * transparently replaces UPnP when available
      
      Change-Id: I1bbded421833cdc2506b42106e30cc8b3dde4c2d
      Tuleap: #805
      3165a70c
  23. 22 Jul, 2016 1 commit
    • Stepan Salenikovich's avatar
      add connectivityChanged API · 20f40205
      Stepan Salenikovich authored
      This allows the clients to notify the daemon when the conenctivity
      (ie: network status) has changed. The daemon will then try to detect
      the new IGD (UPnP) and re-connect all enabled accounts.
      
      Change-Id: I5c8fc57f75e48d86eda5d195b0586c61a26134ad
      Tuleap: #841
      20f40205
  24. 13 Jul, 2016 1 commit
    • Guillaume Roguez's avatar
      Revert "NAT-PMP: add initial support" · 1afa10bc
      Guillaume Roguez authored
      This reverts commit 150035a8.
      
      reasons of the revert:
      - doesn't link on Mac
      - doesn't build on IOS
      - build and link on linux, but the shared library is not found in rpath
      
      Change-Id: Ie2eb1fe587adea1b607fde727abe6c641762495b
      Notes: libnatpmp is not used on Android
      1afa10bc
  25. 11 Jul, 2016 1 commit
    • Adrien Béraud's avatar
      NAT-PMP: add initial support · 150035a8
      Adrien Béraud authored
      * add optional dependency to libnatpmp
      * can run with or without UPnP
      * transparently replaces UPnP when available
      
      Change-Id: I8477f3d91d8185f7872a3e00600daa7755ac0eee
      Tuleap: #805
      150035a8
  26. 07 Jul, 2016 1 commit
    • Stepan Salenikovich's avatar
      configure: remove --with-tls and --disable-dht · 3932c08d
      Stepan Salenikovich authored
      Ring no longer builds without GnuTLS and/or without openDHT, nor
      are we planning to support building Ring without them, so these
      should not exist as configuration options.
      
      The related preprocessor conditionals have also been removed.
      
      Change-Id: I8416ecc48f13a3fb77d9eb7d349b81f226e863f1
      Tuleap: #739
      3932c08d
  27. 09 Mar, 2016 1 commit
  28. 04 Mar, 2016 1 commit
    • Stepan Salenikovich's avatar
      upnp: do not use IPv6 · aa119d78
      Stepan Salenikovich authored
      IPv6 is enabled in libupnp which ships with ubuntu 16.04, but the
      ipv6 init fails.
      
      Change-Id: I94a652b4b6270a4b50e237e103445df9c23f3abe
      Tuleap: #442
      aa119d78
  29. 21 Sep, 2015 1 commit
    • Guillaume Roguez's avatar
      update Copyright header · 5236ab05
      Guillaume Roguez authored
      - remove OpenSSL exception
      - fix Savoir-faire Linux naming
      - fix common Author: representation
      
      Issue: #80663
      Change-Id: I6c3b2ca1ed48ed474a0ecd5a30fe793526e11b00
      5236ab05
  30. 05 Aug, 2015 1 commit
    • Adrien Béraud's avatar
      upnp: handle late IGD findings · 4a3835ad
      Adrien Béraud authored
      This commit bumps OpenDHT to make use of the related
      connectivityChanged() method of the dht.
      
      
      Issue: #78262
      Change-Id: I64ea7b745cfc0653a09e8f6fb2d23b2d3fc6db4e
      4a3835ad
  31. 31 Jul, 2015 1 commit
  32. 27 Jul, 2015 1 commit
  33. 15 May, 2015 1 commit
  34. 22 Apr, 2015 1 commit
  35. 20 Mar, 2015 1 commit
  36. 10 Mar, 2015 1 commit
  37. 02 Mar, 2015 3 commits
  38. 22 Feb, 2015 1 commit