diff options
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/rest-server/listener_unix_test.go | 5 | ||||
-rw-r--r-- | cmd/rest-server/main.go | 23 | ||||
-rw-r--r-- | cmd/rest-server/main_test.go | 12 |
3 files changed, 27 insertions, 13 deletions
diff --git a/cmd/rest-server/listener_unix_test.go b/cmd/rest-server/listener_unix_test.go index a4f32f4..2143135 100644 --- a/cmd/rest-server/listener_unix_test.go +++ b/cmd/rest-server/listener_unix_test.go @@ -61,7 +61,10 @@ func TestUnixSocket(t *testing.T) { if err != nil { return err } - resp.Body.Close() + err = resp.Body.Close() + if err != nil { + return err + } if resp.StatusCode != test.StatusCode { return fmt.Errorf("expected %d from server, instead got %d (path %s)", test.StatusCode, resp.StatusCode, test.Path) } diff --git a/cmd/rest-server/main.go b/cmd/rest-server/main.go index 5f0adb4..6658b0e 100644 --- a/cmd/rest-server/main.go +++ b/cmd/rest-server/main.go @@ -22,7 +22,7 @@ import ( type restServerApp struct { CmdRoot *cobra.Command Server restserver.Server - CpuProfile string + CPUProfile string listenerAddressMu sync.Mutex listenerAddress net.Addr // set after startup @@ -36,7 +36,7 @@ func newRestServerApp() *restServerApp { Short: "Run a REST server for use with restic", SilenceErrors: true, SilenceUsage: true, - Args: func(cmd *cobra.Command, args []string) error { + Args: func(_ *cobra.Command, args []string) error { if len(args) != 0 { return fmt.Errorf("rest-server expects no arguments - unknown argument: %s", args[0]) } @@ -52,7 +52,7 @@ func newRestServerApp() *restServerApp { rv.CmdRoot.RunE = rv.runRoot flags := rv.CmdRoot.Flags() - flags.StringVar(&rv.CpuProfile, "cpu-profile", rv.CpuProfile, "write CPU profile to file") + flags.StringVar(&rv.CPUProfile, "cpu-profile", rv.CPUProfile, "write CPU profile to file") flags.BoolVar(&rv.Server.Debug, "debug", rv.Server.Debug, "output debug messages") flags.StringVar(&rv.Server.Listen, "listen", rv.Server.Listen, "listen address") flags.StringVar(&rv.Server.Log, "log", rv.Server.Log, "write HTTP requests in the combined log format to the specified `filename` (use \"-\" for logging to stdout)") @@ -69,6 +69,7 @@ func newRestServerApp() *restServerApp { flags.BoolVar(&rv.Server.PrivateRepos, "private-repos", rv.Server.PrivateRepos, "users can only access their private repo") flags.BoolVar(&rv.Server.Prometheus, "prometheus", rv.Server.Prometheus, "enable Prometheus metrics") flags.BoolVar(&rv.Server.PrometheusNoAuth, "prometheus-no-auth", rv.Server.PrometheusNoAuth, "disable auth for Prometheus /metrics endpoint") + flags.BoolVar(&rv.Server.GroupAccessibleRepos, "group-accessible-repos", rv.Server.GroupAccessibleRepos, "let filesystem group be able to access repo files") // Ldap Options flags.StringVar(&rv.Server.LdapAddr, "ldap-addr", rv.Server.LdapAddr, "ldap server address") @@ -108,17 +109,19 @@ func (app *restServerApp) ListenerAddress() net.Addr { return app.listenerAddress } -func (app *restServerApp) runRoot(cmd *cobra.Command, args []string) error { +func (app *restServerApp) runRoot(_ *cobra.Command, _ []string) error { log.SetFlags(0) log.Printf("Data directory: %s", app.Server.Path) - if app.CpuProfile != "" { - f, err := os.Create(app.CpuProfile) + if app.CPUProfile != "" { + f, err := os.Create(app.CPUProfile) if err != nil { return err } - defer f.Close() + defer func() { + _ = f.Close() + }() if err := pprof.StartCPUProfile(f); err != nil { return err @@ -152,6 +155,12 @@ func (app *restServerApp) runRoot(cmd *cobra.Command, args []string) error { log.Println("Private repositories disabled") } + if app.Server.GroupAccessibleRepos { + log.Println("Group accessible repos enabled") + } else { + log.Println("Group accessible repos disabled") + } + enabledTLS, privateKey, publicKey, err := app.tlsSettings() if err != nil { return err diff --git a/cmd/rest-server/main_test.go b/cmd/rest-server/main_test.go index 7366981..1171530 100644 --- a/cmd/rest-server/main_test.go +++ b/cmd/rest-server/main_test.go @@ -4,7 +4,6 @@ import ( "context" "errors" "fmt" - "io/ioutil" "net/http" "net/url" "os" @@ -94,7 +93,7 @@ func TestTLSSettings(t *testing.T) { } func TestGetHandler(t *testing.T) { - dir, err := ioutil.TempDir("", "rest-server-test") + dir, err := os.MkdirTemp("", "rest-server-test") if err != nil { t.Fatal(err) } @@ -120,7 +119,7 @@ func TestGetHandler(t *testing.T) { } // With NoAuth = false and custom .htpasswd - htpFile, err := ioutil.TempFile(dir, "custom") + htpFile, err := os.CreateTemp(dir, "custom") if err != nil { t.Fatal(err) } @@ -137,7 +136,7 @@ func TestGetHandler(t *testing.T) { // Create .htpasswd htpasswd := filepath.Join(dir, ".htpasswd") - err = ioutil.WriteFile(htpasswd, []byte(""), 0644) + err = os.WriteFile(htpasswd, []byte(""), 0644) if err != nil { t.Fatal(err) } @@ -262,7 +261,10 @@ func TestHttpListen(t *testing.T) { if err != nil { return err } - resp.Body.Close() + err = resp.Body.Close() + if err != nil { + return err + } if resp.StatusCode != test.StatusCode { return fmt.Errorf("expected %d from server, instead got %d (path %s)", test.StatusCode, resp.StatusCode, test.Path) } |