aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/app.go4
-rw-r--r--config/app_test.go11
2 files changed, 13 insertions, 2 deletions
diff --git a/config/app.go b/config/app.go
index d7d1051..2eefb98 100644
--- a/config/app.go
+++ b/config/app.go
@@ -28,8 +28,8 @@ func (a *App) validate() error {
if err := os.MkdirAll(a.WorkingDirectory, 0700); err != nil {
return errors.Wrapf(err, "Invalid WorkingDirectory : %s", a.WorkingDirectory)
}
- if err := unix.Access(a.WorkingDirectory, unix.W_OK); err != nil {
- return errors.Wrapf(err, "Invalid WorkingDirectory : %s", a.WorkingDirectory)
+ if err := unix.Access(a.WorkingDirectory, unix.W_OK|unix.R_OK|unix.X_OK); err != nil {
+ return errors.Wrapf(err, "invalid WorkingDirectory : %s", a.WorkingDirectory)
}
// MaxUsers
if a.MaxUsers <= 0 {
diff --git a/config/app_test.go b/config/app_test.go
index 22fb891..cda891d 100644
--- a/config/app_test.go
+++ b/config/app_test.go
@@ -56,4 +56,15 @@ func TestAppvalidate(t *testing.T) {
}
//PostLoginCommands is tested from command.go
+
+ // A valid App
+ app = App{
+ WorkingDirectory: "var/",
+ MaxUsers: 512,
+ MaxNickLen: 15,
+ MenuMaxIdleTime: 60,
+ }
+ if err := app.validate(); err != nil {
+ t.Fatal("A valid app should pass")
+ }
}