Introduce helper functions to traverse signature hashes
diff --git a/include/mbedtls/ssl_internal.h b/include/mbedtls/ssl_internal.h
index 40391d5..29729d4 100644
--- a/include/mbedtls/ssl_internal.h
+++ b/include/mbedtls/ssl_internal.h
@@ -1676,4 +1676,29 @@
#endif /* MBEDTLS_SSL_CONF_SINGLE_EC */
+#define MBEDTLS_SSL_BEGIN_FOR_EACH_SIG_HASH( MD_VAR ) \
+ { \
+ int const *__md; \
+ for( __md = ssl->conf->sig_hashes; \
+ *__md != MBEDTLS_MD_NONE; __md++ ) \
+ { \
+ mbedtls_md_type_t MD_VAR = (mbedtls_md_type_t) *__md; \
+
+ #define MBEDTLS_SSL_END_FOR_EACH_SIG_HASH \
+ } \
+ }
+
+#define MBEDTLS_SSL_BEGIN_FOR_EACH_SIG_HASH_TLS( HASH_VAR ) \
+ { \
+ int const *__md; \
+ for( __md = ssl->conf->sig_hashes; \
+ *__md != MBEDTLS_MD_NONE; __md++ ) \
+ { \
+ unsigned char HASH_VAR; \
+ HASH_VAR = mbedtls_ssl_hash_from_md_alg( *__md );
+
+#define MBEDTLS_SSL_END_FOR_EACH_SIG_HASH_TLS \
+ } \
+ }
+
#endif /* ssl_internal.h */