summaryrefslogtreecommitdiffstats
path: root/pkg/tor
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/tor')
-rw-r--r--pkg/tor/tor_test.go34
1 files changed, 17 insertions, 17 deletions
diff --git a/pkg/tor/tor_test.go b/pkg/tor/tor_test.go
index b6411e0..8f78a5e 100644
--- a/pkg/tor/tor_test.go
+++ b/pkg/tor/tor_test.go
@@ -11,20 +11,20 @@ func TestValidateOnionAddress(t *testing.T) {
addr string
wantErr bool
}{
- // Valid v3 .onion addresses
+ // Valid v3 .onion addresses (56 base32 chars + .onion)
{
name: "valid v3 onion with port",
- addr: "abcdefghijklmnopqrstuvwxyz234567abcdefghijklmnopqrstuv.onion:8080",
+ addr: "abcdefghijklmnopqrstuvwxyz234567abcdefghijklmnopqrstuvwx.onion:8080",
wantErr: false,
},
{
name: "valid v3 onion without port",
- addr: "abcdefghijklmnopqrstuvwxyz234567abcdefghijklmnopqrstuv.onion",
+ addr: "abcdefghijklmnopqrstuvwxyz234567abcdefghijklmnopqrstuvwx.onion",
wantErr: false,
},
{
name: "valid v3 onion lowercase",
- addr: "vwxyz234567abcdefghijklmnopqrstuvwxyz234567abcdefghijk.onion:443",
+ addr: "vwxyz234567abcdefghijklmnopqrstuvwxyz234567abcdefghijklm.onion:443",
wantErr: false,
},
@@ -51,27 +51,27 @@ func TestValidateOnionAddress(t *testing.T) {
},
{
name: "uppercase not allowed",
- addr: "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567ABCDEFGHIJKLMNOPQRSTUV.onion",
+ addr: "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567ABCDEFGHIJKLMNOPQRSTUVWX.onion",
wantErr: true,
},
{
name: "invalid characters",
- addr: "abcdefghijklmnopqrstuvwxyz234567abcdefghijklmnopqrst01.onion",
- wantErr: true, // 0 and 1 not in base32
+ addr: "abcdefghijklmnopqrstuvwxyz234567abcdefghijklmnopqrst0189.onion",
+ wantErr: true, // 0, 1, 8, 9 not in base32
},
{
name: "too long",
- addr: "abcdefghijklmnopqrstuvwxyz234567abcdefghijklmnopqrstuvwxyz.onion",
+ addr: "abcdefghijklmnopqrstuvwxyz234567abcdefghijklmnopqrstuvwxyzab.onion",
wantErr: true,
},
{
name: "missing .onion",
- addr: "abcdefghijklmnopqrstuvwxyz234567abcdefghijklmnopqrstuv",
+ addr: "abcdefghijklmnopqrstuvwxyz234567abcdefghijklmnopqrstuvwx",
wantErr: true,
},
{
name: "invalid port",
- addr: "abcdefghijklmnopqrstuvwxyz234567abcdefghijklmnopqrstuv.onion:999999",
+ addr: "abcdefghijklmnopqrstuvwxyz234567abcdefghijklmnopqrstuvwx.onion:999999",
wantErr: true,
},
{
@@ -114,12 +114,12 @@ func TestValidateOnionAddress_ErrorMessages(t *testing.T) {
}
func TestOnionRegex(t *testing.T) {
- // Valid patterns
+ // Valid patterns (56 base32 chars + .onion + optional port)
validAddrs := []string{
- "abcdefghijklmnopqrstuvwxyz234567abcdefghijklmnopqrstuv.onion",
- "abcdefghijklmnopqrstuvwxyz234567abcdefghijklmnopqrstuv.onion:80",
- "abcdefghijklmnopqrstuvwxyz234567abcdefghijklmnopqrstuv.onion:8080",
- "abcdefghijklmnopqrstuvwxyz234567abcdefghijklmnopqrstuv.onion:65535",
+ "abcdefghijklmnopqrstuvwxyz234567abcdefghijklmnopqrstuvwx.onion",
+ "abcdefghijklmnopqrstuvwxyz234567abcdefghijklmnopqrstuvwx.onion:80",
+ "abcdefghijklmnopqrstuvwxyz234567abcdefghijklmnopqrstuvwx.onion:8080",
+ "abcdefghijklmnopqrstuvwxyz234567abcdefghijklmnopqrstuvwx.onion:65535",
}
for _, addr := range validAddrs {
@@ -261,7 +261,7 @@ func TestConstants(t *testing.T) {
// Benchmark validation
func BenchmarkValidateOnionAddress_Valid(b *testing.B) {
- addr := "abcdefghijklmnopqrstuvwxyz234567abcdefghijklmnopqrstuv.onion:8080"
+ addr := "abcdefghijklmnopqrstuvwxyz234567abcdefghijklmnopqrstuvwx.onion:8080"
for i := 0; i < b.N; i++ {
ValidateOnionAddress(addr)
}
@@ -275,7 +275,7 @@ func BenchmarkValidateOnionAddress_Invalid(b *testing.B) {
}
func BenchmarkOnionRegex_Match(b *testing.B) {
- addr := "abcdefghijklmnopqrstuvwxyz234567abcdefghijklmnopqrstuv.onion:8080"
+ addr := "abcdefghijklmnopqrstuvwxyz234567abcdefghijklmnopqrstuvwx.onion:8080"
for i := 0; i < b.N; i++ {
OnionRegex.MatchString(addr)
}