forked from python-hyper/hyperframe
-
Notifications
You must be signed in to change notification settings - Fork 0
Permalink
Choose a base ref
{{ refName }}
default
Choose a head ref
{{ refName }}
default
Checking mergeability…
Don’t worry, you can still create the pull request.
Comparing changes
Choose two branches to see what’s changed or to start a new pull request.
If you need to, you can also or
learn more about diff comparisons.
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also .
Learn more about diff comparisons here.
base repository: Python-Repository-Hub/hyperframe
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
...
head repository: python-hyper/hyperframe
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
- 16 commits
- 19 files changed
- 2 contributors
Commits on Nov 16, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 8174dfd - Browse repository at this point
Copy the full SHA 8174dfdView commit details -
Configuration menu - View commit details
-
Copy full SHA for b72d64b - Browse repository at this point
Copy the full SHA b72d64bView commit details
Commits on Nov 20, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 48965e0 - Browse repository at this point
Copy the full SHA 48965e0View commit details
Commits on Nov 22, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 0b85069 - Browse repository at this point
Copy the full SHA 0b85069View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5039d79 - Browse repository at this point
Copy the full SHA 5039d79View commit details
Commits on Dec 18, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 06993da - Browse repository at this point
Copy the full SHA 06993daView commit details
Commits on Dec 20, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 2595cf6 - Browse repository at this point
Copy the full SHA 2595cf6View commit details
Commits on Dec 21, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 0be70d1 - Browse repository at this point
Copy the full SHA 0be70d1View commit details
Commits on Jan 22, 2025
-
Configuration menu - View commit details
-
Copy full SHA for ab477ba - Browse repository at this point
Copy the full SHA ab477baView commit details -
Configuration menu - View commit details
-
Copy full SHA for b57beaf - Browse repository at this point
Copy the full SHA b57beafView commit details
Commits on Apr 10, 2026
-
Fix setting identifier truncation in SettingsFrame.serialize_body
The bitmask `setting & 0xFF` truncates the 16-bit setting identifier to only 8 bits. This silently corrupts any setting ID above 255 during serialization. The identifier field in SETTINGS frames is 16 bits wide (RFC 9113, Section 6.5.1), and `_STRUCT_HL` already uses the `H` format (unsigned short, 16 bits) for it. However, `& 0xFF` discards the upper byte. For the standard settings (0x01 through 0x08) this has no visible effect since they all fit in 8 bits. But RFC 8701 GREASE values like 0x0a0a or 0x1a1a, as well as any future extension settings > 0xFF, would be silently mangled on a serialize round-trip. Change the mask to `& 0xFFFF` to match the actual field width.
Configuration menu - View commit details
-
Copy full SHA for f6aea54 - Browse repository at this point
Copy the full SHA f6aea54View commit details -
Configuration menu - View commit details
-
Copy full SHA for 33b7d06 - Browse repository at this point
Copy the full SHA 33b7d06View commit details -
Mask reserved bit when parsing GoAway and WindowUpdate frames
GoAwayFrame.serialize_body already masks last_stream_id with & 0x7FFFFFFF, but parse_body reads the raw 32-bit value without stripping the reserved top bit. If a peer happens to set that bit, last_stream_id would be read as a value >= 2^31 instead of the actual stream ID. Similarly, WindowUpdateFrame.serialize_body masks window_increment with & 0x7FFFFFFF, but parse_body doesn't. If the reserved bit is set, the unmasked value exceeds 2^31-1 and the frame is rejected with InvalidDataError — even though RFC 9113 Section 6.9 says the reserved bit "MUST be ignored when receiving." The rest of the codebase already follows this pattern: - Frame.parse_frame_header masks stream_id & 0x7FFFFFFF - Priority.parse_priority_data masks depends_on & 0x7FFFFFFF Add the same mask to GoAwayFrame.parse_body and WindowUpdateFrame.parse_body for consistency.
Configuration menu - View commit details
-
Copy full SHA for 36694a5 - Browse repository at this point
Copy the full SHA 36694a5View commit details -
Configuration menu - View commit details
-
Copy full SHA for e1df3c4 - Browse repository at this point
Copy the full SHA e1df3c4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 84f6a92 - Browse repository at this point
Copy the full SHA 84f6a92View commit details -
Configuration menu - View commit details
-
Copy full SHA for 632e309 - Browse repository at this point
Copy the full SHA 632e309View commit details
Loading
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff master...master