Compare commits

...

18 Commits

Author SHA1 Message Date
Henrique Dias
20d80bb054 chore: version v2.0.3
Former-commit-id: 946abfab3889ee4df0dda76220b13cc0ebc4d3c9 [formerly 34dff77bc4f5b12eb8e47e379d21caa0e55dd947] [formerly a3b1b9741b197f1fed9b53688c61d1fd474cdd43 [formerly eeb6f3207e]]
Former-commit-id: d6191757d2495b28af08ed8e7de6dd46c90e7eb3 [formerly a49750caf93d703eb77df3d7fba2c0c234249fd5]
Former-commit-id: 98ac0d3e5e19a270f0c57dd5e59b3ee22fc05af5
2019-02-15 13:05:33 +00:00
Henrique Dias
cbdf3cafb6 fix: possible fix for proxy auth requiring login page
License: MIT
Signed-off-by: Henrique Dias <hacdias@gmail.com>

Former-commit-id: aa32ec7e27f24aee497d3c1a6bb3cda4f3f30265 [formerly 92f1d95d44e0a1c0b8dd6d81b467829c8832acc8] [formerly d8c05dc476ae88b730547cce1e3644c69ee17278 [formerly 84f108f1c5]]
Former-commit-id: 9f766a5b8ef847569fb8f4f16540c256fa9ca92f [formerly 0b6b1e48435b3fe5819327e311f08eb179a19b3e]
Former-commit-id: 046dfa8350d2f1b4e7fb789fb026069e137437ef
2019-02-15 12:58:45 +00:00
Henrique Dias
1259fc1bbc feat: remove version cmd (#675)
License: MIT
Signed-off-by: Henrique Dias <hacdias@gmail.com>
Former-commit-id: 04a60c58f20d63ca7b25731c41e144bcf0f538cc [formerly e6e179799b64779515051df53352df5e63edc259] [formerly 0689eba81ff5f7ee3ea75db37b91cef4d6d8f35c [formerly 85899acae6]]
Former-commit-id: 96ca0cadb94131ddd3b57f0f11ad629edf687e40 [formerly 50130c75d39e67b15a645e7f4879acf34a5d6620]
Former-commit-id: 53b8120673a82217c3625de161d4ec57a96e1470
2019-02-15 12:54:44 +01:00
kolaente
4cf1f2f6b4 update dependencies (#668)
Former-commit-id: 8987aa3ca60368e28dbb54e7830f76ae9d8863da [formerly 3fad0ef36350b59b3a9ab613ae51df58c57abd49] [formerly 062602db41695fee69a8e7626442741fcd5d592a [formerly 4a4f635816]]
Former-commit-id: 9f624413cae53841cd306672b3cc8d6bc8c9a5ef [formerly c5df323016df89b2eb1ded85ba80ac8e2af0f52c]
Former-commit-id: 15a16269ed81b00917b5097e203cda55de8fa120
2019-02-08 14:37:14 +01:00
1138-4EB
a90bb28cae Create directory of database if it does not exist (#650)
* fix: create directory of database if it does not exist

* fix code quality issue


Former-commit-id: 88c95717436489ff9014d88374775cc4c3f265b3 [formerly dc56f2c1c3bf46aac9a23e700780743ad15866c8] [formerly 92c2f9a68d575fb6e13453df6690c72f05ca9598 [formerly de205177f2]]
Former-commit-id: d0888c2f73fa691b900ddc7cbece6dbef985da96 [formerly a7495f66547f1814d31b1ca41148133d23198fd5]
Former-commit-id: a60afcd1fc6aa5cc88559025d7b3176b60117544
2019-02-03 15:51:17 +01:00
Alexei Yuzhakov
e86dfbe8ff fix: case dependency and sorting order (#661) (#662)
Former-commit-id: a772b30907a92818e5c109adc0d382af7ddf40dc [formerly 589c237e7f1230f16970c0b68263d4174dbe98f6] [formerly c3a0e4964d028dc06e5076869dd92975eb3c4699 [formerly 17b514510b]]
Former-commit-id: 8e2c49d8fc18df68bb3172fbb98a97c98a5eb818 [formerly bc396cbf040a5016a26cd5387b14e9f55f8b74c6]
Former-commit-id: bda1997f4292c213e907ed0d8e566c5ab931edb9
2019-02-03 15:50:08 +01:00
Henrique Dias
437a238aca chore: setting untracked version [ci skip]
Former-commit-id: 43d2b1b4fda66a7ae412a5091e93d35c8befc341 [formerly 32d7d602dc1e4a9696fb7fb8230493cccbbece0d] [formerly 7f4524b9c180a1ee538b630902724252203dd439 [formerly 4a2573830e]]
Former-commit-id: 0927241d911bcbdc8d8dec216fa019e5243f9805 [formerly 483ca4ba1feb2de599615d6e738bd3568fd5e783]
Former-commit-id: b16c5e4a58438aafc5e64e30bb9fb031253c8051
2019-01-29 09:10:21 +00:00
Henrique Dias
e5fa0772c6 chore: version v2.0.2
Former-commit-id: d9e5bcaa8ba7c947ca2910e144456286b2e7dfb2 [formerly b35a7f02953dfa884ecb59b45cc7a9173c1dc247] [formerly b207ecb8ac3d2ddd9ebc12cf12ec0cf3badee056 [formerly b2c70377d1]]
Former-commit-id: 134324213f643fe4637eade2348139a78aaaafbb [formerly a3d41a8bbceacb5f2719353d969a1e3b1ef7118a]
Former-commit-id: 64796269842b1c5860b0f22405506bfca4b2e7e0
2019-01-29 09:10:06 +00:00
Henrique Dias
ba5c67d9da fix: external auth by using a different auth header (#649)
License: MIT
Signed-off-by: Henrique Dias <hacdias@gmail.com>

Former-commit-id: e7c2574e40390d402443b23dd7aee5e5b18e5131 [formerly 20463dd5229b0e1f572a883e83db9e43bf8c8ff6] [formerly d2910cf8b18b20b13a46ffad23183c89325ef06b [formerly b5e61bc979]]
Former-commit-id: d26442e70963119ed3e6abd1ae894294eb12f1ed [formerly 9b49bbd9a959595ef0c26eeadd1fcac96e2b338c]
Former-commit-id: 1c8b2261607cdb88a3c685311e165e517234e498
2019-01-29 09:06:30 +00:00
1138-4EB
f3d007025e remove addon docker-ce from travis
Former-commit-id: 169fb5f6a61249e5420bd8cbf758b961847f86f5 [formerly 05042727df836dfa48a7099f8c6b18bf4052ea52] [formerly b1f252a7bfbeb01e97e2b930bd9b65eca72bed63 [formerly 14a3b5a417]]
Former-commit-id: 2642889d6f7d445e2e63c7f4cf09581598bb6ff6 [formerly 4fcb552e7678e609b0f706e9e31f5fc2e49d5330]
Former-commit-id: 014ce24c903c0eb9e6dabe3fa89cf2c609b2d5aa
2019-01-28 03:35:05 +01:00
Henrique Dias
e7a39808dd chore: setting untracked version [ci skip]
Former-commit-id: 9ef650ed689aac71ec52c4613c7a7b35721604ad [formerly c539dee8f5474a48c9b5291b8ab1aede6896ebe1] [formerly 9db5ced0957f01e287205c2001c47c03b6543f44 [formerly fa4b100c85]]
Former-commit-id: 3b9324f933906b3d898373f418ca462c559f35ab [formerly 6b5d61a31cef4a308139383841c6ef0fa2f2d151]
Former-commit-id: 6e6ec1ef9caad0fb0ad722aaa866647ebc78d107
2019-01-26 12:11:29 +00:00
Henrique Dias
2b7aa7a0c9 chore: version v2.0.1
Former-commit-id: 1ee923d5e301cbc091885dc523baf9f771a5fe26 [formerly a7fc98143b3fc481d04e64c9a9608957475bbece] [formerly 87cca4477009a498c17c5779ec33964513139325 [formerly 5b097eec5f]]
Former-commit-id: 28bf2572b9e3e8258d57de8c0905a8aaafa707c7 [formerly 5de3ab416d621dbd54cd58cf0bf34273017144d9]
Former-commit-id: 603e4589dd55068be106f240a57ec1ee04f8760d
2019-01-26 12:10:55 +00:00
Henrique Dias
4d8f0c532b feat: update front-end
License: MIT
Signed-off-by: Henrique Dias <hacdias@gmail.com>

Former-commit-id: 2153ac8242a70a057f3573ee6d5afca1824a61bf [formerly c3a4cd6efdfcf3d7d568548763d9eacc1f2a1679] [formerly 6ae07ad768953558d19885c5e4a5b97194ae18ef [formerly a4fee75dd4]]
Former-commit-id: 09c70625d4c30701a49a063835e22a5b74152ffb [formerly 2ac34724d3074d99a21878b5048d9886ce9bf04d]
Former-commit-id: 6039d9b1533d84cc930db13f16a1acb6222610a5
2019-01-26 11:38:49 +00:00
Henrique Dias
367e251a0e fixes: correct users importing id (#645)
@princemaple could you try out this branch to see if it works on your end?

Former-commit-id: 12c782316c411fa3438f167c12634adffb5e1adf [formerly c613ff6624c55292f532d7772e866cf6c81241f5] [formerly 11f03e54dae28fa773227d85259cfd73c5750137 [formerly 9c42269b62]]
Former-commit-id: 04bcf5803397877d00ba48ea6d0b00246dc07b3d [formerly 4c1bb1e95375777aede2c0911bdfa9ce46273b37]
Former-commit-id: 601db641f7d7b01c14903d0cc27085e3d7080c3d
2019-01-26 11:37:33 +00:00
Henrique Dias
cc6f2f8bec fix: encode URIs correctly
License: MIT
Signed-off-by: Henrique Dias <hacdias@gmail.com>

Former-commit-id: bf213b683c7cf6a42bd5a710e08ea2ed1cbe6c8c [formerly 7033f8885f037a8fd17aaccc7c95741cdd8a7f15] [formerly 1156eac936b97cc1821f0ffc28f09c977b434945 [formerly dadfffbd31]]
Former-commit-id: 5afbd473b14481514e137a191aa75c3860efbe68 [formerly 691b7b346559672fe41fd2bc7430256ab8512b2d]
Former-commit-id: 0aec5af50f77e3f4f6701b3a4e34694514c64cd5
2019-01-26 10:47:34 +00:00
Henrique Dias
007fde8186 fix: linting
License: MIT
Signed-off-by: Henrique Dias <hacdias@gmail.com>

Former-commit-id: 3b1344ed7b9b7c41f7188a3e740cf69f3de7ebb7 [formerly db8acf75870cd31f5077629b2f8bcc6606afb606] [formerly e2a38027b43f835c13933188d0c4e14119f78661 [formerly b90d39dfda]]
Former-commit-id: c521ed975cc868b106344c4212707aa1b1eae19d [formerly a3f0dace392521435350c78e40adfc9ac6c576f2]
Former-commit-id: 46c88075964cdd102f5fd2c12e1b09fd94eba6b1
2019-01-23 15:58:06 +00:00
Henrique Dias
552f8168ea chore: update frontend
License: MIT
Signed-off-by: Henrique Dias <hacdias@gmail.com>

Former-commit-id: ee0540ac596192045f940e0bc4f47d29b6c2351f [formerly d90bc812c6a77c9838a711fb4e00d1d62a6bfa04] [formerly 90128f33ffa10f584fcab30a8a1165c06b6659e3 [formerly 2ba176a319]]
Former-commit-id: b677fba611975bdbeb56fd541ac7bedee39e000e [formerly 5ad6e6b025d20d171d4a097cc5895b4f7f38b9aa]
Former-commit-id: 91d3aea37524297ece1d797df6bbf716cda77553
2019-01-23 14:49:18 +00:00
Henrique Dias
42426e3e69 chore: setting untracked version [ci skip]
Former-commit-id: 28403ab07de56efe726c60b5b9394652ade286c8 [formerly f98ae829dafc277f9af53195a359ddf4177b2adc] [formerly 9bee729afab603d71e0f386f2dcf1d68bf117be0 [formerly 846127d164]]
Former-commit-id: 03a5583ca594f0cce67b025d913f68ad5582285f [formerly 8ee04063a261f3f85b9e19b86c9a96e2bf6e78e6]
Former-commit-id: 683769c4b55b6dbddf47e66e1e6760e9f961f508
2019-01-14 09:04:16 +00:00
25 changed files with 77 additions and 63 deletions

1
.gitignore vendored
View File

@@ -3,3 +3,4 @@
*.bak *.bak
_old _old
rice-box.go rice-box.go
.idea/

View File

@@ -5,7 +5,6 @@ install: skip
addons: addons:
apt: apt:
packages: packages:
- docker-ce
- pass - pass
env: env:
global: global:

View File

@@ -10,4 +10,6 @@ import (
type Auther interface { type Auther interface {
// Auth is called to authenticate a request. // Auth is called to authenticate a request.
Auth(r *http.Request, s *users.Storage, root string) (*users.User, error) Auth(r *http.Request, s *users.Storage, root string) (*users.User, error)
// LoginPage indicates if this auther needs a login page.
LoginPage() bool
} }

View File

@@ -59,6 +59,11 @@ func (a JSONAuth) Auth(r *http.Request, sto *users.Storage, root string) (*users
return u, nil return u, nil
} }
// LoginPage tells that json auth doesn't require a login page.
func (a JSONAuth) LoginPage() bool {
return true
}
const reCaptchaAPI = "/recaptcha/api/siteverify" const reCaptchaAPI = "/recaptcha/api/siteverify"
// ReCaptcha identifies a recaptcha conenction. // ReCaptcha identifies a recaptcha conenction.

View File

@@ -17,3 +17,8 @@ type NoAuth struct{}
func (a NoAuth) Auth(r *http.Request, sto *users.Storage, root string) (*users.User, error) { func (a NoAuth) Auth(r *http.Request, sto *users.Storage, root string) (*users.User, error) {
return sto.Get(root, uint(1)) return sto.Get(root, uint(1))
} }
// LoginPage tells that no auth doesn't require a login page.
func (a NoAuth) LoginPage() bool {
return false
}

View File

@@ -27,3 +27,8 @@ func (a ProxyAuth) Auth(r *http.Request, sto *users.Storage, root string) (*user
return user, err return user, err
} }
// LoginPage tells that proxy auth doesn't require a login page.
func (a ProxyAuth) LoginPage() bool {
return false
}

View File

@@ -11,11 +11,10 @@ func init() {
} }
var cmdsCmd = &cobra.Command{ var cmdsCmd = &cobra.Command{
Use: "cmds", Use: "cmds",
Version: rootCmd.Version, Short: "Command runner management utility",
Short: "Command runner management utility", Long: `Command runner management utility.`,
Long: `Command runner management utility.`, Args: cobra.NoArgs,
Args: cobra.NoArgs,
} }
func printEvents(m map[string][]string) { func printEvents(m map[string][]string) {

View File

@@ -20,11 +20,10 @@ func init() {
} }
var configCmd = &cobra.Command{ var configCmd = &cobra.Command{
Use: "config", Use: "config",
Version: rootCmd.Version, Short: "Configuration management utility",
Short: "Configuration management utility", Long: `Configuration management utility.`,
Long: `Configuration management utility.`, Args: cobra.NoArgs,
Args: cobra.NoArgs,
} }
func addConfigFlags(flags *pflag.FlagSet) { func addConfigFlags(flags *pflag.FlagSet) {

View File

@@ -12,11 +12,10 @@ func init() {
} }
var hashCmd = &cobra.Command{ var hashCmd = &cobra.Command{
Use: "hash <password>", Use: "hash <password>",
Version: rootCmd.Version, Short: "Hashes a password",
Short: "Hashes a password", Long: `Hashes a password using bcrypt algorithm.`,
Long: `Hashes a password using bcrypt algorithm.`, Args: cobra.ExactArgs(1),
Args: cobra.ExactArgs(1),
Run: func(cmd *cobra.Command, args []string) { Run: func(cmd *cobra.Command, args []string) {
pwd, err := users.HashPwd(args[0]) pwd, err := users.HashPwd(args[0])
checkErr(err) checkErr(err)

View File

@@ -15,7 +15,6 @@ import (
"github.com/filebrowser/filebrowser/v2/settings" "github.com/filebrowser/filebrowser/v2/settings"
"github.com/filebrowser/filebrowser/v2/storage" "github.com/filebrowser/filebrowser/v2/storage"
"github.com/filebrowser/filebrowser/v2/users" "github.com/filebrowser/filebrowser/v2/users"
"github.com/filebrowser/filebrowser/v2/version"
homedir "github.com/mitchellh/go-homedir" homedir "github.com/mitchellh/go-homedir"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/spf13/pflag" "github.com/spf13/pflag"
@@ -55,9 +54,8 @@ func addServerFlags(flags *pflag.FlagSet) {
} }
var rootCmd = &cobra.Command{ var rootCmd = &cobra.Command{
Use: "filebrowser", Use: "filebrowser",
Version: version.Version, Short: "A stylish web-based file browser",
Short: "A stylish web-based file browser",
Long: `File Browser CLI lets you create the database to use with File Browser, Long: `File Browser CLI lets you create the database to use with File Browser,
manage your users and all the configurations without acessing the manage your users and all the configurations without acessing the
web interface. web interface.

View File

@@ -19,7 +19,6 @@ func init() {
var rulesCmd = &cobra.Command{ var rulesCmd = &cobra.Command{
Use: "rules", Use: "rules",
Version: rootCmd.Version,
Short: "Rules management utility", Short: "Rules management utility",
Long: `On each subcommand you'll have available at least two flags: Long: `On each subcommand you'll have available at least two flags:
"username" and "id". You must either set only one of them "username" and "id". You must either set only one of them

View File

@@ -14,9 +14,8 @@ func init() {
} }
var upgradeCmd = &cobra.Command{ var upgradeCmd = &cobra.Command{
Use: "upgrade", Use: "upgrade",
Version: rootCmd.Version, Short: "Upgrades an old configuration",
Short: "Upgrades an old configuration",
Long: `Upgrades an old configuration. This command DOES NOT Long: `Upgrades an old configuration. This command DOES NOT
import share links because they are incompatible with import share links because they are incompatible with
this version.`, this version.`,

View File

@@ -18,11 +18,10 @@ func init() {
} }
var usersCmd = &cobra.Command{ var usersCmd = &cobra.Command{
Use: "users", Use: "users",
Version: rootCmd.Version, Short: "Users management utility",
Short: "Users management utility", Long: `Users management utility.`,
Long: `Users management utility.`, Args: cobra.NoArgs,
Args: cobra.NoArgs,
} }
func printUsers(users []*users.User) { func printUsers(users []*users.User) {

View File

@@ -70,6 +70,10 @@ list or set it to 0.`,
checkErr(usernameConflictError(user.Username, conflictuous.ID, user.ID)) 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) err = d.store.Users.Save(user)

View File

@@ -62,18 +62,20 @@ type pythonData struct {
func dbExists(path string) (bool, error) { func dbExists(path string) (bool, error) {
stat, err := os.Stat(path) stat, err := os.Stat(path)
if err == nil {
return stat.Size() != 0, nil
}
if os.IsNotExist(err) { if os.IsNotExist(err) {
return false, nil d := filepath.Dir(path)
} else if err != nil { _, err = os.Stat(d)
return false, err if os.IsNotExist(err) {
os.MkdirAll(d, 0700)
return false, nil
}
} }
if stat.Size() == 0 { return false, err
return false, nil
}
return true, nil
} }
func python(fn pythonFunc, cfg pythonConfig) cobraFunc { func python(fn pythonFunc, cfg pythonConfig) cobraFunc {

View File

@@ -1,32 +1,20 @@
package cmd package cmd
import ( import (
"text/template" "fmt"
"github.com/filebrowser/filebrowser/v2/version"
"github.com/spf13/cobra" "github.com/spf13/cobra"
) )
func init() { func init() {
rootCmd.AddCommand(versionCmd) rootCmd.AddCommand(versionCmd)
cmdsCmd.AddCommand(versionCmd)
configCmd.AddCommand(versionCmd)
hashCmd.AddCommand(versionCmd)
upgradeCmd.AddCommand(versionCmd)
rulesCmd.AddCommand(versionCmd)
usersCmd.AddCommand(versionCmd)
} }
var versionCmd = &cobra.Command{ var versionCmd = &cobra.Command{
Use: "version", Use: "version",
Short: "Print the version number of File Browser", Short: "Print the version number",
Long: `All software has versions. This is File Browser's`,
Run: func(cmd *cobra.Command, args []string) { Run: func(cmd *cobra.Command, args []string) {
// https://github.com/spf13/cobra/issues/724 fmt.Println("File Browser Version " + version.Version)
t := template.New("version")
template.Must(t.Parse(rootCmd.VersionTemplate()))
err := t.Execute(rootCmd.OutOrStdout(), rootCmd)
if err != nil {
rootCmd.Println(err)
}
}, },
} }

View File

@@ -2,6 +2,7 @@ package files
import ( import (
"sort" "sort"
"strings"
"github.com/maruel/natural" "github.com/maruel/natural"
) )
@@ -68,7 +69,7 @@ func (l byName) Less(i, j int) bool {
return false return false
} }
return natural.Less(l.Items[i].Name, l.Items[j].Name) return natural.Less(strings.ToLower(l.Items[j].Name), strings.ToLower(l.Items[i].Name))
} }
// By Size // By Size

4
go.mod
View File

@@ -21,12 +21,12 @@ require (
github.com/kardianos/osext v0.0.0-20170510131534-ae77be60afb1 // indirect github.com/kardianos/osext v0.0.0-20170510131534-ae77be60afb1 // indirect
github.com/kr/pretty v0.1.0 // indirect github.com/kr/pretty v0.1.0 // indirect
github.com/maruel/natural v0.0.0-20180416170133-dbcb3e2e8cf1 github.com/maruel/natural v0.0.0-20180416170133-dbcb3e2e8cf1
github.com/mholt/archiver v3.1.0+incompatible github.com/mholt/archiver v3.1.1+incompatible
github.com/mholt/caddy v0.11.1 github.com/mholt/caddy v0.11.1
github.com/mitchellh/go-homedir v1.0.0 github.com/mitchellh/go-homedir v1.0.0
github.com/nwaples/rardecode v1.0.0 // indirect github.com/nwaples/rardecode v1.0.0 // indirect
github.com/pelletier/go-toml v1.2.0 github.com/pelletier/go-toml v1.2.0
github.com/pierrec/lz4 v2.0.5+incompatible // indirect github.com/pierrec/lz4 v0.0.0-20190131084431-473cd7ce01a1 // indirect
github.com/spf13/afero v1.1.2 github.com/spf13/afero v1.1.2
github.com/spf13/cobra v0.0.3 github.com/spf13/cobra v0.0.3
github.com/spf13/pflag v1.0.3 github.com/spf13/pflag v1.0.3

5
go.sum
View File

@@ -57,6 +57,8 @@ github.com/maruel/natural v0.0.0-20180416170133-dbcb3e2e8cf1 h1:PEhRT94KBTY4E0Kd
github.com/maruel/natural v0.0.0-20180416170133-dbcb3e2e8cf1/go.mod h1:wI697HNhDFM/vBruYM3ckbszQ2+DOIeH9qdBKMdf288= github.com/maruel/natural v0.0.0-20180416170133-dbcb3e2e8cf1/go.mod h1:wI697HNhDFM/vBruYM3ckbszQ2+DOIeH9qdBKMdf288=
github.com/mholt/archiver v3.1.0+incompatible h1:S1rFZ7umHtN6cG+6cusrfoXTMPqp6u/R89iKxBYJd4w= github.com/mholt/archiver v3.1.0+incompatible h1:S1rFZ7umHtN6cG+6cusrfoXTMPqp6u/R89iKxBYJd4w=
github.com/mholt/archiver v3.1.0+incompatible/go.mod h1:Dh2dOXnSdiLxRiPoVfIr/fI1TwETms9B8CTWfeh7ROU= github.com/mholt/archiver v3.1.0+incompatible/go.mod h1:Dh2dOXnSdiLxRiPoVfIr/fI1TwETms9B8CTWfeh7ROU=
github.com/mholt/archiver v3.1.1+incompatible h1:1dCVxuqs0dJseYEhi5pl7MYPH9zDa1wBi7mF09cbNkU=
github.com/mholt/archiver v3.1.1+incompatible/go.mod h1:Dh2dOXnSdiLxRiPoVfIr/fI1TwETms9B8CTWfeh7ROU=
github.com/mholt/caddy v0.11.1 h1:oNfejqftVesLoFxw53Gh17aBPNbTxQ9xJw1pn4IiAPk= github.com/mholt/caddy v0.11.1 h1:oNfejqftVesLoFxw53Gh17aBPNbTxQ9xJw1pn4IiAPk=
github.com/mholt/caddy v0.11.1/go.mod h1:Wb1PlT4DAYSqOEd03MsqkdkXnTxA8v9pKjdpxbqM1kY= github.com/mholt/caddy v0.11.1/go.mod h1:Wb1PlT4DAYSqOEd03MsqkdkXnTxA8v9pKjdpxbqM1kY=
github.com/mitchellh/go-homedir v1.0.0 h1:vKb8ShqSby24Yrqr/yDYkuFz8d0WUjys40rvnGC8aR0= github.com/mitchellh/go-homedir v1.0.0 h1:vKb8ShqSby24Yrqr/yDYkuFz8d0WUjys40rvnGC8aR0=
@@ -67,8 +69,11 @@ github.com/nwaples/rardecode v1.0.0 h1:r7vGuS5akxOnR4JQSkko62RJ1ReCMXxQRPtxsiFMB
github.com/nwaples/rardecode v1.0.0/go.mod h1:5DzqNKiOdpKKBH87u8VlvAnPZMXcGRhxWkRpHbbfGS0= github.com/nwaples/rardecode v1.0.0/go.mod h1:5DzqNKiOdpKKBH87u8VlvAnPZMXcGRhxWkRpHbbfGS0=
github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc= github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc=
github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
github.com/pierrec/lz4 v0.0.0-20190131084431-473cd7ce01a1 h1:0utzB5Mn6QyMzIeOn+oD7pjKQLjJwfM9bz6TkPPdxcw=
github.com/pierrec/lz4 v0.0.0-20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc=
github.com/pierrec/lz4 v2.0.5+incompatible h1:2xWsjqPFWcplujydGg4WmhC/6fZqK42wMM8aXeqhl0I= github.com/pierrec/lz4 v2.0.5+incompatible h1:2xWsjqPFWcplujydGg4WmhC/6fZqK42wMM8aXeqhl0I=
github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/spf13/afero v1.1.2 h1:m8/z1t7/fwjysjQRYbP0RD+bUIF/8tJwPdEZsI83ACI= github.com/spf13/afero v1.1.2 h1:m8/z1t7/fwjysjQRYbP0RD+bUIF/8tJwPdEZsI83ACI=

View File

@@ -30,7 +30,7 @@ type authToken struct {
type extractor []string type extractor []string
func (e extractor) ExtractToken(r *http.Request) (string, error) { func (e extractor) ExtractToken(r *http.Request) (string, error) {
token, _ := request.AuthorizationHeaderExtractor.ExtractToken(r) token, _ := request.HeaderExtractor{"X-Auth"}.ExtractToken(r)
// Checks if the token isn't empty and if it contains two dots. // Checks if the token isn't empty and if it contains two dots.
// The former prevents incompatibility with URLs that previously // The former prevents incompatibility with URLs that previously

View File

@@ -21,6 +21,11 @@ func handleWithStaticData(w http.ResponseWriter, r *http.Request, d *data, box *
staticURL := strings.TrimPrefix(d.server.BaseURL+"/static", "/") staticURL := strings.TrimPrefix(d.server.BaseURL+"/static", "/")
auther, err := d.store.Auth.Get(d.settings.AuthMethod)
if err != nil {
return http.StatusInternalServerError, err
}
data := map[string]interface{}{ data := map[string]interface{}{
"Name": d.settings.Branding.Name, "Name": d.settings.Branding.Name,
"DisableExternal": d.settings.Branding.DisableExternal, "DisableExternal": d.settings.Branding.DisableExternal,
@@ -29,6 +34,7 @@ func handleWithStaticData(w http.ResponseWriter, r *http.Request, d *data, box *
"StaticURL": staticURL, "StaticURL": staticURL,
"Signup": d.settings.Signup, "Signup": d.settings.Signup,
"NoAuth": d.settings.AuthMethod == auth.MethodNoAuth, "NoAuth": d.settings.AuthMethod == auth.MethodNoAuth,
"LoginPage": auther.LoginPage(),
"CSS": false, "CSS": false,
"ReCaptcha": false, "ReCaptcha": false,
} }

View File

@@ -55,7 +55,6 @@ func convertUsersToNew(old []*oldUser) ([]*users.User, error) {
for _, oldUser := range old { for _, oldUser := range old {
user := &users.User{ user := &users.User{
ID: uint(oldUser.ID),
Username: oldUser.Username, Username: oldUser.Username,
Password: oldUser.Password, Password: oldUser.Password,
Scope: oldUser.Scope, Scope: oldUser.Scope,

View File

@@ -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 // id must be a string for username lookup or a uint for id lookup. If id
// is neither, a ErrInvalidDataType will be returned. // is neither, a ErrInvalidDataType will be returned.
func (s *Storage) Delete(id interface{}) (err error) { func (s *Storage) Delete(id interface{}) (err error) {
switch id.(type) { switch id := id.(type) {
case string: case string:
err = s.back.DeleteByUsername(id.(string)) err = s.back.DeleteByUsername(id)
case uint: case uint:
err = s.back.DeleteByID(id.(uint)) err = s.back.DeleteByID(id)
default: default:
err = errors.ErrInvalidDataType err = errors.ErrInvalidDataType
} }

View File

@@ -2,5 +2,5 @@ package version
const ( const (
// Version is the current File Browser version. // Version is the current File Browser version.
Version = "v2.0.0" Version = "v2.0.3"
) )