Jens-G opened a new pull request, #3366: URL: https://github.com/apache/thrift/pull/3366
Replace the Windows-only random CoCreateGuid() GUID generation with deterministic UUIDv8 (RFC 9562) derived from SHA-256 over a namespace hierarchy (DNS → thrift.apache.org → program → interface metadata). Uses SHA-256 implementation by Brad Conte (brad AT bradconte.com), which is explicitly public domain (no copyright claimed). Source: https://github.com/B-Con/crypto-algorithms - sha256.h: Brad Conte's algorithm verbatim, inlined to a header-only file, macros prefixed THRIFT_SHA256_ to avoid collisions - Add generate_guid_v8() for services and structs using a canonical string covering: program namespace UUID, entity name, parent service hash (for inheritance), and function/field signatures with Thrift IDL type names - Add type_name_for_guid(), canonical_service_string(), canonical_struct_string(), program_namespace_uuid() helpers - Add guid_v4 generator option to fall back to legacy random GUIDs (Windows only, for migration compatibility) - GUIDs are now emitted on all platforms, not just Windows - Add UuidV8Test.thrift fixture and CI step that validates determinism, UUIDv8 format, field-order sensitivity, and parent-service hash inclusion - LICENSE: add attribution section for the third-party public-domain code, following the existing pattern in the file -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
