Skip to content

Created parser for Apple IPS files.#4688

Open
rick-slin wants to merge 9 commits into
log2timeline:mainfrom
rick-slin:ips
Open

Created parser for Apple IPS files.#4688
rick-slin wants to merge 9 commits into
log2timeline:mainfrom
rick-slin:ips

Conversation

@rick-slin

@rick-slin rick-slin commented Jun 15, 2023

Copy link
Copy Markdown
Contributor

One line description of pull request

Created parser for Apple IPS files as well as an IPS parser plugin for recoverylogd-[...].ips files.

Description:

Created parser for Apple IPS files as well as an IPS parser plugin for recoverylogd-[...].ips files.

Related issue (if applicable): fixes #<4102>

Notes:

All contributions to Plaso undergo code review.
This makes sure that the code has appropriate test coverage and conforms to the
Plaso style guide.

One of the maintainers will examine your code, and may request changes. Check off the items below in
order, and then a maintainer will review your code.

Checklist:

  • Automated checks (GitHub Actions, AppVeyor) pass
  • No new new dependencies are required or l2tdevtools has been updated
  • Reviewer assigned

@codecov

codecov Bot commented Jun 15, 2023

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 91.71271% with 15 lines in your changes missing coverage. Please review.
✅ Project coverage is 84.97%. Comparing base (8a6e03a) to head (673e651).

Files with missing lines Patch % Lines
plaso/parsers/ips_plugins/interface.py 81.25% 9 Missing ⚠️
plaso/parsers/ips_parser.py 90.90% 4 Missing ⚠️
plaso/parsers/ips_plugins/recovery_logd.py 97.95% 1 Missing ⚠️
plaso/parsers/ips_plugins/stacks_ips.py 97.50% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4688      +/-   ##
==========================================
+ Coverage   84.94%   84.97%   +0.03%     
==========================================
  Files         436      440       +4     
  Lines       39250    39431     +181     
==========================================
+ Hits        33342    33508     +166     
- Misses       5908     5923      +15     

☔ View full report in Codecov by Sentry.
📢 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.

@joachimmetz joachimmetz self-assigned this Jun 17, 2023
@rick-slin

Copy link
Copy Markdown
Contributor Author

Could someone please take another look at this PR?

@joachimmetz

Copy link
Copy Markdown
Member

@rick-slin thanks for the reminder. I'll try to take a look as soon as time permits, but note things are busy on my end.

@joachimmetz

Copy link
Copy Markdown
Member

Rebased with HEAD of origin main

@rick-slin

Copy link
Copy Markdown
Contributor Author

I don't understand what needs to be fixed. What is a "non-mergeable pull request "?

@joachimmetz

Copy link
Copy Markdown
Member

I don't understand what needs to be fixed. What is a "non-mergeable pull request "?

do you mean the message in continuous-integration/appveyor/pr — AppVeyor was unable to build non-mergeable pull request ?

Don't worry about it, could be a fluke in the CI interaction, I'll have a look when I have time

@rick-slin

Copy link
Copy Markdown
Contributor Author

Yes. This is what I meant. Thanks.

@joachimmetz

Copy link
Copy Markdown
Member

@rick-slin FYI I'll start looking at merging this after the March release

@rick-slin

Copy link
Copy Markdown
Contributor Author

Yeah, no rush obviously. I just noticed that one of your last commits fixed an issue I was encountering in the CI tests.

@joachimmetz joachimmetz force-pushed the ips branch 3 times, most recently from 271c16a to 2e6fe5c Compare April 9, 2024 03:46
fraction_float = float(f"0.{parsed_timestamp['fraction']}")
milliseconds = round(fraction_float * 1000)

time_element_object = dfdatetime_time_elements.TimeElementsInMilliseconds(

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 to self see if TimeElementsWithFractionOfSecond can be used instead

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.

Looks like the fraction of second value is either 2 or 4 digits. @rick-slin can you confirm this based on other samples ?

I recommend we preserve the precision here to prevent misrepresentation, also see https://osdfir.blogspot.com/2021/10/pearls-and-pitfalls-of-timeline-analysis.html

When time permits I'll make some tweaks to dfDateTime to support 10 ms and 100 us intervals

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I couldn't find an ips file with a timestamp with something other than 10 ms precision (hundredth of seconds). Where did you encounter one with 100 us precision? I checked on three iPhones (iOS 14, 15, and 16) and a MacBook.

I see your point about preserving granularity.

@joachimmetz

Copy link
Copy Markdown
Member

Rebased with current HEAD

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.

2 participants