瀏覽代碼

Merge pull request #196 from rod-hynes/master

Fix: "keepalive@openssh.com" requests incorrectly logged as invalid requests
Rod Hynes 9 年之前
父節點
當前提交
5e3cc08dba
共有 2 個文件被更改,包括 8 次插入2 次删除
  1. 2 1
      psiphon/server/api.go
  2. 6 1
      psiphon/server/tunnelServer.go

+ 2 - 1
psiphon/server/api.go

@@ -60,7 +60,8 @@ func sshAPIRequestHandler(
 	var params requestJSONObject
 	err := json.Unmarshal(requestPayload, &params)
 	if err != nil {
-		return nil, psiphon.ContextError(err)
+		return nil, psiphon.ContextError(
+			fmt.Errorf("invalid payload for request name: %s: %s", name, err))
 	}
 
 	switch name {

+ 6 - 1
psiphon/server/tunnelServer.go

@@ -641,7 +641,12 @@ func (sshClient *sshClient) runClient(
 
 		for request := range requests {
 
-			// requests are processed serially; responses must be sent in request order.
+			// Discard keepalive requests.
+			if request.Type == "keepalive@openssh.com" && request.WantReply == false {
+				continue
+			}
+
+			// Requests are processed serially; responses must be sent in request order.
 			responsePayload, err := sshAPIRequestHandler(
 				sshClient.sshServer.support,
 				sshClient.geoIPData,