Jelajahi Sumber

Fix: legacy clients expect empty arrays, not null, in handshake
response.

Rod Hynes 9 tahun lalu
induk
melakukan
90f9c1dd29
2 mengubah file dengan 3 tambahan dan 2 penghapusan
  1. 1 0
      psiphon/server/api.go
  2. 2 2
      psiphon/server/psinet/psinet.go

+ 1 - 0
psiphon/server/api.go

@@ -171,6 +171,7 @@ func handshakeAPIRequestHandler(
 	handshakeResponse := common.HandshakeResponse{
 		Homepages:            db.GetRandomHomepage(sponsorID, geoIPData.Country, isMobile),
 		UpgradeClientVersion: db.GetUpgradeClientVersion(clientVersion, normalizedPlatform),
+		PageViewRegexes:      make([]map[string]string, 0),
 		HttpsRequestRegexes:  db.GetHttpsRequestRegexes(sponsorID),
 		EncodedServerList:    db.DiscoverServers(geoIPData.DiscoveryValue),
 		ClientRegion:         geoIPData.Country,

+ 2 - 2
psiphon/server/psinet/psinet.go

@@ -157,9 +157,9 @@ func (db *Database) GetRandomHomepage(sponsorID, clientRegion string, isMobilePl
 	homepages := db.GetHomepages(sponsorID, clientRegion, isMobilePlatform)
 	if len(homepages) > 0 {
 		index := rand.Intn(len(homepages))
-		return homepages[index:index+1]
+		return homepages[index : index+1]
 	}
-	return nil
+	return homepages
 }
 
 // GetHomepages returns a list of home pages for the specified sponsor,