Skip to content

Commit dfe5099

Browse files
author
idk
committed
Fixed up validators and encoders
1 parent 056263f commit dfe5099

File tree

1 file changed

+5
-7
lines changed

1 file changed

+5
-7
lines changed

transcoders.go

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -254,8 +254,7 @@ func garlic32StB(s string) ([]byte, error) {
254254
if len(s) != 52 || len(s) < 55 || len(s) > 63 {
255255
return nil, fmt.Errorf("failed to parse garlic addr: %s not a i2p base32 address. len: %d", s, len(s))
256256
}
257-
garlicHostBytes := make([]byte, 37)
258-
_, err := garlicBase32Encoding.Decode(garlicHostBytes, []byte(s))
257+
garlicHostBytes, err := garlicBase32Encoding.Decode(s)
259258
if err != nil {
260259
return nil, fmt.Errorf("failed to decode base32 garlic addr: %s %s", s, err)
261260
}
@@ -267,21 +266,20 @@ func garlic32StB(s string) ([]byte, error) {
267266
}
268267

269268
func garlic32BtS(b []byte) (string, error) {
270-
if len(b) < 33 || len(b) > 37 {
271-
return "", fmt.Errorf("failed to validate garlic addr: %s not an i2p base64 address. len: %d\n", b, len(b))
269+
if len(b) != 32 || len(b) < 35 {
270+
return "", fmt.Errorf("failed to validate garlic addr: %s not an i2p base32 address. len: %d\n", b, len(b))
272271
}
273272
addr := strings.Replace(strings.ToLower(garlicBase32Encoding.EncodeToString(b)), "=", "", -1)
274273
return addr, nil
275274
}
276275

277276
func garlic32Validate(b []byte) error {
278-
if len(b) < 33 || len(b) > 37 {
279-
return fmt.Errorf("failed to validate garlic addr: %s not an i2p base64 address. len: %d\n", b, len(b))
277+
if len(b) != 32 || len(b) < 35 {
278+
return fmt.Errorf("failed to validate garlic addr: %s not an i2p base32 address. len: %d\n", b, len(b))
280279
}
281280
return nil
282281
}
283282

284-
285283
var TranscoderP2P = NewTranscoderFromFunctions(p2pStB, p2pBtS, p2pVal)
286284

287285
func p2pStB(s string) ([]byte, error) {

0 commit comments

Comments
 (0)