commit | ebd23f8b4b6645821a91bf9da4a10b3d30a98fb2 | [log] [tgz] |
---|---|---|
author | Carlos Hernandez <carlos@hrndz.ca> | Tue Feb 04 18:55:05 2025 +0000 |
committer | Gopher Robot <gobot@golang.org> | Tue Feb 04 14:06:08 2025 -0800 |
tree | c73ea008686de998f722ab672b894c66bd135ccc | |
parent | 938a9fb94e41285a443b0882dbc46f2a4c6ed484 [diff] |
route: fix parsing network address of length zero sa_len of 0 should be valid, for Chapter 18 of UNIX® Network Programming Volume 1, Third Edition: The Sockets Networking API, states: The socket address structures are variable-length, but this code assumes that each has an sa_len field specifying its length. There are two complications that must be handled. First, the two masks, the network mask and the cloning mask, can be returned in a socket address structure with an sa_len of 0, but this really occupies the size of an unsigned long. (Chapter 19 of TCPv2 discusses the cloning feature of the 4.4BSD routing table). This value represents a mask of all zero bits, which we printed as 0.0.0.0 for the network mask of the default route in our earlier example. There are other references in the book which also state sa_len of 0 is valid. Fixes golang/go#70528 Change-Id: I9205a674f9cdf8091b1cc8b8a56609cd1cf4c670 GitHub-Last-Rev: df63086c54071ecf3369142a0ed04197eb30091e GitHub-Pull-Request: golang/net#230 Reviewed-on: https://go-review.googlesource.com/c/net/+/646555 Auto-Submit: Ian Lance Taylor <iant@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Ian Lance Taylor <iant@google.com> Reviewed-by: Damien Neil <dneil@google.com>
This repository holds supplementary Go networking packages.
This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://go.dev/doc/contribute.
The git repository is https://go.googlesource.com/net.
The main issue tracker for the net repository is located at https://go.dev/issues. Prefix your issue with “x/net:” in the subject line, so it is easy to find.