Add option --config and --data to specify where to store the configuration and the data
This commit is contained in:
parent
855f4d3e64
commit
ca81475fa5
8 changed files with 33 additions and 22 deletions
|
@ -5,13 +5,22 @@ import (
|
|||
"os"
|
||||
|
||||
"github.com/khlieng/dispatch/pkg/session"
|
||||
"github.com/spf13/viper"
|
||||
)
|
||||
|
||||
var Path directory
|
||||
var DataPath directory
|
||||
var ConfigPath directory
|
||||
|
||||
func Initialize(dir string) {
|
||||
Path = directory(dir)
|
||||
os.MkdirAll(Path.Root(), 0700)
|
||||
func Initialize() {
|
||||
if viper.GetString("dir") != DefaultDirectory() {
|
||||
DataPath = directory(viper.GetString("dir"))
|
||||
ConfigPath = directory(viper.GetString("dir"))
|
||||
} else {
|
||||
DataPath = directory(viper.GetString("data"))
|
||||
ConfigPath = directory(viper.GetString("conf"))
|
||||
}
|
||||
os.MkdirAll(DataPath.Root(), 0700)
|
||||
os.MkdirAll(ConfigPath.Root(), 0700)
|
||||
}
|
||||
|
||||
var (
|
||||
|
|
|
@ -32,7 +32,7 @@ func NewUser(store Store) (*User, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
err = os.MkdirAll(Path.User(user.Username), 0700)
|
||||
err = os.MkdirAll(DataPath.User(user.Username), 0700)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -70,7 +70,7 @@ func (u *User) Remove() {
|
|||
if u.messageIndex != nil {
|
||||
u.messageIndex.Close()
|
||||
}
|
||||
os.RemoveAll(Path.User(u.Username))
|
||||
os.RemoveAll(DataPath.User(u.Username))
|
||||
}
|
||||
|
||||
func (u *User) GetLastIP() []byte {
|
||||
|
|
|
@ -28,12 +28,12 @@ func (u *User) SetCertificate(certPEM, keyPEM []byte) error {
|
|||
u.certificate = &cert
|
||||
u.lock.Unlock()
|
||||
|
||||
err = ioutil.WriteFile(Path.Certificate(u.Username), certPEM, 0600)
|
||||
err = ioutil.WriteFile(ConfigPath.Certificate(u.Username), certPEM, 0600)
|
||||
if err != nil {
|
||||
return ErrCouldNotSaveCert
|
||||
}
|
||||
|
||||
err = ioutil.WriteFile(Path.Key(u.Username), keyPEM, 0600)
|
||||
err = ioutil.WriteFile(ConfigPath.Key(u.Username), keyPEM, 0600)
|
||||
if err != nil {
|
||||
return ErrCouldNotSaveCert
|
||||
}
|
||||
|
@ -42,12 +42,12 @@ func (u *User) SetCertificate(certPEM, keyPEM []byte) error {
|
|||
}
|
||||
|
||||
func (u *User) loadCertificate() error {
|
||||
certPEM, err := ioutil.ReadFile(Path.Certificate(u.Username))
|
||||
certPEM, err := ioutil.ReadFile(ConfigPath.Certificate(u.Username))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
keyPEM, err := ioutil.ReadFile(Path.Key(u.Username))
|
||||
keyPEM, err := ioutil.ReadFile(ConfigPath.Key(u.Username))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue