2026-02-06 16:38:03 +08:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
declare(strict_types=1);
|
|
|
|
|
|
|
|
|
|
namespace Package\Artifact;
|
|
|
|
|
|
|
|
|
|
use StaticPHP\Attribute\Artifact\AfterSourceExtract;
|
|
|
|
|
use StaticPHP\Attribute\PatchDescription;
|
|
|
|
|
use StaticPHP\Util\FileSystem;
|
|
|
|
|
|
|
|
|
|
class gmssl
|
|
|
|
|
{
|
|
|
|
|
#[AfterSourceExtract('gmssl')]
|
|
|
|
|
#[PatchDescription('Patch gmssl hex.c to rename OPENSSL functions to GMSSL')]
|
|
|
|
|
public function patch(string $target_path): void
|
|
|
|
|
{
|
|
|
|
|
FileSystem::replaceFileStr($target_path . '/src/hex.c', 'unsigned char *OPENSSL_hexstr2buf(const char *str, size_t *len)', 'unsigned char *GMSSL_hexstr2buf(const char *str, size_t *len)');
|
|
|
|
|
FileSystem::replaceFileStr($target_path . '/src/hex.c', 'OPENSSL_hexchar2int', 'GMSSL_hexchar2int');
|
|
|
|
|
}
|
2026-07-09 19:27:41 +07:00
|
|
|
|
|
|
|
|
#[AfterSourceExtract('ext-gmssl')]
|
|
|
|
|
#[PatchDescription('Rename pbkdf2_hmac_sm3_genkey() to sm3_pbkdf2() (renamed upstream in GmSSL 3.2+; identical signature)')]
|
|
|
|
|
public function patchExt(string $target_path): void
|
|
|
|
|
{
|
|
|
|
|
FileSystem::replaceFileStr($target_path . '/gmssl.c', 'pbkdf2_hmac_sm3_genkey(', 'sm3_pbkdf2(');
|
|
|
|
|
}
|
2026-02-06 16:38:03 +08:00
|
|
|
}
|