mirror of
https://github.com/0rangebananaspy/authelia.git
synced 2024-09-14 22:47:21 +07:00
a7e867a699
This commit replaces github.com/spf13/viper with github.com/knadh/koanf. Koanf is very similar library to viper, with less dependencies and several quality of life differences. This also allows most config options to be defined by ENV. Lastly it also enables the use of split configuration files which can be configured by setting the --config flag multiple times. Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
71 lines
1.6 KiB
Go
71 lines
1.6 KiB
Go
package utils
|
|
|
|
import (
|
|
"errors"
|
|
"regexp"
|
|
"strings"
|
|
"time"
|
|
)
|
|
|
|
const (
|
|
windows = "windows"
|
|
testStringInput = "abcdefghijkl"
|
|
|
|
// RFC3339Zero is the default value for time.Time.Unix().
|
|
RFC3339Zero = int64(-62135596800)
|
|
|
|
// TLS13 is the textual representation of TLS 1.3.
|
|
TLS13 = "1.3"
|
|
|
|
// TLS12 is the textual representation of TLS 1.2.
|
|
TLS12 = "1.2"
|
|
|
|
// TLS11 is the textual representation of TLS 1.1.
|
|
TLS11 = "1.1"
|
|
|
|
// TLS10 is the textual representation of TLS 1.0.
|
|
TLS10 = "1.0"
|
|
|
|
// Hour is an int based representation of the time unit.
|
|
Hour = time.Minute * 60
|
|
|
|
// Day is an int based representation of the time unit.
|
|
Day = Hour * 24
|
|
|
|
// Week is an int based representation of the time unit.
|
|
Week = Day * 7
|
|
|
|
// Year is an int based representation of the time unit.
|
|
Year = Day * 365
|
|
|
|
// Month is an int based representation of the time unit.
|
|
Month = Year / 12
|
|
|
|
clean = "clean"
|
|
tagged = "tagged"
|
|
unknown = "unknown"
|
|
|
|
errFmtLinuxNotFound = "open %s: no such file or directory"
|
|
)
|
|
|
|
var (
|
|
reDuration = regexp.MustCompile(`^(?P<Duration>[1-9]\d*?)(?P<Unit>[smhdwMy])?$`)
|
|
)
|
|
|
|
// AlphaNumericCharacters are literally just valid alphanumeric chars.
|
|
var AlphaNumericCharacters = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")
|
|
|
|
var htmlEscaper = strings.NewReplacer(
|
|
"&", "&",
|
|
"<", "<",
|
|
">", ">",
|
|
`"`, """,
|
|
"'", "'",
|
|
)
|
|
|
|
// ErrTimeoutReached error thrown when a timeout is reached.
|
|
var ErrTimeoutReached = errors.New("timeout reached")
|
|
|
|
// ErrTLSVersionNotSupported returned when an unknown TLS version supplied.
|
|
var ErrTLSVersionNotSupported = errors.New("supplied TLS version isn't supported")
|