Commit Graph

14 Commits

Author SHA1 Message Date
yuriy odonnell
257f18b5b6 unsync - Split OpenID config out of FAuthDesc into a separate structure and use auth desc to generate token cache key instead of just server address
* Avoids unnecessary login steps when using different proxy servers that share auth config

[CL 29877767 by yuriy odonnell in ue5-main branch]
2023-11-21 18:25:48 -05:00
yuriy odonnell
5b24957094 unsync - Fix TLS subject initialization in FHttpConnection
* Bump version to 1.0.62

[CL 29656656 by yuriy odonnell in ue5-main branch]
2023-11-10 17:02:12 -05:00
yuriy odonnell
149778ff91 unsync - Always use the specified proxy server for performing authentication instead of auto-selected closest, fix few other minor issues
* Use correct TLS subject after auto-selecting a proxy (previously the root proxy address was used)

[CL 29051065 by yuriy odonnell in ue5-main branch]
2023-10-24 15:07:43 -04:00
yuriy odonnell
f455aaecc7 unsync - Add support for HTTP HEAD requests
Also minor fixes and improvements:

* Fix error code handling when connecting a socket
* Fix some of the naming convention violations
* Add --print-http-header option to login command

#rb none

[CL 27702511 by yuriy odonnell in ue5-main branch]
2023-09-07 23:20:15 -04:00
yuriy odonnell
8c7bdecb04 unsync - Add support for direct manifest download from proxy server (bypassing SMB)
* Add --login flag to sync command
* Add in-process token cache
* Add auth token when quering server features
* Use direct download path when supported by server

#jira UE-192913
#rb none

[CL 27535921 by yuriy odonnell in ue5-main branch]
2023-08-31 16:20:09 -04:00
yuriy odonnell
c9dc86cb37 unsync - Add dedicated login command and make output more machine-friendly
* Make TLS a mandatory required library
* Redirect human-readable log messages of login and query commands to stderr, while only directing machine-readable messages to stdout

#rb none

[CL 27471298 by yuriy odonnell in ue5-main branch]
2023-08-29 19:18:18 -04:00
yuriy odonnell
c33f84e382 unsync - Groundwork for list query
#jira UE-192913
#rb none

[CL 27341587 by yuriy odonnell in ue5-main branch]
2023-08-24 10:44:55 -04:00
yuriy odonnell
0cb9903591 unsync - Automatically refresh access token only when it's close to expiration
- Add FHttpRequest::BearerToken field
- Validate credentials using login endpoint

#jira UE-192913
#rb none

[CL 27233166 by yuriy odonnell in ue5-main branch]
2023-08-20 19:45:21 -04:00
yuriy odonnell
37b1da7fde unsync - Groundwork for user authentication
#jira UE-192913
#rb none

[CL 27227985 by yuriy odonnell in ue5-main branch]
2023-08-18 21:41:29 -04:00
Yuriy ODonnell
0bed95e711 unsync - Use TLS during handshake if running with --tls option, skip all certificate validation with --insecure option
#preflight skip

[CL 21066879 by Yuriy ODonnell in ue5-main branch]
2022-07-12 22:10:46 -04:00
Yuriy ODonnell
10b0e773a3 unsync - Fix crash when initial proxy handshake fails
Also use plain (non-TLS) connection for handshake by default

#preflight none
#rb none

[CL 21039956 by Yuriy ODonnell in ue5-main branch]
2022-07-11 10:31:33 -04:00
Yuriy ODonnell
15ae7848a8 unsync - Send basic sync stat telemetry to the server (if server supports it)
#preflight skip

[CL 20938659 by Yuriy ODonnell in ue5-main branch]
2022-07-04 23:38:13 -04:00
Yuriy ODonnell
29db42b0dd unsync - Add query command, which can be used to get information from the server (such as list mirrors)
Also implement header-only HTTP response handling.

#rb Martin.Ridgers
#preflight skip

[CL 19196474 by Yuriy ODonnell in ue5-main branch]
2022-03-01 05:53:29 -05:00
Yuriy ODonnell
b5709042fb Import Unsync into the main source tree
This is a binary patching and incremental downloading tool, similar to rsync or zsync. It aims to improve the large binary download processes that previously were served by robocopy (i.e. full packages produced by the build farm).

The original code can be found in `//depot/usr/yuriy.odonnell/unsync`. This commit is a branch from the original location to preserve history.

While the codebase is designed to be self-contained and does not depend on any engine libraries, it mostly follows the UE coding guidelines and can be built with UBT.

Currently only Windows is supported, however the tool is expected to also work on Mac and Linux in the future.

#rb Martin.Ridgers
#preflight skip

[CL 18993571 by Yuriy ODonnell in ue5-main branch]
2022-02-15 04:30:27 -05:00