[lld][MachO] Accept hex format for cstring hashes in order file (#178933)
Support both decimal and hexadecimal formats for cstring hashes in
the order file. Hex values must use the 0x prefix (case insensitive).
Examples:
CSTR;1234567890 (decimal)
CSTR;0x499602D2 (hex)
Co-authored-by: Sharon Xu <sharonxu at fb.com>
[clang][Driver] Fix use after scope in darwin driver (#178967)
`Version.getAsString()` returns an `std::string`, and thus the
`StringRef` points to an invalid location when pushed into the
Components vector. This just keeps the temporary alive for the
new string to be generated, to fix the ASAN failure after #176541
17850 loader: ls should avoid adding double '/' at front of the path
Reviewed by: Andy Fiddaman <illumos at fiddaman.net>
Approved by: Dan McDonald <danmcd at edgecast.io>
Remove python-pam and plumb in pam_truenas
This commit removes the python-pam Python library dependency from
TrueNAS middleware and replaces it with truenas_pypam. The most
significant change is the migration of API key authentication from
simple PBKDF2 password hashing to SCRAM-SHA512 (Salted Challenge
Response Authentication Mechanism) as defined in RFC5802. SCRAM is an
authentication protocol that uses PBKDF2-HMAC-SHA512 for key
derivation. API keys are now stored with SCRAM-derived credentials
including salt, stored_key, server_key, and iteration count fields in
the database. A database migration automatically converts existing
PBKDF2-hashed API keys to SCRAM format transparently—existing API keys
will continue to work without requiring regeneration. The commit adds a
new SCRAM authentication mechanism for challenge-response authentication
with replay resistance and mutual validation capabilities, while
maintaining the existing API_KEY_PLAIN mechanism for simple
authentication.
The refactoring includes comprehensive changes to the authentication
[10 lines not shown]
Attributor: Use anchor scope for SimplifyQuery context (#178958)
This was asserting in computeKnownFPClass when a dominator tree
check happened across functions.
Fixes #178954
Fix read of unsupported SMB share ACL access mask
The SMB share ACL database technically supports more varieties of
share ACL settings than we explicitly expose (or Windows does
for that matter). This means there is a small chance that a user
could set an unsupported mask through shell commands. We have no
interest in increasing backend API complexity here and so we'll
present the special string "CUSTOM" to end-user and make them
fix it on share ACL update. Remaining share ACL infrastructure
does not rely on this special decoding / encoding.
While we're in here, delete some dead code and add a flush method
for tdb contents for cases where we insert something but not
under a transaction lock. I haven't seen issues in the past with
TDB writes, but since this is a security-sensitive area an extra
flush here isn't a bad idea.
This commit ensures the share ACL is always purged from server
when share is deleted (even if it doesn't exist in running
[3 lines not shown]
[clang][Driver] Fix use after scope in darwin driver
`Version.getAsString()` returns an `std::string`, and thus the
`StringRef` points to an invalid location when pushed into the
Components vector. This just keeps the temporary alive for the
new string to be generated, to fix the ASAN failure after #176541
[AArch64] Convert CLS intrinsics to use ISD::CTLS (#178885)
This patch converts AArch64 CLS intrinsics (aarch64_neon_cls) to use the
generic ISD::CTLS node.
- aarch64_neon_cls: Lowered to ISD::CTLS, pattern-matched to CLS
instruction
- Set ISD::CTLS as Legal for NEON vector types (v8i8, v16i8, v4i16,
v8i16, v2i32, v4i32)
Also adds generic CTLS expansion support:
- ExpandIntRes_CTLS in LegalizeIntegerTypes for i64->i32 type expansion
- expandCTLS in TargetLowering for targets without native CLS
instruction
Part of: https://github.com/llvm/llvm-project/issues/174337