- Functions requiring File System functions can now be disables by undefining POLARSSL_FS_IO
diff --git a/library/md_wrap.c b/library/md_wrap.c
index bb87c63..64d8bb6 100644
--- a/library/md_wrap.c
+++ b/library/md_wrap.c
@@ -58,6 +58,17 @@
md2_finish( (md2_context *) ctx, output );
}
+int md2_file_wrap( const char *path, unsigned char *output )
+{
+#if defined(POLARSSL_FS_IO)
+ return md2_file( path, output );
+#else
+ ((void) path);
+ ((void) output);
+ return POLARSSL_ERR_MD_FEATURE_UNAVAILABLE;
+#endif
+}
+
static void md2_hmac_starts_wrap( void *ctx, const unsigned char *key, size_t keylen )
{
md2_hmac_starts( (md2_context *) ctx, key, keylen );
@@ -96,7 +107,7 @@
md2_update_wrap,
md2_finish_wrap,
md2,
- md2_file,
+ md2_file_wrap,
md2_hmac_starts_wrap,
md2_hmac_update_wrap,
md2_hmac_finish_wrap,
@@ -125,6 +136,17 @@
md4_finish( (md4_context *) ctx, output );
}
+int md4_file_wrap( const char *path, unsigned char *output )
+{
+#if defined(POLARSSL_FS_IO)
+ return md4_file( path, output );
+#else
+ ((void) path);
+ ((void) output);
+ return POLARSSL_ERR_MD_FEATURE_UNAVAILABLE;
+#endif
+}
+
void md4_hmac_starts_wrap( void *ctx, const unsigned char *key, size_t keylen )
{
md4_hmac_starts( (md4_context *) ctx, key, keylen );
@@ -163,7 +185,7 @@
md4_update_wrap,
md4_finish_wrap,
md4,
- md4_file,
+ md4_file_wrap,
md4_hmac_starts_wrap,
md4_hmac_update_wrap,
md4_hmac_finish_wrap,
@@ -192,6 +214,17 @@
md5_finish( (md5_context *) ctx, output );
}
+int md5_file_wrap( const char *path, unsigned char *output )
+{
+#if defined(POLARSSL_FS_IO)
+ return md5_file( path, output );
+#else
+ ((void) path);
+ ((void) output);
+ return POLARSSL_ERR_MD_FEATURE_UNAVAILABLE;
+#endif
+}
+
static void md5_hmac_starts_wrap( void *ctx, const unsigned char *key, size_t keylen )
{
md5_hmac_starts( (md5_context *) ctx, key, keylen );
@@ -230,7 +263,7 @@
md5_update_wrap,
md5_finish_wrap,
md5,
- md5_file,
+ md5_file_wrap,
md5_hmac_starts_wrap,
md5_hmac_update_wrap,
md5_hmac_finish_wrap,
@@ -259,6 +292,17 @@
sha1_finish( (sha1_context *) ctx, output );
}
+int sha1_file_wrap( const char *path, unsigned char *output )
+{
+#if defined(POLARSSL_FS_IO)
+ return sha1_file( path, output );
+#else
+ ((void) path);
+ ((void) output);
+ return POLARSSL_ERR_MD_FEATURE_UNAVAILABLE;
+#endif
+}
+
void sha1_hmac_starts_wrap( void *ctx, const unsigned char *key, size_t keylen )
{
sha1_hmac_starts( (sha1_context *) ctx, key, keylen );
@@ -297,7 +341,7 @@
sha1_update_wrap,
sha1_finish_wrap,
sha1,
- sha1_file,
+ sha1_file_wrap,
sha1_hmac_starts_wrap,
sha1_hmac_update_wrap,
sha1_hmac_finish_wrap,
@@ -337,7 +381,13 @@
int sha224_file_wrap( const char *path, unsigned char *output )
{
+#if defined(POLARSSL_FS_IO)
return sha2_file( path, output, 1 );
+#else
+ ((void) path);
+ ((void) output);
+ return POLARSSL_ERR_MD_FEATURE_UNAVAILABLE;
+#endif
}
void sha224_hmac_starts_wrap( void *ctx, const unsigned char *key, size_t keylen )
@@ -418,7 +468,13 @@
int sha256_file_wrap( const char *path, unsigned char *output )
{
+#if defined(POLARSSL_FS_IO)
return sha2_file( path, output, 0 );
+#else
+ ((void) path);
+ ((void) output);
+ return POLARSSL_ERR_MD_FEATURE_UNAVAILABLE;
+#endif
}
void sha256_hmac_starts_wrap( void *ctx, const unsigned char *key, size_t keylen )
@@ -503,7 +559,13 @@
int sha384_file_wrap( const char *path, unsigned char *output )
{
+#if defined(POLARSSL_FS_IO)
return sha4_file( path, output, 1 );
+#else
+ ((void) path);
+ ((void) output);
+ return POLARSSL_ERR_MD_FEATURE_UNAVAILABLE;
+#endif
}
void sha384_hmac_starts_wrap( void *ctx, const unsigned char *key, size_t keylen )
@@ -584,7 +646,13 @@
int sha512_file_wrap( const char *path, unsigned char *output )
{
+#if defined(POLARSSL_FS_IO)
return sha4_file( path, output, 0 );
+#else
+ ((void) path);
+ ((void) output);
+ return POLARSSL_ERR_MD_FEATURE_UNAVAILABLE;
+#endif
}
void sha512_hmac_starts_wrap( void *ctx, const unsigned char *key, size_t keylen )