Skip to content

Harden UVC parsing and profile handling#148

Open
svanvliet wants to merge 1 commit into
itaybre:masterfrom
svanvliet:security-hardening
Open

Harden UVC parsing and profile handling#148
svanvliet wants to merge 1 commit into
itaybre:masterfrom
svanvliet:security-hardening

Conversation

@svanvliet
Copy link
Copy Markdown

Summary

  • harden UVC descriptor parsing, USB request validation, and IOService/plugin lifetime handling
  • remove crash-prone unwraps in device/profile/preview paths and add diagnostics for failure cases
  • make profiles UUID-backed with legacy decode support and add duplicate camera disambiguation
  • fix periodic auto-push writes to reapply stored UI/profile values
  • modernize launch-at-login with SMAppService on macOS 13+
  • add Copilot repository instructions, pin Sparkle in Package.resolved, and update CI action versions/permissions

Tests

  • swiftlint --quiet
  • GIT_CONFIG_COUNT=1 GIT_CONFIG_KEY_0=safe.bareRepository GIT_CONFIG_VALUE_0=all xcodebuild -project CameraController.xcodeproj -scheme CameraController -sdk macosx -clonedSourcePackagesDirPath /tmp/camera-controller-sourcepackages CODE_SIGNING_ALLOWED=NO test

Notes

  • Sparkle appcast signing still requires the release private key/signing process.
  • Local xcodebuild required CODE_SIGNING_ALLOWED=NO because the maintainer Mac Development certificate is not installed locally.

Add bounds checks for UVC descriptor parsing and USB control requests, remove crash-prone unwraps, harden profile identity/persistence, modernize login item registration, and update CI dependencies. Add descriptor parser and profile regression tests plus Copilot repository instructions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant