sftpd: simplify initialization code
now gocyclo is happy again
This commit is contained in:
parent
ba3f9d891a
commit
8c40684989
1 changed files with 19 additions and 13 deletions
|
@ -86,19 +86,9 @@ func (c Configuration) Initialize(configDir string) error {
|
||||||
ServerVersion: "SSH-2.0-" + c.Banner,
|
ServerVersion: "SSH-2.0-" + c.Banner,
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(c.Keys) == 0 {
|
err = c.checkHostKeys(configDir)
|
||||||
autoFile := filepath.Join(configDir, defaultPrivateKeyName)
|
if err != nil {
|
||||||
if _, err := os.Stat(autoFile); os.IsNotExist(err) {
|
return err
|
||||||
logger.Info(logSender, "No host keys configured and %s does not exist; creating new private key for server", autoFile)
|
|
||||||
logger.InfoToConsole("No host keys configured and %s does not exist; creating new private key for server", autoFile)
|
|
||||||
if err := c.generatePrivateKey(autoFile); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
} else if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
c.Keys = append(c.Keys, Key{PrivateKey: defaultPrivateKeyName})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, k := range c.Keys {
|
for _, k := range c.Keys {
|
||||||
|
@ -275,6 +265,22 @@ func loginUser(user dataprovider.User) (*ssh.Permissions, error) {
|
||||||
return p, nil
|
return p, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If no host keys are defined we try to use or generate the default one.
|
||||||
|
func (c *Configuration) checkHostKeys(configDir string) error {
|
||||||
|
var err error
|
||||||
|
if len(c.Keys) == 0 {
|
||||||
|
autoFile := filepath.Join(configDir, defaultPrivateKeyName)
|
||||||
|
if _, err = os.Stat(autoFile); os.IsNotExist(err) {
|
||||||
|
logger.Info(logSender, "No host keys configured and %s does not exist; creating new private key for server", autoFile)
|
||||||
|
logger.InfoToConsole("No host keys configured and %s does not exist; creating new private key for server", autoFile)
|
||||||
|
err = c.generatePrivateKey(autoFile)
|
||||||
|
}
|
||||||
|
|
||||||
|
c.Keys = append(c.Keys, Key{PrivateKey: defaultPrivateKeyName})
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
func (c Configuration) validatePublicKeyCredentials(conn ssh.ConnMetadata, pubKey string) (*ssh.Permissions, error) {
|
func (c Configuration) validatePublicKeyCredentials(conn ssh.ConnMetadata, pubKey string) (*ssh.Permissions, error) {
|
||||||
var err error
|
var err error
|
||||||
var user dataprovider.User
|
var user dataprovider.User
|
||||||
|
|
Loading…
Reference in a new issue