Просмотр исходного кода

Fix: use conn.firstUnderlyingConn

conn.meekSession.underlyingConn is not safe for concurrent use
mirokuratczyk 2 лет назад
Родитель
Сommit
2d27cdc07b
1 измененных файлов с 2 добавлено и 2 удалено
  1. 2 2
      psiphon/server/meek.go

+ 2 - 2
psiphon/server/meek.go

@@ -1650,7 +1650,7 @@ func (conn *meekConn) SetReplay(PRNG *prng.PRNG) {
 
 	if conn.meekServer.normalizer != nil {
 		// The underlying conn is wrapped with a normalizer.
-		normalizer, ok := conn.meekSession.underlyingConn.(*transforms.HTTPNormalizer)
+		normalizer, ok := underlyingConn.(*transforms.HTTPNormalizer)
 		if ok {
 			underlyingConn = normalizer.Conn
 		}
@@ -1674,7 +1674,7 @@ func (conn *meekConn) GetReplay() (*prng.Seed, bool) {
 
 	if conn.meekServer.normalizer != nil {
 		// The underlying conn is wrapped with a normalizer.
-		normalizer, ok := conn.meekSession.underlyingConn.(*transforms.HTTPNormalizer)
+		normalizer, ok := underlyingConn.(*transforms.HTTPNormalizer)
 		if ok {
 			underlyingConn = normalizer.Conn
 		}