Jessy Yameogo
ef5295d050
[dtd] Use secure random number generator to generate URI auth code (path) and secret
...
Change-Id: Ibde6afaaf5d3f83f8f8aea1bca38bffc75a20e36
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/386280
Reviewed-by: Jessy Yameogo <yjessy@google.com >
Commit-Queue: Jessy Yameogo <yjessy@google.com >
Reviewed-by: Ben Konyi <bkonyi@google.com >
2024-09-25 15:41:52 +00:00
Danny Tuppeny
516b6b23a6
[dtd] Fix permission checks to handle differences in file URI escaping
...
Fixes https://github.com/Dart-Code/Dart-Code/issues/5210
Fixes https://github.com/dart-lang/sdk/issues/54917
Fixes https://github.com/dart-lang/sdk/issues/55476
Change-Id: I492a4f876ea75972e9971f61d67d2ecf84e7b4c0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/378461
Reviewed-by: Kenzie Davisson <kenzieschmoll@google.com >
Reviewed-by: Ben Konyi <bkonyi@google.com >
Commit-Queue: Ben Konyi <bkonyi@google.com >
2024-08-28 15:30:07 +00:00
Danny Tuppeny
44cc865f7d
[dtd] Improve the error thrown when trying to call a service method without a complete name
...
This now behaves the same as for any other method that doesn't exist, rather than throwing a generic RPC error with a `RangeError` inside.
Fixes https://github.com/dart-lang/sdk/issues/56540
Change-Id: I1171fe1c0c2a4a6f56d7a653af87b17a76af9d68
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/381643
Reviewed-by: Elliott Brooks <elliottbrooks@google.com >
Reviewed-by: Ben Konyi <bkonyi@google.com >
Commit-Queue: Ben Konyi <bkonyi@google.com >
2024-08-22 18:03:50 +00:00
Danny Tuppeny
15356d576d
[dtd] Add a test a disconnecting DTD client results in error responses for any in-progress requests to them
...
This question came up in another change, about whether a client would have hanging requests if the other DTD client providing the service disconnected.
This adds a test to ensure that any pending requests are terminated with an error.
It also tidies up some other tests to give better errors if they fail.
Change-Id: I77e04ee59f757498af090878da542d6ed1d152b0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/374946
Reviewed-by: Ben Konyi <bkonyi@google.com >
Commit-Queue: Ben Konyi <bkonyi@google.com >
Reviewed-by: Helin Shiah <helinx@google.com >
2024-07-16 18:45:53 +00:00
Danny Tuppeny
214088a7a0
[dtd] Prevent clients from using internal service names or dots in service names
...
See https://github.com/dart-lang/sdk/issues/56177
Change-Id: I9765f232e71026a0ae6ee2ce95248472fb69ba3e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/374980
Reviewed-by: Kenzie Davisson <kenzieschmoll@google.com >
Commit-Queue: Ben Konyi <bkonyi@google.com >
Reviewed-by: Ben Konyi <bkonyi@google.com >
2024-07-11 15:59:23 +00:00
Danny Tuppeny
3c66c16122
[dtd] Move DTD implementation classes from lib/ to lib/src/ to avoid src/ files importing from lib/
...
Fixes https://github.com/dart-lang/sdk/issues/56178
Change-Id: I1f461e0f9c787e69eade7a5e4806c0a85bb23c23
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/374981
Commit-Queue: Ben Konyi <bkonyi@google.com >
Reviewed-by: Ben Konyi <bkonyi@google.com >
Reviewed-by: Derek Xu <derekx@google.com >
Reviewed-by: Kenzie Davisson <kenzieschmoll@google.com >
2024-07-09 19:55:17 +00:00
Danny Tuppeny
23de3198fa
Add support for notifying DTD clients of registered services
...
Fixes https://github.com/dart-lang/sdk/issues/56057
Change-Id: I57144297b8cb68b1c8b35d7bdcc619ad293fb4ed
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/372940
Reviewed-by: Ben Konyi <bkonyi@google.com >
Commit-Queue: Ben Konyi <bkonyi@google.com >
Reviewed-by: Derek Xu <derekx@google.com >
2024-07-08 16:12:21 +00:00
Danny Tuppeny
499277c690
[dtd] Add support for '--disable-service-auth-codes'
...
See https://github.com/dart-lang/sdk/issues/54932
Change-Id: Ie85eb76eb5e8c01dda957d038286ae498748ca70
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/373340
Reviewed-by: Dan Chevalier <danchevalier@google.com >
Reviewed-by: Ben Konyi <bkonyi@google.com >
Commit-Queue: Ben Konyi <bkonyi@google.com >
2024-07-03 14:51:43 +00:00
Danny Tuppeny
d209ea9333
[dtd] Allow passing an explicit port to DTD
...
Removes the port from `startService()` (which as far as I can see is unused) and parses it from `args` instead.
I had to add support for "options" in the argument classes and switched from a bool flag `isFlag` to an enum to be a bit more descriptive (and be easier to support multi-options in future if required).
Fixes https://github.com/dart-lang/sdk/issues/56000
Change-Id: Ib08513139f58e8845a7c2cbbeeea06787dbc2df1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/371840
Commit-Queue: Ben Konyi <bkonyi@google.com >
Reviewed-by: Dan Chevalier <danchevalier@google.com >
Reviewed-by: Ben Konyi <bkonyi@google.com >
2024-06-17 14:58:19 +00:00
Dan Chevalier
ba8306735d
Ensure that dtd handles relative paths correctly.
...
Change-Id: I1ebf22a9ae258741580660a8eaf77aa286e9affa
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/362400
Reviewed-by: Kenzie Davisson <kenzieschmoll@google.com >
Commit-Queue: Dan Chevalier <danchevalier@google.com >
2024-04-15 14:29:03 +00:00
Kenzie Schmoll
c042924d0d
Add UnifiedAnalytics service to the Dart Tooling Daemon.
...
This CL also removes unified analytics code from DDS and DevTools server.
Bug: https://github.com/dart-lang/sdk/issues/55280
Change-Id: I6f1c56cb8dce6f611ee73de7081c0a9cd43187c4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/360221
Commit-Queue: Kenzie Davisson <kenzieschmoll@google.com >
Reviewed-by: Elias Yishak <eliasyishak@google.com >
Reviewed-by: Ben Konyi <bkonyi@google.com >
2024-04-04 00:20:32 +00:00
Kenzie Schmoll
cfe3217378
Add getProjectRoots API to DTD
...
Bug: https://github.com/flutter/devtools/issues/7366
Change-Id: If0631f387306312655bdcbefe961692b00a7b4dc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/359320
Commit-Queue: Kenzie Davisson <kenzieschmoll@google.com >
Reviewed-by: Dan Chevalier <danchevalier@google.com >
Reviewed-by: Polina Cherkasova <polinach@google.com >
Reviewed-by: Ben Konyi <bkonyi@google.com >
2024-03-25 19:52:21 +00:00
Dan Chevalier
b626c255eb
Updating DTD docs to ensure they are ready for the consumption.
...
Change-Id: Iccbf88959bbd68bac897e3f5b05dbf5fe2a0a4bd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/355460
Reviewed-by: Ben Konyi <bkonyi@google.com >
Reviewed-by: Kenzie Davisson <kenzieschmoll@google.com >
Commit-Queue: Dan Chevalier <danchevalier@google.com >
2024-03-22 01:28:39 +00:00
Kenzie Schmoll
408918d6f5
[dds] Start DTD from DevTools server if it is not already started.
...
Fixes https://github.com/dart-lang/sdk/issues/54937 .
Tested: pkg/dartdev test for `dart devtools` command, and new `dtd_test.dart` in pkg/dds.
Change-Id: I530ba2fe4d5809082378b61c282ba7856974e21e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/354460
Commit-Queue: Kenzie Davisson <kenzieschmoll@google.com >
Reviewed-by: Ben Konyi <bkonyi@google.com >
Reviewed-by: Dan Chevalier <danchevalier@google.com >
2024-03-18 21:50:09 +00:00
Dan Chevalier
68c74e2a97
Add obfuscation token to DTD uri
...
Adding this token adds a small layer of security since the caller needs to have gathered the uri in some way rather than just stumbling on the DTD port.
Change-Id: I0665f4718d162daf94cb49fa1c6f4206c83d77cd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/355220
Reviewed-by: Kenzie Davisson <kenzieschmoll@google.com >
Commit-Queue: Dan Chevalier <danchevalier@google.com >
Reviewed-by: Ben Konyi <bkonyi@google.com >
2024-03-07 19:33:19 +00:00
Dan Chevalier
952e3b718f
Add --unrestricted to DTD command.
...
NOTE: the tests view better if you turn off whitespaces on the diff.
This command will start a DTD instance that has the FileSystem service restrictions disabled. Which can be used in development environments.
Bug: https://github.com/dart-lang/sdk/issues/54762
Change-Id: I829f83d7c7afc7dd83732fc8a600cb41ffe36f63
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/352921
Reviewed-by: Kenzie Davisson <kenzieschmoll@google.com >
Commit-Queue: Dan Chevalier <danchevalier@google.com >
2024-02-20 20:08:57 +00:00
Dan Chevalier
03f797a85a
Solidify dtd lifecycle
...
- devtools server can now take the dtd uri as a parameter on startup
- dtdUri is passed to the server handler so that devtools can request it.
- FileService is implemented inside the Dart Tooling Daemon (dtd_impl)
- Added FileService.setProjectRoots
- Added unit tests and rpc exceptions
- on startup dtd now prints { uri, secret } so that the caller has the secret that allows them to call FileService.setProjectRoots
Fixes: https://github.com/dart-lang/sdk/issues/54790
Change-Id: I7a66aca2f8f06f6a611a46c727a9d5c2485fbe3e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/346922
Reviewed-by: Ben Konyi <bkonyi@google.com >
Commit-Queue: Dan Chevalier <danchevalier@google.com >
2024-02-13 16:17:18 +00:00
Dan Chevalier
a995f7930b
Solidify, test and document DTD errors
...
Change-Id: Ied0f1af43954e47a2c51837bd2fc8d7ce0e03fa7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345800
Commit-Queue: Dan Chevalier <danchevalier@google.com >
Reviewed-by: Ben Konyi <bkonyi@google.com >
2024-01-18 16:07:31 +00:00
Ben Konyi
3c42222b7e
[ CLI ] Add tooling-daemon command to support launching the Dart Tooling Daemon (DTD)
...
This change includes the following:
- A new `tooling-daemon` CLI command to launch DTD
- Minor refactoring of package:dtd_impl to better match expected
Dart package structure
- Updated build rules to create dart_tooling_daemon.dart.snapshot
Change-Id: Idd91bc4ce64ce790db5bad323a50d9cf65523dc2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/344800
Reviewed-by: Dan Chevalier <danchevalier@google.com >
Commit-Queue: Ben Konyi <bkonyi@google.com >
2024-01-08 17:07:55 +00:00