lpd: Avoid buffer overflow when sending a job
When forwarding a print job to a remote server, we could overflow the
command buffer if a control or data file had a very long name.
MFC after: 1 week
Reported by: Joshua Rogers <joshua at joshua.hu>
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D57184
(cherry picked from commit f2c7c5f94803b67a9a6af625d4fc8882d2afda6c)
lpd: Restore ability to specify a port number
This has been broken since IPv6 support was added in 2000. We would
validate the port number (which had to be a port number, but can now
also be a service name) and then ignore it.
MFC after: 1 week
Fixes: 08829865f659 ("IPv6 support for lpr.")
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D57181
(cherry picked from commit c0cae7d8da50daa87af4cd6d7c9a2043343b506f)
lpr: Add deprecation notice
These programs require elevated privileges to work and have not seen
regular maintenance in decades. Unless someone steps up and overhauls
them, we will have to remove them before 16.0. Better-maintained
alternatives are available in ports (print/cups, sysutils/LPRng).
MFC after: 3 days
(cherry picked from commit d57dee7ab66f60537b557cb602be194e3eed253d)
lpd: Avoid buffer overflow when sending a job
When forwarding a print job to a remote server, we could overflow the
command buffer if a control or data file had a very long name.
MFC after: 1 week
Reported by: Joshua Rogers <joshua at joshua.hu>
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D57184
(cherry picked from commit f2c7c5f94803b67a9a6af625d4fc8882d2afda6c)
lpd: Restore ability to specify a port number
This has been broken since IPv6 support was added in 2000. We would
validate the port number (which had to be a port number, but can now
also be a service name) and then ignore it.
MFC after: 1 week
Fixes: 08829865f659 ("IPv6 support for lpr.")
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D57181
(cherry picked from commit c0cae7d8da50daa87af4cd6d7c9a2043343b506f)
security/infisical-cli: add new port for the official Infisical CLI
The Infisical CLI is a powerful command-line tool for secret management
that allows you to:
- Inject secrets into applications and development workflows
- Scan for secret leaks in your codebase and git history
- Export secrets to various formats (dotenv, JSON, YAML)
- Authenticate with Infisical Cloud or self-hosted instances
- Integrate with CI/CD pipelines and Docker containers
Revert "[clang] remove lots of "innocuous" addrspacecasts" (#199685)
Reverts llvm/llvm-project#197745
Broke AMDGPU HIP Kokkos bot:
https://lab.llvm.org/buildbot/#/builders/230/builds/958
Late reply as the breakage got lost in some trouble with the buildbot
fleet.
Co-authored-by: Kewen Meng <Kewen.Meng at amd.com>
[compiler-rt][profile] Add COMPILER_RT_BUILD_PROFILE_ROCM option
InstrProfilingPlatformROCm.cpp (added in 5db13643f4b7) is currently built
into every non-baremetal libclang_rt.profile, but not all hosts support it
(e.g. it fails to link on Darwin, where __llvm_write_custom_profile is
unavailable).
Add a COMPILER_RT_BUILD_PROFILE_ROCM CMake option (defaulting off on Apple,
on elsewhere) to allow that host to opt out.
[mlir][mem2reg] Promote memory slots through transparent view operations (#196924)
This patch enables mem2reg to operate on load/store that are made
through cast/views of the memory slot (not directly using the SSA value
produced by the allocation op).
This is done by adding a new `PromotableAliaserInterface` interface that must
be implemented by operations that define view of the slot and through which
mem2reg should still happen.
This interface comes with three APIs. The first one allows the operation to
provide new MemorySlots that are aliasing an input MemorySlot. The slot pointers
of these new MemorySlot are results of the operation.
The other two APIs allows projecting the reaching values between the input and output
MemorySlot (one API for each direction).
Assisted by: Claude
RFC:
https://discourse.llvm.org/t/mlir-mem2reg-rfc-promote-memory-slots-through-transparent-view-operations/90761
[LLD] [COFF] Fix handling of immediates in ARM64_SECREL_HIGH12A (#200060)
Just like for PAGEBASE_REL21, the immediate in SECREL_HIGH12A is the
byte offset, not a page offset. The byte level offset is added to the
symbol offset, which only then after that gets shifted right by 12. This
makes the handling of this immediate consistent with what MS link.exe
does.
The existing testcase had a zero immediate in the instruction for this
relocation.
This makes it clear that immediate offsets with SECREL_HIGH12A do work
fine, where the byte level offsets end up carrying over to the upper
bits.
ttymsg: Overhaul
* Instead of an error string, return the usual 0 or -1 and let the caller
figure out what, if anything, to tell the user.
* Avoid string manipulations by opening /dev first and using openat()
with O_RESOLVE_BENEATH.
* Add a boolean argument which, if false, causes ttymsg() to return
without sending the message if the tty's group-writable bit is not
set. This saves programs that respect this setting (like syslogd(8))
from having to check before calling ttymsg().
* Update all callers.
The observable effect of this change is minimal except for slightly
different error messages when ttymsg() fails. However, syslogd(8) will
no longer print spurious error messages on the console after trying and
failing to write a log message to an X11 session.
[7 lines not shown]
ttymsg: Overhaul
* Instead of an error string, return the usual 0 or -1 and let the caller
figure out what, if anything, to tell the user.
* Avoid string manipulations by opening /dev first and using openat()
with O_RESOLVE_BENEATH.
* Add a boolean argument which, if false, causes ttymsg() to return
without sending the message if the tty's group-writable bit is not
set. This saves programs that respect this setting (like syslogd(8))
from having to check before calling ttymsg().
* Update all callers.
The observable effect of this change is minimal except for slightly
different error messages when ttymsg() fails. However, syslogd(8) will
no longer print spurious error messages on the console after trying and
failing to write a log message to an X11 session.
[7 lines not shown]
[libc++] Implement P3508R0: Wording for "constexpr for specialized memory algorithms" (#197313)
Resolves #118379
- Add `constexpr` to affected areas
- Add `constexpr` tests
- Update documentation
Tests were created with AI assistance.
[compiler-rt][profile] Add COMPILER_RT_BUILD_PROFILE_ROCM option
InstrProfilingPlatformROCm.cpp (added in 5db13643f4b7) is currently built
into every non-baremetal libclang_rt.profile, but not all hosts support it
(e.g. it fails to link on Darwin, where __llvm_write_custom_profile is
unavailable).
Add a COMPILER_RT_BUILD_PROFILE_ROCM CMake option (defaulting off on Apple,
on elsewhere) to allow that host to opt out.
[InstCombine] Fix type mismatch in `foldBitmaskMul` (#199920)
Resolves #199506.
`matchBitmaskMul` matches the form `!(A & N) ? 0 : N * C`.
When the select arms are splat vectors but A is a scalar, this produces
malformed ir like `%57 = and i64 %49, <4 x i64> splat (i64
3689348814741910323)`.
Reproducer: https://godbolt.org/z/EYzKTxcKn