Skip to content

Commit 2f52aa7

Browse files
authored
Freedom noises: Support RawURLEncoding for "base64"
In case we want to share `noises` via sharing link.
1 parent ca50c9c commit 2f52aa7

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

infra/conf/freedom.go

+4-3
Original file line numberDiff line numberDiff line change
@@ -153,8 +153,9 @@ func (c *FreedomConfig) Build() (proto.Message, error) {
153153
func ParseNoise(noise *Noise) (*freedom.Noise, error) {
154154
var err error
155155
NConfig := new(freedom.Noise)
156+
noise.Packet = strings.TrimSpace(noise.Packet)
156157

157-
switch strings.ToLower(noise.Type) {
158+
switch noise.Type {
158159
case "rand":
159160
min, max, err := ParseRangeString(noise.Packet)
160161
if err != nil {
@@ -168,7 +169,7 @@ func ParseNoise(noise *Noise) (*freedom.Noise, error) {
168169

169170
case "str":
170171
// user input string
171-
NConfig.Packet = []byte(strings.TrimSpace(noise.Packet))
172+
NConfig.Packet = []byte(noise.Packet)
172173

173174
case "hex":
174175
// user input hex
@@ -179,7 +180,7 @@ func ParseNoise(noise *Noise) (*freedom.Noise, error) {
179180

180181
case "base64":
181182
// user input base64
182-
NConfig.Packet, err = base64.StdEncoding.DecodeString(strings.TrimSpace(noise.Packet))
183+
NConfig.Packet, err = base64.RawURLEncoding.DecodeString(strings.NewReplacer("+", "-", "/", "_", "=", "").Replace(noise.Packet))
183184
if err != nil {
184185
return nil, errors.New("Invalid base64 string").Base(err)
185186
}

0 commit comments

Comments
 (0)