[DA] Rewrite the formula in the Strong SIV test (#179665)
In the Strong SIV test, given two addrecs `{c0,+,a}` and `{c1,+,a}`, the
following inequality is evaluated:
`|c0 - c1| >s |a| * BTC`, where `BTC` is the backedge-taken count of the
loop.
To evaluate this correctly, at least the following checks are necessary.
- `c0 - c1` doesn't overflow
- For all absolute-value calculations `|x|`, `x` is not the signed
minimum value
- `|a| * BTC` doesn't overflow
- `0 <=s BTC`, which is currently missed
- The addrecs have `nsw`, which is also currently missed
Enumerating these conditions and inserting them one by one is risky, and
I believe it makes the software flaky, so it should be avoided. It's
[7 lines not shown]
installer(8): Auto fill default router in fn_assign_ip()
Add field change callbacks for "interface_ip" and "interface_netmask"
fields to auto fill/update the default router according to the IP and
netmask.
In addition, set the default netmask to "255.255.255.0".
Fix bug #3382
Bug: https://bugs.dragonflybsd.org/issues/3382
Reported-by: Nelson H. F. Beebe
installer(8): Fix hostname FQDN handling in fn_assign_ip()
Append domain to create FQDN only when the domain is not empty, similar
to the logic in fn_assign_hostname_domain().
installer(8): Avoid prompting for hostname and domain twice
During the manual IP configuration, the installer prompted for the
hostname and domain. Later, the main configuration menu prompted for
them again.
Retrieve the hostname and domain from rc_conf/resolv_conf variables, and
pre-populate the form fields to avoid the duplicate prompts.
In addition, pre-populate the DNS server field from resolv_conf vars.
Fix bug #3383.
Bug: https://bugs.dragonflybsd.org/issues/3383
Reported-by: Nelson H. F. Beebe
installer(8): Implement form field change callback mechanism
Implement a callback mechanism for form field change. This allows the
backend to dynamically update the dependent form fields when user
modifies one field.
The whole interaction flow is:
1. Set the callback function for a form field;
2. The frontend presents the form;
3. User fills the field and changes focus;
4. The frontend sends the FIELD_CHANGED message and waits for the reply;
5. The backend handles the message, triggers the callback, and replies
the FIELD_CHANGED_ACK message with the full dataset;
6. The frontend applies the dataset to present the updated form.
For example, when user fills the interface IP address, the callback will
auto fill the default router / gateway address.
TODO: The following low-priority features are missing:
[4 lines not shown]
installer(8): Refactor vars handling to avoid writing duplicates
config_vars_write() appends the in-memory vars to the target config
file. fn_assign_hostname_domain() fn_assign_ip() previously both read
the 'resolv.conf' and then write the updated vars, resulting duplicate
items being written to 'resolv.conf'.
Refactor the vars handling to start with empty 'rc_conf' and
'resolv_conf' vars, adjust the above configure functions to add/set
variables, and only write the config files once at the end.
installer(8): Improve config_vars_read() to support CONFIG_TYPE_RESOLV
The config_vars_read() function previously only supported CONFIG_TYPE_SH
and ignored CONFIG_TYPE_RESOLV that's supported by config_vars_write().
Add the CONFIG_TYPE_RESOLV file support to config_vars_read(). This
change is required in later commits that improve/simplify the
installation flow.
installer(8): Use pgrep(1) to check frontend/backend processes
Use 'pgrep -x' to correctly match the frontend/backend processes. This
is simpler than the original ps+grep method and fixes the partial match
problem. For example, the old grep would incorrectly match the tail(1)
process that was checking the `dfuibe_installer_debug.log` or
`dfuife_curses_debug.log` debug logs.
[LoopInterchange] Update tests for reduction2mem (NFC) (#181629)
The current ongoing work on DependenceAnalysis will degrade its analysis
capability. As a result, some existing tests will start to fail, meaning
that those tests are no longer meaningful. To preserve their original
intent, they need to be updated so that DependenceAnalysis can still
analyze them accurately.
This patch updates the test cases for the reduction2mem feature in
LoopInterchange. Specifically, it replaces the loop bounds with constant
values, which should not alter the intent of the tests.
[AMDGPU][MC] Validate atomics with TH_ATOMIC_RETURN (#182888)
Have AsmParser validate that atomics that use th:TH_ATOMIC_RETURN also
have an extra operand representing the destination as opposed to no-rtn
variants.
In cases where it was not specified parsing would pass because it would
assume it was a no-rtn variant but would still set th bits properly
after parsing modifiers. Register for destination would default to v0
(encoded as 0).
Also update invalid tests.
devel/llvm{19,20,21,22}: don't set LLVM_ENABLE_TERMINFO=OFF
LLVM dropped use of TERMINFO prior to LLVM 19 so stop trying to disable
it.
Sponsored by: DARPA, AFRL
py-sphinx-autodoc-typehints: updated to 3.7.0
3.7.0
Migrate type checking from mypy to ty
Move from extras to dependency-groups
fix(types): resolve PEP 695 type params in annotations
fix: separate injected :rtype: from preceding paragraph
fix(rtype): skip Return type for generators with Yields
fix(guard): silence ImportError for third-party guards
fix(sig): prevent KeyError in method lookup
fix(annotations): show NewType as alias name with supertype
fix(annotations): link enum variants in Literal types
fix(parser): prevent directive side-effects in snippet parsing
[MLIR] [Python] Added a missing cast to `__repr__` in the adaptors (#182867)
Without it the return type is inferred as `nanobind::object` which
results in invalid type stubs, since `__repr__` must return `str`.
[cmake] forward LLVM_EXTERNAL_*_SOURCE_DIR to runtimes (#180399)
Allow runtime source directories to live outside the top-level tree by
honoring LLVM_EXTERNAL_*_SOURCE_DIR and propagating the values via
RUNTIMES_CMAKE_ARGS.
vaultwarden: updated to 1.35.4
1.35.4
Security Fixes
This release contains security fixes for the following advisories. We strongly advice to update as soon as possible.
GHSA-w9f8-m526-h7fh. This vulnerability would allow an attacker to access a cipher from a different user (fully encrypted) if they already know its internal UUID.
GHSA-h4hq-rgvh-wh27. This vulnerability allows an attacker with manager-level access within an organization to modify collections they can access, even if they do not have management permissions for them.
GHSA-r32r-j5jq-3w4m. This vulnerability allows an attacker with manager-level access within an organization to modify collections they are not assigned.
These are private for now, pending CVE assignment.