Commit Graph

899 Commits

Author SHA1 Message Date
vyzo
206450b140 Merge pull request #396 from jtraglia/fix-minor-gossipsub-issues
Fix two minor gossipsub v1.1 spec problems
2022-03-05 08:02:19 +02:00
Justin Traglia
5337e6aa92 Make gossip score vars start with uppercase letter 2022-03-04 16:25:51 -06:00
Justin Traglia
a8211b170f Revert BehaviourPenaltyDecay change
I'm not confident about this change anymore.
2022-03-04 16:01:28 -06:00
Justin Traglia
f07ff66074 Fix a few spec inconsistencies 2022-03-04 15:50:22 -06:00
Max Inden
65f9923a40 kad-dht/README: Document client mode (#392)
This commit documents the DHT client mode, keeping routing tables clear
of clients (laptops), while still allowing clients to utilize the
functionality of the DHT.
2022-02-15 15:12:06 +01:00
Aleksei
f433ad5952 Delete the outdated link in peer-ids.md (#393)
* Fixing the typo in peer-ids.md

* Delete the link
2022-02-13 23:23:40 -08:00
sreekanth bandi
261bc5e605 00-framework-02-document-header.md: Fix typo (#390) 2022-02-03 10:17:47 +01:00
Aleksei
76f1904bd4 identify fixing typo in README.md (#388) 2022-01-15 09:32:28 -08:00
Marten Seemann
8895aa0f8b Add a spec for autonat protocol (#362)
How we detect if we're behind a NAT.

Co-authored-by: Max Inden <mail@max-inden.de>
2022-01-14 10:17:25 +01:00
Max Inden
70d7fda47d relay/circuit-v2: Make Reservation::expire as required (#384)
The Go implementation of the circuit relay v2 implementation treats the
`Reservation::expire` field as `required`:

``` Golang
result := &Reservation{}
result.Expiration = time.Unix(int64(rsvp.GetExpire()), 0)
if result.Expiration.Before(time.Now()) {
	return nil, fmt.Errorf("received reservation with expiration date in the past: %s", result.Expiration)
}
```

bfee9f5935/p2p/protocol/circuitv2/client/reservation.go (L88-L92)

Where `rsvp.GetExpire` returns `0` when `Reservation::expire` is not set:

``` Golang
func (m *Reservation) GetExpire() uint64 {
	if m != nil && m.Expire != nil {
		return *m.Expire
	}
	return 0
}
```

bfee9f5935/p2p/protocol/circuitv2/pb/circuit.pb.go (L414-L419)

While inexplicable to me why Go treats the non-set case equal to the default
value (`0`), we unfortunately have to take the go implementation as the source
of truth, given that it is already released.

With the above in mind and to prevent confusion for other implementations in
languages which do not treat the non-set case equal to the default value (`0`),
this commit marks the `Reservation::expire` field as `required`.
2021-12-19 15:30:26 +01:00
Tanguy
cbf7478824 Address comments 2021-12-15 17:14:14 +01:00
Tanguy
e24755d015 Unsubscribe backoff 2021-12-14 11:20:02 +01:00
Max Inden
efac6aceda ROADMAP: Prioritize global connectivity over connection handshake (#380) 2021-12-09 19:40:33 +01:00
Max Inden
58d171692b ROADMAP: Add section on "Automated compatibility testing" (#379)
Co-authored-by: Marten Seemann <martenseemann@gmail.com>
2021-12-09 19:35:51 +01:00
Thomas Eizinger
6f049f9c09 relay/circuit-v2: Do minor fixes (#382) 2021-12-09 10:12:10 +01:00
vyzo
e0eddfa08d Merge pull request #381 from gitaaron/master
Spelling (#378)
2021-12-08 19:17:43 +02:00
Aaron Surty
5e693a7ed1 Spelling (#378)
r/two many/too many
2021-12-08 12:05:33 -05:00
Marcin Rataj
6d5b84f1a0 chore: typo 2021-12-03 16:24:00 +01:00
Max Inden
ef4c029568 relay/DCUtR: Make message type field required (#375)
The `type` field of the DCUtR message definition should not be
`optional`, as a message without a `Type` is useless. Instead it should
be `required`.

See also circuit relay v2 specification using `required` for `type`.

```protobuf
message HopMessage {
  enum Type {
    RESERVE = 0;
    CONNECT = 1;
    STATUS = 2;
  }

  required Type type = 1;
```

```protobuf
message StopMessage {
  enum Type {
    CONNECT = 0;
    STATUS = 1;
  }

  required Type type = 1;
```
2021-11-22 21:18:31 +01:00
vyzo
6c2b0bd002 Merge pull request #376 from nazar-pc/patch-1
Fix typos in parameter names
2021-11-22 17:36:42 +02:00
Nazar Mokrynskyi
a8999d581a Fix typos in parameter names 2021-11-22 14:51:05 +02:00
Max Inden
9c12531745 kad-dht/README: Document key on Message during PUT_VALUE (#373)
On PUT_VALUE the Golang implementation expects `key` on `Message` to
equal `key` on `Record` when handling a request (see [go-1]). This patch
updates the specification accordingly.

[go-1]: 7724838e46/handlers.go (L151-L164)
2021-11-16 18:11:13 +01:00
Mark Riise
500a7906dd Spelling (#372)
words
2021-10-17 02:52:19 -07:00
Marten Seemann
cd75aea095 bump mDNS spec version (#371) 2021-10-12 06:41:34 -07:00
Marten Seemann
9cb161cc44 Merge pull request #368 from libp2p/mdns-random-peer-name
use a random string as peer-name in mDNS
2021-10-12 14:05:45 +01:00
Marten Seemann
08b9a70f60 use a random string as peer-name in mDNS 2021-10-12 14:52:18 +02:00
Marten Seemann
9a3324209c Merge pull request #366 from r-zig/patch-1
Update circuit-v2.md
2021-09-30 15:21:20 +01:00
r-zig
591707373e Update circuit-v2.md
fix gstatus to status
2021-09-30 16:49:49 +03:00
Sönke Hahn
3785e29374 tls/: Fix typo (#365) 2021-09-25 18:41:49 +02:00
Max Inden
7fe1dea162 ROADMAP: Reference Protocol Select specification pull request (#364) 2021-09-25 12:27:58 +02:00
Marten Seemann
b55f9aba0a Merge pull request #363 from libp2p/dcutr-link
add link to DCUtR to README
2021-09-05 15:25:34 +01:00
Marten Seemann
d34653e70d add link to DCUtR to README 2021-09-04 03:08:19 -07:00
Roman
7ee906d6e0 tls/: Define precisely how to marshal SubjectPublicKeyInfo (#358)
Co-authored-by: Max Inden <mail@max-inden.de>
2021-08-23 17:08:17 +02:00
vyzo
689e5cb87c relay/DCUtR: Add Direct Connection Upgrade through Relay protocol (#173)
> In this specification, we describe a synchronization protocol for direct
connectivity with hole punching that eschews signaling servers and utilizes
existing relay connections instead.

Co-authored-by: Raúl Kripalani <raul@protocol.ai>
Co-authored-by: Max Inden <mail@max-inden.de>
Co-authored-by: Marten Seemann <martenseemann@gmail.com>
2021-08-23 16:43:44 +02:00
Max Inden
4b54c64b3c identify/: Don't close connection on protocol version mismatch (#360)
Previous versions of this specification required connections to be
closed on version mismatch. This requirement is revoked to allow
interoperability between protocol families / networks.
2021-08-10 18:31:54 +02:00
Denis Kolegov
d8130f46c1 noise/: Clarify properties of handshake's second message (#356)
Co-authored-by: Max Inden <mail@max-inden.de>
2021-08-06 08:32:57 +02:00
Steven Allen
1544b68658 Merge pull request #357 from kpp/patch-1
Fix tls.md
2021-08-02 08:09:22 -07:00
Roman
f4ed51d5f5 Update tls.md
Fix tls.md to use OCTET STRING instead of BIT STRING for elements of SignedKey
2021-07-30 17:57:52 +03:00
Marten Seemann
98e0ca0e54 Merge pull request #191 from libp2p/addressing-spec
Add spec on addressing & use of multiaddr
2021-07-24 12:35:47 +02:00
Marten Seemann
2b53d89b42 add note about dnslink 2021-07-24 12:33:54 +02:00
Marten Seemann
f243160d18 fix date
Co-authored-by: Steve Loeppky <stvn@loeppky.com>
2021-07-23 18:49:46 +02:00
Marten Seemann
090cf31dca add more people to the Interest Group 2021-07-23 18:47:29 +02:00
Max Inden
0134a93277 addressing/README.md: Wrap lines at 80 chars 2021-07-22 12:35:01 +02:00
Marten Seemann
a38dfcc28c fix multiaddr paragraph 2021-07-22 12:18:35 +02:00
Marten Seemann
2751753e5d apply @mxinden's suggestions from code review
Co-authored-by: Max Inden <mail@max-inden.de>
2021-07-22 12:14:49 +02:00
Thomas Eizinger
da57d78c48 rendezvous/: Clarify UNREGISTER behaviour and remove id (#348)
* Remove `id` field from `Unregister` message

All connections in libp2p are authenticated. As such, we don't have
to include the PeerId in the `Unregister` message. We only allow
peers to unregister themselves and therefore, this `id` would always
be equal to the one we are learn from the authentication layer. Having
to compare those and ensure they are equal is an unnecessary error
path.

To be backwards-compatible with existing deployments of the rendezvous
protocol, the field is only commented out. If this record ever gets
extended, the next field should use id `3`.

* Clarify absence of `UNREGISTER` response
2021-07-22 12:00:27 +02:00
Marten Seemann
b6f452b89d remove superflous paragraph about WebSocket addresses 2021-07-21 21:04:12 +02:00
Marten Seemann
0e770a83fe fix stray partial sentence 2021-07-21 21:01:45 +02:00
Marten Seemann
0dd8c50d31 a multiaddr is just a sequence of instructions 2021-07-21 20:51:07 +02:00
Marten Seemann
90e852d9aa apply Raul's suggestion regarding circuit relays 2021-07-21 20:49:12 +02:00