浏览代码

minor, fixed a missing disconnect

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@8633 8c9fc860-2736-0410-a75d-ab315db34111
eth.guenter 6 年之前
父节点
当前提交
9ee175bf47
共有 1 个文件被更改,包括 10 次插入14 次删除
  1. 10 14
      source/SSHAuthorize.Mod

+ 10 - 14
source/SSHAuthorize.Mod

@@ -279,27 +279,23 @@ VAR
 	(** Open an outhorized SSH connection, returns NIL on failure *)
 	PROCEDURE OpenConnection*( CONST host, user: ARRAY OF CHAR ): Connection;
 	VAR
-		ssh: Connection; authorized: BOOLEAN;
+		conn: Connection; authorized: BOOLEAN;
 	BEGIN
-		NEW( ssh, host );
-		IF ssh.state = Connected THEN
-			IF RequestService( ssh, "ssh-userauth" ) THEN
-				authorized := RequestAuthorizeNone( ssh, user );
+		NEW( conn, host );
+		IF conn.state = Connected THEN
+			IF RequestService( conn, "ssh-userauth" ) THEN
+				authorized := RequestAuthorizeNone( conn, user );
 				IF ~authorized THEN
 					Out.String( "trying public key authentication" ); Out.Ln;
-					authorized := AuthorizeKey( ssh, user );
+					authorized := AuthorizeKey( conn, user );
 				END;
 				IF ~authorized THEN
 					Out.String( "trying password authentication" ); Out.Ln;
-					authorized := AuthorizePasswd( ssh, host, user )
+					authorized := AuthorizePasswd( conn, host, user )
 				END;
-				IF ~authorized THEN
-					ssh.Disconnect( 11, "" );  RETURN NIL
-				END;
-				RETURN ssh
-			ELSE
-				RETURN NIL
-			END
+				IF authorized THEN  RETURN conn  END
+			END;
+			conn.Disconnect( 11, "" );  RETURN NIL
 		ELSE
 			RETURN NIL
 		END