[vfs][dart] Check illegal file object

Per [Fuchsia
namespaces](https://fuchsia.dev/fuchsia-src/the-book/namespaces?hl=en#object_names)
file object names must be between 1 and 255 bytes, contain no null
bytes, not be the special file names '.' and '..' and cannot contain the
object seperator '/'. This CL steps toward these restrictions in the
dart library.

One consideration is that dart strings are encoded in UTF-16, while the
FIDL protocol expects UTF-8 strings. However, an encoding is not implied
by the restrictions above, and therefore a UTF-16 string meeting these
requisites is not invalid. Therefore, characters with multi-byte
representation are not illegal in path elements.

Change-Id: I3ac47d3307bb3e6fe0d07cdf28eae948ca2ab9f5
2 files changed
tree: b2814a9d626bec95f71992442d9fadfbd37399db
  1. .cargo/
  2. app/
  3. bin/
  4. boards/
  5. bundles/
  6. examples/
  7. lib/
  8. manifest/
  9. packages/
  10. public/
  11. runtime/
  12. shell/
  13. tests/
  14. tools/
  15. .clang-format
  16. .gitignore
  17. AUTHORS
  18. BUILD.gn
  19. CONTRIBUTING.md
  20. LICENSE
  21. OWNERS
  22. PATENTS
  23. README.md
  24. rustfmt.toml
README.md

Topaz

Topaz augments system functionality by implementing interfaces defined by underlying layers. Topaz contains four major categories of software: modules, agents, shells, and runners.

For example, modules include the dashboard, and runners include the Web, Dart, and Flutter runners.

Removed Components

Looking for something that used to be in this repository? The list below provides a code location and sha that can be used to checkout dead code that has been removed. Please note, it is unlikely the code will build or work correctly shas are provided for reference only. Code can be checked out with:

    git checkout <sha> -- $FUCHSIA_DIR/<location>
  • topaz/app/chat: 9f6c31d2ceb8353f229a9ef6b53ba2386ff31867
  • topaz/app/color: 5a023ccb054104846e3e913951bcc7dc277d2274
  • topaz/app/contacts: 80378fe470817750188707de29237282892a3142
  • topaz/app/dashboard: 982984856fec7e45d295a6ca34bdd819b6760b72
  • topaz/app/documents: b5a3ee29b15414f232865128195d14bd8811ab02
  • topaz/app/image: 5e731a943a907cf960ecfbda1c391958f9093afa
  • topaz/app/link_viewer: 00fe1236c6851da5d54c625a8293561bb617804c
  • topaz/app/video: fc03877f787fc119140b900d476c4563bd04a529
  • topaz/bin/repl: fc25fb9b825f4100b316c4d5135156ef05e0dc4b
  • topaz/examples/bluetooth: f4287c5ae0e9b099983121b41be66e1994b83a02
  • topaz/examples/tictactoe: 07fd955f4
  • topaz/tools/dartfmt_extras: acc1f05718af2bcfbba3317a456f82b67eec4e42
  • topaz/tools/mod: acc1f05718af2bcfbba3317a456f82b67eec4e42
  • topaz/tools/widget_explorer: acc1f05718af2bcfbba3317a456f82b67eec4e42
  • topaz/examples/bluetooth: f4287c5ae0e9b099983121b41be66e1994b83a02
  • topaz/bin/repl: fc25fb9b825f4100b316c4d5135156ef05e0dc4b
  • topaz/examples/tictactoe: 07fd955f4
  • topaz/examples/ui/hello_mod: 07fd955f4
  • topaz/examples/ui/sketchy_flutter: 07fd955f4
  • topaz/examples/ui/text_flutter: 07fd955f4
  • topaz/public/lib/agent: 79a60c5d377ed3a55a87d999292036243ff21446
  • topaz/public/lib/config: f489f45e6883df6e3be578342b4e739928adcf77
  • topaz/public/lib/context: f489f45e6883df6e3be578342b4e739928adcf77
  • topaz/public/lib/mod: 75067a620790d76515c3824321eca335a6aa6bab
  • topaz/public/lib/app_driver: 0196bf704f
  • topaz/public/lib/fuchsia_driver: b34f97387
  • topaz/public/lib/decomposition: b34f97387
  • topaz/public/lib/module_resolver: 2e13a4929
  • topaz/public/lib/user: 62cc03e
  • topaz/lib/setui/settings: 4009b4a
  • topaz/public/lib/schemas: e5810dfa1
  • topaz/public/lib/entity: e5810dfa1
  • topaz/public/lib/component: e5810dfa1
  • public/lib/app/dart: 12404bc
  • examples/fidl/echo_client_dart: 12404bc
  • examples/fidl/echo_server_dart: 12404bc
  • examples/fidl/fidl_bindings_performance: 12404bc