File tree Expand file tree Collapse file tree 14 files changed +460
-7
lines changed Expand file tree Collapse file tree 14 files changed +460
-7
lines changed Original file line number Diff line number Diff line change 1+ name : illumos-Cross
2+
3+ on :
4+ push :
5+ branches :
6+ - main
7+ - ' illumos-*'
8+ pull_request :
9+ branches :
10+ - ' *'
11+
12+ jobs :
13+ build :
14+ runs-on : ubuntu-latest
15+
16+ if : " !contains(github.event.head_commit.message, '[ci skip]')"
17+
18+ steps :
19+ - name : Check out code
20+ uses : actions/checkout@v3
21+ with :
22+ fetch-depth : 0
23+
24+ - name : Set up Go
25+ uses : actions/setup-go@v4
26+ with :
27+ go-version-file : ' go.mod'
28+ check-latest : true
29+ id : go
30+
31+ - name : SunOS build script
32+ run : bash -x build.sh
Original file line number Diff line number Diff line change 1+ ---
2+ name : " tagged-release"
3+
4+ on :
5+ push :
6+ tags :
7+ - " v*-sunos"
8+
9+ jobs :
10+ tagged-release :
11+ name : " SunOS Tagged Release"
12+ runs-on : " ubuntu-latest"
13+
14+ steps :
15+ - name : Check out code
16+ uses : actions/checkout@v3
17+ with :
18+ fetch-depth : 0
19+
20+ - name : Set up Go
21+ uses : actions/setup-go@v4
22+ with :
23+ go-version-file : ' go.mod'
24+ check-latest : true
25+ id : go
26+
27+ - name : SunOS build script
28+ run : bash -x build.sh
29+
30+ - name : Create Release
31+ uses : " marvinpinto/action-automatic-releases@latest"
32+ with :
33+ repo_token : " ${{ secrets.GITHUB_TOKEN }}"
34+ prerelease : false
35+ files : |
36+ cmd/tailscaled/tailscale.xml
37+ sha256sums
38+ tailscaled-illumos
39+ tailscaled-solaris
Original file line number Diff line number Diff line change 1515# company that owns the rights to your contribution.
1616
1717Tailscale Inc.
18+
Original file line number Diff line number Diff line change 1+ #! /bin/bash
2+
3+ set -o xtrace
4+ set -o errexit
5+
6+ export TS_USE_TOOLCHAIN=true
7+
8+ # feature tags to use in our version of the "box" build
9+ BOX_TAGS=" $( go run ./cmd/featuretags --min --add=osrouter,unixsocketidentity) ,ts_include_cli"
10+
11+ # This prevents illumos libc from leaking into Solaris binaries when built on illumos
12+ export CGO_ENABLED=0
13+
14+ fix_osabi () {
15+ if [[ $( uname -s) == SunOS ]]; then
16+ /usr/bin/elfedit \
17+ -e " ehdr:ei_osabi ELFOSABI_SOLARIS" \
18+ -e " ehdr:ei_abiversion EAV_SUNW_CURRENT" \
19+ " ${1?} "
20+ else
21+ elfedit --output-osabi " Solaris" --output-abiversion " 1" " ${1?} "
22+ fi
23+ }
24+
25+ for GOOS in illumos solaris; do
26+ export GOOS
27+ TAGS=${BOX_TAGS} bash -x ./build_dist.sh ./cmd/tailscaled
28+ fix_osabi tailscaled
29+ mv tailscaled{,-${GOOS} }
30+ done
31+
32+ ln cmd/tailscaled/tailscale.xml .
33+ shasum -a 256 tailscaled-* tailscale.xml > sha256sums
34+ rm ./tailscale.xml
Original file line number Diff line number Diff line change 1+ <?xml version =' 1.0' ?>
2+ <!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
3+ <service_bundle type =' manifest' name =' export' >
4+ <service name =' vpn/tailscale' type =' service' version =' 0' >
5+ <create_default_instance enabled =' true' />
6+ <single_instance />
7+ <dependency name =' network' grouping =' require_all' restart_on =' error' type =' service' >
8+ <service_fmri value =' svc:/milestone/network:default' />
9+ </dependency >
10+ <dependency name =' filesystem' grouping =' require_all' restart_on =' error' type =' service' >
11+ <service_fmri value =' svc:/system/filesystem/local' />
12+ </dependency >
13+ <method_context >
14+ <method_credential group =' root' user =' root' />
15+ </method_context >
16+ <exec_method name =' start' type =' method' exec =' /opt/local/sbin/tailscaled' timeout_seconds =' 60' >
17+ <method_context >
18+ <method_environment >
19+ <envvar name =' SSL_CERT_FILE' value =' /opt/tools/share/mozilla-rootcerts/cacert.pem' />
20+ </method_environment >
21+ </method_context >
22+ </exec_method >
23+ <exec_method name =' stop' type =' method' exec =' :kill' timeout_seconds =' 60' />
24+ <property_group name =' application' type =' application' />
25+ <property_group name =' startd' type =' framework' >
26+ <propval name =' duration' type =' astring' value =' child' />
27+ <propval name =' ignore_error' type =' astring' value =' core,signal' />
28+ </property_group >
29+ <stability value =' Evolving' />
30+ <template >
31+ <common_name >
32+ <loctext xml : lang =' C' >Tailscale</loctext >
33+ </common_name >
34+ </template >
35+ </service >
36+ </service_bundle >
Original file line number Diff line number Diff line change 1+ <?xml version =' 1.0' ?>
2+ <!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
3+ <service_bundle type =' manifest' name =' export' >
4+ <service name =' vpn/tailscale' type =' service' version =' 0' >
5+ <create_default_instance enabled =' true' />
6+ <single_instance />
7+ <dependency name =' network' grouping =' require_all' restart_on =' error' type =' service' >
8+ <service_fmri value =' svc:/milestone/network:default' />
9+ </dependency >
10+ <dependency name =' filesystem' grouping =' require_all' restart_on =' error' type =' service' >
11+ <service_fmri value =' svc:/system/filesystem/local' />
12+ </dependency >
13+ <method_context >
14+ <method_credential group =' root' user =' root' />
15+ </method_context >
16+ <exec_method name =' start' type =' method' exec =' /usr/local/sbin/tailscaled' timeout_seconds =' 60' />
17+ <exec_method name =' stop' type =' method' exec =' :kill' timeout_seconds =' 60' />
18+ <property_group name =' application' type =' application' />
19+ <property_group name =' startd' type =' framework' >
20+ <propval name =' duration' type =' astring' value =' child' />
21+ <propval name =' ignore_error' type =' astring' value =' core,signal' />
22+ </property_group >
23+ <stability value =' Evolving' />
24+ <template >
25+ <common_name >
26+ <loctext xml : lang =' C' >Tailscale</loctext >
27+ </common_name >
28+ </template >
29+ </service >
30+ </service_bundle >
Original file line number Diff line number Diff line change @@ -67,7 +67,7 @@ import (
6767// defaultTunName returns the default tun device name for the platform.
6868func defaultTunName () string {
6969 switch runtime .GOOS {
70- case "openbsd" :
70+ case "openbsd" , "illumos" , "solaris" :
7171 return "tun"
7272 case "windows" :
7373 return "Tailscale"
@@ -77,7 +77,7 @@ func defaultTunName() string {
7777 return "utun"
7878 case "plan9" :
7979 return "auto"
80- case "aix" , "solaris" , "illumos" :
80+ case "aix" :
8181 return "userspace-networking"
8282 case "linux" :
8383 if buildfeatures .HasSynology && buildfeatures .HasNetstack && distro .Get () == distro .Synology {
Original file line number Diff line number Diff line change @@ -428,3 +428,5 @@ require (
428428)
429429
430430tool github.com/stacklok/frizbee
431+
432+ replace github.com/tailscale/wireguard-go => github.com/nshalman/wireguard-go v0.0.20200321-0.20250731001858-998473505459
Original file line number Diff line number Diff line change @@ -778,6 +778,8 @@ github.com/nishanths/exhaustive v0.12.0 h1:vIY9sALmw6T/yxiASewa4TQcFsVYZQQRUQJhK
778778github.com/nishanths/exhaustive v0.12.0 /go.mod h1:mEZ95wPIZW+x8kC4TgC+9YCUgiST7ecevsVDTgc2obs =
779779github.com/nishanths/predeclared v0.2.2 h1:V2EPdZPliZymNAn79T8RkNApBjMmVKh5XRpLm/w98Vk =
780780github.com/nishanths/predeclared v0.2.2 /go.mod h1:RROzoN6TnGQupbC+lqggsOlcgysk3LMK/HI84Mp280c =
781+ github.com/nshalman/wireguard-go v0.0.20200321-0.20250731001858-998473505459 h1:g7boEoqgzfIkRvh/a/pRDNANjCvqk+8GI3CeLJB0kwU =
782+ github.com/nshalman/wireguard-go v0.0.20200321-0.20250731001858-998473505459 /go.mod h1:BOm5fXUBFM+m9woLNBoxI9TaBXXhGNP50LX/TGIvGb4 =
781783github.com/nunnatsa/ginkgolinter v0.16.1 h1:uDIPSxgVHZ7PgbJElRDGzymkXH+JaF7mjew+Thjnt6Q =
782784github.com/nunnatsa/ginkgolinter v0.16.1 /go.mod h1:4tWRinDN1FeJgU+iJANW/kz7xKN5nYRAOfJDQUS9dOQ =
783785github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE =
@@ -1000,8 +1002,6 @@ github.com/tailscale/web-client-prebuilt v0.0.0-20250124233751-d4cd19a26976 h1:U
10001002github.com/tailscale/web-client-prebuilt v0.0.0-20250124233751-d4cd19a26976 /go.mod h1:agQPE6y6ldqCOui2gkIh7ZMztTkIQKH049tv8siLuNQ =
10011003github.com/tailscale/wf v0.0.0-20240214030419-6fbb0a674ee6 h1:l10Gi6w9jxvinoiq15g8OToDdASBni4CyJOdHY1Hr8M =
10021004github.com/tailscale/wf v0.0.0-20240214030419-6fbb0a674ee6 /go.mod h1:ZXRML051h7o4OcI0d3AaILDIad/Xw0IkXaHM17dic1Y =
1003- github.com/tailscale/wireguard-go v0.0.0-20250716170648-1d0488a3d7da h1:jVRUZPRs9sqyKlYHHzHjAqKN+6e/Vog6NpHYeNPJqOw =
1004- github.com/tailscale/wireguard-go v0.0.0-20250716170648-1d0488a3d7da /go.mod h1:BOm5fXUBFM+m9woLNBoxI9TaBXXhGNP50LX/TGIvGb4 =
10051005github.com/tailscale/xnet v0.0.0-20240729143630-8497ac4dab2e h1:zOGKqN5D5hHhiYUp091JqK7DPCqSARyUfduhGUY8Bek =
10061006github.com/tailscale/xnet v0.0.0-20240729143630-8497ac4dab2e /go.mod h1:orPd6JZXXRyuDusYilywte7k094d7dycXXU5YnWsrwg =
10071007github.com/tc-hib/winres v0.2.1 h1:YDE0FiP0VmtRaDn7+aaChp1KiF4owBiJa5l964l5ujA =
Original file line number Diff line number Diff line change 11// Copyright (c) Tailscale Inc & AUTHORS
22// SPDX-License-Identifier: BSD-3-Clause
33
4- //go:build aix || solaris || illumos
4+ //go:build aix
55
66package tstun
77
You can’t perform that action at this time.
0 commit comments