GnuTLS | supported_groups: fix hybrid group selection (!2111)
Read-only notification of GnuTLS library development activities <[email protected]> Wed, 17 Jun 2026 05:52:24 +0000
| Newsgroups | gmane.comp.encryption.gpg.gnutls.devel |
|---|---|
| Message-ID | <[email protected]> |
--===============3580821446682355905==
Content-Type: multipart/alternative;
boundary="--==_mimepart_6a32361896c00_3719661c503ec";
charset=UTF-8
Content-Transfer-Encoding: 7bit
----==_mimepart_6a32361896c00_3719661c503ec
Content-Type: text/plain;
charset=UTF-8
Content-Transfer-Encoding: 7bit
Daiki Ueno created a merge request: https://gitlab.com/gnutls/gnutls/-/merge_requests/2111
Project:Branches: dueno/gnutls:wip/dueno/hybrid-kx-either to gnutls/gnutls:master
Author: Daiki Ueno
<!-- Add a description of the new feature/bug fix. Reference any relevant bugs. -->
There was a logic error that prevents enabling hybrid groups, when
either EC or FFDH group is specified, not both. This fixes this by
extending the condition to cover the case.
Reported and analyzed by Glenn Strauss in
https://gitlab.com/gnutls/gnutls/-/work_items/1828.
Fixes: #1828
## Checklist
* [x] Commits have `Signed-off-by:` with name/author being identical to the commit author
* [ ] Code modified for feature
* [x] Test suite updated with functionality tests
* [x] Test suite updated with negative tests
* [ ] Documentation updated / NEWS entry present (for non-trivial changes)
## Reviewer's checklist:
* [ ] Any issues marked for closing are addressed
* [ ] There is a test suite reasonably covering new functionality or modifications
* [ ] Function naming, parameters, return values, types, etc., are consistent and according to `CONTRIBUTION.md`
* [ ] This feature/change has adequate documentation added
* [ ] No obvious mistakes in the code
--
Reply to this email directly or view it on GitLab: https://gitlab.com/gnutls/gnutls/-/merge_requests/2111
You're receiving this email because of your account on gitlab.com. Unsubscribe from this thread: https://gitlab.com/-/namespace/17175643/sent_notifications/5-1z8266cl2qi6hwk16j67t5cv8-a84t7/unsubscribe | Manage all notifications: https://gitlab.com/-/profile/notifications | Help: https://gitlab.com/help
----==_mimepart_6a32361896c00_3719661c503ec
Content-Type: text/html;
charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www=
.w3.org/TR/REC-html40/loose.dtd">
<html lang=3D"en" style=3D'--code-editor-font: var(--default-mono-font, "=
GitLab Mono"), JetBrains Mono, Menlo, DejaVu Sans Mono, Liberation Mono, =
Consolas, Ubuntu Mono, Courier New, andale mono, lucida console, monospac=
e;'>
<head>
<meta content=3D"text/html; charset=3Dutf-8" http-equiv=3D"Content-Type">=
<title>
GitLab
</title>
<style data-premailer=3D"ignore" type=3D"text/css">
a { color: #1068bf; }
</style>
<style>img {
max-width: 100%; height: auto;
}
body {
font-size: .875rem;
}
body {
-webkit-text-shadow: hsla(0,0%,100%,.01) 0 0 1px;
}
body {
font-family: "GitLab Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Ro=
boto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-serif,"Apple Colo=
r Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; font-size=
: inherit;
}
</style>
</head>
<body style=3D'font-size: inherit; -webkit-text-shadow: hsla(0,0%,100%,.0=
1) 0 0 1px; font-family: "GitLab Sans",-apple-system,BlinkMacSystemFont,"=
Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-serif=
,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji=
";'>
<div class=3D"content">
<p class=3D"details" style=3D"font-style: italic; color: #626168;">
<a href=3D"https://gitlab.com/dueno">Daiki Ueno</a> created a merge reque=
st: <a href=3D"https://gitlab.com/gnutls/gnutls/-/merge_requests/2111">!2=
111</a>
</p>
<div class=3D"branch">
Project:Branches: dueno/gnutls:wip/dueno/hybrid-kx-either to gnutls/gnutl=
s:master
</div>
<div class=3D"author">
Author: Daiki Ueno
</div>
<div class=3D"assignee">
Assignees: =
</div>
<div class=3D"reviewer">
Reviewers: =
</div>
<div class=3D"md gl-mt-5" style=3D"position: relative; z-index: 1; color:=
#3a383f; word-wrap: break-word; margin-top: 1rem;">
<p dir=3D"auto" style=3D"color: #3a383f; margin: 0px 0px 1rem;" align=3D"=
initial">There was a logic error that prevents enabling hybrid groups, wh=
en
either EC or FFDH group is specified, not both. This fixes this by
extending the condition to cover the case.</p>
<p dir=3D"auto" style=3D"color: #3a383f; margin: 0px 0px 1rem;" align=3D"=
initial">Reported and analyzed by Glenn Strauss in
<a href=3D"https://gitlab.com/gnutls/gnutls/-/work_items/1828" title=3D"g=
nutls server negotiates X25519 instead of X25519MLKEM768 unless FFDHE als=
o configured" class=3D"gfm gfm-work_item" data-original=3D"https://gitlab=
.com/gnutls/gnutls/-/work_items/1828" data-link=3D"false" data-link-refer=
ence=3D"true" data-work-item=3D"186970214" data-project=3D"179611" data-i=
id=3D"1828" data-namespace-path=3D"gnutls/gnutls" data-project-path=3D"gn=
utls/gnutls" data-work-item-type=3D"issue" data-container=3D"body" data-p=
lacement=3D"top" data-reference-type=3D"work_item" style=3D"margin-top: 0=
px;">#1828</a>.</p>
<p dir=3D"auto" style=3D"color: #3a383f; margin: 0px 0px 1rem;" align=3D"=
initial">Fixes: <a href=3D"https://gitlab.com/gnutls/gnutls/-/work_items/=
1828" title=3D"gnutls server negotiates X25519 instead of X25519MLKEM768 =
unless FFDHE also configured" class=3D"gfm gfm-issue" data-original=3D"#1=
828" data-link=3D"false" data-link-reference=3D"false" data-issue=3D"1869=
70214" data-project=3D"179611" data-iid=3D"1828" data-namespace-path=3D"g=
nutls/gnutls" data-project-path=3D"gnutls/gnutls" data-issue-type=3D"issu=
e" data-container=3D"body" data-placement=3D"top" data-reference-type=3D"=
issue" style=3D"margin-top: 0px;">#1828</a></p>
<h2 id=3D"user-content-checklist" dir=3D"auto" style=3D"margin-top: 20px;=
margin-bottom: 10px;" align=3D"initial">Checklist<a href=3D"#checklist" =
aria-label=3D"Link to heading 'Checklist'" data-heading-content=3D"Checkl=
ist" class=3D"anchor" style=3D"margin-top: 0px;"></a>
</h2>
<ul class=3D"task-list" dir=3D"auto" style=3D"text-align: initial; list-s=
tyle-type: disc; margin: 0px 0px 1rem; padding: 0;">
<li class=3D"task-list-item" style=3D"margin-top: 0px; line-height: 1.6em=
; margin-left: 25px; padding-left: 3px; position: relative; min-height: 2=
2px; -webkit-padding-start: 32px; padding-inline-start: 32px; list-style-=
type: none; -webkit-margin-start: 0 !important; margin-inline-start: 0 !i=
mportant;">
<input type=3D"checkbox" class=3D"task-list-item-checkbox" checked disabl=
ed aria-label=3D"Check option: Commits have Signed-off-by: with name/auth=
or being identical to the commit author" style=3D"margin-top: 0px; positi=
on: absolute; inset-inline-start: 8px; inset-block-start: 3px; all: unset=
; display: block; width: 1rem; height: 1rem; cursor: pointer; box-sizing:=
border-box; border-radius: .25rem; background-color: #ffffff; border: 1p=
x solid #89888d;"> Commits have <code style=3D'font-size: 90%; color: #18=
171d; word-wrap: break-word; background-color: #ececef; border-radius: .2=
5rem; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans=
Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "and=
ale mono", "lucida console", monospace; font-variant-ligatures: none; whi=
te-space: pre-wrap; overflow-wrap: break-word; word-break: keep-all; padd=
ing: 0.125rem 0.25rem;'>Signed-off-by:</code> with name/author being iden=
tical to the commit author</li>
<li class=3D"task-list-item" style=3D"line-height: 1.6em; margin-left: 25=
px; padding-left: 3px; position: relative; min-height: 22px; -webkit-padd=
ing-start: 32px; padding-inline-start: 32px; list-style-type: none; -webk=
it-margin-start: 0 !important; margin-inline-start: 0 !important;">
<input type=3D"checkbox" class=3D"task-list-item-checkbox" disabled aria-=
label=3D"Check option: Code modified for feature" style=3D"margin-top: 0p=
x; position: absolute; inset-inline-start: 8px; inset-block-start: 3px; a=
ll: unset; display: block; width: 1rem; height: 1rem; cursor: pointer; bo=
x-sizing: border-box; border-radius: .25rem; background-color: #ffffff; b=
order: 1px solid #89888d;"> Code modified for feature</li>
<li class=3D"task-list-item" style=3D"line-height: 1.6em; margin-left: 25=
px; padding-left: 3px; position: relative; min-height: 22px; -webkit-padd=
ing-start: 32px; padding-inline-start: 32px; list-style-type: none; -webk=
it-margin-start: 0 !important; margin-inline-start: 0 !important;">
<input type=3D"checkbox" class=3D"task-list-item-checkbox" checked disabl=
ed aria-label=3D"Check option: Test suite updated with functionality test=
s" style=3D"margin-top: 0px; position: absolute; inset-inline-start: 8px;=
inset-block-start: 3px; all: unset; display: block; width: 1rem; height:=
1rem; cursor: pointer; box-sizing: border-box; border-radius: .25rem; ba=
ckground-color: #ffffff; border: 1px solid #89888d;"> Test suite updated =
with functionality tests</li>
<li class=3D"task-list-item" style=3D"line-height: 1.6em; margin-left: 25=
px; padding-left: 3px; position: relative; min-height: 22px; -webkit-padd=
ing-start: 32px; padding-inline-start: 32px; list-style-type: none; -webk=
it-margin-start: 0 !important; margin-inline-start: 0 !important;">
<input type=3D"checkbox" class=3D"task-list-item-checkbox" checked disabl=
ed aria-label=3D"Check option: Test suite updated with negative tests" st=
yle=3D"margin-top: 0px; position: absolute; inset-inline-start: 8px; inse=
t-block-start: 3px; all: unset; display: block; width: 1rem; height: 1rem=
; cursor: pointer; box-sizing: border-box; border-radius: .25rem; backgro=
und-color: #ffffff; border: 1px solid #89888d;"> Test suite updated with =
negative tests</li>
<li class=3D"task-list-item" style=3D"line-height: 1.6em; margin-left: 25=
px; padding-left: 3px; position: relative; min-height: 22px; -webkit-padd=
ing-start: 32px; padding-inline-start: 32px; list-style-type: none; -webk=
it-margin-start: 0 !important; margin-inline-start: 0 !important;">
<input type=3D"checkbox" class=3D"task-list-item-checkbox" disabled aria-=
label=3D"Check option: Documentation updated / NEWS entry present (for no=
n-trivial changes)" style=3D"margin-top: 0px; position: absolute; inset-i=
nline-start: 8px; inset-block-start: 3px; all: unset; display: block; wid=
th: 1rem; height: 1rem; cursor: pointer; box-sizing: border-box; border-r=
adius: .25rem; background-color: #ffffff; border: 1px solid #89888d;"> Do=
cumentation updated / NEWS entry present (for non-trivial changes)</li>
</ul>
<h2 id=3D"user-content-reviewers-checklist" dir=3D"auto" style=3D"margin-=
top: 20px; margin-bottom: 10px;" align=3D"initial">Reviewer's checklist:<=
a href=3D"#reviewers-checklist" aria-label=3D"Link to heading 'Reviewer's=
checklist:'" data-heading-content=3D"Reviewer's checklist:" class=3D"anc=
hor" style=3D"margin-top: 0px;"></a>
</h2>
<ul class=3D"task-list" dir=3D"auto" style=3D"text-align: initial; list-s=
tyle-type: disc; margin: 0px; padding: 0;">
<li class=3D"task-list-item" style=3D"margin-top: 0px; line-height: 1.6em=
; margin-left: 25px; padding-left: 3px; position: relative; min-height: 2=
2px; -webkit-padding-start: 32px; padding-inline-start: 32px; list-style-=
type: none; -webkit-margin-start: 0 !important; margin-inline-start: 0 !i=
mportant;">
<input type=3D"checkbox" class=3D"task-list-item-checkbox" disabled aria-=
label=3D"Check option: Any issues marked for closing are addressed" style=
=3D"margin-top: 0px; position: absolute; inset-inline-start: 8px; inset-b=
lock-start: 3px; all: unset; display: block; width: 1rem; height: 1rem; c=
ursor: pointer; box-sizing: border-box; border-radius: .25rem; background=
-color: #ffffff; border: 1px solid #89888d;"> Any issues marked for closi=
ng are addressed</li>
<li class=3D"task-list-item" style=3D"line-height: 1.6em; margin-left: 25=
px; padding-left: 3px; position: relative; min-height: 22px; -webkit-padd=
ing-start: 32px; padding-inline-start: 32px; list-style-type: none; -webk=
it-margin-start: 0 !important; margin-inline-start: 0 !important;">
<input type=3D"checkbox" class=3D"task-list-item-checkbox" disabled aria-=
label=3D"Check option: There is a test suite reasonably covering new func=
tionality or modifications" style=3D"margin-top: 0px; position: absolute;=
inset-inline-start: 8px; inset-block-start: 3px; all: unset; display: bl=
ock; width: 1rem; height: 1rem; cursor: pointer; box-sizing: border-box; =
border-radius: .25rem; background-color: #ffffff; border: 1px solid #8988=
8d;"> There is a test suite reasonably covering new functionality or modi=
fications</li>
<li class=3D"task-list-item" style=3D"line-height: 1.6em; margin-left: 25=
px; padding-left: 3px; position: relative; min-height: 22px; -webkit-padd=
ing-start: 32px; padding-inline-start: 32px; list-style-type: none; -webk=
it-margin-start: 0 !important; margin-inline-start: 0 !important;">
<input type=3D"checkbox" class=3D"task-list-item-checkbox" disabled aria-=
label=3D"Check option: Function naming, parameters, return values, types,=
etc., are consistent and according to=E2=80=A6" style=3D"margin-top: 0px=
; position: absolute; inset-inline-start: 8px; inset-block-start: 3px; al=
l: unset; display: block; width: 1rem; height: 1rem; cursor: pointer; box=
-sizing: border-box; border-radius: .25rem; background-color: #ffffff; bo=
rder: 1px solid #89888d;"> Function naming, parameters, return values, ty=
pes, etc., are consistent and according to <code style=3D'font-size: 90%;=
color: #18171d; word-wrap: break-word; background-color: #ececef; border=
-radius: .25rem; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "=
DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier=
New", "andale mono", "lucida console", monospace; font-variant-ligatures=
: none; white-space: pre-wrap; overflow-wrap: break-word; word-break: kee=
p-all; padding: 0.125rem 0.25rem;'>CONTRIBUTION.md</code>
</li>
<li class=3D"task-list-item" style=3D"line-height: 1.6em; margin-left: 25=
px; padding-left: 3px; position: relative; min-height: 22px; -webkit-padd=
ing-start: 32px; padding-inline-start: 32px; list-style-type: none; -webk=
it-margin-start: 0 !important; margin-inline-start: 0 !important;">
<input type=3D"checkbox" class=3D"task-list-item-checkbox" disabled aria-=
label=3D"Check option: This feature/change has adequate documentation add=
ed" style=3D"margin-top: 0px; position: absolute; inset-inline-start: 8px=
; inset-block-start: 3px; all: unset; display: block; width: 1rem; height=
: 1rem; cursor: pointer; box-sizing: border-box; border-radius: .25rem; b=
ackground-color: #ffffff; border: 1px solid #89888d;"> This feature/chang=
e has adequate documentation added</li>
<li class=3D"task-list-item" style=3D"line-height: 1.6em; margin-left: 25=
px; padding-left: 3px; position: relative; min-height: 22px; -webkit-padd=
ing-start: 32px; padding-inline-start: 32px; list-style-type: none; -webk=
it-margin-start: 0 !important; margin-inline-start: 0 !important;">
<input type=3D"checkbox" class=3D"task-list-item-checkbox" disabled aria-=
label=3D"Check option: No obvious mistakes in the code" style=3D"margin-t=
op: 0px; position: absolute; inset-inline-start: 8px; inset-block-start: =
3px; all: unset; display: block; width: 1rem; height: 1rem; cursor: point=
er; box-sizing: border-box; border-radius: .25rem; background-color: #fff=
fff; border: 1px solid #89888d;"> No obvious mistakes in the code</li>
</ul>
</div>
</div>
<div class=3D"footer" style=3D"margin-top: 10px;">
<p style=3D"font-size: small; color: #626168;">
=E2=80=94
<br>
Reply to this email directly or <a href=3D"https://gitlab.com/gnutls/gnut=
ls/-/merge_requests/2111">view it on GitLab</a>.
<br>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com">gitlab.com</a>=
. <a href=3D"https://gitlab.com/-/namespace/17175643/sent_notifications/5=
-1z8266cl2qi6hwk16j67t5cv8-a84t7/unsubscribe" target=3D"_blank" rel=3D"no=
opener noreferrer">Unsubscribe</a> from this thread =C2=B7 <a href=3D"htt=
ps://gitlab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopene=
r noreferrer" class=3D"mng-notif-link">Manage all notifications</a> =C2=B7=
<a href=3D"https://gitlab.com/help" target=3D"_blank" rel=3D"noopener no=
referrer" class=3D"help-link">Help</a>
<span style=3D"color: transparent; font-size: 0; display: none; overflow:=
hidden; opacity: 0; width: 0; height: 0; max-width: 0; max-height: 0;">
Notification message regarding https://gitlab.com/gnutls/gnutls/-/merge_r=
equests/2111 at 1781675544
</span>
<script type=3D"application/ld+json">{"@context":"http://schema.org","@ty=
pe":"EmailMessage","action":{"@type":"ViewAction","name":"View Merge requ=
est","url":"https://gitlab.com/gnutls/gnutls/-/merge_requests/2111"}}</sc=
ript>
</p>
</div>
</body>
</html>
----==_mimepart_6a32361896c00_3719661c503ec--
--===============3580821446682355905==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
Gnutls-devel mailing list
[email protected]
http://lists.gnupg.org/mailman/listinfo/gnutls-devel
--===============3580821446682355905==--