Index: openssl/patches/x509_hash_name_algorithm_change.patch |
=================================================================== |
--- openssl/patches/x509_hash_name_algorithm_change.patch (revision 0) |
+++ openssl/patches/x509_hash_name_algorithm_change.patch (revision 0) |
@@ -0,0 +1,33 @@ |
+diff -burN android-openssl.orig/crypto/x509/by_dir.c android-openssl/crypto/x509/by_dir.c |
+--- android-openssl.orig/crypto/x509/by_dir.c 2013-03-25 11:30:17.775049611 +0100 |
++++ android-openssl/crypto/x509/by_dir.c 2013-03-25 11:31:52.936070192 +0100 |
+@@ -287,6 +287,8 @@ |
+ int ok=0; |
+ int i,j,k; |
+ unsigned long h; |
++ unsigned long hash_array[2]; |
++ int hash_index; |
+ BUF_MEM *b=NULL; |
+ X509_OBJECT stmp,*tmp; |
+ const char *postfix=""; |
+@@ -322,7 +324,11 @@ |
+ |
+ ctx=(BY_DIR *)xl->method_data; |
+ |
+- h=X509_NAME_hash(name); |
++ hash_array[0]=X509_NAME_hash(name); |
++ hash_array[1]=X509_NAME_hash_old(name); |
++ for (hash_index=0; hash_index < 2; ++hash_index) |
++ { |
++ h=hash_array[hash_index]; |
+ for (i=0; i < sk_BY_DIR_ENTRY_num(ctx->dirs); i++) |
+ { |
+ BY_DIR_ENTRY *ent; |
+@@ -476,6 +482,7 @@ |
+ goto finish; |
+ } |
+ } |
++ } |
+ finish: |
+ if (b != NULL) BUF_MEM_free(b); |
+ return(ok); |