-
Notifications
You must be signed in to change notification settings - Fork 1.2k
KTOR-5391: Document ECDSA certificate limitation for client authentication #5234
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
base: main
Are you sure you want to change the base?
Conversation
WalkthroughAdded documentation comments to Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
ktor-network/ktor-network-tls/jvm/src/io/ktor/network/tls/TLSConfigBuilder.kt (1)
24-26: Consider verifying issue reference format consistency.The three new documentation notes reference
[KTOR-5391]using plain bracket syntax. However, other cross-references in this file use full markdown link syntax, e.g.,[Report a problem](https://ktor.io/feedback/?fqname=...)(lines 16, 27, 34, etc.).Verify whether your documentation tooling auto-converts
[KTOR-5391]to a clickable link, or if this should use an explicit URL format for consistency:// Example: if explicit link is needed [KTOR-5391](https://youtrack.jetbrains.com/issue/KTOR-5391)If the reference format is intentional or handled by a documentation plugin, no change is needed.
Also applies to: 103-105, 116-118
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
ktor-network/ktor-network-tls/jvm/src/io/ktor/network/tls/TLSConfigBuilder.kt(3 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
**/*.kt
📄 CodeRabbit inference engine (CLAUDE.md)
**/*.kt: Follow Kotlin official style guide (https://kotlinlang.org/docs/coding-conventions.html)
Use star imports forio.ktor.*packages
Document all public APIs including parameters, return types, and exceptions
Mark internal APIs with@InternalAPIannotation
Run./gradlew lintKotlinand fix all linting issues before giving control back to the user
Use./gradlew formatKotlinto automatically fix formatting issues
Run./gradlew updateLegacyAbiafter making ABI changes to update ABI signature files
Binary compatibility is enforced - all public API changes must be tracked in the/api/directories
Validate ABI with./gradlew checkLegacyAbiand update with./gradlew updateLegacyAbi
API changes must be intentional and well-documented
Error handling follows Kotlin conventions with specific Ktor exceptions
Files:
ktor-network/ktor-network-tls/jvm/src/io/ktor/network/tls/TLSConfigBuilder.kt
🧠 Learnings (2)
📚 Learning: 2025-11-25T09:38:19.393Z
Learnt from: CR
Repo: ktorio/ktor PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-11-25T09:38:19.393Z
Learning: Applies to **/*.kt : API changes must be intentional and well-documented
Applied to files:
ktor-network/ktor-network-tls/jvm/src/io/ktor/network/tls/TLSConfigBuilder.kt
📚 Learning: 2025-11-25T09:38:19.393Z
Learnt from: CR
Repo: ktorio/ktor PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-11-25T09:38:19.393Z
Learning: Applies to **/*.kt : Document all public APIs including parameters, return types, and exceptions
Applied to files:
ktor-network/ktor-network-tls/jvm/src/io/ktor/network/tls/TLSConfigBuilder.kt
🔇 Additional comments (2)
ktor-network/ktor-network-tls/jvm/src/io/ktor/network/tls/TLSConfigBuilder.kt (2)
19-29: Documentation of ECDSA limitation is clear and well-placed.The note accurately documents the limitation and informs users at the property level where certificates are declared. This directly addresses the PR objective to reduce silent failures.
98-110: Excellent—documentation covers all certificate-addition entry points.Adding the same ECDSA limitation note to both
addCertificateChainandaddKeyStoreensures users cannot miss this limitation regardless of which API they call. Together with the property-level note, this provides comprehensive visibility.
Subsystem
ktor-network-tls, ktor-client-cio
Motivation
Currently, the Ktor CIO engine silently ignores client certificates that use the ECDSA
This limitation is not immediately obvious.
See also KTOR-5391.
Solution
Added a Note to the KDoc to the affected methods