Przeglądaj źródła

Propagate network to proxy object

tags/v2.0.0-rc1
9seconds 5 lat temu
rodzic
commit
40b483357f
2 zmienionych plików z 9 dodań i 4 usunięć
  1. 3
    0
      mtglib/init.go
  2. 6
    4
      mtglib/proxy.go

+ 3
- 0
mtglib/init.go Wyświetl plik

17
 	ErrIPBlocklistIsNotDefined        = errors.New("ip blocklist is not defined")
17
 	ErrIPBlocklistIsNotDefined        = errors.New("ip blocklist is not defined")
18
 	ErrEventStreamIsNotDefined        = errors.New("event stream is not defined")
18
 	ErrEventStreamIsNotDefined        = errors.New("event stream is not defined")
19
 	ErrLoggerIsNotDefined             = errors.New("logger is not defined")
19
 	ErrLoggerIsNotDefined             = errors.New("logger is not defined")
20
+
21
+	errCannotSendWelcomePacket = errors.New("cannot send welcome packet")
22
+	errReplayAttackDetected    = errors.New("replay attack detected")
20
 )
23
 )
21
 
24
 
22
 const (
25
 const (

+ 6
- 4
mtglib/proxy.go Wyświetl plik

27
 	telegram    *telegram.Telegram
27
 	telegram    *telegram.Telegram
28
 
28
 
29
 	secret             Secret
29
 	secret             Secret
30
+	network            Network
30
 	antiReplayCache    AntiReplayCache
31
 	antiReplayCache    AntiReplayCache
31
 	timeAttackDetector TimeAttackDetector
32
 	timeAttackDetector TimeAttackDetector
32
 	ipBlocklist        IPBlocklist
33
 	ipBlocklist        IPBlocklist
139
 	}
140
 	}
140
 
141
 
141
 	if p.antiReplayCache.SeenBefore(hello.SessionID) {
142
 	if p.antiReplayCache.SeenBefore(hello.SessionID) {
142
-		p.logger.Warning("anti replay attack was detected")
143
-
144
-		return fmt.Errorf("anti replay attack from %s", ctx.ClientIP().String())
143
+		return errReplayAttackDetected
145
 	}
144
 	}
146
 
145
 
147
 	if err := faketls.SendWelcomePacket(ctx.clientConn, p.secret.Key[:], hello); err != nil {
146
 	if err := faketls.SendWelcomePacket(ctx.clientConn, p.secret.Key[:], hello); err != nil {
148
-		return fmt.Errorf("cannot send a welcome packet: %w", err)
147
+		p.logger.InfoError("cannot send welcome packet", err)
148
+
149
+		return errCannotSendWelcomePacket
149
 	}
150
 	}
150
 
151
 
151
 	ctx.clientConn = &faketls.Conn{
152
 	ctx.clientConn = &faketls.Conn{
249
 		ctx:                ctx,
250
 		ctx:                ctx,
250
 		ctxCancel:          cancel,
251
 		ctxCancel:          cancel,
251
 		secret:             opts.Secret,
252
 		secret:             opts.Secret,
253
+		network:            opts.Network,
252
 		antiReplayCache:    opts.AntiReplayCache,
254
 		antiReplayCache:    opts.AntiReplayCache,
253
 		timeAttackDetector: opts.TimeAttackDetector,
255
 		timeAttackDetector: opts.TimeAttackDetector,
254
 		ipBlocklist:        opts.IPBlocklist,
256
 		ipBlocklist:        opts.IPBlocklist,

Ładowanie…
Anuluj
Zapisz