Commit graph

324 commits

Author SHA1 Message Date
Filippos Karapetis
ce51fd937f BACKENDS: Use C++ 11 range-based for loops 2025-03-27 13:47:57 +08:00
Le Philousophe
3e509f2379 ANDROID: Use getScummVMAssetsPath to access the assets
This fixes cacert lookup
2024-11-15 16:01:23 +01:00
Le Philousophe
4008546631 BACKENDS: NETWORKING: Properly use urlToPath
urlToPath can return an empty string if uploading or creating a
directory at the root.
2024-11-02 22:52:59 +01:00
Le Philousophe
867cbfcd0d ANDROID: Create a dedicated define for Android backend
This allows other backends (SDL, libretro) to be used on Android without
hacks.
2024-09-02 20:53:57 +03:00
Cameron Cawley
1357bfe672 COMMON: Avoid including engine headers in common code for DebugChannelDef 2024-06-20 20:15:57 +01:00
Hubert Maier
05fd4dc465 JANITORIAL: Fix occured typo in socket.cpp 2024-05-18 13:52:31 +02:00
Hubert Maier
68f448e763 JANITORIAL: Fix occured typos in enet.cpp 2024-05-18 13:52:31 +02:00
Hubert Maier
794f292b5d
AMIGAOS: Use compiler defines 2024-03-16 01:59:27 +02:00
Cameron Cawley
5b1b14ad80 COMMON: Mark more symbols as const 2023-12-26 20:23:59 +01:00
Le Philousophe
bfc61439fb COMMON: Make themepath a Path object 2023-12-24 13:19:25 +01:00
Le Philousophe
d8db629cd5 BACKENDS: NETWORKING: Make rootpath a Path and use Path everywhere 2023-12-24 13:19:25 +01:00
Le Philousophe
87e9a406fa BACKENDS: NETWORKING: Use Path instead of String for local files
Use references when applicable too.
2023-12-24 13:19:25 +01:00
Le Philousophe
d87571766e BACKENDS: NETWORKING: Use Path for cURL requests 2023-12-24 13:19:25 +01:00
Le Philousophe
b23e06c4cd BACKENDS: NETWORKING: Properly handle request abortion
Finish the request with an error.
Remove a useless check as handle is never called when state is not
PROCESSING
2023-12-10 11:43:58 +01:00
Le Philousophe
e9e89f0a70 BACKENDS: NETWORKING: Don't handle request if it's not processing
This avoids an error when aborting a request which notifies on a
disappeared dialog and raises a SIGSEGV
2023-12-09 23:59:06 +01:00
Le Philousophe
0043d344a9 BACKENDS: Avoid passing arguments by value in cloud and networking
Use references everywhere it's possible.
Use override keyword to raise errors when there are discrepancies.
2023-10-29 01:51:38 +02:00
Little Cat
f49e1de5c2 BACKENDS: CURL: Raise debug log level to 3. 2023-10-24 22:20:22 -03:00
Le Philousophe
a68e8fcea8 ANDROID: Fix CA path retrieval
The old way doesn't work anymore since directories are not FSNode.
The SearchMan could also return files which were not accessible through
filesystem.
2023-08-12 22:12:59 +02:00
Le Philousophe
fde8a0b463 NETWORKING: Use a String for CA path
This allows to build the path inside the function and return it.
2023-08-12 22:12:58 +02:00
Thierry Crozat
b0ae8424c9 NETWORKING: Notify the backend when starting or stopping the local web server 2023-08-06 23:07:35 +02:00
hax0kartik
6575c1cca8 CLOUD: Fix memleak in ConnectionManager 2023-08-04 17:48:11 +02:00
hax0kartik
d7ada7488b CLOUD: Fix memleak in CurlRequest 2023-08-04 16:35:21 +02:00
hax0kartik
05a4989bb5 CLOUD: Fix memleak due to addedRequests not being cleared 2023-08-04 16:35:21 +02:00
Eugene Sandulenko
d78a28c816
BACKENDS: NETWORKING: Remove unneeded include 2023-04-29 23:45:58 +02:00
Donovan Watteau
c5d52c877f BACKENDS: ENET: Fix MSVC C4245 signed/unsigned mismatch warning
Missed in previous commit 73d61b3438.
2023-04-11 12:57:51 +02:00
Donovan Watteau
73d61b3438 BACKENDS: ENET: Fix MSVC C4245 signed/unsigned mismatch warning 2023-04-11 11:06:23 +02:00
Orgad Shaneh
b725686077 BACKENDS: ENET: Fix GCC/MinGW warning
packet.cpp:121:9: warning: declaration of 'byte' shadows a global declaration [-Wshadow]
  121 |     int byte;
      |         ^~~~
In file included from C:/msys64/mingw64/include/wtypes.h:8,
                 from C:/msys64/mingw64/include/winscard.h:10,
                 from C:/msys64/mingw64/include/windows.h:97,
                 from C:/msys64/mingw64/include/winsock2.h:23,
                 from C:/Projects/scummvm/backends/networking/enet/source/win32.h:18,
                 from C:/Projects/scummvm/backends/networking/enet/source/enet.h:16,
                 from C:/Projects/scummvm/backends/networking/enet/source/packet.cpp:7:
C:/msys64/mingw64/include/rpcndr.h:63:25: note: shadowed declaration is here
   63 |   typedef unsigned char byte;
      |                         ^~~~

Fix by defining WIN32_LEAN_AND_MEAN, which prevents this typedef.
2023-04-09 19:00:01 -03:00
Alexander Tkachov
cc38b31ae7 CLOUD: Janitorial
- rename JSON::getPreparedContents() to JSON::untaintContents();
- minor changes to ConnectCloudClientHandler and CloudConnectionWizard.
2023-04-08 16:20:11 +02:00
Alexander Tkachov
f3149a9b5d CLOUD: Add new connection wizard
- remove Options widgets of the old wizard;
- add CloudConnectionWizard dialog;
- remove old widgets and add new ones in the layouts;
- update local webserver to allow passing a callback that needs to be called if storage was connected via /connect_cloud.
2023-04-08 16:20:11 +02:00
Alexander Tkachov
f08da80efa CLOUD: Add another connectStorage() version
This new version looks for "storage" key in JSON and uses it to determine which storage needs to be connected.
2023-04-08 16:20:11 +02:00
Alexander Tkachov
b4dd48f395 CLOUD: Add new flow (WIP)
- allow OPTIONS HTTP method to be handled by local webserver;
- add /connect_cloud endpoint;
- add new DropboxStorage constructor that works with JSON response instead of requesting that via shortcode;
- add CloudManager::connectStorage() overload for this new JSON flow.

/connect_cloud endpoint allows cross-origin request (via CORS HTTP headers) from cloud.scummvm.org, so user's browser sends the JSON response directly to ScummVM app, instead of the app requesting that response from the site.

This commit is WIP, introducing a new constructor for Dropbox only, and not changing the GUI part at all.
2023-04-08 16:20:11 +02:00
Alexander Tkachov
978c0b3c99 NETWORKING: Janitorial (FilesPageHandler) 2023-04-08 16:20:11 +02:00
Alexander Tkachov
09484e8eff NETWORKING: Add HandlerUtils::makeResponseStreamFromString()
Just a small helper method to make a Common::SeekableReadStream for local webserver's handlers from Common::String contents.
2023-04-08 16:20:11 +02:00
Alexander Tkachov
ab22e61938 NETWORKING: Add "generic" mode to Reader
Local webserver's helper class, Reader, supported simple GET requests and POST form/multipart ones. The code for the latter was a bit specific, and didn't allow handling more generic POST requests.

This change adds ReaderMode enum, with RM_HTTP_GENERIC mode, that allows such generic requests to be handled. In Networking::Client class, that uses Reader, readContent() was renamed to readFirstContent(), and corresponds to previously existing POST form/multipart mode. readContent() should now be used for generic POST requests handling.
2023-04-08 16:20:11 +02:00
Alexander Tkachov
3606a75db1 NETWORKING: Move getPreparedContents() to Common::JSON
Made the method that prepares the JSON received via network static and moved to Common::JSON, so it could be used not only in CurlJsonRequest.
2023-04-08 16:20:11 +02:00
Le Philousophe
ecc050e83c ANDROID: Bundle cacert.pem and don't disable certificate checks 2023-04-02 11:39:44 +02:00
Little Cat
8df9779e22
SCUMM HE: Add command and re-add endline 2023-03-31 06:08:58 -03:00
Little Cat
33bfcd6eac
SCUMM HE: Disable cert verification on Android. 2023-03-31 05:14:44 -03:00
Donovan Watteau
4c83c15a11 BACKENDS: CURL: Fix -Wformat warning 2023-03-09 15:43:52 +01:00
Donovan Watteau
ae2b3181f3 BACKENDS: CURL: Fix libcurl redefining ARRAYSIZE on Win32
As done in commit 272d4105b2.
2023-03-09 14:52:58 +01:00
D G Turner
a77091faa9 BACKENDS: CURL: Fix Deprecated API Warnings By Removing Usage on v7.45.0+ 2023-03-07 23:40:54 +01:00
Le Philousophe
1d2ffda577 BACKENDS: CURL: Fix build with old curl versions 2023-03-07 13:37:42 +01:00
Le Philousophe
673ff82b8a BACKENDS: ENET: Yet another fix for Vita build
SOMAXCONN is not defined in their toolchain and a patch in their
boost package uses this value
2023-03-07 13:37:42 +01:00
Le Philousophe
36ccf8b29a BACKENDS: ENET: Yet another fix for AmigaOS build
The previous one was not complete
2023-03-07 13:37:42 +01:00
Le Philousophe
57f3d6ebf3 BACKENDS: ENET: Fix AmigaOS build
There, msg_name is of type char *
2023-03-07 08:41:30 +01:00
Le Philousophe
e51b9a7325 BACKENDS: ENET: Fix Vita build
fcntl is supported here while ioctl isn't.
2023-03-07 08:41:30 +01:00
Little Cat
f2dac5e9b3 BACKENDS: CURL: Document URL methods. 2023-03-06 00:07:13 +01:00
Little Cat
c7d16aea5c BACKENDS: ENET: Document code. 2023-03-06 00:07:13 +01:00
Little Cat
11d9631003 BACKENDS: CURL: Add missing end lines. 2023-03-06 00:07:13 +01:00
Little Cat
f9f2023b2a BACKENDS: ENET: Fix space indentation to tab. 2023-03-06 00:07:13 +01:00