refact: remove unused codes
rabbitprincess committed
Mar 30, 2026 at 00:30 UTC
1432292dea9b2af7ab310dd1ad0db22efc57fd5e
8 files changed
+79
-112
portal/api_server.go
+3
-3
@@ -390,7 +390,7 @@ func (s *Server) handleQUICTunnelConn(conn *quic.Conn) {
390
return
391
}
392
_ = stream.SetReadDeadline(time.Time{})
393
- if strings.TrimSpace(msg.LeaseID) == "" || strings.TrimSpace(msg.ReverseToken) == "" {
393
+ if msg.LeaseID == "" || msg.ReverseToken == "" {
394
_ = json.NewEncoder(stream).Encode(types.QUICControlResponse{OK: false, Error: "invalid_control_message"})
395
_ = conn.CloseWithError(1, "invalid control message")
396
return
@@ -550,7 +550,7 @@ func (s *Server) renewLease(req types.RenewRequest, clientIP string) (types.Rene
550
if req.TTL > 0 {
551
ttl = time.Duration(req.TTL) * time.Second
552
}
553
- record, err := s.registry.Renew(req.LeaseID, req.ReverseToken, ttl, clientIP, utils.SanitizeReportedIP(req.ReportedIP))
553
+ record, err := s.registry.Renew(strings.TrimSpace(req.LeaseID), req.ReverseToken, ttl, clientIP, utils.SanitizeReportedIP(req.ReportedIP))
554
if err != nil {
555
return types.RenewResponse{}, err
556
}
@@ -559,7 +559,7 @@ func (s *Server) renewLease(req types.RenewRequest, clientIP string) (types.Rene
559
}
560
561
func (s *Server) unregisterLease(req types.UnregisterRequest) error {
562
- record, err := s.registry.Unregister(req.LeaseID, req.ReverseToken)
562
+ record, err := s.registry.Unregister(strings.TrimSpace(req.LeaseID), req.ReverseToken)
563
if err != nil {
564
return err
565
}
portal/discovery/discovery.go
+21
-40
@@ -18,12 +18,6 @@ import (
18
19
const defaultRequestTimeout = 15 * time.Second
20
21
-type RelayIdentity struct {
22
- RelayID string
23
- APIHTTPSAddr string
24
- SignerPublicKey string
25
-}
26
-
21
func NormalizeDescriptor(desc types.RelayDescriptor) (types.RelayDescriptor, error) {
22
desc.RelayID = strings.TrimSpace(desc.RelayID)
23
desc.SignerPublicKey = strings.ToLower(strings.TrimSpace(desc.SignerPublicKey))
@@ -188,57 +182,44 @@ func ValidateRelayDiscoveryResponse(resp types.DiscoveryResponse, now time.Time)
182
return self, relays, validateErr
183
}
184
191
-func RelayIdentityFromDescriptor(desc types.RelayDescriptor) (RelayIdentity, error) {
185
+// ValidateDescriptorTarget checks if a descriptor matches expected target identity.
186
+func ValidateDescriptorTarget(desc types.RelayDescriptor, targetRelayID, targetURL string) error {
187
normalized, err := NormalizeDescriptor(desc)
188
if err != nil {
194
- return RelayIdentity{}, err
195
- }
196
-
197
- identity := RelayIdentity{
198
- RelayID: strings.TrimSpace(normalized.RelayID),
199
- APIHTTPSAddr: strings.TrimSpace(normalized.APIHTTPSAddr),
200
- SignerPublicKey: strings.ToLower(strings.TrimSpace(normalized.SignerPublicKey)),
189
+ return err
190
}
202
- switch {
203
- case identity.RelayID == "":
204
- return RelayIdentity{}, errors.New("descriptor relay_id is required")
205
- case identity.APIHTTPSAddr == "":
206
- return RelayIdentity{}, errors.New("descriptor api_https_addr is required")
207
- case identity.SignerPublicKey == "":
208
- return RelayIdentity{}, errors.New("descriptor signer_public_key is required")
209
- }
210
- return identity, nil
211
-}
191
213
-func MatchTargetRelayIdentity(identity RelayIdentity, targetRelayID, targetURL string) error {
214
- targetRelayID = strings.TrimSpace(targetRelayID)
215
- if targetRelayID != "" && identity.RelayID != targetRelayID {
192
+ relayID := strings.TrimSpace(normalized.RelayID)
193
+ if targetRelayID != "" && relayID != targetRelayID {
194
return errors.New("descriptor relay_id does not match target relay")
195
}
196
219
- targetURL = strings.TrimSpace(targetURL)
220
- if targetURL == "" {
221
- return nil
197
+ if targetURL != "" {
198
+ normalizedTargetURL, err := utils.NormalizeRelayURL(targetURL)
199
+ if err != nil {
200
+ return err
201
+ }
202
+ if normalized.APIHTTPSAddr != normalizedTargetURL {
203
+ return errors.New("descriptor api_https_addr does not match target url")
204
+ }
205
}
206
+ return nil
207
+}
208
224
- normalizedTargetURL, err := utils.NormalizeRelayURL(targetURL)
209
+// ValidateDescriptorMatch checks if a descriptor matches a pinned descriptor.
210
+func ValidateDescriptorMatch(desc, pinned types.RelayDescriptor) error {
211
+ normalized, err := NormalizeDescriptor(desc)
212
if err != nil {
213
return err
214
}
228
- if identity.APIHTTPSAddr != normalizedTargetURL {
229
- return errors.New("descriptor api_https_addr does not match target url")
230
- }
231
- return nil
232
-}
215
234
-func MatchPinnedRelayIdentity(identity, pinned RelayIdentity) error {
235
- if relayID := strings.TrimSpace(pinned.RelayID); relayID != "" && identity.RelayID != relayID {
216
+ if relayID := strings.TrimSpace(pinned.RelayID); relayID != "" && normalized.RelayID != relayID {
217
return errors.New("descriptor relay_id does not match pinned relay id")
218
}
238
- if apiURL := strings.TrimSpace(pinned.APIHTTPSAddr); apiURL != "" && identity.APIHTTPSAddr != apiURL {
219
+ if apiURL := strings.TrimSpace(pinned.APIHTTPSAddr); apiURL != "" && normalized.APIHTTPSAddr != apiURL {
220
return errors.New("descriptor api_https_addr does not match pinned relay url")
221
}
241
- if signerPublicKey := strings.ToLower(strings.TrimSpace(pinned.SignerPublicKey)); signerPublicKey != "" && identity.SignerPublicKey != signerPublicKey {
222
+ if signerKey := strings.ToLower(strings.TrimSpace(pinned.SignerPublicKey)); signerKey != "" && normalized.SignerPublicKey != signerKey {
223
return errors.New("descriptor signer_public_key does not match pinned signer")
224
}
225
return nil
portal/discovery/relayset.go
+23
-27
@@ -45,7 +45,7 @@ type RelaySummary struct {
45
}
46
47
// RelaySet owns the shared relay discovery view: known relay URLs, pinned relay
48
-// identities, the latest validated descriptor seen for each relay, and common
48
+// descriptors, the latest validated descriptor seen for each relay, and common
49
// process-local relay state such as ban/reachability/failure tracking.
50
//
51
// Runtime-specific policy such as bootstrap classification, relay lifecycle, or
@@ -53,7 +53,7 @@ type RelaySummary struct {
53
type RelaySet struct {
54
mu sync.RWMutex
55
knownRelayURLs []string
56
- pinnedByRelayID map[string]RelayIdentity
56
+ pinnedByRelayID map[string]types.RelayDescriptor
57
relayIDsByURL map[string]string
58
relays map[string]RelayView
59
localByURL map[string]RelayLocalState
@@ -64,7 +64,7 @@ type RelaySet struct {
64
65
func NewRelaySet() *RelaySet {
66
return &RelaySet{
67
- pinnedByRelayID: make(map[string]RelayIdentity),
67
+ pinnedByRelayID: make(map[string]types.RelayDescriptor),
68
relayIDsByURL: make(map[string]string),
69
relays: make(map[string]RelayView),
70
localByURL: make(map[string]RelayLocalState),
@@ -448,17 +448,13 @@ func (s *RelaySet) pinTarget(targetRelayID, targetURL string, desc types.RelayDe
448
if s == nil {
449
return nil
450
}
451
- identity, err := RelayIdentityFromDescriptor(desc)
452
- if err != nil {
453
- return err
454
- }
455
- if err := MatchTargetRelayIdentity(identity, targetRelayID, targetURL); err != nil {
451
+ if err := ValidateDescriptorTarget(desc, targetRelayID, targetURL); err != nil {
452
return err
453
}
458
- if err := s.matchPinned(identity); err != nil {
454
+ if err := s.matchPinned(desc); err != nil {
455
return err
456
}
461
- s.pin(identity)
457
+ s.pin(desc)
458
return nil
459
}
460
@@ -466,20 +462,21 @@ func (s *RelaySet) registerDescriptor(desc types.RelayDescriptor, now time.Time)
462
if s == nil {
463
return "", false, false, nil
464
}
469
- identity, err := RelayIdentityFromDescriptor(desc)
465
+ normalized, err := NormalizeDescriptor(desc)
466
if err != nil {
467
return "", false, false, err
468
}
473
- if err := s.matchPinned(identity); err != nil {
469
+ if err := s.matchPinned(normalized); err != nil {
470
return "", false, false, err
471
}
476
- s.pin(identity)
472
+ s.pin(normalized)
473
474
if now.IsZero() {
475
now = time.Now().UTC()
476
}
477
482
- view, ok := s.relays[identity.RelayID]
478
+ relayID := normalized.RelayID
479
+ view, ok := s.relays[relayID]
480
added := !ok
481
if !ok {
482
view.FirstSeenAt = now
@@ -487,10 +484,10 @@ func (s *RelaySet) registerDescriptor(desc types.RelayDescriptor, now time.Time)
484
previousDescriptor := view.Descriptor
485
view.Descriptor = desc
486
view.LastSeenAt = now
490
- s.relays[identity.RelayID] = view
487
+ s.relays[relayID] = view
488
489
changed := added || !reflect.DeepEqual(previousDescriptor, desc)
493
- return identity.RelayID, added, changed, nil
490
+ return relayID, added, changed, nil
491
}
492
493
func relayDiscoveryURLs(selfDescriptor types.RelayDescriptor, relayDescriptors []types.RelayDescriptor) []string {
@@ -719,29 +716,28 @@ func (s *RelaySet) RecordDiscoveryFailure(relayID, relayURL string, err error, r
716
return false, "", localState.ConsecutiveFailures
717
}
718
722
-func (s *RelaySet) matchPinned(identity RelayIdentity) error {
719
+func (s *RelaySet) matchPinned(desc types.RelayDescriptor) error {
720
if s == nil {
721
return nil
722
}
726
- if pinned, ok := s.pinnedByRelayID[identity.RelayID]; ok {
727
- if err := MatchPinnedRelayIdentity(identity, pinned); err != nil {
723
+ if pinned, ok := s.pinnedByRelayID[desc.RelayID]; ok {
724
+ if err := ValidateDescriptorMatch(desc, pinned); err != nil {
725
return err
726
}
727
}
731
- if pinnedRelayID, ok := s.relayIDsByURL[identity.APIHTTPSAddr]; ok && pinnedRelayID != identity.RelayID {
732
- return MatchPinnedRelayIdentity(identity, RelayIdentity{
733
- RelayID: pinnedRelayID,
734
- APIHTTPSAddr: identity.APIHTTPSAddr,
735
- SignerPublicKey: "",
728
+ if pinnedRelayID, ok := s.relayIDsByURL[desc.APIHTTPSAddr]; ok && pinnedRelayID != desc.RelayID {
729
+ return ValidateDescriptorMatch(desc, types.RelayDescriptor{
730
+ RelayID: pinnedRelayID,
731
+ APIHTTPSAddr: desc.APIHTTPSAddr,
732
})
733
}
734
return nil
735
}
736
741
-func (s *RelaySet) pin(identity RelayIdentity) {
737
+func (s *RelaySet) pin(desc types.RelayDescriptor) {
738
if s == nil {
739
return
740
}
745
- s.pinnedByRelayID[identity.RelayID] = identity
746
- s.relayIDsByURL[identity.APIHTTPSAddr] = identity.RelayID
741
+ s.pinnedByRelayID[desc.RelayID] = desc
742
+ s.relayIDsByURL[desc.APIHTTPSAddr] = desc.RelayID
743
}
portal/lease.go
+12
-8
@@ -64,12 +64,16 @@ func (r *leaseRegistry) RunJanitor(ctx context.Context, interval time.Duration)
64
}
65
}
66
67
+func (r *leaseRegistry) lookup(leaseID string) (*leaseRecord, bool) {
68
+ record, ok := r.leaseByID[leaseID]
69
+ return record, ok
70
+}
71
+
72
func (r *leaseRegistry) Get(leaseID string) (*leaseRecord, bool) {
73
r.mu.RLock()
74
defer r.mu.RUnlock()
75
71
- record, ok := r.leaseByID[strings.TrimSpace(leaseID)]
72
- return record, ok
76
+ return r.lookup(leaseID)
77
}
78
79
func (r *leaseRegistry) Lookup(host string) (*leaseRecord, bool) {
@@ -94,7 +98,7 @@ func (r *leaseRegistry) Register(record *leaseRecord) error {
98
return errors.New("lease record is required")
99
}
100
97
- leaseID := strings.TrimSpace(record.ID)
101
+ leaseID := record.ID
102
if leaseID == "" {
103
return errors.New("lease id is required")
104
}
@@ -124,7 +128,7 @@ func (r *leaseRegistry) Renew(leaseID, reverseToken string, ttl time.Duration, c
128
r.mu.Lock()
129
defer r.mu.Unlock()
130
127
- record, ok := r.leaseByID[strings.TrimSpace(leaseID)]
131
+ record, ok := r.lookup(leaseID)
132
if !ok {
133
return nil, errLeaseNotFound
134
}
@@ -149,7 +153,7 @@ func (r *leaseRegistry) Unregister(leaseID, reverseToken string) (*leaseRecord,
153
r.mu.Lock()
154
defer r.mu.Unlock()
155
152
- record, ok := r.leaseByID[strings.TrimSpace(leaseID)]
156
+ record, ok := r.lookup(leaseID)
157
if !ok {
158
return nil, errLeaseNotFound
159
}
@@ -167,7 +171,7 @@ func (r *leaseRegistry) FindByID(leaseID string) (*leaseRecord, error) {
171
r.mu.RLock()
172
defer r.mu.RUnlock()
173
170
- record, ok := r.leaseByID[strings.TrimSpace(leaseID)]
174
+ record, ok := r.lookup(leaseID)
175
if !ok || time.Now().After(record.ExpiresAt) {
176
return nil, errLeaseNotFound
177
}
@@ -178,8 +182,8 @@ func (r *leaseRegistry) Touch(leaseID, clientIP string, now time.Time) *leaseRec
182
r.mu.Lock()
183
defer r.mu.Unlock()
184
181
- record := r.leaseByID[strings.TrimSpace(leaseID)]
182
- if record == nil {
185
+ record, ok := r.lookup(leaseID)
186
+ if !ok {
187
return nil
188
}
189
record.LastSeenAt = now
portal/policy/approver.go
-3
@@ -2,7 +2,6 @@ package policy
2
3
import (
4
"fmt"
5
- "strings"
5
"sync"
6
)
7
@@ -111,7 +110,6 @@ func (a *Approver) SetDecisions(approvedLeases, deniedLeases []string) {
110
111
approved := make(map[string]struct{}, len(approvedLeases))
112
for _, leaseID := range approvedLeases {
114
- leaseID = strings.TrimSpace(leaseID)
113
if leaseID == "" {
114
continue
115
}
@@ -120,7 +118,6 @@ func (a *Approver) SetDecisions(approvedLeases, deniedLeases []string) {
118
119
denied := make(map[string]struct{}, len(deniedLeases))
120
for _, leaseID := range deniedLeases {
123
- leaseID = strings.TrimSpace(leaseID)
121
if leaseID == "" {
122
continue
123
}
portal/policy/bps_manager.go
+5
-12
@@ -2,7 +2,6 @@ package policy
2
3
import (
4
"maps"
5
- "strings"
5
"sync"
6
)
7
@@ -18,22 +17,17 @@ func NewBPSManager() *BPSManager {
17
}
18
19
func (m *BPSManager) LeaseBPS(leaseID string) int64 {
21
- if m == nil {
20
+ if m == nil || leaseID == "" {
21
return 0
22
}
23
24
m.mu.RLock()
25
defer m.mu.RUnlock()
27
- return m.leaseBPS[strings.TrimSpace(leaseID)]
26
+ return m.leaseBPS[leaseID]
27
}
28
29
func (m *BPSManager) SetLeaseBPS(leaseID string, bps int64) {
31
- if m == nil {
32
- return
33
- }
34
-
35
- leaseID = strings.TrimSpace(leaseID)
36
- if leaseID == "" {
30
+ if m == nil || leaseID == "" {
31
return
32
}
33
@@ -47,13 +41,13 @@ func (m *BPSManager) SetLeaseBPS(leaseID string, bps int64) {
41
}
42
43
func (m *BPSManager) DeleteLeaseBPS(leaseID string) {
50
- if m == nil {
44
+ if m == nil || leaseID == "" {
45
return
46
}
47
48
m.mu.Lock()
49
defer m.mu.Unlock()
56
- delete(m.leaseBPS, strings.TrimSpace(leaseID))
50
+ delete(m.leaseBPS, leaseID)
51
}
52
53
func (m *BPSManager) LeaseBPSLimits() map[string]int64 {
@@ -76,7 +70,6 @@ func (m *BPSManager) SetLeaseBPSLimits(limits map[string]int64) {
70
71
next := make(map[string]int64, len(limits))
72
for leaseID, bps := range limits {
79
- leaseID = strings.TrimSpace(leaseID)
73
if leaseID == "" || bps <= 0 {
74
continue
75
}
portal/policy/ip_filter.go
+7
-4
@@ -66,8 +66,6 @@ func (f *IPFilter) SetBannedIPs(ips []string) {
66
func (f *IPFilter) RegisterLeaseIP(leaseID, ip string) {
67
f.mu.Lock()
68
defer f.mu.Unlock()
69
- leaseID = strings.TrimSpace(leaseID)
70
- ip = strings.TrimSpace(ip)
69
if leaseID == "" || ip == "" {
70
return
71
}
@@ -90,14 +88,19 @@ func (f *IPFilter) RegisterLeaseIP(leaseID, ip string) {
88
func (f *IPFilter) LeaseIP(leaseID string) string {
89
f.mu.RLock()
90
defer f.mu.RUnlock()
93
- return f.leaseToIP[strings.TrimSpace(leaseID)]
91
+ if leaseID == "" {
92
+ return ""
93
+ }
94
+ return f.leaseToIP[leaseID]
95
}
96
97
func (f *IPFilter) RemoveLeaseIP(leaseID string) {
98
f.mu.Lock()
99
defer f.mu.Unlock()
100
100
- leaseID = strings.TrimSpace(leaseID)
101
+ if leaseID == "" {
102
+ return
103
+ }
104
ip, ok := f.leaseToIP[leaseID]
105
if !ok {
106
return
portal/policy/runtime.go
+8
-15
@@ -1,7 +1,6 @@
1
package policy
2
3
import (
4
- "strings"
4
"sync"
5
)
6
@@ -46,11 +45,7 @@ func (r *Runtime) BPSManager() *BPSManager {
45
}
46
47
func (r *Runtime) BanLease(leaseID string) {
49
- if r == nil {
50
- return
51
- }
52
- leaseID = strings.TrimSpace(leaseID)
53
- if leaseID == "" {
48
+ if r == nil || leaseID == "" {
49
return
50
}
51
r.mu.Lock()
@@ -59,22 +54,21 @@ func (r *Runtime) BanLease(leaseID string) {
54
}
55
56
func (r *Runtime) UnbanLease(leaseID string) {
62
- if r == nil {
57
+ if r == nil || leaseID == "" {
58
return
59
}
65
- leaseID = strings.TrimSpace(leaseID)
60
r.mu.Lock()
61
defer r.mu.Unlock()
62
delete(r.bannedLeases, leaseID)
63
}
64
65
func (r *Runtime) IsLeaseBanned(leaseID string) bool {
72
- if r == nil {
66
+ if r == nil || leaseID == "" {
67
return false
68
}
69
r.mu.RLock()
70
defer r.mu.RUnlock()
77
- _, ok := r.bannedLeases[strings.TrimSpace(leaseID)]
71
+ _, ok := r.bannedLeases[leaseID]
72
return ok
73
}
74
@@ -98,7 +92,6 @@ func (r *Runtime) SetBannedLeases(leaseIDs []string) {
92
93
bannedLeases := make(map[string]struct{}, len(leaseIDs))
94
for _, leaseID := range leaseIDs {
101
- leaseID = strings.TrimSpace(leaseID)
95
if leaseID == "" {
96
continue
97
}
@@ -111,20 +104,20 @@ func (r *Runtime) SetBannedLeases(leaseIDs []string) {
104
}
105
106
func (r *Runtime) EffectiveApproval(leaseID string) bool {
114
- if r == nil || r.approver == nil {
107
+ if r == nil || r.approver == nil || leaseID == "" {
108
return true
109
}
110
if r.approver.Mode() == ModeAuto {
111
return true
112
}
120
- return r.approver.IsApproved(strings.TrimSpace(leaseID))
113
+ return r.approver.IsApproved(leaseID)
114
}
115
116
func (r *Runtime) IsLeaseDenied(leaseID string) bool {
124
- if r == nil || r.approver == nil {
117
+ if r == nil || r.approver == nil || leaseID == "" {
118
return false
119
}
127
- return r.approver.IsDenied(strings.TrimSpace(leaseID))
120
+ return r.approver.IsDenied(leaseID)
121
}
122
123
func (r *Runtime) IsLeaseRoutable(leaseID string) bool {