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

Update OkHttp to 4.10.0 #8624

Merged
merged 1 commit into from Jul 24, 2022
Merged

Update OkHttp to 4.10.0 #8624

merged 1 commit into from Jul 24, 2022

Conversation

TacoTheDank
Copy link
Member

What is it?

  • Bugfix (user facing)
  • Feature (user facing)
  • Codebase improvement (dev facing)
  • Meta improvement to the project (dev facing)

Description of the changes in your PR

It would probably be good to get this done before a certain PR as well.

Read through the changelogs and see if anything else needs to be done. I did so, and didn't really find anything of interest, but check for yourselves anyway.

This PR adds around 227KB to the debug APK, and 75KB to the release APK.

APK testing

The APK can be found by going to the "Checks" tab below the title. On the left pane, click on "CI", scroll down to "artifacts" and click "app" to download the zip file which contains the debug APK of this PR.

Due diligence

@sonarcloud
Copy link

sonarcloud bot commented Jul 14, 2022

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

0.0% 0.0% Coverage
0.0% 0.0% Duplication

@Stypox
Copy link
Member

Stypox commented Jul 14, 2022

I tested a while on emulator and it seems to work well.

I looked mostly at the migration guide and there seems to be nothing specific we should do. The changelog included many things, but nothing that should touch us. See the findings hereafter. If you agree these are not problematic for us, then I am ok with merging this PR.

  • TLSv1 and TLSv1.1 are no longer enabled by default. - is our code affected?
  • This release candidate turns on web socket compression. - I guess this is just internal, so we shouldn't need to worry
  • Follow HTTP 307 and 308 redirects on methods other than GET and POST. The new behavior is now consistent with RFC 7231 - do we have anything to do with this?
  • okhttp-tls no longer depends on Bouncy Castle and doesn’t install the Bouncy Castle security provider. - I have no idea if we use Bouncy Castle (and don't even know myself what it is)

Other notable things (not important for this PR):

  • OkHttp’s new okhttp-brotli module implements Brotli compression. - maybe some services in NewPipe support this, and we could reduce data transfer?
  • Publish a bill of materials (BOM) for OkHttp - maybe it is useful? Anyway, we only have one dependency, so probably not.

@TacoTheDank
Copy link
Member Author

TLSv1 and TLSv1.1 are no longer enabled by default. - is our code affected?

There's this, but idk if that still applies with the support drop for API 19.

okhttp-tls no longer depends on Bouncy Castle and doesn’t install the Bouncy Castle security provider. - I have no idea if we use Bouncy Castle (and don't even know myself what it is)

We don't use okhttp-tls anyway, so that's fine.

@AudricV AudricV changed the title Update OkHttp to 4.x Update OkHttp to 4.10.0 Jul 22, 2022
Copy link
Member

@litetex litetex left a comment

Choose a reason for hiding this comment

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

Code LGTM

@litetex litetex merged commit dcb332e into TeamNewPipe:dev Jul 24, 2022
@TacoTheDank TacoTheDank deleted the bumpOkhttp branch July 24, 2022 17:52
@opusforlife2
Copy link
Collaborator

opusforlife2 commented Jul 25, 2022

🙌

Anything interesting in the changelog? Any feature we're getting for free or something?

@TobiGr
Copy link
Member

TobiGr commented Jul 25, 2022

No features, but a fix. The upgrade comes at the right time. However, we were not affected by the vul, but the incident shows that it's important to not use lib versions which run out of support.

@opusforlife2
Copy link
Collaborator

I'm surprised there isn't already a long list of known CVEs for the 3.12.13 version we were using.

@Stypox Stypox mentioned this pull request Aug 27, 2022
9 tasks
@opusforlife2 opusforlife2 mentioned this pull request Feb 11, 2023
3 tasks
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.

None yet

5 participants