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

Fix Link-Local IPv6 Flags in the Resolver #9032

Merged
merged 8 commits into from
Sep 6, 2024
Merged

Conversation

GitNMLee
Copy link
Contributor

@GitNMLee GitNMLee commented Sep 5, 2024

Based on commit c48f2d1, the original use of the NI_NUMERICSERV and NI_NUMERICHOST flags was correct for the getnameinfo() call. As of 38dd9b8 the incorrect flags are now being used. Changed AI_* flags back to NI_* flags. Changed corresponding test.

Related issue number

Fixes #9028

Resolver class.

Based on commit aio-libs@c48f2d1,
the original use of the NI_NUMERICSERV and NI_NUMERICHOST flags was correct for the getnameinfo() call.
As of aio-libs@38dd9b8 the incorrect
flags are now being used. Changed AI_* flags back to NI_* flags. Changed corresponding test.

Change-Id: I8b29ce2f39ea1cc097f4165b8ec55230f3b8eb6f
@psf-chronographer psf-chronographer bot added the bot:chronographer:provided There is a change note present in this PR label Sep 5, 2024
Copy link

codecov bot commented Sep 5, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 98.30%. Comparing base (e8d8e28) to head (e8a9150).
Report is 1065 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #9032   +/-   ##
=======================================
  Coverage   98.30%   98.30%           
=======================================
  Files         107      107           
  Lines       34355    34362    +7     
  Branches     4066     4066           
=======================================
+ Hits        33771    33778    +7     
  Misses        412      412           
  Partials      172      172           
Flag Coverage Δ
CI-GHA 98.19% <100.00%> (+<0.01%) ⬆️
OS-Linux 97.85% <100.00%> (+<0.01%) ⬆️
OS-Windows 96.26% <88.88%> (+<0.01%) ⬆️
OS-macOS 97.53% <100.00%> (+<0.01%) ⬆️
Py-3.10.11 97.63% <100.00%> (+<0.01%) ⬆️
Py-3.10.14 97.56% <100.00%> (+<0.01%) ⬆️
Py-3.11.9 97.79% <100.00%> (+<0.01%) ⬆️
Py-3.12.5 97.91% <100.00%> (+<0.01%) ⬆️
Py-3.9.13 97.52% <100.00%> (+<0.01%) ⬆️
Py-3.9.19 97.46% <100.00%> (+<0.01%) ⬆️
Py-pypy7.3.16 97.07% <100.00%> (+<0.01%) ⬆️
VM-macos 97.53% <100.00%> (+<0.01%) ⬆️
VM-ubuntu 97.85% <100.00%> (+<0.01%) ⬆️
VM-windows 96.26% <88.88%> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Member

@Dreamsorcerer Dreamsorcerer left a comment

Choose a reason for hiding this comment

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

@bdraco is probably more familiar with this than me, but I think this looks right.

I'm also wondering if we can have a test that actually produces the exception in the original bug report?

@Dreamsorcerer Dreamsorcerer added backport-3.10 backport-3.11 Trigger automatic backporting to the 3.11 release branch by Patchback robot labels Sep 5, 2024
Copy link
Member

@bdraco bdraco left a comment

Choose a reason for hiding this comment

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

Looks like a good fix to me. 👍

Good catch

@bdraco
Copy link
Member

bdraco commented Sep 5, 2024

Would be good to get a test for this case as well

@GitNMLee
Copy link
Contributor Author

GitNMLee commented Sep 6, 2024

Would be good to get a test for this case as well

The test that I changed in my commit seems to cover this case: ed9c04b#diff-4cbff640f1fc708fb7f2d3e79ac97f24cfe22063bad7ce6f67ab97b5b5171a0bL140
Sorry, just realized that test is for the AsyncResolver, not the ThreadedResolver. I will add to an existing test to check that the correct flags are called.

Would it be best to add a test that has a mock side effect that causes the exception?

@bdraco
Copy link
Member

bdraco commented Sep 6, 2024

Would be good to get a test for this case as well

The test that I changed in my commit seems to cover this case: ed9c04b#diff-4cbff640f1fc708fb7f2d3e79ac97f24cfe22063bad7ce6f67ab97b5b5171a0bL140 Sorry, just realized that test is for the AsyncResolver, not the ThreadedResolver. I will add to an existing test to check that the correct flags are called.

Would it be best to add a test that has a mock side effect that causes the exception?

I would try to keep the mocking an minimal as possible but avoid doing any network I/O

Nathan Lee and others added 3 commits September 6, 2024 14:00
case.

Fixed various formatting errors in changelog and remove unused variables
from test file.

Change-Id: I47e9141ed0e819a6e9bac52abd48ebbb9adb8da1
Change-Id: I00525e397a11bd5c6e4985d8672b8f63188a6f90
@GitNMLee
Copy link
Contributor Author

GitNMLee commented Sep 6, 2024

Put up another commit with an alteration of an existing test and some various formatting errors fixed. I did not add a test for the behavior described in the bug report as that requires network I/O and/or testing the socket library, which I'm not sure makes sense here.

@bdraco bdraco enabled auto-merge (squash) September 6, 2024 19:30
@bdraco
Copy link
Member

bdraco commented Sep 6, 2024

Thanks @GitNMLee

@bdraco bdraco merged commit c693a81 into aio-libs:master Sep 6, 2024
32 of 33 checks passed
Copy link
Contributor

patchback bot commented Sep 6, 2024

Backport to 3.10: 💔 cherry-picking failed — conflicts found

❌ Failed to cleanly apply c693a81 on top of patchback/backports/3.10/c693a816ce84d46c445841c707f23e31f174cf28/pr-9032

Backporting merged PR #9032 into master

  1. Ensure you have a local repo clone of your fork. Unless you cloned it
    from the upstream, this would be your origin remote.
  2. Make sure you have an upstream repo added as a remote too. In these
    instructions you'll refer to it by the name upstream. If you don't
    have it, here's how you can add it:
    $ git remote add upstream https://github.com/aio-libs/aiohttp.git
  3. Ensure you have the latest copy of upstream and prepare a branch
    that will hold the backported code:
    $ git fetch upstream
    $ git checkout -b patchback/backports/3.10/c693a816ce84d46c445841c707f23e31f174cf28/pr-9032 upstream/3.10
  4. Now, cherry-pick PR Fix Link-Local IPv6 Flags in the Resolver #9032 contents into that branch:
    $ git cherry-pick -x c693a816ce84d46c445841c707f23e31f174cf28
    If it'll yell at you with something like fatal: Commit c693a816ce84d46c445841c707f23e31f174cf28 is a merge but no -m option was given., add -m 1 as follows instead:
    $ git cherry-pick -m1 -x c693a816ce84d46c445841c707f23e31f174cf28
  5. At this point, you'll probably encounter some merge conflicts. You must
    resolve them in to preserve the patch from PR Fix Link-Local IPv6 Flags in the Resolver #9032 as close to the
    original as possible.
  6. Push this branch to your fork on GitHub:
    $ git push origin patchback/backports/3.10/c693a816ce84d46c445841c707f23e31f174cf28/pr-9032
  7. Create a PR, ensure that the CI is green. If it's not — update it so that
    the tests and any other checks pass. This is it!
    Now relax and wait for the maintainers to process your pull request
    when they have some cycles to do reviews. Don't worry — they'll tell you if
    any improvements are necessary when the time comes!

🤖 @patchback
I'm built with octomachinery and
my source is open — https://github.com/sanitizers/patchback-github-app.

Copy link
Contributor

patchback bot commented Sep 6, 2024

Backport to 3.11: 💚 backport PR created

✅ Backport PR branch: patchback/backports/3.11/c693a816ce84d46c445841c707f23e31f174cf28/pr-9032

Backported as #9047

🤖 @patchback
I'm built with octomachinery and
my source is open — https://github.com/sanitizers/patchback-github-app.

patchback bot pushed a commit that referenced this pull request Sep 6, 2024
Co-authored-by: Nathan Lee <nathan.lee@garmin.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Sam Bull <git@sambull.org>
Co-authored-by: J. Nick Koston <nick@koston.org>
(cherry picked from commit c693a81)
bdraco pushed a commit that referenced this pull request Sep 6, 2024
Co-authored-by: Nathan Lee <nathan.lee@garmin.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Sam Bull <git@sambull.org>
Co-authored-by: J. Nick Koston <nick@koston.org>
(cherry picked from commit c693a81)
GitNMLee added a commit to GitNMLee/aiohttp that referenced this pull request Sep 6, 2024
Co-authored-by: Nathan Lee <nathan.lee@garmin.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Sam Bull <git@sambull.org>
Co-authored-by: J. Nick Koston <nick@koston.org>
(cherry picked from commit c693a81)

Change-Id: I19977c5d84a9236bdddcaf025040ca68e18e77e4
bdraco pushed a commit that referenced this pull request Sep 6, 2024
…esolver (#9047)

Co-authored-by: GitNMLee <89409038+GitNMLee@users.noreply.github.com>
Fixes #9028 
Fixes #123'). -->
bdraco added a commit that referenced this pull request Sep 6, 2024
…esolver (#9048)

Co-authored-by: Nathan Lee <nathan.lee@garmin.com>
Co-authored-by: pre-commit-ci[bot]
Co-authored-by: Sam Bull <git@sambull.org>
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: GitNMLee <89409038+GitNMLee@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport-3.11 Trigger automatic backporting to the 3.11 release branch by Patchback robot bot:chronographer:provided There is a change note present in this PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ClientSession.get() doesn't support hostname.
3 participants