make glauth respect file paths

This commit is contained in:
Willy Kloucek
2020-12-11 13:14:32 +01:00
parent f9f90568b4
commit b42e507ab5
3 changed files with 22 additions and 1 deletions

1
glauth/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
data/

View File

@@ -189,7 +189,7 @@ func Server(cfg *config.Config) *cli.Command {
if lscfg.Enabled {
// GenCert has side effects as it writes 2 files to the binary running location
if err := crypto.GenCert("ldap.crt", "ldap.key", logger); err != nil {
if err := crypto.GenCert(cfg.Ldaps.Cert, cfg.Ldaps.Key, logger); err != nil {
logger.Fatal().Err(err).Msgf("Could not generate test-certificate")
}
}

View File

@@ -10,6 +10,7 @@ import (
"math/big"
"net"
"os"
"path/filepath"
"time"
"github.com/owncloud/ocis/ocis-pkg/log"
@@ -92,6 +93,17 @@ func GenCert(certName string, keyName string, l log.Logger) error {
l.Fatal().Err(err).Msg("Failed to create certificate")
}
certPath := filepath.Dir(certName)
l.Error().Msg("certPath: " + certPath)
l.Error().Msg("certName: " + certName)
if _, err := os.Stat(certPath); os.IsNotExist(err) {
err = os.MkdirAll(certPath, 0700)
if err != nil {
l.Fatal().Err(err).Msg("Failed to create path " + certPath)
}
}
certOut, err := os.Create(certName)
if err != nil {
l.Fatal().Err(err).Msgf("Failed to open %v for writing", certName)
@@ -106,6 +118,14 @@ func GenCert(certName string, keyName string, l log.Logger) error {
}
l.Info().Msg("Written server.crt")
keyPath := filepath.Dir(keyName)
if _, err := os.Stat(keyPath); os.IsNotExist(err) {
err = os.MkdirAll(keyPath, 0700)
if err != nil {
l.Fatal().Err(err).Msg("Failed to create path " + keyPath)
}
}
keyOut, err := os.OpenFile(keyName, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0600)
if err != nil {
l.Fatal().Err(err).Msgf("Failed to open %v for writing", keyName)