Commit Graph

25 Commits

Author SHA1 Message Date
Andrey Goncharov
5693ac7205 Disconnect all mobile clients when all UI clients leave
Summary: Context https://fb.workplace.com/groups/flippersupport/permalink/1730762380737746/

Reviewed By: lblasa

Differential Revision: D51510348

fbshipit-source-id: afafcdd6b89bf1038fec65a7c3e8c2dd9cfd0768
2023-11-22 02:59:27 -08:00
Andrey Goncharov
8ef29c8160 Embed auth token into HTML
Summary:
Auth token used be injected in the manifest file. Instead, have the server injected into the main HTML page.

The main driver to this change are:
- Simplify
- There are instances in which for some reason reading/writing the token from the manifest fails. This will address that problem.

Reviewed By: lblasa

Differential Revision: D51160521

fbshipit-source-id: 4626fd8f56bc8b61182a53a5d9cf5acad1e723bc
2023-11-09 14:05:43 -08:00
Lorenzo Blasa
69378c4b09 Add logs for early exit when writing token to manifest
Summary: ^

Reviewed By: aigoncharov

Differential Revision: D51154908

fbshipit-source-id: 0c04ee50d07db1478ec5a77faa6d6157b7c9960b
2023-11-09 09:08:33 -08:00
Andrey Goncharov
51e149765e Add more logging
Reviewed By: antonk52

Differential Revision: D51154065

fbshipit-source-id: 7532d1e141562adacb9170b112185bd6f730cc5a
2023-11-09 03:57:59 -08:00
Lorenzo Blasa
d5a0c206f2 Track WS server error
Summary: This is currently done by querying the 'console-log' event. Instead, make it type safe and official.

Reviewed By: antonk52

Differential Revision: D50927803

fbshipit-source-id: e0488782dd584e36b6f742f9892fc09ffaf62469
2023-11-02 10:42:15 -07:00
Andrey Goncharov
8c5078dc08 Catch sync errors while starting HTTP server
Reviewed By: lblasa

Differential Revision: D50636260

fbshipit-source-id: f23fb2005c779b87122ae34bfdd9371d8bdec8b4
2023-10-25 04:52:00 -07:00
Andrey Goncharov
97f01d0057 Check certs are good for TLS
Reviewed By: lblasa

Differential Revision: D50496418

fbshipit-source-id: fb4ee3a91b50d0e02f8b1d0e4618a510cf0c3a54
2023-10-25 04:52:00 -07:00
Lorenzo Blasa
450e6f2d7c Fixes an issue whereas server configuration is not yet set
Summary: ^

Reviewed By: aigoncharov

Differential Revision: D50470060

fbshipit-source-id: cc59ac7cace092addbf48dfa16219983bd129cb0
2023-10-19 13:57:36 -07:00
Lorenzo Blasa
f6de499171 Export to manifest on get
Summary:
Every time the token is returned, export it to the manifest.

This covers the case in which the token found in the manifest has already expired.

Reviewed By: antonk52

Differential Revision: D50419458

fbshipit-source-id: 8eefa0e97e234985b34f824190b208bf74e2d8ec
2023-10-18 12:28:06 -07:00
Lorenzo Blasa
8b24560bc0 Verify token before return
Summary: If the token has already expired, generate another one.

Reviewed By: aigoncharov

Differential Revision: D50410431

fbshipit-source-id: 108a3b344a1bcafd93a8d9bc94cba5c133d099d7
2023-10-18 08:53:46 -07:00
Lorenzo Blasa
8062e2c9e5 Generate auth token
Summary: Generate auth token on whenever we load the secure server config,  and add more logs.

Reviewed By: antonk52

Differential Revision: D49272857

fbshipit-source-id: 1e549a8bfd7926e9a44b9480432e92ee3c0162b2
2023-09-14 07:04:59 -07:00
Lorenzo Blasa
2b4c631652 Certificate and token generation fixes
Summary:
A few things need to be done which are on this change:

- Certificate generation should execute as an atomic operation, hence, it needs to be synchronised.
- Do not generate client token as part of certificate generation. This causes a deadlock now.
- Add more logs for troubleshooting

Reviewed By: aigoncharov

Differential Revision: D49269624

fbshipit-source-id: 071a8e5b895198730b7d914cc4622837e9094e2f
2023-09-14 04:15:18 -07:00
Lorenzo Blasa
cf599f9c3c Move launch further down, temporarily
Summary: Attempt to fix an ongoing issue whereas there's a race condition generating certificates

Reviewed By: passy

Differential Revision: D49237915

fbshipit-source-id: 2383b20cb6ba786166d5e70206b5fff846ed1211
2023-09-13 11:52:46 -07:00
Lorenzo Blasa
4cdbfff7fb Remove useless tag
Summary: ^

Reviewed By: antonk52

Differential Revision: D49193961

fbshipit-source-id: a51bd8b274a7f6f3bf3cdd7d3ff665430bf7bc3a
2023-09-13 04:06:58 -07:00
Lorenzo Blasa
93d94c9fc3 More logs around certificates and token generation
Summary: Useful for triaging defects

Reviewed By: passy

Differential Revision: D49186779

fbshipit-source-id: 743746444ce6e28753434a63d1bee2989cf4f66a
2023-09-13 04:06:58 -07:00
Lorenzo Blasa
819c75c126 Verify server certificates before returning existing token
Summary:
If the server certificates have expired, then the returned token will no longer be valid as soon as the certificates are renewed.

So, validate this before returning any existing token.

This was not an issue before, as launching used to be the last step during bootstrapping.

Reviewed By: antonk52

Differential Revision: D48902334

fbshipit-source-id: 2458aa0df806db245994ee742f42bff47a533e23
2023-09-01 04:52:09 -07:00
Lorenzo Blasa
865d551f8e Increase max payload size
Summary: ^

Reviewed By: passy, antonk52

Differential Revision: D48644784

fbshipit-source-id: 2cd0aeed94c31553243e1b335adbd4089feb0d7e
2023-08-24 10:05:17 -07:00
Sanjaiyan Parthipan
7cef8286f9 Concurrent Function Upgrade for Enhanced Performance (#4918)
Summary:
Republishing sanjaiyan-dev's PR https://github.com/facebook/flipper/pull/4889 running `git rebase` because of a conflict.

Pull Request resolved: https://github.com/facebook/flipper/pull/4918

Reviewed By: lblasa

Differential Revision: D47294545

Pulled By: passy

fbshipit-source-id: 74904ec6179ed5a3bab6f9b701c3cd769ecad3bf
2023-07-17 04:43:14 -07:00
Lorenzo Blasa
e484867f21 Enable dispatch of events
Summary: To dispatch events, we need a valid instance of FlipperServer. This is the place so enable the recorder with it.

Reviewed By: antonk52

Differential Revision: D47295986

fbshipit-source-id: f2231544c58ba8f76e9102265e10a99520260b0a
2023-07-10 05:52:07 -07:00
Lorenzo Blasa
e20d723ac0 Make ClientQuery available to certificate provider
Summary:
CertificateProvider is intrinsically related to a client query, make it available to it.

This becomes the optional 'context' of shell executions. When these are recorded, the context is provider to the recorder which can then link an ongoing certificate exchange process with the success or failure of said command.

Reviewed By: antonk52

Differential Revision: D47295894

fbshipit-source-id: 9469d18bda02793d71a6a8b29c93f4af1db23569
2023-07-10 05:52:07 -07:00
Lorenzo Blasa
fc38355eee Centralise logging
Summary:
Centralise connectivity logging into a single place. By having all logs go through a single interface, then it becomes trivial to manipulate them as needed.

In this change, this is not done.

In subsequent diffs, logs will be dispatched via an event and will be visualised in the Connectivity Hub.

Reviewed By: passy

Differential Revision: D47185054

fbshipit-source-id: fb5eab98895be0c8f61fb9a77d3e66d6a8dbcb27
2023-07-10 04:14:14 -07:00
Lorenzo Blasa
e052c27f27 Remove ClientCsrQuery
Summary: Already have SecureClientQuery. No need to have this as a type as it's not used or needed anywhere.

Reviewed By: antonk52

Differential Revision: D47210345

fbshipit-source-id: d9f3026a0e2a0b5dd2e87f16dba34a388dacd75f
2023-07-04 09:01:26 -07:00
Lorenzo Blasa
4a0ad8c1c3 SecureClientQuery moved to flipper-common
Summary: It should've been there with ClientQuery.

Reviewed By: antonk52

Differential Revision: D47210314

fbshipit-source-id: 869496918648f20b616c1a612296fff55597af77
2023-07-04 09:01:26 -07:00
Lorenzo Blasa
f63e5d440a Move certificate exchange bits to app-connectivity
Summary: Bit of reorganising as utils is a bit too generic and crowded.

Reviewed By: passy

Differential Revision: D47186536

fbshipit-source-id: 7b1dd26db95aef00778ff4f23d91f7371c4d07ad
2023-07-04 02:19:58 -07:00
Lorenzo Blasa
62cb33b763 comms: app-connectivity
Summary: It doesn't get more generic than 'comms'. So, narrow it down: app-connectivity.

Reviewed By: passy

Differential Revision: D47185255

fbshipit-source-id: 87e9c2487c9b07603d14e856de670757078c0da1
2023-07-03 09:40:26 -07:00