Skip to content

Add MAPI definitions for Message-ID and In-Reply-To#159

Open
JanSkalny wants to merge 1 commit into
libyal:mainfrom
JanSkalny:main
Open

Add MAPI definitions for Message-ID and In-Reply-To#159
JanSkalny wants to merge 1 commit into
libyal:mainfrom
JanSkalny:main

Conversation

@JanSkalny

Copy link
Copy Markdown

Summary

Add support for reading and exporting the Internet Message-ID and In-Reply-To MAPI properties.

Changes

  • Define LIBPFF_ENTRY_TYPE_INTERNET_MESSAGE_ID and LIBPFF_ENTRY_TYPE_IN_REPLY_TO_ID
  • Add UTF-8 and UTF-16 convenience accessor macros
  • Include Message-ID and In-Reply-To in pffexport message header output

@joachimmetz

Copy link
Copy Markdown
Member

Thanks for the proposed changes, you might need to rebase with HEAD given you submitted the PR while I was making some changes.

I'll take a close look as soon as time permits

@joachimmetz joachimmetz self-assigned this Jun 3, 2026
@codecov

codecov Bot commented Jun 3, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 27.25%. Comparing base (9c5994a) to head (8a96976).
⚠️ Report is 7 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #159      +/-   ##
==========================================
- Coverage   27.26%   27.25%   -0.02%     
==========================================
  Files          63       63              
  Lines       20591    20530      -61     
  Branches     4975     4975              
==========================================
- Hits         5615     5596      -19     
+ Misses      13242    13200      -42     
  Partials     1734     1734              

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@JanSkalny

Copy link
Copy Markdown
Author

Rebased. Thanks for a quick response. :)

Comment thread pfftools/export_handle.c
{ _SYSTEM_STRING( "Reminder time:\t\t\t\t" ), LIBPFF_ENTRY_TYPE_MESSAGE_REMINDER_TIME, LIBPFF_VALUE_TYPE_FILETIME, 0, NULL },
{ _SYSTEM_STRING( "Reminder signal time:\t\t\t" ), LIBPFF_ENTRY_TYPE_MESSAGE_REMINDER_SIGNAL_TIME, LIBPFF_VALUE_TYPE_FILETIME, 0, NULL },
{ _SYSTEM_STRING( "Is private:\t\t\t\t" ), LIBPFF_ENTRY_TYPE_MESSAGE_IS_PRIVATE, LIBPFF_VALUE_TYPE_BOOLEAN, 0, NULL },
{ _SYSTEM_STRING( "Message-ID:\t\t\t\t" ), LIBPFF_ENTRY_TYPE_INTERNET_MESSAGE_ID, LIBPFF_VALUE_TYPE_STRING, 0, NULL },

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that the function export_handle_export_message_header_to_item_file exports an Outlook message header not an Internet message header.

The Internet headers are exported via export_handle_export_message_transport_headers

Comment thread libpff/libpff_mapi.h

LIBPFF_ENTRY_TYPE_MESSAGE_BODY_HTML = 0x1013,

LIBPFF_ENTRY_TYPE_INTERNET_MESSAGE_ID = 0x1035,

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that _ID does not correspond to _IDENTIFIER used elsewhere in the codebase

Comment thread include/libpff.h.in
uint8_t flags,
libpff_error_t **error );

/* Retrieves the size of the UTF-16 encoded item Message-ID

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These helper macros are not used.

@joachimmetz

Copy link
Copy Markdown
Member

I think the functionality you want is already provided by export_handle_export_message_transport_headers. Let me know if this if this is not the case

@joachimmetz joachimmetz added the pending reporter input Issue is pending input from the reporter label Jun 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pending reporter input Issue is pending input from the reporter

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants