D G Turner
78495ae462
CLOUD: Fix MSVC Warning in Google Drive Token Refresher
...
This was reported by Henke37 on IRC.
2019-09-15 23:56:51 +01:00
Alexander Tkachev
5b5a89e3e7
CLOUD: Make Network::ErrorResponse messages more verbose
...
This commit updates all usages of Network::ErrorResponse to specify at
least method name if not precise reason why operation failed.
2019-08-25 12:15:14 +03:00
Alexander Tkachev
24b1ec0ded
CLOUD: Handle HTTP response headers case-insensitively
...
RFC 2616 states that HTTP headers are not case-sensitive and also allows
arbitrary number of whitespace characters around header value. Previous
implementation was dependant on headers to be in "Title-Case" and to
have only one space before header value. That has lead to cloud sync
failure on Debian x64 (user's network environment was probably the
reason though).
This commit adds a new method, which parses headers name-value pairs
into HashMap. To ensure case-insensitivity, all headers names are
converted to lowercase, and thus code that uses this method should
specify headers in lowercase. All usages of raw headers contents were
updated to use this method.
2019-08-25 12:15:14 +03:00
Alexander Tkachev
f6a17e679f
CLOUD: Ask user to manually enable Storage
...
For more security, newly connected Storage only gets username/used space
information and is disabled until user manually presses the button.
2019-07-30 14:51:41 -04:00
Alexander Tkachev
99c2418d1a
GUI: Rewrite Cloud tab
...
- StorageWizardDialog is removed, along with bmps it was using;
- EditTextWidget now accepts custom font in constructor;
- ScrollContainer scrollbar now jumps to top when content height changes
so it's "overscrolled";
- IndexPageHandler now does not awaits for `code` GET-parameter, as
local webserver is no longer used to connect Storages;
- CloudManager and all corresponding Storages are updated to support
disconnecting and to notify about successful connection.
2019-07-30 14:51:41 -04:00
Alexander Tkachev
e8669f693c
CLOUD: Update BaseStorage to expect no refresh_token
...
While refreshing access_token, some cloud providers also pass a new
refresh_token. Google Drive does not, and accepts the same refresh_token
next time. These changes allow this to happen.
2019-07-30 14:51:41 -04:00
Alexander Tkachev
60504dce75
CLOUD: Update storages to refresh token via cloud.scummvm.org
2019-07-30 14:51:41 -04:00
Alexander Tkachev
4a427faf9c
CLOUD: Get rid of 'dists/clouds/cloud_keys.h'
2019-07-30 14:51:41 -04:00
Alexander Tkachev
0ee0e2d537
CLOUD: Update GoogleDriveStorage and BoxStorage to auth via cloud.scummvm.org
2019-07-30 14:51:41 -04:00
Alexander Tkachev
faa19c7bf0
CLOUD: Cleanup a little bit - remove unused config keys usage
2019-07-30 14:51:41 -04:00
Alexander Tkachev
ddcfcc18b2
CLOUD: Update DropboxStorage to work via scummvm.org & StorageWizardDialog correspondingly
2019-07-30 14:51:41 -04:00
SupSuper
272d4105b2
WIN32: Fix libcurl redefining ARRAYSIZE
...
libcurl pulls in Windows headers, so let's include it first to avoid clashing with common headers
2018-12-17 12:28:33 +02:00
D G Turner
32809534fd
CLOUD: Fix Remaining Shadowing Compiler Warnings.
2017-01-10 05:15:56 +00:00
Bastien Bouclet
4d68b93aba
CLOUD: Switch to the new OSD API
2016-09-13 20:29:09 +02:00
Eugene Sandulenko
fab199d37e
JANITORIAL: Make GPL headers uniform
2016-09-03 12:46:38 +02:00
Alexander Tkachev
37859a9203
CLOUD: Fix Requests
...
Remove unnecessary JSON warnings, fix a few places.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
fc8e29d583
CLOUD: Update OneDrive
...
Added JSON checks.
New jsonContainsObject() method added to CurlJsonRequest.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
d34b9b91ad
CLOUD: Update GoogleDriveUploadRequest
...
JSON checks in callback.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
a381e06fda
CLOUD: Update GoogleDriveStorage
...
More JSON checks in callbacks.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
166d1121e5
CLOUD: Update TokenRefreshers
...
Box's, Google Drive's and OneDrive's token refreshing requests have more
JSON checks now.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
0b97aff866
CLOUD: Minor TODO fix
2016-08-24 16:07:55 +06:00
Alexander Tkachev
6dd10f3a68
CLOUD: Add KEY/SECRET override code
...
The following constants must be defined if ENABLE_RELEASE is:
* RELEASE_DROPBOX_KEY,
* RELEASE_DROPBOX_SECRET,
* RELEASE_ONEDRIVE_KEY,
* RELEASE_ONEDRIVE_SECRET,
* RELEASE_GOOGLE_DRIVE_KEY,
* RELEASE_GOOGLE_DRIVE_SECRET,
* RELEASE_BOX_KEY,
* RELEASE_BOX_SECRET.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
15c6772ff7
ALL: Fix debug, warning and error usage
...
Added prefixes, used debug(9).
2016-08-24 16:07:55 +06:00
Alexander Tkachev
d57e0c89b5
CLOUD: #define all OAuth2/API-related URLs
2016-08-24 16:07:55 +06:00
Alexander Tkachev
f3959e1401
CLOUD: Upload ListDirectory Requests
...
Lots of checks to avoid JSON-related segfaults added.
2016-08-24 16:07:55 +06:00
Eugene Sandulenko
d57fca4665
CLOUD: JANITORIAL: Fix code formatting
2016-08-24 16:07:55 +06:00
Eugene Sandulenko
876b8616af
CLOUD: Fix format warning
2016-08-24 16:07:55 +06:00
Alexander Tkachev
5f9beb76cd
CLOUD: Fix HTTP response code TODOs
2016-08-24 16:07:55 +06:00
Peter Bozsó
9254df2d96
CLOUD: Fix code formatting
2016-08-24 16:07:55 +06:00
Alexander Tkachev
772d8ee42b
CLOUD: Fix redirect_uri
selection code
...
Now it's not hardcoded based on USE_SDL_NET, but one or another value is
used depending on currently selected LocalWebserver's port.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
438ba985a4
JANITORIAL: Remove spaces at the end of the line
...
I knew there were some, but I wanted to fix them once, instead of doing
it all the time.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
b180c73675
CLOUD: Do some refactoring/cleanup
...
Nothing really major.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
a449ddce15
CLOUD: Fix Cppcheck warnings
2016-08-24 16:07:55 +06:00
Alexander Tkachev
f743b31963
CLOUD: Fix CloudManager::connectStorage() memory leak
2016-08-24 16:07:55 +06:00
Alexander Tkachev
1d78d20fcf
CLOUD: Fix Dropbox and Google Drive UploadRequests
...
Possible segfault there too.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
b4e9e35e07
CLOUD: Cleanup in Storages
2016-08-24 16:07:55 +06:00
Alexander Tkachev
0b5bd18d85
CLOUD: Update GoogleDriveStorage
...
It now derives from IdStorage, so lots of GoogleDrive*Request classes
are removed and replaced with generic IdStorage*Request ones.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
a37c639986
CLOUD: Make Google Drive sort files list
...
GoogleDriveListDirectoryByIdRequest now uses "orderBy" field to specify
that we want the commonly used "alphabetical, folders first" order.
That's mostly needed for RemoteBrowserDialog, because Requests don't
care about the order, and this one is more user-friendly.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
f3a392359b
CLOUD: Fix finishSuccess() warning
2016-08-24 16:07:55 +06:00
Alexander Tkachev
fa3ea83165
CLOUD: Fix some warnings
...
Mostly on format string
2016-08-24 16:07:55 +06:00
Alexander Tkachev
39eb76f8c2
CLOUD: Fix "zero-length format string" warning
2016-08-24 16:07:55 +06:00
Alexander Tkachev
1addefad7e
CLOUD: Use correct redirect_uris
...
Usage of #ifdef there (and in StorageWizardDialog) means that ScummVM
doesn't support both local webserver and scummvm.org paths at the same
time. It's either built with SDL_net (thus supporting localhost path) or
without it (thus using scummvm.org).
2016-08-24 16:07:55 +06:00
Peter Bozsó
a8eebbe851
CLOUD: Get rid of CloudConfigHelper, use kCloudDomain where approriate
2016-08-24 16:07:55 +06:00
Alexander Tkachev
8a84263d2b
CLOUD: Do saves sync on Storage connect
2016-08-24 16:07:55 +06:00
Peter Bozsó
219e565c32
CLOUD: Introduce CloudConfigHelper
2016-08-24 16:07:55 +06:00
Alexander Tkachev
dbafbf2569
CLOUD: Fix getAccessToken()
...
KEY and SECRET should now load before getAccessToken() uses them, so it
should work now.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
9ee2eb4e60
GUI: Add EditText in StorageWizardDialog
...
One can enter the code, press 'Connect' button and get a working
Storage!
2016-08-24 16:07:55 +06:00
Alexander Tkachev
3e6503743c
CLOUD: Add Request::date()
...
Used in SavesSyncRequest to update Storage's last sync date.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
6a93e8dd09
CLOUD: Add ConnMan::urlEncode()
...
Tried to use it everywhere I should've use it.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
c99b24c16d
COMMON: Add String::asUint64()
...
Instead of all these atoull() I've added everywhere.
2016-08-24 16:07:55 +06:00