From b5ea35825528c10ee3d78727437317a9d3bc3336 Mon Sep 17 00:00:00 2001 From: Michael Wallner Date: Fri, 7 Oct 2005 10:52:50 +0000 Subject: [PATCH] - fixed memory corruption - added 4 etag mode tests --- http_send_api.c | 2 +- tests/etag_mode_001.phpt | 22 ++++++++++++++++++++++ tests/etag_mode_002.phpt | 22 ++++++++++++++++++++++ tests/etag_mode_003.phpt | 22 ++++++++++++++++++++++ tests/etag_mode_004.phpt | 22 ++++++++++++++++++++++ 5 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 tests/etag_mode_001.phpt create mode 100644 tests/etag_mode_002.phpt create mode 100644 tests/etag_mode_003.phpt create mode 100644 tests/etag_mode_004.phpt diff --git a/http_send_api.c b/http_send_api.c index 49c0aed..f22a3d1 100644 --- a/http_send_api.c +++ b/http_send_api.c @@ -388,7 +388,7 @@ PHP_HTTP_API STATUS _http_send_ex(const void *data_ptr, size_t data_size, http_s if (etag = http_etag(data_ptr, data_size, data_mode)) { char *sent_header = NULL; - http_send_etag_ex(etag, 32, &sent_header); + http_send_etag_ex(etag, strlen(etag), &sent_header); if (http_match_etag("HTTP_IF_NONE_MATCH", etag)) { return http_exit_ex(304, sent_header, NULL, 0); } else { diff --git a/tests/etag_mode_001.phpt b/tests/etag_mode_001.phpt new file mode 100644 index 0000000..19223a4 --- /dev/null +++ b/tests/etag_mode_001.phpt @@ -0,0 +1,22 @@ +--TEST-- +crc32 etag +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +Content-type: %s +X-Powered-By: PHP/%s +Cache-Control: private, must-revalidate, max-age=0 +Accept-Ranges: bytes +ETag: "28ad514e" +Content-Length: 4 + +abc diff --git a/tests/etag_mode_002.phpt b/tests/etag_mode_002.phpt new file mode 100644 index 0000000..229b22d --- /dev/null +++ b/tests/etag_mode_002.phpt @@ -0,0 +1,22 @@ +--TEST-- +sha1 etag +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +Content-type: %s +X-Powered-By: PHP/%s +Cache-Control: private, must-revalidate, max-age=0 +Accept-Ranges: bytes +ETag: "03cfd743661f07975fa2f1220c5194cbaff48451" +Content-Length: 4 + +abc diff --git a/tests/etag_mode_003.phpt b/tests/etag_mode_003.phpt new file mode 100644 index 0000000..76abcfc --- /dev/null +++ b/tests/etag_mode_003.phpt @@ -0,0 +1,22 @@ +--TEST-- +md5 etag +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +Content-type: %s +X-Powered-By: PHP/%s +Cache-Control: private, must-revalidate, max-age=0 +Accept-Ranges: bytes +ETag: "0bee89b07a248e27c83fc3d5951213c1" +Content-Length: 4 + +abc diff --git a/tests/etag_mode_004.phpt b/tests/etag_mode_004.phpt new file mode 100644 index 0000000..571933e --- /dev/null +++ b/tests/etag_mode_004.phpt @@ -0,0 +1,22 @@ +--TEST-- +mhash etag +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +Content-type: %s +X-Powered-By: PHP/%s +Cache-Control: private, must-revalidate, max-age=0 +Accept-Ranges: bytes +ETag: "53efa9e423f86dabd449b3e23dd0350def661b9e7055b23ceb2230c8b61bc0766514957ea9d349a88ef794715a1a17a409b549edfd6f43d696e63407fff3541c" +Content-Length: 4 + +abc -- 2.30.2