{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":136406091,"defaultBranch":"v4","name":"go-utils","ownerLogin":"Laisky","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2018-06-07T01:39:44.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/4532436?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1710728176.0","currentOid":""},"activityList":{"items":[{"before":"85f8e5e2c07447c6b4fcb52d07c6d8ca41aff56f","after":"34dbeb2a5018ac1e75526f83cabf2bed375b3c4e","ref":"refs/heads/v4-dev","pushedAt":"2024-07-01T03:11:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Laisky","name":"Laisky.Cai","path":"/Laisky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4532436?s=80&v=4"},"commit":{"message":"feat: Remove unused HMACSha256 function and update dependencies","shortMessageHtmlLink":"feat: Remove unused HMACSha256 function and update dependencies"}},{"before":"5223baa341ebf21b97604c36c5e42ddfb5a58299","after":"85f8e5e2c07447c6b4fcb52d07c6d8ca41aff56f","ref":"refs/heads/v4-dev","pushedAt":"2024-06-19T07:55:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Laisky","name":"Laisky.Cai","path":"/Laisky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4532436?s=80&v=4"},"commit":{"message":"refactor: Remove unused HMACSha256 function and update dependencies\n\nThe code changes in the crypto package remove the unused HMACSha256 function and update the dependencies. The function was not being used in the codebase and was therefore removed to improve code cleanliness. Additionally, the dependencies were updated to their latest versions to ensure compatibility and take advantage of any bug fixes or performance improvements.","shortMessageHtmlLink":"refactor: Remove unused HMACSha256 function and update dependencies"}},{"before":"6db1895fb2966a1812e83c76ce641c97386095cd","after":"5223baa341ebf21b97604c36c5e42ddfb5a58299","ref":"refs/heads/v4-dev","pushedAt":"2024-06-19T06:26:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Laisky","name":"Laisky.Cai","path":"/Laisky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4532436?s=80&v=4"},"commit":{"message":"refactor: Improve RSA encryption and signing functions","shortMessageHtmlLink":"refactor: Improve RSA encryption and signing functions"}},{"before":"f1902ab2ebc081ce2336fb8b2558293a8bd39307","after":"6db1895fb2966a1812e83c76ce641c97386095cd","ref":"refs/heads/v4-dev","pushedAt":"2024-06-19T05:48:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Laisky","name":"Laisky.Cai","path":"/Laisky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4532436?s=80&v=4"},"commit":{"message":"refactor: Improve RSA encryption and signing functions\n\nThe code changes in the crypto package refactor the RSA encryption and signing functions to provide more clarity and consistency. Specifically, the commit introduces the following changes:\n\n- Update the RSAEncryptByPKCS1v15 function to include a comment explaining that it is not a deterministic encryption scheme and will return different ciphertexts each time, even for the same plaintext.\n- Add a similar comment to the RSAEncryptByOAEP function to highlight its non-deterministic nature.\n- Modify the SignByRSAPSSWithSHA256 function to include a comment stating that RSASSA-PSS is not deterministic and will produce different signatures each time.\n\nThese changes aim to improve the understanding and usage of the RSA encryption and signing functions in the crypto package.","shortMessageHtmlLink":"refactor: Improve RSA encryption and signing functions"}},{"before":"cb4eba7d45eb11160bf7884373a78e3214677dad","after":"f1902ab2ebc081ce2336fb8b2558293a8bd39307","ref":"refs/heads/v4-dev","pushedAt":"2024-06-19T05:08:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Laisky","name":"Laisky.Cai","path":"/Laisky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4532436?s=80&v=4"},"commit":{"message":"feat: Add RSAEncryptByOAEP and RSADecryptByOAEP functions for RSA encryption","shortMessageHtmlLink":"feat: Add RSAEncryptByOAEP and RSADecryptByOAEP functions for RSA enc…"}},{"before":"8c3b6333f0c50f211a295700138550492b6ae2ac","after":"cb4eba7d45eb11160bf7884373a78e3214677dad","ref":"refs/heads/v4-dev","pushedAt":"2024-06-19T03:41:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Laisky","name":"Laisky.Cai","path":"/Laisky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4532436?s=80&v=4"},"commit":{"message":"feat: Add RSAEncryptByOAEP and RSADecryptByOAEP functions for RSA encryption\n\nThe code changes introduce new functions RSAEncryptByOAEP and RSADecryptByOAEP in the crypto package. These functions provide RSA encryption and decryption using the OAEP padding scheme with SHA256. The RSAEncrypt and RSADecrypt functions have been deprecated and replaced with the new functions. The changes also include the necessary modifications to handle the encryption and decryption process.","shortMessageHtmlLink":"feat: Add RSAEncryptByOAEP and RSADecryptByOAEP functions for RSA enc…"}},{"before":"eb19077af24c24a48a143b0b7da6c4e2fd2fffd9","after":"8c3b6333f0c50f211a295700138550492b6ae2ac","ref":"refs/heads/v4-dev","pushedAt":"2024-05-13T09:49:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Laisky","name":"Laisky.Cai","path":"/Laisky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4532436?s=80&v=4"},"commit":{"message":"fix: Implement high-level support for URL opening\n\nHere is the commit message summary:\n\n**Improved HTTP Client Functionality**\n\n- Add support for opening URLs in the default browser\n- Implemented tests for the new functionality\n- Updated the underlying code to enable OpenURLInDefaultBrowser function\n\nThis commit enhances the HTTP client by adding a new function to open URLs in the default browser and implementing tests to verify its functionality.","shortMessageHtmlLink":"fix: Implement high-level support for URL opening"}},{"before":"a6d7af0c8cd45c9e82b48247b6cc81470d0b5c5c","after":"20d83b5e1a58bc65385d0e90fe513eed525a7519","ref":"refs/heads/feature/dkg","pushedAt":"2024-05-13T08:54:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Laisky","name":"Laisky.Cai","path":"/Laisky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4532436?s=80&v=4"},"commit":{"message":"fix","shortMessageHtmlLink":"fix"}},{"before":"811401f70bbbdef4112a2a11e8d178ee5cb9ff41","after":"eb19077af24c24a48a143b0b7da6c4e2fd2fffd9","ref":"refs/heads/v4-dev","pushedAt":"2024-04-12T06:47:41.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Laisky","name":"Laisky.Cai","path":"/Laisky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4532436?s=80&v=4"},"commit":{"message":"fix: Refactor and enhance alert system: add rate limiting, options, and goroutine sender\n\n- Refactor and rename `alert pusher hook` to `alertMutation`\n- Introduce `RateLimiter` interface for rate limiting alert sending\n- Implement extensive configuration options for `Alert` hook\n - Define new `alertOption` struct for configuring the `Alert` hook\n - Implement `applyOpts` function for applying `AlertOption` to `alertOption`\n - Add `WithAlertType`, `WithAlertToken`, `WithRateLimiter` options for `Alert`\n- Enhance `Alert` struct functionality\n - Refactor `Close` and `SendWithType` methods\n - Add `alertMsg` struct for sending alert messages\n - Implement `runSender` method for alert sender goroutine in `Alert` struct","shortMessageHtmlLink":"fix: Refactor and enhance alert system: add rate limiting, options, a…"}},{"before":"d03433628df52a5e69ff30a19a595a343f44c68d","after":"811401f70bbbdef4112a2a11e8d178ee5cb9ff41","ref":"refs/heads/v4-dev","pushedAt":"2024-04-08T06:59:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Laisky","name":"Laisky.Cai","path":"/Laisky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4532436?s=80&v=4"},"commit":{"message":"fix: Improve error handling and logging in graphql mutation requests\n\nBased on the file summaries provided, here are the bullet points summarizing the commit:\n\n- Introduced timeout context to GraphQL mutation requests in `alert.go` for better request handling.\n- Modified logging behavior in `alert.go` to use the warning logger instead of the debug logger for send alert mutation.\n- Improved error handling in `alert.go` by cancelling the context and continuing to the next iteration if a GraphQL mutation request encounters an error.","shortMessageHtmlLink":"fix: Improve error handling and logging in graphql mutation requests"}},{"before":"33bb9f9c5a15c46aa1227ca72b76914d42e970b7","after":"a6d7af0c8cd45c9e82b48247b6cc81470d0b5c5c","ref":"refs/heads/feature/dkg","pushedAt":"2024-04-08T03:49:05.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Laisky","name":"Laisky.Cai","path":"/Laisky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4532436?s=80&v=4"},"commit":{"message":"fix","shortMessageHtmlLink":"fix"}},{"before":"44956639fb62382668118da5c86d3cf373ec94da","after":"d03433628df52a5e69ff30a19a595a343f44c68d","ref":"refs/heads/v4-dev","pushedAt":"2024-04-08T01:01:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Laisky","name":"Laisky.Cai","path":"/Laisky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4532436?s=80&v=4"},"commit":{"message":"feat: cache implementation with FIFO package and add LRU cache benchmark.\n\n- Introduce a new LRU cache implementation using the \"github.com/Laisky/golang-fifo/sieve\" package\n- Add tests and benchmarks for the LRU cache package with Sieve operations\n- Update project dependencies and manage their integrity using the go.sum file\n- Modify TtlCache struct to use the new LRU cache implementation\n\n(Notes:\n- The commit only highlights the key changes and does not repeat the details provided in the file summaries.\n- It is important to highlight the new LRU cache implementation, the addition of tests and benchmarks, and the update of project dependencies.)","shortMessageHtmlLink":"feat: cache implementation with FIFO package and add LRU cache benchm…"}},{"before":"c3c2dd4f3aba697eead812a62cfcac56774f514a","after":"44956639fb62382668118da5c86d3cf373ec94da","ref":"refs/heads/v4-dev","pushedAt":"2024-03-28T09:54:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Laisky","name":"Laisky.Cai","path":"/Laisky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4532436?s=80&v=4"},"commit":{"message":"fix: Refactor X509 CRL Handling with New Function X509CrlOptions2Tpl; Update Converter\n\n* Add a new parameter `serialNumber` to function `NewX509CRL` and update its implementation\n* Introduce function `X509CrlOptions2Tpl` to marshal x509 CRL options to `x509.RevocationList`\n* Apply options using `new(x509CRLOption).applyOpts()` method in the new function\n* Populate `x509.RevocationList` fields: `SignatureAlgorithm`, `ThisUpdate`, and `NextUpdate`\n* Replace deprecated usages in `crypto/x509.go` with new functions introduced in the commit.","shortMessageHtmlLink":"fix: Refactor X509 CRL Handling with New Function X509CrlOptions2Tpl;…"}},{"before":"cab4ae17bf6cb277382b1151a5a3a7080ce387ad","after":"c3c2dd4f3aba697eead812a62cfcac56774f514a","ref":"refs/heads/v4-dev","pushedAt":"2024-03-28T09:08:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Laisky","name":"Laisky.Cai","path":"/Laisky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4532436?s=80&v=4"},"commit":{"message":"feat: Refactor and extend certificate parsing and conversion functions in crypto package\n\n* Refactor code to handle key usages and extended key usages\n* Add support for new public key algorithms in crypto/smtongsuo.go\n* Improve error handling and logging in crypto/smtongsuo.go\n* Refactor certificate and CSR information extraction in crypto/smtongsuo.go\n* Fix spelling mistake and update variable usage in crypto/converter.go\n* Add ExtKeyUsage values and update RSA test in crypto/smtongsuo\\_test.go.","shortMessageHtmlLink":"feat: Refactor and extend certificate parsing and conversion function…"}},{"before":"187c234e60fc9fa465d918a91e0930a025b2ec4d","after":"cab4ae17bf6cb277382b1151a5a3a7080ce387ad","ref":"refs/heads/v4-dev","pushedAt":"2024-03-28T07:58:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Laisky","name":"Laisky.Cai","path":"/Laisky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4532436?s=80&v=4"},"commit":{"message":"feat: crypto/smtongsuo & crypto/x509 for improved SM2, ECDSA, Ed25519 & SM3 support\n\n- Introduce new functions and methods for SM2 private key handling, including `PrivateKey`, `TongsuoPriKey`, `TongsuoPubkey`, `SignX509CRL`, `DecryptBySm2`, and `Equal` to `TongsuoPubkey`.\n- Update SM2/SM3 related functions to return correct error codes and fix bugs in `Sign` and `Decrypt` for empty input for `TongsuoPriKey`.\n- Refactor `x509CRLOption` struct by renaming `fillDefault` to `applyOpts`, adding a new `applyOpts` function to apply a list of `X509CRLOption` functions to `x509CRLOption` struct, and modifying `applyOpts` to return error when applying opts.\n- Initialize `thisUpdate` field in the `applyOpts` function and set `nextUpdate` field to be 30 days after `thisUpdate`.\n- Implement new functions `OidAsn2X509` and `OidFromString` to convert asn1 object identifier to x509 object identifier and convert string to x509 object identifier, respectively.\n- Add generation of CRL (Certificate Revocation List) in `TestTongsuo_NewX509CRL`, and modify test cases for SM2 encryption, SM2 public key, SM3, and RSA encryption in `TestTongsuo_smtongsuo_test.go`.\n- Generate new X509 certificates with serial number, key usage flags, ECDSA, Ed25519, and SM2 public key algorithm in `TestTongsuo_ShowCertInfo`, and check SM2 encryption with RSA decryption compatibility.\n- Implement new `x509` certificates and CSR with RSA, ECDSA, and SM2 public key algorithm in various test cases in `TestTongsuo_smtongsuo_test.go`.\n- Add new test functions `TestOidFromString` for the `OidFromString` function and fix import statement in `crypto/x509_test.go`.","shortMessageHtmlLink":"feat: crypto/smtongsuo & crypto/x509 for improved SM2, ECDSA, Ed25519…"}},{"before":"d81a5760be97672ebaf3084eb1ae30cd91b8c59d","after":"187c234e60fc9fa465d918a91e0930a025b2ec4d","ref":"refs/heads/v4-dev","pushedAt":"2024-03-28T02:10:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Laisky","name":"Laisky.Cai","path":"/Laisky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4532436?s=80&v=4"},"commit":{"message":"test: Update crypto/smtongsuo_test.go with SM2/RSA encryption tests\n\n* Add comprehensive test cases for Tongsuo\\_EncryptBySm2 function\n - Implement test case for valid encryption and decryption using SM2 algorithm\n - Include test case for invalid ciphertext check\n - Test SM2 encryption and RSA decryption compatibility\n - Verify invalid ciphertext check for RSA decryption","shortMessageHtmlLink":"test: Update crypto/smtongsuo_test.go with SM2/RSA encryption tests"}},{"before":"ebff789f7f08e5e2c2c7574e2d7b8a0d0dfac51a","after":"d81a5760be97672ebaf3084eb1ae30cd91b8c59d","ref":"refs/heads/v4-dev","pushedAt":"2024-03-28T01:54:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Laisky","name":"Laisky.Cai","path":"/Laisky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4532436?s=80&v=4"},"commit":{"message":"feat: Add SM2 encryption/decryption & testing in crypto module\n\n- Implemented SM2 encryption and decryption in `crypto/smtongsuo.go` with new functions `EncryptBySm2` and `DecryptBySm2`.\n- Added test in `crypto/smtongsuo_test.go` for `Tongsuo_EncryptBySm2` functionality.\n- Included key generation and conversion in test implementation.\n- Implemented error handling for all new functions and operations.","shortMessageHtmlLink":"feat: Add SM2 encryption/decryption & testing in crypto module"}},{"before":"ad63dbc014b68ffffb35f261e9098c08d0ed050c","after":"ebff789f7f08e5e2c2c7574e2d7b8a0d0dfac51a","ref":"refs/heads/v4-dev","pushedAt":"2024-03-26T07:30:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Laisky","name":"Laisky.Cai","path":"/Laisky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4532436?s=80&v=4"},"commit":{"message":"fix: Add public key algorithm support and testing to crypto/tongsudo\n\n- Implemented support for parsing public key algorithm from OpenSSL certificate output in `smtongsuo.go`\n- Added regex pattern for matching public key algorithm and switch statement for setting `PublicKeyAlgorithm` based on public key algorithm type\n- Introduced error handling for invalid policy and unsupported public key algorithm\n- Developed new test function `TestTongsuo_ShowCertInfo` in `smtongsuo_test.go` with test cases for RSA, ECDSA, Ed25519, and SM2 algorithms\n- Retrieved the certificate der, called `ShowCertInfo` to get the certificate info, and checked the public key algorithm of the certificate info for each test case.","shortMessageHtmlLink":"fix: Add public key algorithm support and testing to crypto/tongsudo"}},{"before":"a8478af02a0a717f8ccf144289d56a05b58cfc91","after":"ad63dbc014b68ffffb35f261e9098c08d0ed050c","ref":"refs/heads/v4-dev","pushedAt":"2024-03-26T05:59:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Laisky","name":"Laisky.Cai","path":"/Laisky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4532436?s=80&v=4"},"commit":{"message":"fix: Improve OID handling and certificate parsing in crypto/smtongsuo\n\n- Add functionality for parsing and validating object identifiers (OIDs) in `utils.go` and `utils_test.go`\n- Implement support for parsing certificate policies from OpenSSL output in `crypto/smtongsuo.go`\n- Improve regex pattern matching and readability in `crypto/smtongsuo.go`\n- Add type casting for time.Time from OpenSSL date format in `crypto/smtongsuo.go`\n- Implement error handling for missing certificate information in OpenSSL output in `crypto/smtongsuo.go`","shortMessageHtmlLink":"fix: Improve OID handling and certificate parsing in crypto/smtongsuo"}},{"before":"597e4dc5873e2e4739a64428f38128fb88ec9d4f","after":"a8478af02a0a717f8ccf144289d56a05b58cfc91","ref":"refs/heads/v4-dev","pushedAt":"2024-03-25T06:28:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Laisky","name":"Laisky.Cai","path":"/Laisky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4532436?s=80&v=4"},"commit":{"message":"fix: Update crypto/smtongsuo.go for improved security\n\n- Implemented the Smtongsuo cryptographic algorithm in the crypto package\n- Modified smtongsuo.go to include new functionalities and improvements\n- Handled edge cases and improved error messages for Smtongsuo algorithm\n- Tested the Smtongsuo algorithm thoroughly to ensure correctness and performance.","shortMessageHtmlLink":"fix: Update crypto/smtongsuo.go for improved security"}},{"before":"80d4e56213ee3c6b5ac26fa58cd3508edfea4f5c","after":"597e4dc5873e2e4739a64428f38128fb88ec9d4f","ref":"refs/heads/v4-dev","pushedAt":"2024-03-25T06:17:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Laisky","name":"Laisky.Cai","path":"/Laisky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4532436?s=80&v=4"},"commit":{"message":"fix: Improve Certificate Handling and Testing in Crypto Module\n\n- Implemented new `Subject` field in `OpensslCertificateOutput` struct for `crypto/smtongsuo.go`\n- Added regular expressions and error handling to parse and set `Subject.CommonName` field in `ShowCertInfo` function\n- Enhanced tests for `NewPrikeyAndCert` function with `X509CertOption` flags in `crypto/smtongsuo_test.go`\n- Updated tests to include verification of certificate common name, `IsCa` field, and serial number\n- Implemented assertions for `NotBefore` and `NotAfter` fields of certificate info\n- Added error handling and assertions for certificate policies and organization in `ShowCertInfo` function","shortMessageHtmlLink":"fix: Improve Certificate Handling and Testing in Crypto Module"}},{"before":"484233823a5af6a0d7ead9c563f88bf50988d93b","after":"80d4e56213ee3c6b5ac26fa58cd3508edfea4f5c","ref":"refs/heads/v4-dev","pushedAt":"2024-03-25T06:09:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Laisky","name":"Laisky.Cai","path":"/Laisky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4532436?s=80&v=4"},"commit":{"message":"fix: Add certificate validation and testing improvements in crypto/smtongsuo\n\n- Implemented new test for `NewPrikeyAndCert` function with comprehensive assertions\n- Added `IsCa` field to `OpensslCertificateOutput` struct and updated parsing logic\n- Improved error handling for certificate related functions\n- Utilized regular expressions for parsing certificate information\n- Enhanced test execution efficiency with `t.Parallel()` calls","shortMessageHtmlLink":"fix: Add certificate validation and testing improvements in crypto/sm…"}},{"before":"4a5544edbb4b7497322fe826c059ecdd41681eb8","after":"484233823a5af6a0d7ead9c563f88bf50988d93b","ref":"refs/heads/v4-dev","pushedAt":"2024-03-22T08:39:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Laisky","name":"Laisky.Cai","path":"/Laisky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4532436?s=80&v=4"},"commit":{"message":"feat: Add certificate chain verification and Sm4Baisc encryption to smtongsuo\n\n- Added `VerifyCertsChain` function to crypto/smtongsuo.go to verify certificate chains, with error handling for empty certificates and intermediate certificate removal.\n- Modified `VerifyCertsChain` function to write leaf certificate, root CA, and intermediate certificates to file.\n- Updated `ins.VerifyCertsChain` function calls in crypto/smtongsuo_test.go and added new tests for verifying certificate chains with multiple intermediates, missing roots, and encrypting data using Sm4Baisc algorithm.\n- Refactored `SignBySm2Sm3` function in crypto/smtongsuo.go by removing unused variable `dir` and unnecessary error handling.\n- Removed unnecessary `os.RemoveAll` calls in crypto/smtongsuo.go.","shortMessageHtmlLink":"feat: Add certificate chain verification and Sm4Baisc encryption to s…"}},{"before":"e43c91d5244444fb0133b0707d5ff1d90c4fd4b9","after":"4a5544edbb4b7497322fe826c059ecdd41681eb8","ref":"refs/heads/v4-dev","pushedAt":"2024-03-22T08:12:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Laisky","name":"Laisky.Cai","path":"/Laisky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4532436?s=80&v=4"},"commit":{"message":"feat: Add GetPubkeyFromCertPem function and cert validation to smtongsuo\n\n- Implemented a function in `crypto/smtongsuo.go` to extract and return the public key from a certificate\n- Added a test in `crypto/smtongsuo_test.go` to verify the public key generated from the private key matches the one from the certificate\n- Implemented error handling for various scenarios such as creating temp dir, writing files, and running commands\n- Ensured the certificate contains the correct information, such as the common name, organization, policies, not before/after dates, and serial number.","shortMessageHtmlLink":"feat: Add GetPubkeyFromCertPem function and cert validation to smtongsuo"}},{"before":"469a7e5fa3f52bd18ec5482de7186ca169ab6a85","after":"e43c91d5244444fb0133b0707d5ff1d90c4fd4b9","ref":"refs/heads/v4-dev","pushedAt":"2024-03-22T02:29:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Laisky","name":"Laisky.Cai","path":"/Laisky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4532436?s=80&v=4"},"commit":{"message":"feat: Add custom binary search function to algorithm package and improve crypto SMTPSuo regex parsing\n\n- Implemented a new binary search function in the `algorithm` package\n- Added regex parsing and dynamic time formatting in `smtongsuo.go`\n- Fixed a potential off-by-one error in regex matching for certain cases\n- The new binary search function is more flexible, allowing for a custom comparison function and the ability to get the index and element at each iteration.","shortMessageHtmlLink":"feat: Add custom binary search function to algorithm package and impr…"}},{"before":"9f8168aaeacd85b55c672c1f96d91558e2727346","after":"469a7e5fa3f52bd18ec5482de7186ca169ab6a85","ref":"refs/heads/v4-dev","pushedAt":"2024-03-19T08:08:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Laisky","name":"Laisky.Cai","path":"/Laisky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4532436?s=80&v=4"},"commit":{"message":"fix: Add `NotBefore` and `NotAfter` fields to X509CertificateOutput in smtongsuo\n\n- Implemented support for `NotBefore` and `NotAfter` fields in `OpensslCertificateOutput` struct within `smtongsuo.go`\n- Added error handling for missing or invalid `SerialNumber`, `NotBefore`, or `NotAfter` fields in certificate raw data\n- Updated `NewX509Cert` function to set `-days` flag considering the difference between `notAfter` and current time\n- Extended `smtongsuo_test.go` test cases to include checks for `notbefore` and `notafter` fields in the certificate info","shortMessageHtmlLink":"fix: Add NotBefore and NotAfter fields to X509CertificateOutput i…"}},{"before":"cd071c31a6db0cd41b192518958cfcef59cc684a","after":"9f8168aaeacd85b55c672c1f96d91558e2727346","ref":"refs/heads/v4-dev","pushedAt":"2024-03-19T07:40:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Laisky","name":"Laisky.Cai","path":"/Laisky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4532436?s=80&v=4"},"commit":{"message":"feat: add `GetEnvInsensitive`\n\n* Refactor http client implementation\n - Replace global `httpClient` with a new variable `internalHttpCli`\n - Configure timeout and proxy for `internalHttpCli`\n * Add a case-insensitive function `GetEnvInsensitive` for environment variable retrieval\n * Improve test coverage for utility functions\n - Add test cases for `GetEnvInsensitive` function\n - Add a new test function `TestGetEnvInsensitive` for `GetEnvInsensitive`","shortMessageHtmlLink":"feat: add GetEnvInsensitive"}},{"before":"613a461ff62e75c21b36efec1eaeb908fd40fd81","after":"cd071c31a6db0cd41b192518958cfcef59cc684a","ref":"refs/heads/v4","pushedAt":"2024-03-18T02:16:24.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"Laisky","name":"Laisky.Cai","path":"/Laisky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4532436?s=80&v=4"},"commit":{"message":"fix: Refactor GoroutineTest methods to support cancellation\n\n- Implemented cancellation for `GoroutineTest` methods: `Fail()`, `Fatal()`, `Fatalf()`, and `Helper()` by adding a `t.cancel()` call.\n- The changes address potential issues with long-running or blocked tests, ensuring timely cleanup and efficient resource management.\n\nThis commit enhances the test suite by adding cancellation support, improving overall test execution efficiency and preventing potential resource leaks or deadlocks.","shortMessageHtmlLink":"fix: Refactor GoroutineTest methods to support cancellation"}},{"before":"c6898a7437c2ce637d8ddad2143d60d2553fdc43","after":"cd071c31a6db0cd41b192518958cfcef59cc684a","ref":"refs/heads/v4-dev","pushedAt":"2024-03-18T02:16:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Laisky","name":"Laisky.Cai","path":"/Laisky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4532436?s=80&v=4"},"commit":{"message":"fix: Refactor GoroutineTest methods to support cancellation\n\n- Implemented cancellation for `GoroutineTest` methods: `Fail()`, `Fatal()`, `Fatalf()`, and `Helper()` by adding a `t.cancel()` call.\n- The changes address potential issues with long-running or blocked tests, ensuring timely cleanup and efficient resource management.\n\nThis commit enhances the test suite by adding cancellation support, improving overall test execution efficiency and preventing potential resource leaks or deadlocks.","shortMessageHtmlLink":"fix: Refactor GoroutineTest methods to support cancellation"}},{"before":"a0186cf28638fccdeca4be97831c2e01718cf753","after":"c6898a7437c2ce637d8ddad2143d60d2553fdc43","ref":"refs/heads/v4-dev","pushedAt":"2024-03-18T02:08:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Laisky","name":"Laisky.Cai","path":"/Laisky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4532436?s=80&v=4"},"commit":{"message":"chore: Update dependencies and add certificate chain verification tests\n\n- Upgraded `github.com/Laisky/zap` from version `v1.25.3-0.202","shortMessageHtmlLink":"chore: Update dependencies and add certificate chain verification tests"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEc02PMgA","startCursor":null,"endCursor":null}},"title":"Activity · Laisky/go-utils"}