1. 07 Jan, 2021 5 commits
    • Ivan Vilata-i-Balaguer's avatar
      Release v0.9.4. · 029d30b8
      Ivan Vilata-i-Balaguer authored
      This fixes some issues with the client announcing itself in the bridge swarm,
      particularly in the pinging of injectors, which may eventually leave the
      client out of the swarm and thus unreachable to others, especially after being
      running for an extended period.
      
      Enhancements:
      
        - Ignore DHT martians in the `bt-bep5` utility.  As a result, its output and
          that of `ping-swarm` are less cluttered and more useful.
      
      Bugfixes:
      
        - Fix the computation of pauses between pinging injectors at the client, so
          that pings are not too far apart, which may cause the client's entry in
          the bridge swarm to become questionable.
        - Fix the selection of injectors to be pinged in each round, avoiding never
          actually pinging interesting injectors if they are located after a certain
          point in the internal list of nodes seen in the injector swarm.
      029d30b8
    • Ivan Vilata-i-Balaguer's avatar
      Fix selection of injectors to ping. · 2809f2d1
      Ivan Vilata-i-Balaguer authored
      If we choose a subset then shuffle it, we risk never pinging that appear after
      the subset in the complete set of known injectors.  So first shuffle the whole
      list and then choose a subset from the beginning.
      2809f2d1
    • Ivan Vilata-i-Balaguer's avatar
      Wait to ping injectors in a single step. · 4736116e
      Ivan Vilata-i-Balaguer authored
      This also avoids accidentally waiting more than expected when the time passed
      since last ping is larger than the time remaining until the expected next ping.
      4736116e
    • Ivan Vilata-i-Balaguer's avatar
      55c85306
    • Ivan Vilata-i-Balaguer's avatar
      Remove unused include. · 2b4e600f
      Ivan Vilata-i-Balaguer authored
      2b4e600f
  2. 05 Jan, 2021 1 commit
    • Ivan Vilata-i-Balaguer's avatar
      Merge branch 'protocol-v6-doc'. · a5bb0ad1
      Ivan Vilata-i-Balaguer authored
      This updates protocol specs to reflect Ouinet protocol v6, as well as
      signalling with TODOs where the implementation needs work to completely
      support it.
      
      The description of the multi-peer download protocol is still missing, though.
      a5bb0ad1
  3. 04 Jan, 2021 3 commits
    • Ivan Vilata-i-Balaguer's avatar
      Release v0.9.3. · 4616b749
      Ivan Vilata-i-Balaguer authored
      This release improves logging of injector and bridge client announcements to
      BitTorrent swarms, while fixing some issues which may result in both types of
      nodes randomly disappearing from those swarms for a while.  It also makes
      nodes more able to recover from local connectivity loss.
      
      The release also fixes an issue affecting new Android builds (and breaking
      CI/CD).
      
      Enhancements:
      
        - Better logging of injector pings and BEP5 announcements.
        - Shorter interval of announcements to the injector swarm, to avoid the DHT
          entry to become "questionable" in BEP5 terms.
      
      Bugfixes:
      
        - Avoid pausing after a successful announcement to the helper/bridge swarm,
          so that announcements follow injector pings.
      4616b749
    • Ivan Vilata-i-Balaguer's avatar
    • Ivan Vilata-i-Balaguer's avatar
      Set `ANDROID_NDK_HOME` in Android build script. · dbd96f4f
      Ivan Vilata-i-Balaguer authored
      Otherwise a build which starts with no Android SDK/NDK downloads may fail with
      "NDK is missing a "platforms" directory.".
      
      The export is done in `maybe_install_sdk()` (bootstrap mode) much in the same
      vein as `ANDROID_HOME` is set in `setup_deps()`, although it may be better to
      set them between bootstrap and build.
      dbd96f4f
  4. 31 Dec, 2020 18 commits
  5. 30 Dec, 2020 2 commits
  6. 28 Dec, 2020 2 commits
  7. 23 Dec, 2020 5 commits
  8. 18 Dec, 2020 1 commit
    • Ivan Vilata-i-Balaguer's avatar
      Release v0.9.2. · b2d244cb
      Ivan Vilata-i-Balaguer authored
      This release makes logging more consistent (especially at the client) and
      offers some goodies for testing and debugging the client from its front-end.
      
      Features:
      
        - Get the list of groups announced by the client from its front-end
          (`/groups.txt`).
        - Toggle log file creation from the client front-end, provide a download
          link.
        - Enabling the log file enables debugging and restores the previous log
          level when disabled, unless the user explicitly changes it in the
          meanwhile.
      
      Enhancements:
      
        - More consistent logging: always use the logger (i.e. show DEBUG, WARN,
          ERROR, INFO tags), fix the log level of many messages (e.g. show requests
          and responses as DEBUG when debugging.
        - Use a single log level for all components (i.e. drop the separate log
          level for the BEP5/HTTP cache).
      
      Bugfixes:
      
        - Fix content being announced not getting reannounced if reinjected shortly
          after purging the local cache, when not debugging.
        - Fix BEP5 swarm status not being reported when enabling debugging at
          runtime.
      b2d244cb
  9. 17 Dec, 2020 3 commits
    • Ivan Vilata-i-Balaguer's avatar
      Merge branch 'more-consistent-logging' into master. · 38627ce6
      Ivan Vilata-i-Balaguer authored
      This fixes several inconsistencies in logging, particularly:
      
        - Respect log level even when log file is on.
        - Enabling the log file automatically enables debugging, disabling the file
          restores the previous log level.  The log level can be changed by the user
          explicitly in the meanwhile: log messages honor this setting and the old
          level is not restored in this case.
        - The log file can be toggled and downloaded from the client front-end.
        - Single log level also affecting BEP5/HTTP cache code.
        - BEP5 swarm status were not being shown unless started with debug.
        - Some messages were sent directly to stderr instead of via the logger.
        - Some debugging messages were shown as INFO (esp. request/response heads).
        - Some debugging messages from the same module were missing a consistent
          prefix.
      
      It also fixes a bug which caused content being announced not to get
      reannounced if reinjected shortly after purging the local cache, when not
      debugging.
      38627ce6
    • Ivan Vilata-i-Balaguer's avatar
      a453e80e
    • Ivan Vilata-i-Balaguer's avatar
      23ee3aad