4 Commits
Author SHA1 Message Date
najdek 840ab2293c rename project to Payload Manager 2026-04-28 20:45:38 +02:00
najdek 4c9697800e security: harden HTTP server against path traversal and thread safety issues
Address code review findings:
- Validate USB paths (restrict to /mnt/usbN/, block .., require .elf/.bin)
- Sanitize /loadpayload route (resolve via known scan dirs only)
- Add filename validation to /manage:check endpoint
- Fix autoload config OOB write (swap fgets/line_count check order)
- Escape JSON strings in /log and /get_config responses
- Move json_escape to utils.c as nm_json_escape for reuse
- Replace global response_buffer with per-request malloc + MUST_FREE
- Add alloc_response_buffer helper to deduplicate OOM handling
- Fix overwrite flag being ignored in USB move
- Handle truncated repository JSON with proper error status
- Centralize CORS headers via add_cors_headers helper
- Fix dangling pointer in loadpayload resolved_path scope
2026-04-28 13:19:48 +02:00
najdek 47d4b2e9ea feat: unified payload storage structure and installation source tracking
- Implemented folder-based storage (/payloads/<clean_name>/) for all methods
- Added install_source and install_source_detail metadata to tracking JSON
- Synchronized naming logic between frontend and backend to handle platform suffixes (-ps5/-ps4)
- Added overwrite confirmation prompts for web uploads, USB moves, and repository updates
- Updated repository installer to track source URLs dynamically
2026-04-23 00:11:15 +02:00
najdek 574871d34d feat: add native notifications, real IP resolution, and automated deployment
- Implemented native PS5 on-screen debug notifications via sceKernelSendNotificationRequest.
- Added robust local IP resolution using getifaddrs to replace placeholder IP.
- Migrated server port from 50005 to 8084 across the entire stack.
- Added a startup notification on the PS5 screen displaying version, IP, and port.
- Created deploy.sh script for fully automated build and deployment:
    - Automatically requests shutdown of previous instance.
    - Rebuilds both React frontend and native ELF.
    - Performs unidirectional ELF transfer via socat and exits immediately.
- Updated Makefile and README with new deployment workflow.
2026-04-19 15:27:27 +02:00