We specify `set -o pipefail`, which is not implemented in dash
or a number of other shells. The F-Droid builder is defaulting
to a shell which does not:
```
./version/tailscale-version.sh: 10: set: Illegal option -o pipefail
```
Updates https://github.com/tailscale/tailscale/issues/2536
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
There are several situations where a peer may only have IPv6:
+ it was authorized using an ephemeral node key
https://tailscale.com/kb/1111/ephemeral-nodes/
+ the Tailnet has IPv4 disabled
https://twitter.com/bradfitz/status/1398380415124082690
So:
+ if a peer has an IPv4 address, display that.
+ if a peer does not have an IPv4 address, display IPv6.
+ If a peer does not have either IPv4 or IPv6 then leave
the address blank. Not sure how this could happen.
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
On 6/24 I built a v43 and started to release it to production,
then decided to do an Internal release first. The Play Store
would not allow v43 to be used again so I built v44, released
it to Internal, and after testing promoted it to Production and
it went into Google's review process.
Crucially, I did not push the tags before going to bed.
On 6/25, not knowing any of this because I hadn't pushed the tags,
Elias built v43 and released it. The Play Store had apparently cleaned
up the state from my abandoned v43 by that point.
This commit increments the build number to v44 so we don't re-use it.
I'm not building an actual release, just incrementing the build
number and pointing to the same git commit. I'm hoping F-Droid will
therefore build exactly the same thing as it did for v43.
I promise to push the tags before going to bed next time.
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
Android updates its DNS config in updateTUN() when in response
to several different channels from the backend.
There is not an Android-specific NewOSConfigurator, we end
up pulling in the Linux NewOSConfigurator:
https://github.com/tailscale/tailscale/blob/main/net/dns/manager_linux.go
The Linux DNS manager expects to be able to write to /etc/resolv.conf,
which does not work on Android and causes errors in updating DNS config.
Instead, allocate dns.NewNoopManager to disable the DNS manager, and
rely on the updateTUN() code to handle DNS.
Fixes https://github.com/tailscale/tailscale/issues/1956
Signed-off-by: Denton Gentry <dgentry@tailscale.com>