romange / helio

A modern framework for backend development based on io_uring Linux interface
Apache License 2.0
435 stars 49 forks source link

fix: infinite loop on tls sock when BIO is full and client renegotiates the handshake #271

Closed kostasrim closed 4 months ago

kostasrim commented 4 months ago

I am also adding a test case in df repo for this :)

kostasrim commented 4 months ago

@romange I sincerely ask for the commit to include @chakaz as well! It was a tag team effort :rocket: :partying_face:

codecov-commenter commented 4 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 77.95%. Comparing base (d30de86) to head (b893e7d). Report is 51 commits behind head on master.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #271 +/- ## ========================================== + Coverage 77.60% 77.95% +0.34% ========================================== Files 103 106 +3 Lines 7824 7974 +150 ========================================== + Hits 6072 6216 +144 - Misses 1752 1758 +6 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

chakaz commented 4 months ago

Is it possible to cover with.tests?

We were able to create a Python script that reproduces this like 30% of time (so we ran it many times). Kostas said he'll add that to Dragonfly repo (we need Dragonfly for that), but I'm not sure if he meant by a proper pytest. It should be doable though!

romange commented 4 months ago

@kostasrim can you please squash and sign your commits?