Skip to content

Commit f8cfdc8

Browse files
committed
Replace dependencies on /ext/hash in various extensions
1 parent d0ce868 commit f8cfdc8

6 files changed

Lines changed: 8 additions & 43 deletions

File tree

Zend/zend_system_id.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
#include "zend_system_id.h"
1818
#include "zend_extensions.h"
1919
#include "ext/standard/md5.h"
20-
#include "ext/hash/php_hash.h"
2120

2221
ZEND_API char zend_system_id[32];
2322

@@ -88,6 +87,6 @@ void zend_finalize_system_id(void)
8887
}
8988

9089
PHP_MD5Final(digest, &context);
91-
php_hash_bin2hex(zend_system_id, digest, sizeof digest);
90+
zend_bin2hex(zend_system_id, digest, sizeof digest);
9291
finalized = 1;
9392
}

ext/hash/hash.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -401,7 +401,7 @@ static void php_hash_do_hash(
401401
} else {
402402
zend_string *hex_digest = zend_string_safe_alloc(ops->digest_size, 2, 0, 0);
403403

404-
php_hash_bin2hex(ZSTR_VAL(hex_digest), (unsigned char *) ZSTR_VAL(digest), ops->digest_size);
404+
zend_bin2hex(ZSTR_VAL(hex_digest), (unsigned char *) ZSTR_VAL(digest), ops->digest_size);
405405
ZSTR_VAL(hex_digest)[2 * ops->digest_size] = 0;
406406
zend_string_efree(digest);
407407
RETURN_NEW_STR(hex_digest);
@@ -558,7 +558,7 @@ static void php_hash_do_hash_hmac(
558558
} else {
559559
zend_string *hex_digest = zend_string_safe_alloc(ops->digest_size, 2, 0, 0);
560560

561-
php_hash_bin2hex(ZSTR_VAL(hex_digest), (unsigned char *) ZSTR_VAL(digest), ops->digest_size);
561+
zend_bin2hex(ZSTR_VAL(hex_digest), (unsigned char *) ZSTR_VAL(digest), ops->digest_size);
562562
ZSTR_VAL(hex_digest)[2 * ops->digest_size] = 0;
563563
zend_string_efree(digest);
564564
RETURN_NEW_STR(hex_digest);
@@ -819,7 +819,7 @@ PHP_FUNCTION(hash_final)
819819
} else {
820820
zend_string *hex_digest = zend_string_safe_alloc(digest_len, 2, 0, 0);
821821

822-
php_hash_bin2hex(ZSTR_VAL(hex_digest), (unsigned char *) ZSTR_VAL(digest), digest_len);
822+
zend_bin2hex(ZSTR_VAL(hex_digest), (unsigned char *) ZSTR_VAL(digest), digest_len);
823823
ZSTR_VAL(hex_digest)[2 * digest_len] = 0;
824824
zend_string_efree(digest);
825825
RETURN_NEW_STR(hex_digest);
@@ -1089,7 +1089,7 @@ PHP_FUNCTION(hash_pbkdf2)
10891089
if (raw_output) {
10901090
memcpy(ZSTR_VAL(returnval), result, length);
10911091
} else {
1092-
php_hash_bin2hex(ZSTR_VAL(returnval), result, digest_length);
1092+
zend_bin2hex(ZSTR_VAL(returnval), result, digest_length);
10931093
}
10941094
ZSTR_VAL(returnval)[length] = 0;
10951095
efree(result);

ext/hash/php_hash.h

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -182,15 +182,4 @@ static inline void php_hash_free_context(const php_hash_ops *ops, void *ctx) {
182182
efree(ctx);
183183
}
184184

185-
static inline void php_hash_bin2hex(char *out, const unsigned char *in, size_t in_len)
186-
{
187-
static const char hexits[17] = "0123456789abcdef";
188-
size_t i;
189-
190-
for(i = 0; i < in_len; i++) {
191-
out[i * 2] = hexits[in[i] >> 4];
192-
out[(i * 2) + 1] = hexits[in[i] & 0x0F];
193-
}
194-
}
195-
196185
#endif /* PHP_HASH_H */

ext/opcache/ZendAccelerator.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@
5050
#include "ext/standard/basic_functions.h"
5151

5252
#ifdef ZEND_WIN32
53-
# include "ext/hash/php_hash.h"
5453
# include "ext/standard/md5.h"
5554
#endif
5655

@@ -2532,7 +2531,7 @@ static zend_result accel_gen_uname_id(void)
25322531
PHP_MD5Update(&ctx, (void *) uname, (unsize - 1) * sizeof(wchar_t));
25332532
PHP_MD5Update(&ctx, ZCG(accel_directives).cache_id, strlen(ZCG(accel_directives).cache_id));
25342533
PHP_MD5Final(digest, &ctx);
2535-
php_hash_bin2hex(accel_uname_id, digest, sizeof digest);
2534+
zend_bin2hex(accel_uname_id, digest, sizeof digest);
25362535
return SUCCESS;
25372536
}
25382537
#endif

ext/soap/php_http.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
*/
1616

1717
#include "php_soap.h"
18-
#include "ext/hash/php_hash.h" /* For php_hash_bin2hex() */
1918
#include "ext/uri/php_uri.h"
2019

2120
static char *get_http_header_value_nodup(char *headers, char *type, size_t *len);
@@ -696,7 +695,7 @@ bool make_http_soap_request(
696695
return false;
697696
}
698697

699-
php_hash_bin2hex(cnonce, nonce, sizeof(nonce));
698+
zend_bin2hex(cnonce, nonce, sizeof(nonce));
700699
cnonce[32] = 0;
701700

702701
if ((tmp = zend_hash_str_find(Z_ARRVAL_P(digest), "nc", sizeof("nc")-1)) != NULL &&

ext/standard/string.c

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -45,32 +45,11 @@
4545

4646
#include "zend_simd.h"
4747

48-
/* this is read-only, so it's ok */
49-
ZEND_SET_ALIGNED(16, static const char hexconvtab[]) = "0123456789abcdef";
50-
5148
/* localeconv mutex */
5249
#ifdef ZTS
5350
static MUTEX_T locale_mutex = NULL;
5451
#endif
5552

56-
/* {{{ php_bin2hex */
57-
static zend_string *php_bin2hex(const unsigned char *old, const size_t oldlen)
58-
{
59-
zend_string *result;
60-
size_t i, j;
61-
62-
result = zend_string_safe_alloc(oldlen, 2 * sizeof(char), 0, 0);
63-
64-
for (i = j = 0; i < oldlen; i++) {
65-
ZSTR_VAL(result)[j++] = hexconvtab[old[i] >> 4];
66-
ZSTR_VAL(result)[j++] = hexconvtab[old[i] & 15];
67-
}
68-
ZSTR_VAL(result)[j] = '\0';
69-
70-
return result;
71-
}
72-
/* }}} */
73-
7453
/* {{{ php_hex2bin */
7554
static zend_string *php_hex2bin(const unsigned char *old, const size_t oldlen)
7655
{
@@ -158,7 +137,7 @@ PHP_FUNCTION(bin2hex)
158137
Z_PARAM_STR(data)
159138
ZEND_PARSE_PARAMETERS_END();
160139

161-
result = php_bin2hex((unsigned char *)ZSTR_VAL(data), ZSTR_LEN(data));
140+
result = zend_bin2hex_str((unsigned char *) ZSTR_VAL(data), ZSTR_LEN(data));
162141

163142
RETURN_STR(result);
164143
}

0 commit comments

Comments
 (0)