Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

o365: prevent API calls having a start time more than 168h in the past #8402

Merged
merged 1 commit into from
Nov 6, 2023

Conversation

efd6
Copy link
Contributor

@efd6 efd6 commented Nov 5, 2023

Proposed commit message

If an API call takes some time to reach the server, the startTime parameter may have slipped into the time before 168h before now. So reduce our window from 168h to 167h55m to allow leeway for this.

Similarly, the allowable interval from start to end time is 24h, and it is possible that the end time now() call is some time after the start time now() call. CEL has no subexpression evaluation order guarantee, so we cannot ensure end is called first by re-ordering the lines. So work around the old behaviour of the now global until the kibana.version for the package is guaranteed to provide an eval-start now value, when we are depending on v8.10.1 (v8.9.1 is also valid, but limiting on that would allow v8.10.0 which does not have the fix).

Checklist

  • I have reviewed tips for building integrations and this pull request is aligned with them.
  • I have verified that all data streams collect metrics or logs.
  • I have added an entry to my package's changelog.yml file.
  • I have verified that Kibana version constraints are current according to guidelines.

Author's Checklist

  • [ ]

How to test this PR locally

Related issues

Screenshots

@efd6 efd6 added bug Something isn't working, use only for issues Team:Security-External Integrations Integration:o365 Microsoft Office 365 labels Nov 5, 2023
@efd6 efd6 self-assigned this Nov 5, 2023
@elasticmachine
Copy link

elasticmachine commented Nov 5, 2023

💚 Build Succeeded

the below badges are clickable and redirect to their specific view in the CI or DOCS
Pipeline View Test View Changes Artifacts preview preview

Expand to view the summary

Build stats

  • Start Time: 2023-11-05T22:45:59.052+0000

  • Duration: 17 min 46 sec

Test stats 🧪

Test Results
Failed 0
Passed 25
Skipped 0
Total 25

🤖 GitHub comments

Expand to view the GitHub comments

To re-run your PR in the CI, just comment with:

  • /test : Re-trigger the build.

@elasticmachine
Copy link

elasticmachine commented Nov 5, 2023

🌐 Coverage report

Name Metrics % (covered/total) Diff
Packages 100.0% (1/1) 💚
Files 100.0% (1/1) 💚 6.25
Classes 100.0% (1/1) 💚 6.25
Methods 100.0% (16/16) 💚 21.698
Lines 81.457% (738/906) 👎 -12.326
Conditionals 100.0% (0/0) 💚

@efd6 efd6 marked this pull request as ready for review November 5, 2023 21:09
@efd6 efd6 requested a review from a team as a code owner November 5, 2023 21:09
@elasticmachine
Copy link

Pinging @elastic/security-external-integrations (Team:Security-External Integrations)

@efd6 efd6 requested a review from kcreddy November 5, 2023 21:09
If an API call takes some time to reach the server, the startTime
parameter may have slipped into the time before 168h before now. So
reduce our window from 168h to 167h55m to allow leeway for this.

Similarly, the allowable interval from start to end time is 24h, and it
is possible that the end time now() call is some time after the start
time now() call. CEL has no subexpression evaluation order guarantee, so
we cannot ensure end is called first by re-ordering the lines. So work
around the old behaviour of the now global until the kibana.version for
the package is guaranteed to provide an eval-start now value, when we
are depending on v8.10.1 (v8.9.1 is also valid, but limiting on that
would allow v8.10.0 which does not have the fix).
Copy link
Contributor

@kcreddy kcreddy left a comment

Choose a reason for hiding this comment

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

LGTM 👍🏼

@efd6 efd6 merged commit f202ff2 into elastic:main Nov 6, 2023
4 checks passed
@elasticmachine
Copy link

Package o365 - 1.25.2 containing this change is available at https://epr.elastic.co/search?package=o365

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working, use only for issues Integration:o365 Microsoft Office 365
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants