# # patch "crypto/ocaml-openssl.c" # from [bd3288f3e6bd88bb3eadf596387c64d473a311cb] # to [d8e9766c3e2818b722b4582213ebc1e21d1d8f94] # # patch "mlsqlite/ocaml-sqlite3.c" # from [4ffd05f56bd87954d1295b3b1fbd46e24de422cf] # to [6a916beee78d7ca2f9d9293703503409051b3e9c] # --- crypto/ocaml-openssl.c +++ crypto/ocaml-openssl.c @@ -14,6 +14,7 @@ #include #include +#define UString_val(s) ((unsigned char *) (s)) #define block_size(s) (((s) - 1) / sizeof (value) + 1) #define RC4_val(v) ((RC4_KEY *)(v)) @@ -25,7 +26,7 @@ value k; k = caml_alloc_small (block_size (sizeof (RC4_KEY)), Abstract_tag); - RC4_set_key (RC4_val (k), caml_string_length (s), String_val (s)); + RC4_set_key (RC4_val (k), caml_string_length (s), UString_val (s)); CAMLreturn (k); } @@ -36,7 +37,7 @@ len = caml_string_length (in_s); if (caml_string_length (out_s) != len) caml_invalid_argument ("Crypto.rc4: string sizes differ"); - RC4 (RC4_val (key), len, String_val (in_s), String_val (out_s)); + RC4 (RC4_val (key), len, UString_val (in_s), UString_val (out_s)); return Val_unit; } @@ -46,7 +47,7 @@ CAMLparam1 (msg); value o; o = caml_alloc_string (SHA_DIGEST_LENGTH); - SHA1 (String_val (msg), caml_string_length (msg), String_val (o)); + SHA1 (UString_val (msg), caml_string_length (msg), UString_val (o)); CAMLreturn (o); } @@ -99,7 +100,7 @@ unsigned char *p; RSA *r_key; - p = String_val (s); + p = UString_val (s); r_key = NULL; if (! d2i_RSA_PUBKEY (&r_key, &p, caml_string_length (s))) ml_crypto_error ("d2i_RSA_PUBKEY"); @@ -115,7 +116,7 @@ EVP_PKEY *e_key; RSA *r_key; - p = String_val (s); + p = UString_val (s); p_key = NULL; if (! d2i_PKCS8_PRIV_KEY_INFO (&p_key, &p, caml_string_length (s))) ml_crypto_error ("d2i_PKCS8_PRIV_KEY_INFO"); @@ -156,8 +157,8 @@ { unsigned int siglen; if (! RSA_sign (NID_of_dtype (d_type), - String_val (md), caml_string_length (md), - String_val (sig), &siglen, + UString_val (md), caml_string_length (md), + UString_val (sig), &siglen, RSA_val (key))) ml_crypto_error ("RSA_sign"); return Val_int (siglen); @@ -167,7 +168,7 @@ ml_RSA_verify (value key, value d_type, value md, value sig) { return Val_bool (RSA_verify (NID_of_dtype (d_type), - String_val (md), caml_string_length (md), - String_val (sig), caml_string_length (sig), + UString_val (md), caml_string_length (md), + UString_val (sig), caml_string_length (sig), RSA_val (key))); } --- mlsqlite/ocaml-sqlite3.c +++ mlsqlite/ocaml-sqlite3.c @@ -510,7 +510,7 @@ ml_sqlite3_value_text (value v) { SQLITE3_VALUE; - return copy_string (sqlite3_value_text (val)); + return copy_string ((char *) sqlite3_value_text (val)); } #define MLTAG_INTEGER 0x2ddf233d