Commit Graph

126 Commits

Author SHA1 Message Date
Eric Warmenhoven 8d579bba30 net_http: minor lock refactor 2025-06-09 23:49:49 -04:00
Eric Warmenhoven 98852bd427 android: enable builtin mbed-tls
fixes #16847
2025-06-03 23:03:37 -04:00
pstef 71ddadfcfb Fix crash in net_http_resolve() in single-thread mode
Pass the right object to the resolving function
2025-04-02 21:32:11 +00:00
pstef 39495ced67 Silence a type-limits warning
Before this change, an 8-bit value was guaranteed to be lesser than the
size of this array (256). Instead of removing the check, I make it
meaningful by reducing the size of the array.
2025-03-25 16:55:39 +00:00
Eric Warmenhoven fd8ba559d7
net_http: fix memleak (#17487) 2025-01-30 04:06:59 +01:00
Eric Warmenhoven 12f66bebb7
net_http: expire dns lookup failures more quickly (#17481) 2025-01-28 23:27:51 +01:00
Eric Warmenhoven d00ee5a70b
net_http: handle redirects (#17482) 2025-01-28 23:27:28 +01:00
Eric Warmenhoven d2eb49ccbc
net_http refactor (#17460)
* net_http: refactor net_http_new

The goal is to move calls to getaddrinfo() and connect() into
net_http_update(). This will make it possible for them to be replaced
with non-blocking alternatives later.

The net_http calling pattern right now allows callers to create the
http_connection_t, call net_http_new() which creates the http_t from
the http_connection_t, free the http_connection_t, and then start
calling net_http_update(). In order to preserve that, the http_t needs
to copy the values out of the http_connection_t on create. This also
preserves the http_connection_t values instead of freeing them, so the
connection would be able to be used later.

* net_http: implement dns cache

* net_http: separate out address resolution, connect, and request send

* net_http: perform getaddrinfo on separate thread

* net_http: implement basic connection pool

* net_http: refactor receive calls to read faster, do fewer reallocs

* net_http: build fix for platforms without SSL

* net_http: build fix for non-griffin builds

* net_http: build fix for non-threaded platforms
2025-01-23 01:29:47 +01:00
Viačasłaŭ 945d3ebc5f
Fix memleak (#17307) 2024-12-29 18:57:45 +01:00
LibretroAdmin ed58e4a8d8 Conventionalize len variables:
* In function arguments, use 'size_t len'
* Inside the function, use '_len'
* If you need a seciondary len variable inside the function, use '__len'
2024-12-27 05:51:33 +01:00
Eric Warmenhoven 893b0d142e
Cloud Sync (#15548)
* cloud sync - algorithm and abstract cloud storage API

* WebDAV cloud sync driver, and associated net_http improvements

* Cloud sync settings menu
2023-08-04 09:20:50 +02:00
libretroadmin 9e34f22a29 Silence Xcode code warnings + general cleanups 2023-07-14 18:05:54 +02:00
libretroadmin d9c196154c (net_http.c) Get rid of strlen 2023-06-21 19:21:16 +02:00
libretroadmin edecf0cb2d Replace more strlcat calls with strlcpy 2023-06-18 19:25:24 +02:00
Jamiras 0ec1a6acfd
call ssl_socket_close for ssl sockets (#14903) 2023-01-25 16:17:41 +01:00
retroNUC afe3bf72bb
net_http - 3ds build fix (#14900) 2023-01-25 07:15:17 +01:00
retroNUC 4ad9c7e020
net_http - Temp fix for cheevos crash (#14742) (#14899)
* net_http - Temp fix for cheevos crash (#14742)

Don't use new timeout/poll code for cheevos http requests

* net_http - Typo fix in comment
2023-01-24 23:36:17 +01:00
Cthulhu-throwaway e45958b25a
(Network) Get rid of the timeout_enable parameter for socket_connect (#14351) 2022-08-25 04:40:19 +02:00
LibretroAdmin 53d2fdbd97 net_http_urlencode - avoid one strlen call by clever use of strlcpy
return value and some subtraction arithmetic
2022-08-03 15:53:12 +02:00
LibretroAdmin ec6f4c1f55 (libretro-common) refinements to documentation 2022-08-01 13:06:35 +02:00
Cthulhu-throwaway 9b10579a54
(Network) Fix getaddrinfo_retro (#14261) 2022-07-31 11:22:28 +02:00
libretroadmin a6a4b845a4 Some string simplifications - don't NULL terminate if we pass
string to strlcpy and/or a file_path function using strlcpy under
the hood - don't do strlcpy for trivial setting of 2/3 char strings
2022-07-25 04:39:08 +02:00
libretroadmin 675ff6b9b6 net_http_send_str - reduce the amount of times strlen is called by
hardcoding the length when we feed the function a constant string
(with STRLEN_CONST)
2022-07-15 17:37:30 +02:00
libretroadmin 69ddf03c91 Remove unused return variables 2022-07-12 18:00:33 +02:00
libretroadmin 7b83636b64 Remove variables that are never used because the return value
of the function is already used instead
2022-07-11 18:15:08 +02:00
libretroadmin f8d14a0af6 (net_http) Simplify net_http_update - get rid of the majority of
gotos
2022-07-11 16:50:32 +02:00
LibretroAdmin 4a38831c47
Try to reduce fixed size char arrays from PATH_MAX_LENGTH to lower sizes (#14062)
* Try to reduce fixed size char arrays from PATH_MAX_LENGTH to lower sizes
2022-06-18 19:07:15 +02:00
Cthulhu-throwaway b696903162
UPnP fix for another specific router (#13404)
* UPnP fix for another specific router

Fix UPnP for a specific router device.

Also fix net_http not writing the host's port within the HTTP request.

* Quick edit
2021-12-24 11:56:51 +01:00
Jamiras e0ad9f7e26
fix netplay UPNP binding for specific router behavior (#13399)
* fix netplay UPNP binding for specific router behavior

* use ISSPACE macro
2021-12-23 19:30:35 +01:00
Autechre 3b1a1ac8da
Remove miniupnpc dependency (#13340)
* use custom libretro-common UPNP

* Remove miniupnpc
2021-12-09 05:52:42 +01:00
Sage 85a256e2cb
Make http header parsing case insensitive (#13267) 2021-11-21 20:43:58 +01:00
Jamiras 5ac432026a add helper function for accessing connection method 2021-07-27 21:02:14 -06:00
twinaphex 022fa54236 Nit 2020-08-27 15:22:40 +02:00
twinaphex c51959d45b Make net_http_urlencode thread-safe 2020-08-27 15:21:22 +02:00
twinaphex 7642cf5fa5 Struct reorders/alignment 2020-08-14 22:54:46 +02:00
twinaphex 4092fd7e83 Minor cleanup 2020-08-11 06:35:12 +02:00
twinaphex d5bdec3f60 (net_http) Refactor 2020-07-05 00:51:41 +02:00
twinaphex 5a0bc479b1 (libretro-common) Avoid more callocs 2020-06-28 20:57:00 +02:00
twinaphex cd9ca691ca (libretro-common) Update copyright 2020-01-31 15:43:42 +01:00
Jamiras d0d1c5bb37 allow characters other than / to follow port 2020-01-23 07:00:50 -07:00
Jamiras 59302e816c fix parsing of port in net_http_connection_done 2020-01-17 20:22:49 -07:00
Jamiras 67e9fba9d7 generate User-Agent for retroachievement API calls 2019-11-02 21:52:30 -06:00
Twinaphex 419eb5a6c0 Remove unused variables 2019-10-04 16:06:34 +02:00
twinaphex 3b057d9605 Start using STRLCAT_CONST_INCR and STRLCPY_CONST 2019-09-20 23:33:17 +02:00
twinaphex 8fa6230426 Cleanups 2019-09-18 02:16:47 +02:00
twinaphex 6f6b1a8333 (Net HTTP) Avoid unnecessary snprintf 2019-09-17 05:26:00 +02:00
Brad Parker c7c7d0988e initial network video driver, sends raw frames over TCP 2019-09-17 04:18:44 +02:00
twinaphex d01ae6929d Don't use strlcat for basic concatenation of characters
except when absolutely necessary
2019-09-17 02:00:04 +02:00
Brad Parker 0ecac5c8ff http: fix memory leak and potential null pointer argument to strlen 2019-07-04 16:27:51 -04:00
Twinaphex 29e4b8e2c1 Get rid of warning 2019-06-22 15:48:42 +02:00