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

Add an option to disable TLS fragmentation #112

Closed

Conversation

chschenk
Copy link

@chschenk chschenk commented May 5, 2020

iPXE currently does not support TLS connections with large certificate chains because it can not handle TLS handshake record fragmentation. So i think there should be an option to disable the request for fragmentation. Hence i would add a confg/tls.h to make changes to the behaviour of the tls implementation. By default the request for fragmentation is enabled, so nothing changes here, but if desired it can be turned of by undefining TLS_FRAGMENTATION_ENABLED
I also added the option TLS_REQUESTED_MAX_FRAGMENT_LENGTH for defining, if fragmentation is enabled, the requested maximum fragment length.

I appreciate your comments and feedback.

@NiKiZe
Copy link
Contributor

NiKiZe commented May 6, 2020

Hi,
Just a quick heads up, iPXE does almost never accept #if usage, (in .c files)
See https://dox.ipxe.org/ifdef_harmful.html

@mcb30
Copy link
Member

mcb30 commented Jul 21, 2020

Thanks for the suggestion. As far as I know, omitting the maximum fragment length option doesn't prevent the server from sending fragmented records; it just leaves the server free to choose larger fragment sizes. I don't think this patch therefore has the effect that you expect it to have.

I see you have created a newer pull request #116 which instead adds support for handling fragmented handshake records. That pull request still needs review, but it's a better approach overall so I'm closing this one in favour of #116.

@mcb30 mcb30 closed this Jul 21, 2020
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

3 participants