[roll] Roll fuchsia [fidl][fuchsia.boot.Arguments] Increase Collect result vector max

fuchsia.boot/Arguments.Collect was defined with a maximum return
value, regardless of how many boot arguments actually matched the
prefix, of 32 (MAX_ARGS_VECTOR_LENGTH) elements. This maximum,
however, is ignored by the server in component_manager, which returns
as many elements as there are matches. This behavior is used by
"ffx target show" which calls Collect with the empty string to obtain
all of the boot arguments, which exceeds 32 on some configurations
(the configuration that discovered this issue had 35).

This behavior was broken recently when length validation was added to
the Rust FIDL bindings. Now, instead of returning more than 32 boot
arguments, component_manager closes the connection.

This commit increases MAX_ARGS_VECTOR_LENGTH from 32 to 255
elements (which keeps the maximum return message size under the the 64
KiB limit and should be enough for anybody).

This is in a sense a breaking change for Collect, as clients built
before the change that were validating the return length will now
error when talking to a server built after the change that is sending
more than the old maximum. In practice, the only server of this API,
component_manager, was already sending more than the maximum and this
change undoes the effective API breakage introduced when the Rust
bindings started validating the length.

The other methods should not be affected because the server only
returns as many elements as the client requests.

Additionally, this FIDL API is internal so ffx is the only client we
need to worry about breaking.

Also, the length limit on the GetStrings return vector is changed from
MAX_ARGS_COLLECT_LENGTH (presumably a typo) to MAX_ARGS_VECTOR_LENGTH
so that clients can request up to the new maximum without error.

Original-Bug: 125464
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/836716
Original-Revision: 70e73b1194e5599ee6ba6af08a4cf19be7fdc491
GitOrigin-RevId: 3e083368356cf571d8cb152c51af9887d7468d02
Change-Id: I70965324670e62632e5115b6f205ec59ecb4dea1
1 file changed
tree: 81ff3f0628d02aca5d05087dd87054de1405e393
  1. git-hooks/
  2. infra/
  3. third_party/
  4. cts
  5. firmware
  6. flower
  7. jiri.lock
  8. MILESTONE
  9. minimal
  10. prebuilts
  11. README.md
  12. stem
  13. test_durations
  14. toolchain
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance via the IRC channel #fuchsia on Freenode.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.