Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add WebRTC transport #2622

Merged
merged 264 commits into from Nov 17, 2022
Merged
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Jun 29, 2022

  1. fix feature syntax err

    melekes committed Jun 29, 2022
    Configuration menu
    Copy the full SHA
    3c7f796 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d5b2e09 View commit details
    Browse the repository at this point in the history

Commits on Jun 30, 2022

  1. Revert "enable webrtc by default (temporary)"

    This reverts commit d5b2e09.
    melekes committed Jun 30, 2022
    Configuration menu
    Copy the full SHA
    bd8091f View commit details
    Browse the repository at this point in the history
  2. add libp2p_webrtc to libp2p

    melekes committed Jun 30, 2022
    Configuration menu
    Copy the full SHA
    6d703f8 View commit details
    Browse the repository at this point in the history

Commits on Jul 11, 2022

  1. Configuration menu
    Copy the full SHA
    64d60e9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e8207f9 View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2022

  1. Configuration menu
    Copy the full SHA
    d96b499 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0e5b812 View commit details
    Browse the repository at this point in the history
  3. remove commented methods

    except destroy_substream which needs to be ported
    melekes committed Jul 12, 2022
    Configuration menu
    Copy the full SHA
    809d23e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a31f1bf View commit details
    Browse the repository at this point in the history

Commits on Jul 13, 2022

  1. Configuration menu
    Copy the full SHA
    414f945 View commit details
    Browse the repository at this point in the history
  2. support ipv6 as well

    melekes committed Jul 13, 2022
    Configuration menu
    Copy the full SHA
    84c5461 View commit details
    Browse the repository at this point in the history

Commits on Jul 14, 2022

  1. format code

    melekes committed Jul 14, 2022
    Configuration menu
    Copy the full SHA
    66f6c78 View commit details
    Browse the repository at this point in the history

Commits on Jul 15, 2022

  1. Configuration menu
    Copy the full SHA
    8ca428c View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2022

  1. Configuration menu
    Copy the full SHA
    802c012 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    cf2c11d View commit details
    Browse the repository at this point in the history

Commits on Jul 19, 2022

  1. get rid of loop in UDPMuxNewAddr

    by moving a reading future into Transport and polling it in a newly added `poll`.
    https://github.com/libp2p/rust-libp2p/pull/2622/files#r876945521
    melekes committed Jul 19, 2022
    Configuration menu
    Copy the full SHA
    35bc4eb View commit details
    Browse the repository at this point in the history

Commits on Jul 21, 2022

  1. brush up code

    melekes committed Jul 21, 2022
    Configuration menu
    Copy the full SHA
    212936f View commit details
    Browse the repository at this point in the history
  2. add close_listener test

    melekes committed Jul 21, 2022
    Configuration menu
    Copy the full SHA
    4643359 View commit details
    Browse the repository at this point in the history

Commits on Jul 22, 2022

  1. Configuration menu
    Copy the full SHA
    e32aa57 View commit details
    Browse the repository at this point in the history

Commits on Jul 23, 2022

  1. Configuration menu
    Copy the full SHA
    cd7786f View commit details
    Browse the repository at this point in the history

Commits on Jul 25, 2022

  1. Configuration menu
    Copy the full SHA
    8306743 View commit details
    Browse the repository at this point in the history
  2. fix addr in smoke test

    melekes committed Jul 25, 2022
    Configuration menu
    Copy the full SHA
    136edc2 View commit details
    Browse the repository at this point in the history
  3. generate random ufrag when connecting

    also, remove dialer_connects_to_listener_ipv4/6 tests in favor of the smoke test.
    melekes committed Jul 25, 2022
    Configuration menu
    Copy the full SHA
    6a11aa0 View commit details
    Browse the repository at this point in the history

Commits on Jul 26, 2022

  1. updates after @mxinden review

    melekes committed Jul 26, 2022
    Configuration menu
    Copy the full SHA
    d0c95a4 View commit details
    Browse the repository at this point in the history
  2. return None in WebRTCListenStream when udp_mux is closed

    to indicate that no more events will be coming from the stream
    melekes committed Jul 26, 2022
    Configuration menu
    Copy the full SHA
    ef5e306 View commit details
    Browse the repository at this point in the history
  3. revert ef5e306

    the logic was correct there
    melekes committed Jul 26, 2022
    Configuration menu
    Copy the full SHA
    04542f8 View commit details
    Browse the repository at this point in the history
  4. fix doc links

    melekes committed Jul 26, 2022
    Configuration menu
    Copy the full SHA
    273bd2c View commit details
    Browse the repository at this point in the history

Commits on Jul 27, 2022

  1. introduce WebRTCConfiguration wrapper

    around RTCConfiguration
    melekes committed Jul 27, 2022
    Configuration menu
    Copy the full SHA
    5abaec4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a4e7be4 View commit details
    Browse the repository at this point in the history

Commits on Jul 28, 2022

  1. poll API fro UDPMuxNewAddr

    melekes committed Jul 28, 2022
    Configuration menu
    Copy the full SHA
    29ff7c9 View commit details
    Browse the repository at this point in the history

Commits on Jul 29, 2022

  1. add Fingerprint type

    melekes committed Jul 29, 2022
    Configuration menu
    Copy the full SHA
    da94baf View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    385c51e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ecf7250 View commit details
    Browse the repository at this point in the history

Commits on Aug 1, 2022

  1. closed detached channel if failed to send

    also fix the smoke test (partially)
    melekes committed Aug 1, 2022
    Configuration menu
    Copy the full SHA
    e781ef5 View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2022

  1. fix smoke test

    melekes committed Aug 2, 2022
    Configuration menu
    Copy the full SHA
    f5f930f View commit details
    Browse the repository at this point in the history

Commits on Aug 3, 2022

  1. reset outbound_fut and close_fut

    also, block_on writing to UDPMuxConn instead of spawning a thread.
    refs libp2p#2622 (comment)
    melekes committed Aug 3, 2022
    Configuration menu
    Copy the full SHA
    604fcc8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8bd8233 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9821580 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    59894fb View commit details
    Browse the repository at this point in the history

Commits on Aug 4, 2022

  1. Configuration menu
    Copy the full SHA
    b770a04 View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2022

  1. Configuration menu
    Copy the full SHA
    59617de View commit details
    Browse the repository at this point in the history

Commits on Aug 22, 2022

  1. Configuration menu
    Copy the full SHA
    7dc3ce1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    503e32f View commit details
    Browse the repository at this point in the history

Commits on Aug 29, 2022

  1. Configuration menu
    Copy the full SHA
    59e0ded View commit details
    Browse the repository at this point in the history
  2. get rid of negotiated arg

    turns out we can pass negotiated: true and id=1 on both ends.
    melekes committed Aug 29, 2022
    Configuration menu
    Copy the full SHA
    a2c74c6 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3effb2e View commit details
    Browse the repository at this point in the history

Commits on Aug 31, 2022

  1. multiaddr 0.15 (master)

    melekes committed Aug 31, 2022
    Configuration menu
    Copy the full SHA
    71e56dd View commit details
    Browse the repository at this point in the history
  2. Refactor UdpMuxNewAddr to be lock-less (#1)

    * Dirty PoC for lock-less UdpMuxNewAddr
    
    The general idea is this:
    
    We use `flume` channels between the actual `UdpMuxNewAddr` instance
    and a set of "handles", one per async-trait that we need to satisfy.
    
    There is only one instance of `UdpMuxNewAddr`, meaning we can access
    it via `&mut self` and drop all locks within it.
    
    In the poll function, we can then decide, which events to prioritise
    over others. Most importantly, all channels between handles and the
    actual instance are "rendezvous channels", meaning, sending will block
    until we actually read the item out of the channel. This allows us
    to enforce backpressure from the poll function all the way to all
    handles and into the task that is interacting with the handle.
    
    * Remove locks from handle
    
    * Replace `flume` with `futures::mpsc` channels
    
    * Introduce `req_res_chan` module
    
    * Move locking into `req_res_chan::Sender`
    
    * Fill in more implementations
    
    * Add TODO
    
    * Implement send command handling, buffering items if we can't send them
    
    * Remove tokio::spawn for handling waiting for closed sockets
    
    * Remove futures::block_on in favor of local task set
    
    * Fix clippy warnings
    
    * Don't loop inside a loop
    
    * Use match instead of `ready!`
    
    * Fix webrtc version to rev prior to monorepo merge
    
    * Never have more than one write future
    
    This is to ensure backpressure. To not loose drop any packets, we
    only read from the socket in case we are not currently writing a packet.
    
    * Resolve TODO's for error handling
    
    * Make `recv_buf` as short-lived as possible
    
    * Replace AtomicBool with regular bool
    
    * Remove unused import
    
    * Simplify send_buffer handling
    
    Instead of buffering multiple items, we only ever buffer one. To
    work off this queue as quickly as possible, we put it at the top
    of the loop which allows us to reduce some code duplication by
    writing directly to the buffer in case we popped an item off the
    queue and going back to the start of the loop which will trigger
    a different code branch.
    
    * Cargo fmt
    thomaseizinger committed Aug 31, 2022
    Configuration menu
    Copy the full SHA
    38175fd View commit details
    Browse the repository at this point in the history

Commits on Sep 2, 2022

  1. update webrtc version

    melekes committed Sep 2, 2022
    Configuration menu
    Copy the full SHA
    9ff67a3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9b1547d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    91df66c View commit details
    Browse the repository at this point in the history
  4. fix smoke test

    melekes committed Sep 2, 2022
    Configuration menu
    Copy the full SHA
    8d0006b View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    bcdb4ef View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    6399627 View commit details
    Browse the repository at this point in the history

Commits on Sep 5, 2022

  1. Configuration menu
    Copy the full SHA
    22e97a0 View commit details
    Browse the repository at this point in the history
  2. transports/webrtc/: Change semantic of RESET

    With
    mxinden/specs@865f4f2
    the RESET no longer resets both write and read part of a stream, but only the
    former.
    mxinden committed Sep 5, 2022
    Configuration menu
    Copy the full SHA
    55da918 View commit details
    Browse the repository at this point in the history
  3. sdp: move pub functions up

    melekes committed Sep 5, 2022
    Configuration menu
    Copy the full SHA
    a2ae49f View commit details
    Browse the repository at this point in the history
  4. simplify IfWatcher integration

    port of libp2p#2813
    melekes committed Sep 5, 2022
    Configuration menu
    Copy the full SHA
    31ae422 View commit details
    Browse the repository at this point in the history

Commits on Sep 6, 2022

  1. Fix dial_failure test

    thomaseizinger committed Sep 6, 2022
    Configuration menu
    Copy the full SHA
    e0fe0de View commit details
    Browse the repository at this point in the history
  2. Fix clippy warnings

    thomaseizinger committed Sep 6, 2022
    Configuration menu
    Copy the full SHA
    2163b4b View commit details
    Browse the repository at this point in the history
  3. Revert "Fix dial_failure test"

    This reverts commit e0fe0de.
    thomaseizinger committed Sep 6, 2022
    Configuration menu
    Copy the full SHA
    4b23256 View commit details
    Browse the repository at this point in the history
  4. Fix more clippy lints

    thomaseizinger committed Sep 6, 2022
    Configuration menu
    Copy the full SHA
    23e779b View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    44506ee View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    bb29c7a View commit details
    Browse the repository at this point in the history

Commits on Sep 10, 2022

  1. Configuration menu
    Copy the full SHA
    11c016f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1a6e4bd View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d46a171 View commit details
    Browse the repository at this point in the history

Commits on Sep 11, 2022

  1. Configuration menu
    Copy the full SHA
    9cd4ef7 View commit details
    Browse the repository at this point in the history

Commits on Sep 12, 2022

  1. upgrade webrtc-rs to 0.5.0

    melekes committed Sep 12, 2022
    Configuration menu
    Copy the full SHA
    3a46fd0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    af76971 View commit details
    Browse the repository at this point in the history

Commits on Sep 14, 2022

  1. fix Fingerprint::to_ufrag

    ufrag is now multibase multihash
    melekes committed Sep 14, 2022
    Configuration menu
    Copy the full SHA
    018854d View commit details
    Browse the repository at this point in the history

Commits on Sep 19, 2022

  1. minor refactoring

    melekes committed Sep 19, 2022
    Configuration menu
    Copy the full SHA
    31e019a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6f57ed6 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    421a8ec View commit details
    Browse the repository at this point in the history
  4. add comments

    melekes committed Sep 19, 2022
    Configuration menu
    Copy the full SHA
    4a1d4d6 View commit details
    Browse the repository at this point in the history

Commits on Sep 20, 2022

  1. add debug to handle_flag

    melekes committed Sep 20, 2022
    Configuration menu
    Copy the full SHA
    c6c5a96 View commit details
    Browse the repository at this point in the history

Commits on Sep 22, 2022

  1. Configuration menu
    Copy the full SHA
    3d1d2f1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7e630a6 View commit details
    Browse the repository at this point in the history
  3. use into_authenticated fn

    credits to @thomaseizinger
    melekes committed Sep 22, 2022
    Configuration menu
    Copy the full SHA
    2868d48 View commit details
    Browse the repository at this point in the history

Commits on Sep 23, 2022

  1. Configuration menu
    Copy the full SHA
    0c45291 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    bbd7e75 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e84eb7b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c709da9 View commit details
    Browse the repository at this point in the history
  5. Remove dbg!

    thomaseizinger committed Sep 23, 2022
    Configuration menu
    Copy the full SHA
    6ddf754 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    299575f View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    d3da8f7 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    5b44aca View commit details
    Browse the repository at this point in the history
  9. Fix clippy

    thomaseizinger committed Sep 23, 2022
    Configuration menu
    Copy the full SHA
    b052190 View commit details
    Browse the repository at this point in the history

Commits on Sep 26, 2022

  1. Configuration menu
    Copy the full SHA
    1b0b671 View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2022

  1. Configuration menu
    Copy the full SHA
    aa38c81 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d0e918b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    171c613 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    cb481a6 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    6402665 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    d537696 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    c8c2446 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    d58f219 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    eb09d36 View commit details
    Browse the repository at this point in the history
  10. Remove stale derive

    thomaseizinger committed Sep 27, 2022
    Configuration menu
    Copy the full SHA
    99af2a1 View commit details
    Browse the repository at this point in the history
  11. Update docs

    thomaseizinger committed Sep 27, 2022
    Configuration menu
    Copy the full SHA
    2d85ab4 View commit details
    Browse the repository at this point in the history
  12. Fix clippy warnings

    thomaseizinger committed Sep 27, 2022
    Configuration menu
    Copy the full SHA
    6e2aeb1 View commit details
    Browse the repository at this point in the history

Commits on Sep 28, 2022

  1. change noise channel ID to 0

    Co-authored-by: Max Inden <mail@max-inden.de>
    melekes and mxinden committed Sep 28, 2022
    Configuration menu
    Copy the full SHA
    2c900b5 View commit details
    Browse the repository at this point in the history
  2. only allow one addr per ufrag

    melekes committed Sep 28, 2022
    Configuration menu
    Copy the full SHA
    226f293 View commit details
    Browse the repository at this point in the history

Commits on Oct 6, 2022

  1. Configuration menu
    Copy the full SHA
    a6b2aac View commit details
    Browse the repository at this point in the history

Commits on Oct 7, 2022

  1. Configuration menu
    Copy the full SHA
    afac31c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    71c390f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d5dcdd1 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    b43f861 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    fcf55b2 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    979b179 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    1055efc View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    c5ca42d View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    0942424 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    e59b93b View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    2133789 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    87f138b View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    7fc56ed View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    969d037 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    5e7b964 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    268d0fc View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    ba71d9b View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    7452c4b View commit details
    Browse the repository at this point in the history
  19. Rename noise error variant and improve printed log

    Errors should never print their inner source.
    thomaseizinger committed Oct 7, 2022
    Configuration menu
    Copy the full SHA
    15a09ad View commit details
    Browse the repository at this point in the history
  20. Don't have errors print their inner source

    This leads to double printing of messages.
    thomaseizinger committed Oct 7, 2022
    Configuration menu
    Copy the full SHA
    69e2f59 View commit details
    Browse the repository at this point in the history
  21. Straight up require addresses to specify a peer ID

    The current implementation already enforces this by checking
    `peer_id_from_addr.is_none`.
    thomaseizinger committed Oct 7, 2022
    Configuration menu
    Copy the full SHA
    d0a0bb6 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    3d38e93 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    43eb42a View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    a989577 View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    d5e67c2 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    410fc77 View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    d363369 View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    7108323 View commit details
    Browse the repository at this point in the history
  29. Configuration menu
    Copy the full SHA
    41f7ab1 View commit details
    Browse the repository at this point in the history
  30. Configuration menu
    Copy the full SHA
    0ba6954 View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    9e3c1db View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    88c29fb View commit details
    Browse the repository at this point in the history
  33. Inline api variable

    thomaseizinger committed Oct 7, 2022
    Configuration menu
    Copy the full SHA
    a2136c9 View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    116e498 View commit details
    Browse the repository at this point in the history
  35. Configuration menu
    Copy the full SHA
    2935ca7 View commit details
    Browse the repository at this point in the history
  36. Close data channel before verifying peer ID

    This is slightly nicer in case we would bail out of the function.
    thomaseizinger committed Oct 7, 2022
    Configuration menu
    Copy the full SHA
    033e485 View commit details
    Browse the repository at this point in the history
  37. Configuration menu
    Copy the full SHA
    c5c5b8d View commit details
    Browse the repository at this point in the history
  38. Configuration menu
    Copy the full SHA
    ef45b58 View commit details
    Browse the repository at this point in the history
  39. Remove unnecessary pub(crate)

    The entire module is crate private.
    thomaseizinger committed Oct 7, 2022
    Configuration menu
    Copy the full SHA
    d4c89bf View commit details
    Browse the repository at this point in the history
  40. Configuration menu
    Copy the full SHA
    4795f81 View commit details
    Browse the repository at this point in the history
  41. Consistent logging

    thomaseizinger committed Oct 7, 2022
    Configuration menu
    Copy the full SHA
    e0bec13 View commit details
    Browse the repository at this point in the history
  42. Remove log before noise handshake

    We don't log it for outbound either.
    thomaseizinger committed Oct 7, 2022
    Configuration menu
    Copy the full SHA
    ba961c3 View commit details
    Browse the repository at this point in the history
  43. Inline ufrag variable

    thomaseizinger committed Oct 7, 2022
    Configuration menu
    Copy the full SHA
    f5f4476 View commit details
    Browse the repository at this point in the history
  44. Configuration menu
    Copy the full SHA
    f643e09 View commit details
    Browse the repository at this point in the history
  45. Configuration menu
    Copy the full SHA
    8a74009 View commit details
    Browse the repository at this point in the history
  46. Replace select macro with select fn

    This is easier to maintain.
    thomaseizinger committed Oct 7, 2022
    Configuration menu
    Copy the full SHA
    b9917d5 View commit details
    Browse the repository at this point in the history
  47. Configuration menu
    Copy the full SHA
    f5d105e View commit details
    Browse the repository at this point in the history
  48. Configuration menu
    Copy the full SHA
    d4448ad View commit details
    Browse the repository at this point in the history
  49. Configuration menu
    Copy the full SHA
    afa35bb View commit details
    Browse the repository at this point in the history
  50. Configuration menu
    Copy the full SHA
    030d210 View commit details
    Browse the repository at this point in the history
  51. Perform peer ID check outside of ugprade functions

    This makes them more symmetric.
    thomaseizinger committed Oct 7, 2022
    Configuration menu
    Copy the full SHA
    ceba78e View commit details
    Browse the repository at this point in the history
  52. Remove WebRTC prefix

    thomaseizinger committed Oct 7, 2022
    Configuration menu
    Copy the full SHA
    ed9fad1 View commit details
    Browse the repository at this point in the history
  53. Remove wrong log

    At this point we are not yet listening.
    thomaseizinger committed Oct 7, 2022
    Configuration menu
    Copy the full SHA
    06be476 View commit details
    Browse the repository at this point in the history
  54. Configuration menu
    Copy the full SHA
    5d20a00 View commit details
    Browse the repository at this point in the history
  55. Inline variable

    thomaseizinger committed Oct 7, 2022
    Configuration menu
    Copy the full SHA
    52c9705 View commit details
    Browse the repository at this point in the history
  56. Remove duplicate logging

    We now have a log in `upgrade::outbound`.
    thomaseizinger committed Oct 7, 2022
    Configuration menu
    Copy the full SHA
    afaaea9 View commit details
    Browse the repository at this point in the history
  57. Configuration menu
    Copy the full SHA
    c032343 View commit details
    Browse the repository at this point in the history
  58. Configuration menu
    Copy the full SHA
    3d44ac4 View commit details
    Browse the repository at this point in the history
  59. Remove superfluous logs

    This is logged by `libp2p_swarm` already.
    thomaseizinger committed Oct 7, 2022
    Configuration menu
    Copy the full SHA
    e98a981 View commit details
    Browse the repository at this point in the history
  60. Configuration menu
    Copy the full SHA
    f5095a0 View commit details
    Browse the repository at this point in the history
  61. Configuration menu
    Copy the full SHA
    09235a3 View commit details
    Browse the repository at this point in the history
  62. Configuration menu
    Copy the full SHA
    b2cee23 View commit details
    Browse the repository at this point in the history
  63. Inline do_listen

    thomaseizinger committed Oct 7, 2022
    Configuration menu
    Copy the full SHA
    dce2371 View commit details
    Browse the repository at this point in the history
  64. Configuration menu
    Copy the full SHA
    577a24e View commit details
    Browse the repository at this point in the history
  65. Configuration menu
    Copy the full SHA
    fab5a32 View commit details
    Browse the repository at this point in the history
  66. Configuration menu
    Copy the full SHA
    316052c View commit details
    Browse the repository at this point in the history
  67. Make noise module private

    No longer needs to be pub.
    thomaseizinger committed Oct 7, 2022
    Configuration menu
    Copy the full SHA
    ee8fe4e View commit details
    Browse the repository at this point in the history
  68. Configuration menu
    Copy the full SHA
    c5b86d7 View commit details
    Browse the repository at this point in the history
  69. Fix formatting issues

    thomaseizinger committed Oct 7, 2022
    Configuration menu
    Copy the full SHA
    db45602 View commit details
    Browse the repository at this point in the history
  70. Fix clippy lints

    thomaseizinger committed Oct 7, 2022
    Configuration menu
    Copy the full SHA
    85aa4ef View commit details
    Browse the repository at this point in the history

Commits on Oct 10, 2022

  1. Configuration menu
    Copy the full SHA
    8709473 View commit details
    Browse the repository at this point in the history
  2. remove TODO

    ThreadRng, provided by the thread_rng function, is a handle to a thread-local CSPRNG with periodic
    seeding from OsRng. Because this is local, it is typically much faster than OsRng. It should be
    secure, though the paranoid may prefer OsRng.
    
    ->
    
    OsRng is an interface to the operating system’s random number source. Typically the operating system
    uses a CSPRNG with entropy provided by a TRNG and some type of on-going re-seeding.
    
    ->
    
    "Before Linux 5.2 (2019), the blocking pool was ready to dispense N bits of randomness as soon as it
    accumulated N bits of entropy. In its information theoretical design this would make sense, if we
    could trust the entropy estimates, but nobody does! That means using /dev/random could be strictly
    less secure than using getrandom(2), because at least the latter always waits for 128 bits of
    entropy, which should provide some margin for error."
    
    Source: https://words.filippo.io/dispatches/linux-csprng/
    
    Therefore, at least 128 bits of entropy are ensured on Linux. I think it's safe to remove a TODO
    since Linux is the primary OS used by validators.
    melekes committed Oct 10, 2022
    Configuration menu
    Copy the full SHA
    f6431fb View commit details
    Browse the repository at this point in the history

Commits on Oct 11, 2022

  1. Configuration menu
    Copy the full SHA
    8266fc4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d2da793 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1b520a9 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e483974 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    29d6f74 View commit details
    Browse the repository at this point in the history
  6. Remove substream ID

    Logging these state transitions is no longer really worth it because
    we have changed the design to have many more functions which would
    all require logging now.
    thomaseizinger committed Oct 11, 2022
    Configuration menu
    Copy the full SHA
    d829fda View commit details
    Browse the repository at this point in the history
  7. Remove use of map_err

    thomaseizinger committed Oct 11, 2022
    Configuration menu
    Copy the full SHA
    058a153 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    e1df3c4 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    8c8feaa View commit details
    Browse the repository at this point in the history
  10. Group imports

    thomaseizinger committed Oct 11, 2022
    Configuration menu
    Copy the full SHA
    e6c177c View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    b2961a0 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    f827f62 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    16433db View commit details
    Browse the repository at this point in the history
  14. Fix clippy warnings

    thomaseizinger committed Oct 11, 2022
    Configuration menu
    Copy the full SHA
    834ec64 View commit details
    Browse the repository at this point in the history
  15. Fix docs

    thomaseizinger committed Oct 11, 2022
    Configuration menu
    Copy the full SHA
    7e0e46d View commit details
    Browse the repository at this point in the history

Commits on Oct 12, 2022

  1. Merge pull request #10 from libp2p/webrtc-message-framing

    transports/webrtc: Implement message framing
    melekes committed Oct 12, 2022
    Configuration menu
    Copy the full SHA
    225453b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    35e2c50 View commit details
    Browse the repository at this point in the history
  3. reverse the noise roles

    "The above suggestion would still be an optimization, i.e. it would allow the server (webrtc
    connection responder, here Noise handshake initiator) to send application data 0.5 RTT earlier.
    Things would stay as is for the client (webrtc connection initiator, here Noise handshake
    responder)."
    
    libp2p/specs#412 (comment)
    melekes committed Oct 12, 2022
    Configuration menu
    Copy the full SHA
    de191a6 View commit details
    Browse the repository at this point in the history
  4. don't use Multihash in Noise prologue

    fix algo to SHA-256
    libp2p/specs#412 (comment)
    melekes committed Oct 12, 2022
    Configuration menu
    Copy the full SHA
    c435df0 View commit details
    Browse the repository at this point in the history
  5. add comments to Fingerprint

    melekes committed Oct 12, 2022
    Configuration menu
    Copy the full SHA
    95665ec View commit details
    Browse the repository at this point in the history
  6. fix doc links

    melekes committed Oct 12, 2022
    Configuration menu
    Copy the full SHA
    67a13b8 View commit details
    Browse the repository at this point in the history

Commits on Oct 13, 2022

  1. Revert "don't use Multihash in Noise prologue"

    This reverts commit c435df0.
    melekes committed Oct 13, 2022
    Configuration menu
    Copy the full SHA
    806d7e3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    114f539 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e7f9dc2 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6c8cce9 View commit details
    Browse the repository at this point in the history

Commits on Oct 14, 2022

  1. add some comments

    melekes committed Oct 14, 2022
    Configuration menu
    Copy the full SHA
    c89f95a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    84032f0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ef6bf9b View commit details
    Browse the repository at this point in the history
  4. remove default-features flag from libp2p-core

    Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
    melekes and thomaseizinger committed Oct 14, 2022
    Configuration menu
    Copy the full SHA
    3d3951f View commit details
    Browse the repository at this point in the history
  5. rename tokio-crate to tokio

    melekes committed Oct 14, 2022
    Configuration menu
    Copy the full SHA
    3fae663 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    05a9b00 View commit details
    Browse the repository at this point in the history

Commits on Oct 17, 2022

  1. Configuration menu
    Copy the full SHA
    f7c8ab5 View commit details
    Browse the repository at this point in the history
  2. enable tokio feature on libp2p-webrtc

    if global tokio feature is enabled
    melekes committed Oct 17, 2022
    Configuration menu
    Copy the full SHA
    1785a85 View commit details
    Browse the repository at this point in the history
  3. empty data channel labels

    melekes committed Oct 17, 2022
    Configuration menu
    Copy the full SHA
    8ddd225 View commit details
    Browse the repository at this point in the history

Commits on Oct 18, 2022

  1. apply suggestions from @mxinden

    Co-authored-by: Max Inden <mail@max-inden.de>
    melekes and mxinden committed Oct 18, 2022
    Configuration menu
    Copy the full SHA
    6326131 View commit details
    Browse the repository at this point in the history
  2. bump prost-codec version

    melekes committed Oct 18, 2022
    Configuration menu
    Copy the full SHA
    fe84427 View commit details
    Browse the repository at this point in the history
  3. replace unwrap with expect

    melekes committed Oct 18, 2022
    Configuration menu
    Copy the full SHA
    0810bed View commit details
    Browse the repository at this point in the history
  4. add missing licences

    melekes committed Oct 18, 2022
    Configuration menu
    Copy the full SHA
    5429e55 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    82edf3f View commit details
    Browse the repository at this point in the history
  6. remove obsolete comment

    melekes committed Oct 18, 2022
    Configuration menu
    Copy the full SHA
    7af1e80 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    7eb35f2 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    532b410 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    9238efc View commit details
    Browse the repository at this point in the history
  10. Revert "don't do framing during noise handshake"

    This reverts commit 9238efc.
    melekes committed Oct 18, 2022
    Configuration menu
    Copy the full SHA
    4d1cb7c View commit details
    Browse the repository at this point in the history

Commits on Oct 19, 2022

  1. set max-message-size to 16384

    to align it with the max frame size
    melekes committed Oct 19, 2022
    Configuration menu
    Copy the full SHA
    3383872 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    93ea5d4 View commit details
    Browse the repository at this point in the history

Commits on Oct 20, 2022

  1. make certificate an argument in Transport::new

    by analogue with `id_keys`.
    
    See paritytech/substrate#12529 (comment)
    
    Both peer's identity and certificate will need to be stored somewhere (disk) and reused across
    restarts. Since this is a dominant use-case, I've switched `Config` API to accept a certificate and
    opted out of generating one completely.
    melekes committed Oct 20, 2022
    Configuration menu
    Copy the full SHA
    ce8e742 View commit details
    Browse the repository at this point in the history

Commits on Oct 24, 2022

  1. Configuration menu
    Copy the full SHA
    03cbefd View commit details
    Browse the repository at this point in the history
  2. remove pathed multiaddr

    melekes committed Oct 24, 2022
    Configuration menu
    Copy the full SHA
    61b00f9 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ba964f3 View commit details
    Browse the repository at this point in the history
  4. remove unused deps

    move rcgen to dev deps
    melekes committed Oct 24, 2022
    Configuration menu
    Copy the full SHA
    f5757b9 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    0e9fcf2 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    c179ecd View commit details
    Browse the repository at this point in the history
  7. remove TODO from poll_flush

    looks like we don't need to check `self.state.write_barrier()?`. The assumption is that callers /
    implementation won't issue poll_flush calls after having closed the writing side of a stream.
    melekes committed Oct 24, 2022
    Configuration menu
    Copy the full SHA
    7d9d531 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    c1e4297 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    b4472a8 View commit details
    Browse the repository at this point in the history

Commits on Oct 25, 2022

  1. Configuration menu
    Copy the full SHA
    9a80510 View commit details
    Browse the repository at this point in the history

Commits on Oct 26, 2022

  1. Configuration menu
    Copy the full SHA
    e5e9c46 View commit details
    Browse the repository at this point in the history

Commits on Oct 27, 2022

  1. prepare for deterministic certificates

    Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
    melekes and thomaseizinger committed Oct 27, 2022
    Configuration menu
    Copy the full SHA
    36012ed View commit details
    Browse the repository at this point in the history

Commits on Oct 28, 2022

  1. Configuration menu
    Copy the full SHA
    19a8a6c View commit details
    Browse the repository at this point in the history

Commits on Oct 31, 2022

  1. Configuration menu
    Copy the full SHA
    9e7c0eb View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c41e930 View commit details
    Browse the repository at this point in the history

Commits on Nov 3, 2022

  1. don't log empty label

    melekes committed Nov 3, 2022
    Configuration menu
    Copy the full SHA
    d1c50b5 View commit details
    Browse the repository at this point in the history

Commits on Nov 4, 2022

  1. Configuration menu
    Copy the full SHA
    35e02d2 View commit details
    Browse the repository at this point in the history

Commits on Nov 5, 2022

  1. Configuration menu
    Copy the full SHA
    c7cb26b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e0a95d8 View commit details
    Browse the repository at this point in the history

Commits on Nov 7, 2022

  1. update webrtc-rs

    it contains a potential fix for missing data problems
    melekes committed Nov 7, 2022
    Configuration menu
    Copy the full SHA
    58210d4 View commit details
    Browse the repository at this point in the history

Commits on Nov 8, 2022

  1. asynchronous-codec 0.6.1

    melekes committed Nov 8, 2022
    Configuration menu
    Copy the full SHA
    e1ba1d5 View commit details
    Browse the repository at this point in the history

Commits on Nov 9, 2022

  1. Configuration menu
    Copy the full SHA
    430f6a8 View commit details
    Browse the repository at this point in the history

Commits on Nov 16, 2022

  1. add from_pem and serialize_pem to Certificate

    update webrtc to 0.6.0
    melekes committed Nov 16, 2022
    Configuration menu
    Copy the full SHA
    fc4bedb View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d2fc5f6 View commit details
    Browse the repository at this point in the history

Commits on Nov 17, 2022

  1. format code

    melekes committed Nov 17, 2022
    Configuration menu
    Copy the full SHA
    06d53d9 View commit details
    Browse the repository at this point in the history
  2. remove webrtc-pem feature

    and fix link
    melekes committed Nov 17, 2022
    Configuration menu
    Copy the full SHA
    0b0be1d View commit details
    Browse the repository at this point in the history