Random string function should only contains letters (#1906)

This commit is contained in:
Manuel Alejandro de Brito Fontes 2018-01-17 10:26:32 -02:00 committed by GitHub
parent b0e0712984
commit 3e7d1f9acf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 13 deletions

View file

@ -19,6 +19,7 @@ package main
import (
"encoding/json"
"fmt"
"math/rand"
"net"
"net/http"
"net/http/pprof"
@ -47,6 +48,8 @@ import (
)
func main() {
rand.Seed(time.Now().UnixNano())
fmt.Println(version.String())
showVersion, conf, err := parseFlags()

View file

@ -17,10 +17,10 @@ limitations under the License.
package template
import (
"crypto/rand"
"encoding/base64"
"encoding/json"
"fmt"
"math/rand"
"net"
"net/url"
"os"
@ -28,6 +28,7 @@ import (
"strconv"
"strings"
text_template "text/template"
"time"
"github.com/golang/glog"
"github.com/pkg/errors"
@ -493,12 +494,7 @@ func buildDenyVariable(a interface{}) string {
}
if _, ok := denyPathSlugMap[l]; !ok {
s, err := randomString()
if err != nil {
return ""
}
denyPathSlugMap[l] = s
denyPathSlugMap[l] = randomString()
}
return fmt.Sprintf("$deny_%v", denyPathSlugMap[l])
@ -693,12 +689,17 @@ func buildAuthSignURL(input interface{}) string {
return fmt.Sprintf("%v&rd=$pass_access_scheme://$http_host$request_uri", s)
}
func randomString() (string, error) {
b := make([]byte, 16)
_, err := rand.Read(b)
if err != nil {
return "", err
var letters = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")
func init() {
rand.Seed(time.Now().UnixNano())
}
func randomString() string {
b := make([]rune, 32)
for i := range b {
b[i] = letters[rand.Intn(len(letters))]
}
return string(b), nil
return string(b)
}