Skip to content

fix(makernotes): delete the fabricated Google MakerNote parser - #421

Merged
swackhamer merged 2 commits into
mainfrom
fix/remove-fabricated-google-makernote
Aug 2, 2026
Merged

fix(makernotes): delete the fabricated Google MakerNote parser#421
swackhamer merged 2 commits into
mainfrom
fix/remove-fabricated-google-makernote

Conversation

@swackhamer

Copy link
Copy Markdown
Collaborator

Summary

  • src/parsers/tiff/makernotes/google.rs registered a numeric TIFF-IFD MakerNote table for Make="Google" and emitted Astrophotography, ColorPop, FaceRetouching, HDRPlusMode, MergedFrameCount, NightSight, NightSightExposureTime, SceneDetection, SuperResZoom under the Google: group. None of these names appear in any ExifTool 13.59 source file (verified with grep -r "Name => '<TagName>'" against the full lib/ tree).
  • ExifTool's only Google MakerNote table is Google::HDRPlusMakerNote, which is not a numeric TIFF IFD at all: it's string-ID keyed (e.g. '1-1', '9-36-1') and decodes a base64+encrypted+gzipped protobuf blob. Its real tags (ImageName, ImageData, TimeLogText, SummaryText, FrameCount, CreateDate) are not implemented by the deleted parser either — this was a structurally wrong, 100% invented table, not a wrong-id bug.
  • Follows the Qualcomm precedent (cdc643f5, refactor(makernotes): delete fabricated Qualcomm MakerNote table #345): delete the parser and its integration test, drop the pub mod google declaration and dispatcher arm, and leave an explanatory comment in their place.

Test plan

  • cargo build --lib
  • cargo test --workspace --lib (clean, no failures)
  • cargo fmt --all
  • cargo clippy --workspace --lib (clean)
  • Confirmed no other code references the deleted symbols
  • google.rs exposed no cbindgen FFI symbols, so api/oxidex.h is unaffected

src/parsers/tiff/makernotes/google.rs registered a numeric TIFF-IFD
MakerNote table for Make="Google" and emitted Astrophotography, ColorPop,
FaceRetouching, HDRPlusMode, MergedFrameCount, NightSight,
NightSightExposureTime, SceneDetection, SuperResZoom under the
Google: group. None of these names appear in any ExifTool 13.59 source
file (verified with grep -r "Name => '<TagName>'" against the full
lib/ tree).

ExifTool's only Google MakerNote table is Google::HDRPlusMakerNote,
which is not a numeric TIFF IFD at all: it's string-ID keyed (e.g.
'1-1', '9-36-1') and decodes a base64+encrypted+gzipped protobuf blob.
Its real tags (ImageName, ImageData, TimeLogText, SummaryText,
FrameCount, CreateDate) are not implemented by the deleted parser
either -- this was a structurally wrong, 100% invented table, not a
wrong-id bug.

Follows the Qualcomm precedent (cdc643f, #345): delete the parser and
its integration test, drop the `pub mod google` declaration and
dispatcher arm, and leave an explanatory comment in their place.
Confirmed no other code references the deleted symbols; cargo build,
cargo test --workspace --lib, cargo fmt, and cargo clippy are all
clean. google.rs exposed no cbindgen FFI symbols, so api/oxidex.h is
unaffected.
# Conflicts:
#	src/parsers/tiff/makernote_dispatcher.rs
#	src/parsers/tiff/makernotes/mod.rs
#	src/parsers/tiff/makernotes/registries/mod.rs
@swackhamer
swackhamer merged commit 275c42e into main Aug 2, 2026
9 checks passed
@swackhamer
swackhamer deleted the fix/remove-fabricated-google-makernote branch August 2, 2026 09:32
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