* initial shadnet client (based on my previous prs)
* some np_handler work mostly based on our previous pr
* improved login/logout event of shadnet
* added np_score support from previous pr
* friends and notifications ui
* clang is not my friend
* clang fix again
* added webapi support for shadnet
* applied metrik's fix
* clang
* fixed some wrong LOG_ERRORS
* updated emulator settings
* trying to fix npcommid bugs
* fixed npcommid
* improved NPcommid detection so it won't write null values to database
* metrik's suggestion
* removed one line
* more command types
* fixed duplicated log print
* fixed compile
* improved reconnection retries
* simplify error code
* stephen suggestion
* made friends hotkey
* fixup
* more proper handling of reconnecting
* fixed return code
* NP Part 1: NPSignaling
PR Split 1 of X, adds the NPSignaling Library and some of the dependencies. Any stubs are highlighted by the stubs files and will be resolved upon other PRs. (Dependencies are to shadnet and further PR's to Matching2)
* PR Corrections
* PR Corrections 2
* PR Corrections 3
* clang fix
* Move to folder per request
* sceHttpAddRequestHeader
* added sceHttpRemoveRequestHeader
* implemented a few more functions
* added sceHttpSetProxy
* cleanup
* more cleanup
* fix tests?
* fix tests part2
* Added debug in SendRequest
* improved debug
* forgot
* added real http connection path
* fixes for wipeout
* add custom redirect as it doesn't match the httplib one
* more debug messages
* clang is not my friend
* argg
* make kernelstub configurable
* added url override
* fixup
* ..
* stephen's reviews
* more stephen reviews
* http tests
* fixed tests
* fixed a single tests isssue
* one more fix
* argg
* more uri work based on decompile and tests
* fix includes
* fix loader stubs
* cleanups
* sceHttpParseStatusLine matches decompile and tests
* sceHttpParseResponseHeader implemenation and tests
* try fixing no-internet path in sendrequest
* minimal state machine to support proper erroring of no-internet available
* more improvements
* more implementation based on stephen's comments
* some more fixes based on decompile
* add parameters and logging
* added sceHttpUriBuild , fixes to sceHttpUriEscape ,sceHttpUriParse
* return an error to statuscode , this should be enough for no-connection
* using new emulator_settings
* the default user is now just player one
* transfer install, addon dirs
* fix load custom config issue
---------
Co-authored-by: kalaposfos13 <153381648+kalaposfos13@users.noreply.github.com>
* Test
* More robust logic for storing and freeing dummy data
Anything heap allocated is invalidated when the function returns. Use malloc to allocate the string instead, and make sure to free those allocations in sceSslFreeCaCerts.
* Force resolver errors when not connected to network
Error values are based on real hardware testing.
sceNetResolverGetError is based on libSceNet decompilation.
* Update net_resolver.h
* added function parameters
* added logging
* more logging
* added error codes file
* sceNpWebApiCreateExtdPushEventFilter some re
* added np_web_api_internal
* more np_web_api_internal definations
* Initial types cleanup
* Basic library context handling.
Followed decomp closely, using standard library classes where possible to simplify code.
* Fix params to sceNpWebApiCreateContext
* Context logic fixes
* User contexts
* Clang
* sceNpWebApiVshInitialize
* Better initialization
* Request creation logic
* Some cleanup
* sceNpWebApiAbortRequest, sceNpWebApiDeleteRequest
* SendRequest functions
* formatting
* Update terminateContext and deleteUserContext
Addressing some unimplemented bits now that I have requests and user contexts here.
* Copyright
* sceNpWebApiCreateHandle, sceNpWebApiDeleteHandle, sceNpWebApiAbortHandle
also some bugfixing
* Extended push event filter
* abort handles in terminateContext
* Other push event filter types
* Register callbacks
* unregister callbacks
* oops
* One final update to deleteContext
* Logging changes
* Bug fixes
Fixes memory leaks, pretty sure these are the only places where that was an issue.
* sceNpWebApiCheckTimeout
* Handle and request timeouts
* Oops
* Push event filter parameters
Tested with Assassin's Creed Unity, seems to be correct.
* Service push event filter parameters
Tested again with Assassin's Creed Unity, seems to work fine.
Also fixed some code bugs I noticed, and removed an unnecessary part of my internal structs
* Stub implementation for createUserContextWithOnlineId
Might need a PSN check to be properly accurate, not sure.
* added sceNpWebApiGetHttpStatusCode
* opps
* opss 2
* sceNpWebApiReadData
* clang
* Fix context ids, user context ids, and request ids
Overlooked how these ids are actually calculated.
* Additional PSN checks
Seems creating any form of push event filter with an np service name fails when you're not connected to PSN.
Not sure of the actual cause yet, but given the error code, it's related to sceNpManagerIntGetUserList.
* compile fix
---------
Co-authored-by: Stephen Miller <millerste004@gmail.com>
Co-authored-by: Stephen Miller <56742918+StevenMiller123@users.noreply.github.com>
This issue would cause memory leaks in some EA titles, also just generally makes it harder to debug stuff when the fd table is flooded with closed sockets and epolls.
* Fix: Add libbsd dependency for Linux builds
Adds conditional libbsd support to resolve strlcpy undefined reference
on Linux systems. Includes proper CMake detection and header includes.
* Fix: Use internal strlcpy implementation for Linux
- Extend existing Windows strlcpy implementation to Linux
- Remove libbsd dependency from CMakeLists.txt
- Resolves undefined reference to strlcpy on glibc systems
Uses the project's existing approach instead of adding external dependencies.
* Remove checks for module version_major and version_minor
Following this rule broke linking for some libraries, and introduced extra effort needed to get some homebrew running.
* Clang
* Fix rebase
* Disable libSceSsl HLE
Real hardware uses a title workaround to determine if base libSceSsl is needed. Currently, this title workaround applies to absolutely nothing.
* Fix handling of ORBIS_NET_SO_ONESBCAST to support proper broadcast address translation on send.
Fix setsockopt for SO_(RCV/SND)TIMEO on Windows/Linux.
* fixed suggestion
* fixes
* AF_UNIX preliminary support
* fixed windows
* added windows implemenation for socketpair
* More gotos
* added sys_socketpair for libkernel_ps2emu
---------
Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
* select
* select for windows
* fixed windows only function
* windows error converts
* fixed up
* fixed compile
* another implementation for windows
* draft rewrite for windows
* implementation for windows
* added some debugging info
* more debugging
* extensive log
* Windows: Add device files to output fd_sets
Cyberpunk 2077 breaks without this.
Also added some formatting changes, to bring the implementation closer to our typical coding standards.
* Clang
* Formatting + cleanup
Removed some excessive logging used for debugging, and did some cleanup on the non-Windows implementation.
---------
Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
Co-authored-by: Stephen Miller <millerste004@gmail.com>