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

feat(STAFF-141096): Get latest changes of getsentry/sentry-native #18

Merged
merged 237 commits into from
Nov 12, 2024

Conversation

pull[bot]
Copy link

@pull pull bot commented Jan 8, 2022

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

…632)

This adds in the ability to specify a transaction (aka a trace) to be
associated with all events being sent to sentry.
@pull pull bot added the ⤵️ pull label Jan 8, 2022
relaxolotl and others added 27 commits January 8, 2022 02:43
Retroactively applies some macros created in previous PRs 
to the rest of the tracing test suite. No functional changes.
Avoids a potential segfault reading the section names, and also falls back when `vm_readv` lacks permissions.
This has a basic recursive merging of sentry_value_t objects.
Generally values from the source object have preference, however when
the values of a key are objects themselves in both the target and the
source they are recursively merged.

Co-authored-by: Betty Da <bda@sentry.io>
This implements the `iter_headers` and something analogous to the `continue_from_headers` APIs.
We were previously relying on the `kernel32.dll` version, as does
Crashpad. However that version can lag behind OS releases, which can
manifest itself as failing integration tests, as the version does not
match the one returned from python `platform.version()`.
This tries to use `ntoskrnl.exe` as the kernel version, but falls back to
`kernel32.dll` as before in case that does not work.
The transport will now fall back to a default 60 second rate limit
when it receives a 429 response without additional headers.
Co-authored-by: Sebastian Zivota <loewenheim@users.noreply.github.com>
This adds an integration test which inspects the envelope of a
transaction sent by the native SDK.

NATIVE-407
getsentry-bot and others added 27 commits August 7, 2024 10:52
)

* fix: check file-writer construction when writing envelope to path

* update changelog.

* clang-format

* add a powershell convenience test-runner

* clarify platform support for `sentry_handle_exception()`
* fix: timestamp resolution to microseconds on Windows

* chore: changelog comment

* feat: prefer GetSystemTimePreciseAsFileTime for the timestamp resolution on Windows
…der (#1046)

* Added draft test scenario for invalid trace_id

* test: invalid span id from header test cases

* feat: trace- and span-id checks in context update from header

* chore: format code

* fix: free memory of string on invalid input

* test: add empty span-id test

* fix: free memory of parent_span_id on invalid input

* chore: update CHANGELOG.md

* chore: add warning on invalid input

* test: use correct string to compare expected span_id with

* Apply suggestions from code review

* chore: format updated code

* chore: update CHANGELOG.md
…1047)

* fix: adjusted memcpy size param to match remaining destination size

* fix: add null termination character
* fix: look up `GetSystemTime()` implementations at runtime.

* Add calling convention.
* fix: allow for empty DSN to start crashpad handler

* chore: format code

* chore: format code

* fix: no unnecessary string wrap

Co-authored-by: Mischan Toosarani-Hausberger <mischan@abovevacant.com>

* chore: typo

* chore: remove unnecessary warn

* chore: format

* chore: update CHANGELOG.md

---------

Co-authored-by: Mischan Toosarani-Hausberger <mischan@abovevacant.com>
* fix: remove a potential overflow before conversion

This is in response to CodeQL security scan alert #1-#3.

`Elf[32|64]_Ehdr[.e_phnum|.e_phentsize|.e_shnum|.e_shentsize]` are all `uint16_t`, this means the loop-var `i` is bounded by `uint16_t` and should fit in a `uint32_t` (to prevent unsigned overflow in the loop). A switch to unsigned still makes sense, because we reduce the future chance of unnecessary signed overflow (=UB) in the loop body.

All program/section-header table entry sizes are cast to `uin64_t` even though the multiplication is bound to `uint32_t` by both factors being bound by `uint16_t`. This fixes the potential overflow before conversion to the bigger type.

* also safely cast the access to section header string table.
* chore: make format

* roll-back linter changes in CI

* chore: add clang-format to venv

* more references to clang-format
* feat: initial ringbuffer implementation

* chore: cleanup code

* chore: added todo

* removed unnecessary buffer end value

* changed buffer start_idx storage to [0]

* fixed issues in new storing method

* updated test to new ringbuffer append logic

* refactor: renamed to sentry__value_append_ringbuffer

* test: removed old bounded append test

* chore: update CHANGELOG.md

* chore: update CHANGELOG.md

* chore: linting

* increase refcount of ringbuffer-to-list items

* apply suggestion from code review

* added ringbuffer test

* fixed ringbuffer to list conversion

* direct access to ringbuffer items

* updated test with proper refcount check

* removed unnecessary decref from test

* added decref of temporary ringbuffer list

* removed double cloning

* changing types from int32_t to size_t

* moved declaration from public to private header

* added decref

* type conversion

* applied suggestions from code review
* feat: programmatic minidump capture

This provides a new function that will allow for independently created minidumps to be captured by sentry

Resolves: #1050

* fixed compile errors

* Rework of programmatic minidumps based on feedback

* Remove unused parameters

* Address Lint errors

* Address more review feedback

* Address Lint errors

* Address more lint errors

* changed from bool to int due to undefined errors

* Address review feedback

* Work on addressing feedback, example and test

* Fixes to lint errors

* Apply comment suggestion

* Add empty line to file end

* use parameter directly

* chore: fix changelog

* add capture_minidump_n

* feat: capture minidump from path

* chore: update changelog

* cleanup

* linter issues

* cleanup, review changes, docs

* chore: fixup doc

* Update CHANGELOG.md

---------

Co-authored-by: PlasmaDev5 <dragpmCASTjosh@gmail.com>
Co-authored-by: PlasmaDev5 <dragonCASTjosh@gmail.com>
* docs: clarify macOS support of the `inproc` backend

* apply review feedback + minor wording fixes

* reference advanced usage section
* ci: replace macos-12 action runners

* add listing installed images to android start script

* specify path to android tools for sdkmanager

* use cmdline-tools for sdkmanager + avdmanager

* switch to macos-14 since macos-15 has no android cmd-tools

* try x64 macos images

* list sdkmanager images and try to update to check if tooling works at all

* switch back to macos-15 verify installable setup

* remove update from android start script again

* ensure images are installed

* accept android image licenses automatically

* pre-accept licenses

* start the emulator blocking so we can see any issues during startup

* check emulator acceleration before starting the emulator

* switch back x86[_64] images

* re-enable emulator run in background

* expose llvm18 bin directory for macos15 runners on PATH

* revert last commit to macos-15 only

* fix quotes

* bump old android api/ndk

* lower end android on x86_64 + llvm-cov on macos-15-large

* android lower end only available on x86 + increase timeout to 20 minutes

* install NDK package together with target image

* update lower end android to API level 21 (keep NDK23)

* switch lower end to API 35 but keep NDK at 23

* max API for NDK23 is 31 (but the emulator started)

* define adb and emulator ports

* introduce emulator and adb port to start script

* use ADB_SERVER_PORT as the env variable from the workflow

* start also the non-blocking emulator with the right port

* get rid of lower emulator test

* get rid of emulator and adb port in start-android.sh
@yucelalbar yucelalbar changed the title [pull] master from getsentry:master eat(STAFF-141096): Get latest changes of getsentry/sentry-native Nov 12, 2024
@yucelalbar yucelalbar changed the title eat(STAFF-141096): Get latest changes of getsentry/sentry-native feat(STAFF-141096): Get latest changes of getsentry/sentry-native Nov 12, 2024
@yucelalbar yucelalbar merged commit 4bcb544 into mystaff:master Nov 12, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.