Commit Graph
415 Commits
Author SHA1 Message Date
Nirupam Bhowmick 99fa20409e fix: add BasePrincipal.h include to nsMathMLChar.cpp for Firefox 146 compatibility
- Added mozilla/BasePrincipal.h include alongside existing mozilla/OriginAttributes.h
- Required for BasePrincipal::Cast() usage in font fingerprinting protection code
- Resolves missing symbol errors when accessing principal casting functionality
2025-12-30 01:13:33 +00:00
Nirupam Bhowmick 22b93f1097 fix: update patch line numbers and context for Firefox 146 compatibility
- Updated line numbers in config.patch for browser/installer/package-manifest.in (260→250, 228→235)
- Updated line numbers in fingerprint-injection.patch across multiple files
- Changed nsScreen::GetAvailRect() to use GetTopWindowInnerRectForRFP() instead of GetWindowInnerRect()
- Updated line numbers in rust-gentoo-musl.patch (404→412)
- Adjusted context lines to match Firefox 146 codebase structure
2025-12-30 00:55:14 +00:00
Nirupam Bhowmick 7106903bb0 fix: add binary flag to patch command for line ending preservation
- Added --binary flag to preserve line endings (CRLF vs LF)
- Removed -F3 (fuzz factor) flag
- Helps with cross-platform patching where line endings may differ
2025-12-30 00:40:12 +00:00
Nirupam Bhowmick acba61d7aa fix: improve patch command flexibility with whitespace and fuzz tolerance
- Changed --fuzz=3 to -F3 for consistent short option format
- Added -l flag to ignore whitespace differences when applying patches
- Maintains --forward flag to skip already applied patches
2025-12-30 00:30:18 +00:00
Nirupam Bhowmick ee997d1518 make patching more lenient 2025-12-29 23:37:39 +00:00
Nirupam Bhowmick 03ca85c5dd fix: add webrtc namespace alias to HeadlessWindowCapturer.h for Firefox 146 compatibility
- Added rtc namespace alias pointing to webrtc namespace
- Required for compatibility with code using rtc:: prefix for WebRTC types
- Placed after includes and before class declarations
2025-12-29 23:08:46 +00:00
Nirupam Bhowmick 5133906b17 fix: add missing WebRTC header includes to HeadlessWindowCapturer.h for Firefox 146 compatibility
- Added api/scoped_refptr.h include for scoped_refptr template
- Added rtc_base/ref_counted_object.h include for ref counting support
- Required by WebRTC API changes in Firefox 146
2025-12-29 21:44:56 +00:00
Nirupam Bhowmick 4408a8f266 fix: add stub webrtc::Location header for Firefox 146 compatibility
- Created third_party/libwebrtc/api/location.h stub header
- Added minimal Location class implementation with Current() static method
- Required by api/task_queue/task_queue_base.h for task posting debugging
- Header was missing in Firefox 146's WebRTC implementation
2025-12-29 02:41:53 +00:00
Nirupam Bhowmick 993aed4174 fix: disable per-realm timezone overrides in Realm.cpp for Firefox 146 compatibility
- Removed conditional logic for per-realm timezone overrides in getDateTimeInfo()
- Added comment explaining that per-realm timezones are disabled in favor of global timezone overrides via JS::SetTimeZoneOverride()
- Simplified getDateTimeInfo() to always return nullptr since DateTimeInfo was refactored to use std::string instead of RefPtr<TimeZoneString>
2025-12-29 00:27:56 +00:00
Nirupam Bhowmick cdb4f92c06 fix: refactor timezone override from RefPtr to std::string in DateTime.cpp for Firefox 146 compatibility
- Changed timeZoneOverride_ from RefPtr<JS::TimeZoneString> to std::string
- Updated all timeZoneOverride_ checks from pointer comparisons to empty() calls
- Replaced timeZoneOverride_->chars() with timeZoneOverride_.c_str() for string access
- Removed updateTimeZoneOverride() method and replaced with internalSetTimeZoneOverride()
- Removed DateTimeInfo constructor that took RefPtr<JS::TimeZone
2025-12-28 23:24:44 +00:00
Nirupam Bhowmick 0c0a358a58 fix: remove duplicate timeZoneOverride_ declaration in playwright patch for Firefox 146 compatibility
- Removed duplicate timeZoneOverride_ member variable declaration from DateTimeInfo class
- Firefox 146 already has this member variable defined, causing redefinition errors
- Kept the original timeZoneOverride_ declaration that was already present in the base code
2025-12-28 21:46:20 +00:00
Nirupam Bhowmick 0e7cef4ca9 fix: update timezone-spoofing.patch for Firefox 146 compatibility
- Updated line numbers and context in intl/components/moz.build
- Changed TimeZone::TryCreate parameter from char16_t to char in TimeZone.cpp
- Added explicit reinterpret_cast for zoneID assignment to match new char-based API
2025-12-28 20:15:48 +00:00
Nirupam Bhowmick 194fa03576 fix: update CritScope references to webrtc::CritScope in playwright patch for Firefox 146 compatibility 2025-12-28 19:05:52 +00:00
Nirupam Bhowmick c367710d54 fix: add explicit uint8_t casts to ShaderPrecisionFormat initialization in webgl-spoofing.patch 2025-12-27 23:51:11 +00:00
Nirupam Bhowmick b2c846410b fix: add camoucfg include path to webgl-spoofing.patch for Firefox 146 compatibility 2025-12-27 23:00:03 +00:00
Nirupam Bhowmick 761104824f fix: duplicate declaration 2025-12-27 22:15:12 +00:00
Nirupam Bhowmick 01925c5adf fix: duplicate declaration on playwright patch build error 2025-12-27 21:36:09 +00:00
Nirupam Bhowmick f7a9bf7fbd refactor: move MOZ_APP_VENDOR and MOZ_APP_PROFILE to moz.configure and fix juggler component registration
- Removed MOZ_APP_VENDOR and MOZ_APP_PROFILE from configure.sh branding file
- Added note that these must be set via imply_option() in browser/moz.configure
- Updated disable-data-reporting-at-compile-time.patch to set MOZ_APP_VENDOR="Camoufox" and MOZ_APP_PROFILE="camoufox"
- Changed juggler components.conf to use "type" instead of "constructor" for Firefox 146+ compatibility
- Added automatic
2025-12-27 20:23:41 +00:00
Nirupam Bhowmick a1b7e4c033 docs: add comprehensive patch upgrading guide for LLMs
- Created patch-upgrading-guide.md with step-by-step instructions for updating patches across Firefox versions
- Covers understanding patch system, preparation, general workflow, and common reject types
- Includes historical context patch merging section (no longer applicable after Firefox 146)
- Documents testing, validation, best practices, and complete example session
- Provides troubleshooting section for common issues and API changes
- Details
2025-12-27 06:31:45 +00:00
Nirupam Bhowmick 7520ff53e3 refactor: remove temporary patch fixing scripts
- Deleted auto_fix_fingerprint_patch.py, fix_all_patches.py, fix_all_rejects.py
- Deleted fix_fingerprint_patch.py, fix_navigator.py, fix_navigator_patch.py
- Deleted fix_patches.py and fix_playwright_lines.py
- These were one-time helper scripts for updating patches to Firefox 146
2025-12-27 06:18:26 +00:00
Nirupam Bhowmick b0b9de1d28 refactor: combine webrtc-ip-spoofing.context.patch with webrtc-ip-spoofing.patch and make it work with firefox 146 2025-12-27 06:11:27 +00:00
Nirupam Bhowmick b2fa62bb5a refactor: combine font-fingerprinting-context.patch and anti-font-fingerprinting.patch and make it work with firefox 146 2025-12-27 05:51:33 +00:00
Nirupam Bhowmick 0b2987cc05 fix: 1-leak-patches.patch 2025-12-27 04:23:42 +00:00
Nirupam Bhowmick 1c2cbd5f88 fix: make 0-playwright.patch work 2025-12-27 03:58:07 +00:00
Nirupam Bhowmick 32122430be fix: every patch patches except 0, 1 playwright and roverfox context 2025-12-27 02:58:10 +00:00
Nirupam Bhowmick 1f558f2378 Fix simple patches: no-search-engines, stop-undesired-requests, font-fingerprinting partial 2025-12-26 20:35:03 +00:00
Nirupam Bhowmick 404d4120eb fix: use correct line numbers from manual application for SetAcceptEncodings
- Changed from @@ -2093,8 +2107,12 @@ to @@ -2098,6 +2112,10 @@
- Manually applied code to source and regenerated hunk from git diff
- Removes problematic multi-line context that caused fuzzy matching issues
2025-12-26 19:58:40 +00:00
Nirupam Bhowmick 72c9e7877d fix: remove misleading context from SetAcceptEncodings hunk header
- Context said 'SetAcceptLanguages()' but hunk starts at line 2093
- Line 2093 is actually 'if (NS_SUCCEEDED(rv))' not the function
- Removed context to prevent patch from using wrong function for matching
2025-12-26 19:54:10 +00:00
Nirupam Bhowmick f85d583d2b fix: add more context to SetAcceptEncodings hunk for better matching
- Changed from single line context (}) to 5 lines of context
- Include NS_SUCCEEDED, Assign, return rv, and closing brace
- This prevents fuzzy matching to wrong location
2025-12-26 19:52:43 +00:00
Nirupam Bhowmick d8b1ccf829 fix: correct SetAcceptEncodings old line number (2111 → 2097) 2025-12-26 19:50:13 +00:00
Nirupam Bhowmick dd541e4b5c fix: correct SetAcceptEncodings hunk line numbers and context
- Change from line 2113 to 2111 (closing brace before function)
- Change new line from 2127 to 2125
- Fix context from SetAcceptLanguages to closing brace
2025-12-26 19:48:16 +00:00
Nirupam Bhowmick 971e3f89db fix: correct SetAcceptEncodings new line number (2121 → 2127) 2025-12-26 19:44:50 +00:00
Nirupam Bhowmick 9bbb058ba2 fix: update fingerprint-injection.patch for Firefox 146 changes
- OnLine(): Remove duplicate ShouldResistFingerprinting code (already in FF146)
- OnLine(): Update line numbers from 625 to 627 and fix hunk line count
- GetDoNotTrack(): Remove duplicate hunk for old implementation
- GetDoNotTrack(): Update line number from 702 to 704
2025-12-26 19:42:27 +00:00
Nirupam Bhowmick f63fd032b5 fix: correct network-patches.patch line numbers for Firefox 146
- SetAcceptLanguages hunk: 2094 → 2077, new line 2104 → 2087
- SetAcceptEncodings hunk: 2111 → 2113, new line 2138 → 2121
2025-12-26 19:39:49 +00:00
Nirupam Bhowmick f18f7f959b fix: correct font-hijacker.patch first hunk line count
- Change first hunk header from @@ -13,7 +13,8 @@ to @@ -13,6 +13,7 @@
- Remove extra context line that was causing malformed error
2025-12-26 02:49:35 +00:00
Nirupam Bhowmick 3824c2b6ea fix: correct roverfox/font-fingerprinting.context.patch hunk line count
- Change hunk header from @@ -1872,6 +1876,22 @@ to @@ -1872,6 +1876,20 @@
- Hunk has 6 old lines and 20 new lines (15 added lines + 5 context)
2025-12-26 02:47:21 +00:00
Nirupam Bhowmick ae8a9b5f94 fix: correct playwright hunk line count
- Change hunk header from @@ -209,10 +209,11 @@ to @@ -209,11 +209,11 @@
- Hunk has 11 old lines and 11 new lines (2 replacements, net change 0)
2025-12-26 02:46:32 +00:00
Nirupam Bhowmick cf52c87908 fix: correct fingerprint-injection.patch hunk line count and trailing whitespace
- Change hunk header from @@ -625,8 +625,12 @@ to @@ -625,6 +625,13 @@
- Remove trailing whitespace from line 182
2025-12-26 02:45:46 +00:00
Nirupam Bhowmick 2573ab425a fix: correct font-hijacker.patch line numbers and blank line formatting
- Change hunk header from @@ -35,6 +37,20 @@ to @@ -33,6 +34,20 @@
- Add missing space prefix to blank context lines 129 and 131
2025-12-26 02:43:27 +00:00
Nirupam Bhowmick 573ef30e8e fix: correct SetAcceptEncodings old line number (2113->2099) for unpatched Firefox 2025-12-26 02:31:16 +00:00
Nirupam Bhowmick 9ae4033c31 fix: update roverfox/webrtc-ip.context.patch include line number
- Line 118 -> 103 to match Firefox 146 structure after webrtc-ip-spoofing.patch applies
2025-12-26 02:24:21 +00:00
Nirupam Bhowmick 1db220ad6e fix: update network-patches.patch line numbers for Firefox 146
- SetAcceptLanguages: 1834 -> 2094
- SetAcceptEncodings new file line: 2127 -> 2117
2025-12-26 02:11:56 +00:00
Nirupam Bhowmick bd7780b2da fix: resolve malformed patch errors and update no-search-engines.patch context
- Fix fingerprint-injection.patch: remove duplicate BrowsingContext line and fix hunk header
- Fix font-hijacker.patch: add space to blank line 125
- Fix no-search-engines.patch: add missing context for getProvider call in UrlbarProviderInterventions
- Disable webgl-spoofing-TEMP.patch to avoid conflicts
2025-12-26 00:19:33 +00:00
Nirupam Bhowmick 955a713dfe fix: update font-hijacker.patch for Firefox 146
- Fixed FontFaceImpl.h include context (added ServoStyleConsts.h context)
- Fixed moz.build line numbers (378 instead of 379) and removed obsolete ] line
- FontFaceImpl.h and moz.build now patch cleanly
- 6 rejects remaining (down from 8)
2025-12-25 22:28:16 +00:00
Nirupam Bhowmick fe3cbabc31 fix: update gfxTextRun.cpp constructor hunks for Firefox 146
- Removed duplicate mUserContextId(0) line
- Removed obsolete switch(aVariantEmoji) context (removed in FF146)
- Removed mCurrGeneration = 0 (not in FF146 constructor)
- Fixed hunk header line count from 10 to 6
- Simplified mFontVisibilityProvider null check
- gfxTextRun.cpp now patches cleanly
- 8 rejects remaining (down from 11)
2025-12-25 22:00:27 +00:00
Nirupam Bhowmick 32b6036a56 fix: correct OriginAttributes.h include location in CanvasRenderingContext2D
- Firefox 146 alphabetizes includes differently
- Moved from line 59 (after Document.h) to line 39 (after MathAlgorithms.h)
- CanvasRenderingContext2D.cpp now patches cleanly
- 11 rejects remaining (down from 13)
2025-12-25 21:57:57 +00:00
Nirupam Bhowmick 30e93d772b fix: update webgl-spoofing.patch RENDERER/VENDOR hunks for Firefox 146
- Changed hunk line numbers from 2565/2583 to 2433/2451
- Previous hunks in patch shift file by ~130 lines
- Added context (outer case statements + extension check) for unique matching
- All 7 hunks now apply successfully
- Tested with temporary patch to find actual line numbers after partial application
2025-12-25 20:59:55 +00:00
Nirupam Bhowmick e80f2b5a5e wip: update ClientWebGLContext line numbers (still failing due to context mismatch)
Updated all 4 ClientWebGLContext hunk line numbers to match Firefox 146:
- RENDERER: 2575 → 2573
- VENDOR: 2586 → 2584
- COLOR_WRITEMASK: 2677 → 2676
- getShaderPrecision: 3093 → 3091

Still 21 failing hunks remain due to context mismatches in Firefox 146's
nested switch structure and other code refactoring.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
EOF
2025-12-25 20:36:52 +00:00
Nirupam BhowmickandClaude dcae38b3cd fix: resolve Navigator.cpp Webdriver stealth patch
Fixed the Webdriver() function hunk in 1-leak-fixes.patch:
- Updated hunk context to match Firefox 146 structure
- Changed line number from 2318 to 2316 to match actual context

Progress:
- Reduced failing hunks from 22 → 21
- Reduced reject files from 13 → 12
- Navigator.cpp now completely resolved (all hunks apply)

Remaining: 21 hunks across 12 files, primarily due to Firefox 146
code structure changes (nested switches in WebGL, font system refactoring)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-25 20:32:36 +00:00
Nirupam BhowmickandClaude 513d0a0367 fix: resolve Navigator.cpp fingerprint injection hunks for Firefox 146
Fixed OnLine() and GetDoNotTrack() hunks to match Firefox 146 structure:
- Updated OnLine hunk to include new fingerprint resistance check
- Added proper context lines for Firefox 146 code structure
- Fixed GetDoNotTrack to match simplified Firefox 146 implementation

Progress:
- Reduced failing hunks from 24 → 22 (2 more fixed)
- 13 reject files remain
- Navigator.cpp fingerprint patches now apply successfully

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-25 20:23:40 +00:00