|
|
|
@ -207,6 +207,8 @@ func noDupFlagify(c *ffcli.Command) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var fileCmd func() *ffcli.Command
|
|
|
|
|
|
|
|
|
|
|
|
func newRootCmd() *ffcli.Command {
|
|
|
|
func newRootCmd() *ffcli.Command {
|
|
|
|
rootfs := newFlagSet("tailscale")
|
|
|
|
rootfs := newFlagSet("tailscale")
|
|
|
|
rootfs.Func("socket", "path to tailscaled socket", func(s string) error {
|
|
|
|
rootfs.Func("socket", "path to tailscaled socket", func(s string) error {
|
|
|
|
@ -247,7 +249,7 @@ change in the future.
|
|
|
|
serveCmd(),
|
|
|
|
serveCmd(),
|
|
|
|
versionCmd,
|
|
|
|
versionCmd,
|
|
|
|
webCmd,
|
|
|
|
webCmd,
|
|
|
|
fileCmd,
|
|
|
|
nilOrCall(fileCmd),
|
|
|
|
bugReportCmd,
|
|
|
|
bugReportCmd,
|
|
|
|
certCmd,
|
|
|
|
certCmd,
|
|
|
|
netlockCmd,
|
|
|
|
netlockCmd,
|
|
|
|
@ -286,6 +288,13 @@ func nonNilCmds(cmds ...*ffcli.Command) []*ffcli.Command {
|
|
|
|
return slicesx.AppendNonzero(cmds[:0], cmds)
|
|
|
|
return slicesx.AppendNonzero(cmds[:0], cmds)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func nilOrCall(f func() *ffcli.Command) *ffcli.Command {
|
|
|
|
|
|
|
|
if f == nil {
|
|
|
|
|
|
|
|
return nil
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return f()
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
func fatalf(format string, a ...any) {
|
|
|
|
func fatalf(format string, a ...any) {
|
|
|
|
if Fatalf != nil {
|
|
|
|
if Fatalf != nil {
|
|
|
|
Fatalf(format, a...)
|
|
|
|
Fatalf(format, a...)
|
|
|
|
|