Compare commits
10 Commits
v2.0.0-rc.
...
v2.0.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2b7aa7a0c9 | ||
|
|
4d8f0c532b | ||
|
|
367e251a0e | ||
|
|
cc6f2f8bec | ||
|
|
007fde8186 | ||
|
|
552f8168ea | ||
|
|
42426e3e69 | ||
|
|
e706391934 | ||
|
|
58ff28f84d | ||
|
|
74a1ecbb89 |
@@ -40,7 +40,7 @@ The path must be for a json or yaml file.`,
|
||||
checkErr(err)
|
||||
key = settings.Key
|
||||
} else {
|
||||
key = generateRandomBytes(64)
|
||||
key = generateKey()
|
||||
}
|
||||
|
||||
file := settingsFile{}
|
||||
|
||||
@@ -29,7 +29,7 @@ override the options.`,
|
||||
authMethod, auther := getAuthentication(flags)
|
||||
|
||||
s := &settings.Settings{
|
||||
Key: generateRandomBytes(64), // 256 bit
|
||||
Key: generateKey(),
|
||||
Signup: mustGetBool(flags, "signup"),
|
||||
Shell: strings.Split(strings.TrimSpace(mustGetString(flags, "shell")), " "),
|
||||
AuthMethod: authMethod,
|
||||
|
||||
@@ -215,7 +215,7 @@ func setupLog(logMethod string) {
|
||||
|
||||
func quickSetup(flags *pflag.FlagSet, d pythonData) {
|
||||
set := &settings.Settings{
|
||||
Key: generateRandomBytes(64), // 256 bit
|
||||
Key: generateKey(),
|
||||
Signup: false,
|
||||
Defaults: settings.UserDefaults{
|
||||
Scope: ".",
|
||||
|
||||
@@ -70,6 +70,10 @@ list or set it to 0.`,
|
||||
checkErr(usernameConflictError(user.Username, conflictuous.ID, user.ID))
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// If it doesn't exist, set the ID to 0 to automatically get a new
|
||||
// one that make sense in this DB.
|
||||
user.ID = 0
|
||||
}
|
||||
|
||||
err = d.store.Users.Save(user)
|
||||
|
||||
10
cmd/utils.go
10
cmd/utils.go
@@ -1,7 +1,6 @@
|
||||
package cmd
|
||||
|
||||
import (
|
||||
"crypto/rand"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
@@ -10,6 +9,7 @@ import (
|
||||
"path/filepath"
|
||||
|
||||
"github.com/asdine/storm"
|
||||
"github.com/filebrowser/filebrowser/v2/settings"
|
||||
"github.com/filebrowser/filebrowser/v2/storage"
|
||||
"github.com/filebrowser/filebrowser/v2/storage/bolt"
|
||||
"github.com/spf13/cobra"
|
||||
@@ -41,12 +41,10 @@ func mustGetUint(flags *pflag.FlagSet, flag string) uint {
|
||||
return b
|
||||
}
|
||||
|
||||
func generateRandomBytes(n int) []byte {
|
||||
b := make([]byte, n)
|
||||
_, err := rand.Read(b)
|
||||
func generateKey() []byte {
|
||||
k, err := settings.GenerateKey()
|
||||
checkErr(err)
|
||||
// Note that err == nil only if we read len(b) bytes.
|
||||
return b
|
||||
return k
|
||||
}
|
||||
|
||||
type cobraFunc func(cmd *cobra.Command, args []string)
|
||||
|
||||
2
frontend
2
frontend
Submodule frontend updated: 2ed87febcb...d004015f03
@@ -1,6 +1,7 @@
|
||||
package settings
|
||||
|
||||
import (
|
||||
"crypto/rand"
|
||||
"strings"
|
||||
|
||||
"github.com/filebrowser/filebrowser/v2/rules"
|
||||
@@ -41,3 +42,15 @@ type Server struct {
|
||||
func (s *Server) Clean() {
|
||||
s.BaseURL = strings.TrimSuffix(s.BaseURL, "/")
|
||||
}
|
||||
|
||||
// GenerateKey generates a key of 256 bits.
|
||||
func GenerateKey() ([]byte, error) {
|
||||
b := make([]byte, 64)
|
||||
_, err := rand.Read(b)
|
||||
// Note that err == nil only if we read len(b) bytes.
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return b, nil
|
||||
}
|
||||
|
||||
@@ -55,7 +55,6 @@ func convertUsersToNew(old []*oldUser) ([]*users.User, error) {
|
||||
|
||||
for _, oldUser := range old {
|
||||
user := &users.User{
|
||||
ID: uint(oldUser.ID),
|
||||
Username: oldUser.Username,
|
||||
Password: oldUser.Password,
|
||||
Scope: oldUser.Scope,
|
||||
|
||||
@@ -89,11 +89,11 @@ func (s *Storage) Save(user *User) error {
|
||||
// id must be a string for username lookup or a uint for id lookup. If id
|
||||
// is neither, a ErrInvalidDataType will be returned.
|
||||
func (s *Storage) Delete(id interface{}) (err error) {
|
||||
switch id.(type) {
|
||||
switch id := id.(type) {
|
||||
case string:
|
||||
err = s.back.DeleteByUsername(id.(string))
|
||||
err = s.back.DeleteByUsername(id)
|
||||
case uint:
|
||||
err = s.back.DeleteByID(id.(uint))
|
||||
err = s.back.DeleteByID(id)
|
||||
default:
|
||||
err = errors.ErrInvalidDataType
|
||||
}
|
||||
|
||||
@@ -2,5 +2,5 @@ package version
|
||||
|
||||
const (
|
||||
// Version is the current File Browser version.
|
||||
Version = "v2.0.0-rc.2"
|
||||
Version = "v2.0.1"
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user