You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2012/04/03 12:06:56 UTC

svn commit: r1308798 - /karaf/branches/karaf-2.2.x/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/KarafPublickeyAuthenticator.java

Author: jbonofre
Date: Tue Apr  3 10:06:55 2012
New Revision: 1308798

URL: http://svn.apache.org/viewvc?rev=1308798&view=rev
Log:
[KARAF-32] Fix JDK15 compile issue

Modified:
    karaf/branches/karaf-2.2.x/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/KarafPublickeyAuthenticator.java

Modified: karaf/branches/karaf-2.2.x/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/KarafPublickeyAuthenticator.java
URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.2.x/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/KarafPublickeyAuthenticator.java?rev=1308798&r1=1308797&r2=1308798&view=diff
==============================================================================
--- karaf/branches/karaf-2.2.x/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/KarafPublickeyAuthenticator.java (original)
+++ karaf/branches/karaf-2.2.x/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/KarafPublickeyAuthenticator.java Tue Apr  3 10:06:55 2012
@@ -212,22 +212,22 @@ public class KarafPublickeyAuthenticator
 
                     int n = getInt(rawKey, pos);
                     pos += 4;
-                    BigInteger p = new BigInteger(1, Arrays.copyOfRange(rawKey, pos, pos + n));
+                    BigInteger p = new BigInteger(1, KarafPublickeyAuthenticator.arraysCopyOfRange(rawKey, pos, pos + n));
                     pos += n;
 
                     n = getInt(rawKey, pos);
                     pos += 4;
-                    BigInteger q = new BigInteger(1, Arrays.copyOfRange(rawKey, pos, pos + n));
+                    BigInteger q = new BigInteger(1, KarafPublickeyAuthenticator.arraysCopyOfRange(rawKey, pos, pos + n));
                     pos += n;
 
                     n = getInt(rawKey, pos);
                     pos += 4;
-                    BigInteger g = new BigInteger(1, Arrays.copyOfRange(rawKey, pos, pos + n));
+                    BigInteger g = new BigInteger(1, KarafPublickeyAuthenticator.arraysCopyOfRange(rawKey, pos, pos + n));
                     pos += n;
 
                     n = getInt(rawKey, pos);
                     pos += 4;
-                    BigInteger y = new BigInteger(1, Arrays.copyOfRange(rawKey, pos, pos + n));
+                    BigInteger y = new BigInteger(1, KarafPublickeyAuthenticator.arraysCopyOfRange(rawKey, pos, pos + n));
                     pos += n;
 
                     if (pos != rawKey.length) {
@@ -241,12 +241,12 @@ public class KarafPublickeyAuthenticator
 
                     int n = getInt(rawKey, pos);
                     pos += 4;
-                    BigInteger e = new BigInteger(1, Arrays.copyOfRange(rawKey, pos, pos + n));
+                    BigInteger e = new BigInteger(1, KarafPublickeyAuthenticator.arraysCopyOfRange(rawKey, pos, pos + n));
                     pos += n;
 
                     n = getInt(rawKey, pos);
                     pos += 4;
-                    BigInteger modulus = new BigInteger(1, Arrays.copyOfRange(rawKey, pos, pos + n));
+                    BigInteger modulus = new BigInteger(1, KarafPublickeyAuthenticator.arraysCopyOfRange(rawKey, pos, pos + n));
                     pos += n;
 
                     if (pos != rawKey.length) {
@@ -300,4 +300,14 @@ public class KarafPublickeyAuthenticator
         }
     }
 
+    private static byte[] arraysCopyOfRange(byte[] original, int from, int to) {
+        int newLength = to - from;
+        if (newLength < 0)
+            throw new IllegalArgumentException(from + " > " + to);
+        byte[] copy = new byte[newLength];
+        System.arraycopy(original, from, copy, 0,
+                Math.min(original.length - from, newLength));
+        return copy;
+    }
+
 }