3 Commits

Author SHA1 Message Date
yo
26ceb1630a Version bump 2023-08-26 19:36:36 +02:00
yo
87e9ae894a Fix no-op when set property of a jail with fullname (datastore/jail) 2023-08-26 19:32:34 +02:00
yo
ed5f8f0b1c v0.38a: Block update to basejail, and redirect to template 2023-08-06 18:49:23 +02:00
3 changed files with 23 additions and 16 deletions

View File

@ -105,20 +105,20 @@ func SetJailProperties(args []string) {
return return
} }
// Get jail by index to modify it cj, err := getJailFromArray(jail.Name, []string{""}, gJails)
for i, _ := range gJails { if err != nil {
if gJails[i].Name == jail.Name { fmt.Printf("Error getting jail %s: %v\n", jail.Name, err)
for _, p := range props { return
err := setStructFieldValue(&gJails[i], p.name, p.value) }
if err != nil {
fmt.Printf("Error: %s\n", err.Error()) for _, p := range props {
return err := setStructFieldValue(cj, p.name, p.value)
} else { if err != nil {
fmt.Printf("%s: %s set to %s\n", gJails[i].Name, p.name, p.value) fmt.Printf("Error: %s\n", err.Error())
gJails[i].ConfigUpdated = true return
} } else {
} fmt.Printf("%s: %s set to %s\n", cj.Name, p.name, p.value)
writeConfigToDisk(&gJails[i], false)
} }
} }
cj.WriteConfigToDisk(false)
} }

View File

@ -14,7 +14,7 @@ import (
) )
const ( const (
gVersion = "0.38" gVersion = "0.38b"
// TODO : Get from $jail_zpool/defaults.json // TODO : Get from $jail_zpool/defaults.json
MIN_DYN_DEVFS_RULESET = 1000 MIN_DYN_DEVFS_RULESET = 1000

View File

@ -5,6 +5,7 @@ import (
"fmt" "fmt"
//"log" //"log"
"time" "time"
"strings"
) )
@ -62,7 +63,13 @@ func UpdateJail(args []string) {
fmt.Printf("Error getting jail: %s\n", err) fmt.Printf("Error getting jail: %s\n", err)
continue continue
} }
// We cant update basejail as system is readonly
if strings.EqualFold(cj.Config.Jailtype, "basejail") {
fmt.Printf("%s is a basejail using %s system files. Please update %s!\n", cj.Name, cj.Config.Origin, cj.Config.Origin)
continue
}
fmt.Printf(" > Snapshot jail %s\n", cj.Name) fmt.Printf(" > Snapshot jail %s\n", cj.Name)
// Set snapshot name // Set snapshot name
dt := time.Now() dt := time.Now()