Skip to content

Commit

Permalink
Random string function should only contains letters (kubernetes#1906)
Browse files Browse the repository at this point in the history
  • Loading branch information
aledbf committed Jan 18, 2018
1 parent 741ee53 commit eea9e8f
Showing 1 changed file with 14 additions and 13 deletions.
27 changes: 14 additions & 13 deletions internal/ingress/controller/template/template.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,18 @@ limitations under the License.
package template

import (
"crypto/rand"
"encoding/base64"
"encoding/json"
"fmt"
"math/rand"
"net"
"net/url"
"os"
"os/exec"
"strconv"
"strings"
text_template "text/template"
"time"

"github.com/golang/glog"
"github.com/pkg/errors"
Expand Down Expand Up @@ -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])
Expand Down Expand Up @@ -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)
}

0 comments on commit eea9e8f

Please sign in to comment.