X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=http.c;h=4a7ccd969e81ace1da141861d238b045e4211d50;hp=6695ff9dedb324bad724789f4743cacc40c5387b;hb=92f5e5a5df0bff3d8076c1f5ed73590b40849501;hpb=3b0107c29147abb7a4f972b0edfcaf7928bd288c diff --git a/http.c b/http.c index 6695ff9..4a7ccd9 100644 --- a/http.c +++ b/http.c @@ -217,6 +217,11 @@ PHP_INI_MH(http_update_allowed_methods) return OnUpdateString(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); } +#undef CASE_HTTP_ETAG_HASH +#define CASE_HTTP_ETAG_HASH(HASH) \ + case HTTP_ETAG_##HASH: \ + ZEND_WRITE(#HASH, lenof(#HASH)); \ + break; PHP_INI_DISP(http_etag_mode_displayer) { long value; @@ -231,20 +236,19 @@ PHP_INI_DISP(http_etag_mode_displayer) switch (value) { - case HTTP_ETAG_CRC32: - ZEND_WRITE("HTTP_ETAG_CRC32", lenof("HTTP_ETAG_CRC32")); - break; - - case HTTP_ETAG_SHA1: - ZEND_WRITE("HTTP_ETAG_SHA1", lenof("HTTP_ETAG_SHA1")); - break; - - case HTTP_ETAG_MD5: +#ifdef HTTP_HAVE_HASH_EXT + CASE_HTTP_ETAG_HASH(RIPEMD160); + CASE_HTTP_ETAG_HASH(RIPEMD128); + CASE_HTTP_ETAG_HASH(SHA512); + CASE_HTTP_ETAG_HASH(SHA384); + CASE_HTTP_ETAG_HASH(SHA256); +#endif + CASE_HTTP_ETAG_HASH(CRC32); + CASE_HTTP_ETAG_HASH(SHA1); #ifndef HTTP_HAVE_MHASH default: #endif - ZEND_WRITE("HTTP_ETAG_MD5", lenof("HTTP_ETAG_MD5")); - break; + CASE_HTTP_ETAG_HASH(MD5); #ifdef HTTP_HAVE_MHASH default: @@ -418,7 +422,11 @@ PHP_MINFO_FUNCTION(http) php_info_print_table_colspan_header(2, "Supported ETag Hash Algorithms"); { - php_info_print_table_row(2, "PHP", "CRC32, MD5, SHA1"); + php_info_print_table_row(2, "PHP", "CRC32, MD5, SHA1" +#ifdef HTTP_HAVE_HASH_EXT + ", SHA256, SHA384, SHA512, RIPEMD128, RIPEMD160" +#endif + ); #ifdef HTTP_HAVE_MHASH { phpstr *algos = phpstr_new();