-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Add pthread missing functions in Android #1651
Add pthread missing functions in Android #1651
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! This looks good to me in general. Have you (or someone else) tested whether this actually works correctly on an Android host? (I have no way to test this, but it doesn't seem to cause regression on the officially supported platforms, which is good.)
I did a basic test using Android simulator and it is working. |
Great, thanks! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the PR! I'm hoping to merge this soon and then regenerate the automake/autoconf files.
Yes we integrated that changes into our app with iPerf3.16 and its working, thanks! |
--------------------- * Notable user-visible changes * BREAKING CHANGE: iperf3's authentication features, when used with OpenSSL prior to 3.2.0, contain a vulnerability to a side-channel timing attack. To address this flaw, a change has been made to the padding applied to encrypted strings. This change is not backwards compatible with older versions of iperf3 (before 3.17). To restore the older (vulnerable) behavior, and hence backwards-compatibility, use the --use-pkcs1-padding flag. The iperf3 team thanks Hubert Kario from RedHat for reporting this issue and providing feedback on the fix. (CVE-2024-26306)(PR#1695) * iperf3 no longer changes its current working directory in --daemon mode. This results in more predictable behavior with relative paths, in particular finding key and credential files for authentication. (PR#1672) * A new --json-stream option has been added to enable a streaming output format, consisting of a series of JSON objects (for the start of the test, each measurement interval, and the end of the test) separated by newlines (#444, #923, #1098). * UDP tests now work correctly between different endian hosts (#1415). * The --fq-rate parameter now works for --reverse tests (#1632, PR#1667). * The statistics reporting interval is now available in the --json start test object (#1663). * A negative time test duration is now properly flagged as an error (IS#1662 / PR#1666). * Notable developer-visible changes * Fixes have been made to better (unofficially) support builds on Android (#1641 / #1651) and VxWorks (#1595). * iperf3 now builds correctly on architectures without native support for 64-bit atomic types, by linking with the libatomic library (#1611).
--------------------- * Notable user-visible changes * BREAKING CHANGE: iperf3's authentication features, when used with OpenSSL prior to 3.2.0, contain a vulnerability to a side-channel timing attack. To address this flaw, a change has been made to the padding applied to encrypted strings. This change is not backwards compatible with older versions of iperf3 (before 3.17). To restore the older (vulnerable) behavior, and hence backwards-compatibility, use the --use-pkcs1-padding flag. The iperf3 team thanks Hubert Kario from RedHat for reporting this issue and providing feedback on the fix. (CVE-2024-26306)(PR#1695) * iperf3 no longer changes its current working directory in --daemon mode. This results in more predictable behavior with relative paths, in particular finding key and credential files for authentication. (PR#1672) * A new --json-stream option has been added to enable a streaming output format, consisting of a series of JSON objects (for the start of the test, each measurement interval, and the end of the test) separated by newlines (#444, #923, #1098). * UDP tests now work correctly between different endian hosts (#1415). * The --fq-rate parameter now works for --reverse tests (#1632, PR#1667). * The statistics reporting interval is now available in the --json start test object (#1663). * A negative time test duration is now properly flagged as an error (IS#1662 / PR#1666). * Notable developer-visible changes * Fixes have been made to better (unofficially) support builds on Android (#1641 / #1651) and VxWorks (#1595). * iperf3 now builds correctly on architectures without native support for 64-bit atomic types, by linking with the libatomic library (#1611).
Version of iperf3 (or development branch, such as
master
or3.1-STABLE
) to which this pull request applies:master
Issues fixed (if any): Usage of pthread_cancel makes Android build fail #1641
Brief description of code changes (suitable for use as a commit message):
Add the related pthread functions that are missing in Android. This is instead of the current practice to makes changes to the source files before building for Android (see for example here, which is the source for the changes).
The changes should not impact a build for any other OS, as the added/modified code in under
#ifdef __ANDROID__
.Note that the PR includes two new files, so configure (and bootstrap?) is needed (this is why the automatic checks fail).