@@ -4,7 +4,6 @@ import (
44 "context"
55 "crypto"
66 "crypto/tls"
7− "encoding/base64"
87 "fmt"
98 "io/ioutil"
109 "net/http"
@@ -386,12 +385,12 @@ func (o *Options) Validate() error {
386385 if o.PassAccessToken || o.SetAuthorization || o.PassAuthorization || (o.Cookie.Refresh != time.Duration(0)) {
387386 validCookieSecretSize := false
388387 for _, i := range []int{16, 24, 32} {
389− if len(secretBytes(o.Cookie.Secret)) == i {
388+ if len(encryption.SecretBytes(o.Cookie.Secret)) == i {
390389 validCookieSecretSize = true
391390 }
392391 }
393392 var decoded bool
394− if string(secretBytes(o.Cookie.Secret)) != o.Cookie.Secret {
393+ if string(encryption.SecretBytes(o.Cookie.Secret)) != o.Cookie.Secret {
395394 decoded = true
396395 }
397396 if !validCookieSecretSize {
@@ -404,10 +403,10 @@ func (o *Options) Validate() error {
404403 "to create an AES cipher when "+
405404 "pass_access_token == true or "+
406405 "cookie_refresh != 0, but is %d bytes.%s",
407− len(secretBytes(o.Cookie.Secret)), suffix))
406+ len(encryption.SecretBytes(o.Cookie.Secret)), suffix))
408407 } else {
409408 var err error
410− cipher, err = encryption.NewCipher(secretBytes(o.Cookie.Secret))
409+ cipher, err = encryption.NewCipher(encryption.SecretBytes(o.Cookie.Secret))
411410 if err != nil {
412411 msgs = append(msgs, fmt.Sprintf("cookie-secret error: %v", err))
413412 }
@@ -643,29 +642,6 @@ func validateCookieName(o *Options, msgs []string) []string {
643642 return msgs
644643}
645644
646−func addPadding(secret string) string {
647− padding := len(secret) % 4
648− switch padding {
649− case 1:
650− return secret + "==="
651− case 2:
652− return secret + "=="
653− case 3:
654− return secret + "="
655− default:
656− return secret
657− }
658−}
659−
660−// secretBytes attempts to base64 decode the secret, if that fails it treats the secret as binary
661−func secretBytes(secret string) []byte {
662− b, err := base64.URLEncoding.DecodeString(addPadding(secret))
663− if err == nil {
664− return []byte(addPadding(string(b)))
665− }
666− return []byte(secret)
667−}
668−
669645func setupLogger(o *Options, msgs []string) []string {
670646 // Setup the log file
671647 if len(o.LoggingFilename) > 0 {