diff --git a/lib/jsch-0.1.50.jar b/lib/jsch-0.1.50.jar index 85c044f21698..de6cd0cda26b 100644 Binary files a/lib/jsch-0.1.50.jar and b/lib/jsch-0.1.50.jar differ diff --git a/lib/jsch-ruby-14125.pch b/lib/jsch-ruby-14125.pch new file mode 100644 index 000000000000..7744443ca436 --- /dev/null +++ b/lib/jsch-ruby-14125.pch @@ -0,0 +1,40 @@ +--- src/main/java/com/jcraft/jsch/Session.java 2013-05-08 01:10:10.000000000 +0400 ++++ src/main/java/com/jcraft/jsch/Session.java 2013-10-04 16:45:08.489140895 +0400 +@@ -798,21 +798,23 @@ + HostKey[] keys = + hkr.getHostKey(chost, + (key_type.equals("DSA") ? "ssh-dss" : "ssh-rsa")); +- String _key= Util.byte2str(Util.toBase64(K_S, 0, K_S.length)); +- for(int j=0; j< keys.length; j++){ +- if(keys[i].getKey().equals(_key) && +- keys[j].getMarker().equals("@revoked")){ +- if(userinfo!=null){ +- userinfo.showMessage( +-"The "+ key_type +" host key for "+ host +" is marked as revoked.\n"+ +-"This could mean that a stolen key is being used to "+ +-"impersonate this host."); ++ if(keys != null){ ++ String _key= Util.byte2str(Util.toBase64(K_S, 0, K_S.length)); ++ for(int j=0; j< keys.length; j++){ ++ if(keys[i].getKey().equals(_key) && ++ keys[j].getMarker().equals("@revoked")){ ++ if(userinfo!=null){ ++ userinfo.showMessage( ++ "The "+ key_type +" host key for "+ host +" is marked as revoked.\n"+ ++ "This could mean that a stolen key is being used to "+ ++ "impersonate this host."); ++ } ++ if(JSch.getLogger().isEnabled(Logger.INFO)){ ++ JSch.getLogger().log(Logger.INFO, ++ "Host '"+host+"' has provided revoked key."); ++ } ++ throw new JSchException("revoked HostKey: "+host); + } +- if(JSch.getLogger().isEnabled(Logger.INFO)){ +- JSch.getLogger().log(Logger.INFO, +- "Host '"+host+"' has provided revoked key."); +- } +- throw new JSchException("revoked HostKey: "+host); + } + } + } diff --git a/lib/src/jsch-0.1.50.zip b/lib/src/jsch-0.1.50.zip index 09314fd6fb6d..a90c40d2f272 100644 Binary files a/lib/src/jsch-0.1.50.zip and b/lib/src/jsch-0.1.50.zip differ