MCPcopy
hub / github.com/writefreely/writefreely / GenerateKeyFiles

Function GenerateKeyFiles

app.go:700–735  ·  view source on GitHub ↗

GenerateKeyFiles creates app encryption keys and saves them into the configured KeysParentDir.

(app *App)

Source from the content-addressed store, hash-verified

698
699// GenerateKeyFiles creates app encryption keys and saves them into the configured KeysParentDir.
700func GenerateKeyFiles(app *App) error {
701 // Read keys path from config
702 app.LoadConfig()
703
704 // Create keys dir if it doesn't exist yet
705 fullKeysDir := filepath.Join(app.cfg.Server.KeysParentDir, keysDir)
706 if _, err := os.Stat(fullKeysDir); os.IsNotExist(err) {
707 err = os.Mkdir(fullKeysDir, 0700)
708 if err != nil {
709 return err
710 }
711 }
712
713 // Generate keys
714 initKeyPaths(app)
715 // TODO: use something like https://github.com/hashicorp/go-multierror to return errors
716 var keyErrs error
717 err := generateKey(emailKeyPath)
718 if err != nil {
719 keyErrs = err
720 }
721 err = generateKey(cookieAuthKeyPath)
722 if err != nil {
723 keyErrs = err
724 }
725 err = generateKey(cookieKeyPath)
726 if err != nil {
727 keyErrs = err
728 }
729 err = generateKey(csrfKeyPath)
730 if err != nil {
731 keyErrs = err
732 }
733
734 return keyErrs
735}
736
737// CreateSchema creates all database tables needed for the application.
738func CreateSchema(apper Apper) error {

Callers 2

genKeysActionFunction · 0.92
legacyActionsFunction · 0.92

Calls 3

initKeyPathsFunction · 0.85
generateKeyFunction · 0.85
LoadConfigMethod · 0.65

Tested by

no test coverage detected