* fix: allow punching undialable host public ip
fixes#2913
* chore: use interface listen addrs to enable dctur
* fix: filter public addresses
* chore: remove unused function
* chore: formatting
---------
Co-authored-by: Daniel N <2color@users.noreply.github.com>
* Lint fixes
* Use latest go version for go-check
Fixes nil pointer issue in staticcheck
* Add test_analysis helper script
* Use custom go-test-template
* Add some tests to the test_analysis script
* Always upload test_results db
* Attempt to fix test on windows
* Better if statement
* Try to fix flaky test
* Disable caching setup-go on Windows
* Better if statement
* Tweak
* Always upload summary and artifact
* Close db
* No extra newline
This commit changes the `blackHoleState` type from private to public by renaming it to `BlackHoleState`. This modification allows other packages to access and use this type, which is essential for monitoring and debugging purposes within the libp2p system.
Related issue: #2890
* Add failing proto test
* Add a new proto compilation script
A proto file's *import path* is relative to one of the `--proto-path`s.
Previously, the proto files were compiled separately. Some invocations
used different values for the `--proto_path`, which led to inconsistent
import paths in proto file descriptors.
Typically, this wouldn't be a problem. However, if a downstream project
uses `protoregistry.GlobalFiles` to inspect proto dependencies, it will fail
to find a dependency's file descriptor when the dependency was compiled
with a different `--proto_path`.
By using a single script to generate all protobuf files, we can ensure
the `--proto_path` is always set to the same sane value (the root of the
project, as suggested in the [official documentation]).
[official documentation]: https://protobuf.dev/programming-guides/proto2/#importing
* Add go_package options so scripts/gen-proto.sh succeeds
* Remove undesirable `go:generate protoc` directives
* Run `go generate ./...`
* Script uses arrays, I think we need bash
---------
Co-authored-by: Marco Munizaga <git@marcopolo.io>
Using the `BasicHost` constructor transfers the ownership of the swarm.
This is similar to how using `libp2p.New` transfers the ownership of
user provided config options like `ResourceManager`, all of which are
closed on `host.Close`
* Remove this hack, the new observed address manager just works
* Infer addresses that share the same local thin waist
* Use Interface listen address as well
* Bump go-multiaddr dep
* Add support for http-path
* Support redirects
* Don't split at p2p, split at P_HTTP_PATH
* fixup
* Fill in host if missing
* mod tidy
* Fix test
* Add MultiaddrURIRedirect
* Only alloc err once
This change has some history. Originally there was v1.5.0, then the
project stalled and eventually the repo got archived. Some new
maintainers stepped up and released v1.5.1. That version had some
controversial changes including excessive logging (see
https://github.com/gorilla/websocket/issues/880). This caused us to
downgrade this dep back to v1.5.0 (see #2762). The change was short
lived as I bumped this dep back up to v1.5.1 without remembering this
context.
Since then the maintainers of gorilla/websocket have released a new
version v1.5.3 that brings the project back to the state of when it got
archived (minus a README edit). Bumping to this version should solve our
issues with v1.5.1 without having to downgrade back down to v1.5.0.