Tracking libcore change to use longs instead of ints to store pointers in OpenSSL binding

Change-Id: Ibe48a3e6a5356dad5832eac90d23418d89ad7486
diff --git a/bcprov/src/main/java/org/bouncycastle/crypto/digests/OpenSSLDigest.java b/bcprov/src/main/java/org/bouncycastle/crypto/digests/OpenSSLDigest.java
index d2f9f25..3e7c0e7 100644
--- a/bcprov/src/main/java/org/bouncycastle/crypto/digests/OpenSSLDigest.java
+++ b/bcprov/src/main/java/org/bouncycastle/crypto/digests/OpenSSLDigest.java
@@ -32,7 +32,7 @@
     /**
      * Holds the EVP_MD for the hashing algorithm, e.g. EVP_get_digestbyname("sha1");
      */
-    private final int evp_md;
+    private final long evp_md;
 
     /**
      * Holds the output size of the message digest.
@@ -49,7 +49,7 @@
      * lazily initialized to avoid having to reallocate on reset when
      * its unlikely to be reused.
      */
-    private int ctx;
+    private long ctx;
 
     /**
      * Holds a dummy buffer for writing single bytes to the digest.
@@ -60,7 +60,7 @@
      * Creates a new OpenSSLMessageDigest instance for the given algorithm
      * name.
      */
-    private OpenSSLDigest(String algorithm, int evp_md, int size, int blockSize) {
+    private OpenSSLDigest(String algorithm, long evp_md, int size, int blockSize) {
         this.algorithm = algorithm;
         this.evp_md = evp_md;
         this.size = size;
@@ -99,7 +99,7 @@
         return i;
     }
 
-    private int getCtx() {
+    private long getCtx() {
         if (ctx == 0) {
             ctx = NativeCrypto.EVP_DigestInit(evp_md);
         }
@@ -123,35 +123,35 @@
     }
 
     public static class MD5 extends OpenSSLDigest {
-        private static final int EVP_MD = NativeCrypto.EVP_get_digestbyname("md5");
+        private static final long EVP_MD = NativeCrypto.EVP_get_digestbyname("md5");
         private static final int SIZE = NativeCrypto.EVP_MD_size(EVP_MD);
         private static final int BLOCK_SIZE = NativeCrypto.EVP_MD_block_size(EVP_MD);
         public MD5() { super("MD5", EVP_MD, SIZE, BLOCK_SIZE); }
     }
 
     public static class SHA1 extends OpenSSLDigest {
-        private static final int EVP_MD = NativeCrypto.EVP_get_digestbyname("sha1");
+        private static final long EVP_MD = NativeCrypto.EVP_get_digestbyname("sha1");
         private static final int SIZE = NativeCrypto.EVP_MD_size(EVP_MD);
         private static final int BLOCK_SIZE = NativeCrypto.EVP_MD_block_size(EVP_MD);
         public SHA1() { super("SHA-1", EVP_MD, SIZE, BLOCK_SIZE); }
     }
 
     public static class SHA256 extends OpenSSLDigest {
-        private static final int EVP_MD = NativeCrypto.EVP_get_digestbyname("sha256");
+        private static final long EVP_MD = NativeCrypto.EVP_get_digestbyname("sha256");
         private static final int SIZE = NativeCrypto.EVP_MD_size(EVP_MD);
         private static final int BLOCK_SIZE = NativeCrypto.EVP_MD_block_size(EVP_MD);
         public SHA256() { super("SHA-256", EVP_MD, SIZE, BLOCK_SIZE); }
     }
 
     public static class SHA384 extends OpenSSLDigest {
-        private static final int EVP_MD = NativeCrypto.EVP_get_digestbyname("sha384");
+        private static final long EVP_MD = NativeCrypto.EVP_get_digestbyname("sha384");
         private static final int SIZE = NativeCrypto.EVP_MD_size(EVP_MD);
         private static final int BLOCK_SIZE = NativeCrypto.EVP_MD_block_size(EVP_MD);
         public SHA384() { super("SHA-384", EVP_MD, SIZE, BLOCK_SIZE); }
     }
 
     public static class SHA512 extends OpenSSLDigest {
-        private static final int EVP_MD = NativeCrypto.EVP_get_digestbyname("sha512");
+        private static final long EVP_MD = NativeCrypto.EVP_get_digestbyname("sha512");
         private static final int SIZE = NativeCrypto.EVP_MD_size(EVP_MD);
         private static final int BLOCK_SIZE = NativeCrypto.EVP_MD_block_size(EVP_MD);
         public SHA512() { super("SHA-512", EVP_MD, SIZE, BLOCK_SIZE); }
diff --git a/patches/bcprov.patch b/patches/bcprov.patch
index 628b381..c1d1bcc 100644
--- a/patches/bcprov.patch
+++ b/patches/bcprov.patch
@@ -508,7 +508,7 @@
 +}
 diff -Naur bcprov-jdk15on-148.orig/org/bouncycastle/crypto/digests/OpenSSLDigest.java bcprov-jdk15on-148/org/bouncycastle/crypto/digests/OpenSSLDigest.java
 --- bcprov-jdk15on-148.orig/org/bouncycastle/crypto/digests/OpenSSLDigest.java	1970-01-01 00:00:00.000000000 +0000
-+++ bcprov-jdk15on-148/org/bouncycastle/crypto/digests/OpenSSLDigest.java	2012-09-17 23:04:47.000000000 +0000
++++ bcprov-jdk15on-148/org/bouncycastle/crypto/digests/OpenSSLDigest.java	2013-02-28 01:42:11.000000000 +0000
 @@ -0,0 +1,159 @@
 +/*
 + * Copyright (C) 2008 The Android Open Source Project
@@ -544,7 +544,7 @@
 +    /**
 +     * Holds the EVP_MD for the hashing algorithm, e.g. EVP_get_digestbyname("sha1");
 +     */
-+    private final int evp_md;
++    private final long evp_md;
 +
 +    /**
 +     * Holds the output size of the message digest.
@@ -561,7 +561,7 @@
 +     * lazily initialized to avoid having to reallocate on reset when
 +     * its unlikely to be reused.
 +     */
-+    private int ctx;
++    private long ctx;
 +
 +    /**
 +     * Holds a dummy buffer for writing single bytes to the digest.
@@ -572,7 +572,7 @@
 +     * Creates a new OpenSSLMessageDigest instance for the given algorithm
 +     * name.
 +     */
-+    private OpenSSLDigest(String algorithm, int evp_md, int size, int blockSize) {
++    private OpenSSLDigest(String algorithm, long evp_md, int size, int blockSize) {
 +        this.algorithm = algorithm;
 +        this.evp_md = evp_md;
 +        this.size = size;
@@ -611,7 +611,7 @@
 +        return i;
 +    }
 +
-+    private int getCtx() {
++    private long getCtx() {
 +        if (ctx == 0) {
 +            ctx = NativeCrypto.EVP_DigestInit(evp_md);
 +        }
@@ -635,35 +635,35 @@
 +    }
 +
 +    public static class MD5 extends OpenSSLDigest {
-+        private static final int EVP_MD = NativeCrypto.EVP_get_digestbyname("md5");
++        private static final long EVP_MD = NativeCrypto.EVP_get_digestbyname("md5");
 +        private static final int SIZE = NativeCrypto.EVP_MD_size(EVP_MD);
 +        private static final int BLOCK_SIZE = NativeCrypto.EVP_MD_block_size(EVP_MD);
 +        public MD5() { super("MD5", EVP_MD, SIZE, BLOCK_SIZE); }
 +    }
 +
 +    public static class SHA1 extends OpenSSLDigest {
-+        private static final int EVP_MD = NativeCrypto.EVP_get_digestbyname("sha1");
++        private static final long EVP_MD = NativeCrypto.EVP_get_digestbyname("sha1");
 +        private static final int SIZE = NativeCrypto.EVP_MD_size(EVP_MD);
 +        private static final int BLOCK_SIZE = NativeCrypto.EVP_MD_block_size(EVP_MD);
 +        public SHA1() { super("SHA-1", EVP_MD, SIZE, BLOCK_SIZE); }
 +    }
 +
 +    public static class SHA256 extends OpenSSLDigest {
-+        private static final int EVP_MD = NativeCrypto.EVP_get_digestbyname("sha256");
++        private static final long EVP_MD = NativeCrypto.EVP_get_digestbyname("sha256");
 +        private static final int SIZE = NativeCrypto.EVP_MD_size(EVP_MD);
 +        private static final int BLOCK_SIZE = NativeCrypto.EVP_MD_block_size(EVP_MD);
 +        public SHA256() { super("SHA-256", EVP_MD, SIZE, BLOCK_SIZE); }
 +    }
 +
 +    public static class SHA384 extends OpenSSLDigest {
-+        private static final int EVP_MD = NativeCrypto.EVP_get_digestbyname("sha384");
++        private static final long EVP_MD = NativeCrypto.EVP_get_digestbyname("sha384");
 +        private static final int SIZE = NativeCrypto.EVP_MD_size(EVP_MD);
 +        private static final int BLOCK_SIZE = NativeCrypto.EVP_MD_block_size(EVP_MD);
 +        public SHA384() { super("SHA-384", EVP_MD, SIZE, BLOCK_SIZE); }
 +    }
 +
 +    public static class SHA512 extends OpenSSLDigest {
-+        private static final int EVP_MD = NativeCrypto.EVP_get_digestbyname("sha512");
++        private static final long EVP_MD = NativeCrypto.EVP_get_digestbyname("sha512");
 +        private static final int SIZE = NativeCrypto.EVP_MD_size(EVP_MD);
 +        private static final int BLOCK_SIZE = NativeCrypto.EVP_MD_block_size(EVP_MD);
 +        public SHA512() { super("SHA-512", EVP_MD, SIZE, BLOCK_SIZE); }