mudler / edgevpn

:sailboat: The immutable, decentralized, statically built p2p VPN without any central server and automatic discovery! Create decentralized introspectable tunnels over p2p with shared tokens
https://mudler.github.io/edgevpn
Apache License 2.0
672 stars 95 forks source link

fix(deps): update module github.com/c-robinson/iplib to v2 #774

Closed renovate[bot] closed 1 week ago

renovate[bot] commented 2 months ago

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
github.com/c-robinson/iplib v1.0.8 -> v2.0.5 age adoption passing confidence

Release Notes

c-robinson/iplib (github.com/c-robinson/iplib) ### [`v2.0.5`](https://redirect.github.com/c-robinson/iplib/releases/tag/v2.0.5): 2.0.5 [Compare Source](https://redirect.github.com/c-robinson/iplib/compare/v2.0.4...v2.0.5) - add IPToBinarySlice function, by [@​ryanfolsom](https://redirect.github.com/ryanfolsom) ### [`v2.0.4`](https://redirect.github.com/c-robinson/iplib/releases/tag/v2.0.4): 2.0.4 [Compare Source](https://redirect.github.com/c-robinson/iplib/compare/v2.0.3...v2.0.4) - Fix an overflow in `Net6.Enumerate()` on 32bit architectures - AllNetsBetween now starts with a netmask of 0 instead of 1, so `iplib.AllNetsBetween(0.0.0.0, 255.255.255.255)` will now return a single /0 network instead of two /1's. ### [`v2.0.3`](https://redirect.github.com/c-robinson/iplib/releases/tag/v2.0.3): 2.0.3 [Compare Source](https://redirect.github.com/c-robinson/iplib/compare/v2.0.2...v2.0.3) - New `AllNetworksBetween()` function generates a `[]iplib.Net` of all the networks required to span two IP addresses inclusively - Fix the behavior of `NewNetBetween()` to always consider the final address when generating a netblock Previously it would sometimes exclude this address when it should not have - Update the godoc for `NewNetBetween()` to reflect reality. Previously the docs indicated that the generated network would be *exclusive* of both the start and end addresses which was just wrong and kind of dumb - Fix regression where `Net6.Count()` reported zero addresses for ::/0 instead of whatever the actual gimungous number is, which was introduced during the cutover to `Uint128` ### [`v2.0.2`](https://redirect.github.com/c-robinson/iplib/releases/tag/v2.0.2): 2.0.2 [Compare Source](https://redirect.github.com/c-robinson/iplib/compare/v2.0.1...v2.0.2) - it is not obvious how go.mod should work for submodules, so this is another attempt to get them working correctly - fix for small issues [golangci-lint](https://golangci-lint.run) uncovered - appease an angry race detector for `Net6.Enumerate()` on linux (but not macos 😬) by creating local variables inside goroutines - improve tests and add benchmarks for `Net4.Enumerate()` and `Net6.Enumerate()` Also some repo cleanup - abandon circleci and coveralls in favor of actions workflows against all explicitly supported versions of go, running against MacOS, Linux and Windows ### [`v2.0.1`](https://redirect.github.com/c-robinson/iplib/releases/tag/v2.0.1): 2.0.1 [Compare Source](https://redirect.github.com/c-robinson/iplib/compare/v2.0.0...v2.0.1) - quick fix to update `go get` invocation, example imports and documentation references to v2 in the README for iplib, iid and iana ### [`v2.0.0`](https://redirect.github.com/c-robinson/iplib/releases/tag/v2.0.0): 2.0.0 [Compare Source](https://redirect.github.com/c-robinson/iplib/compare/v1.0.8...v2.0.0) This release introduces a breaking change for IPv6 functions that take or return an integer value, including the `Hostmask` and `Net6` structs and methods. Previously these functions relied upon `*big.Int` to hold the v6 address space, but this has been replaced by `lukechampine.com/uint128`. The performance improvement for the affected functions is so significant (from 5x faster for the increment/decrement functions to a whopping 25x faster for `DeltaIP6()`) that it easily justifies the incompatibility. IPv4 functions are unaffected by this change. It has always been a goal for this library to not rely on dependencies outside of the Go standard library and hopefully some future v3 of this library could employ an internal `uint128` type but that would require the adoption of [this proposal](https://redirect.github.com/golang/go/issues/9455) or something similar. TLDR: - all functions requiring or returning `*big.Int` have been rewritten to take `uint128.Uint128` instead - new conversion functions have been created to move between IPv6 and `uint128.Uint128` (the `*big.Int` converters still remain) - `Net6` and `Hostmask` now also take and use `uint128.Uint128` - benchmarks, tests, examples and documentation have all been updated to reflect the change - the top of the README temporarily calls the change out for added visibility - added functions to convert ARPA DNS entries back to `net.IP` because, weirdly, I need to do this

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

â™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.



This PR was generated by Mend Renovate. View the repository job log.