Lagrange [release]
Empty path normalization was not being applied
[1mdiff --git a/src/gmrequest.c b/src/gmrequest.c[m
[1mindex 82c232e1..603975f0 100644[m
[1m--- a/src/gmrequest.c[m
[1m+++ b/src/gmrequest.c[m
[36m@@ -593,6 +593,15 @@[m [mvoid setUrl_GmRequest(iGmRequest *d, const iString *url) {[m
the web. */[m
/* Encode everything except already-percent encoded characters. */[m
iString *enc = urlEncodeExclude_String(&d->url, "%" URL_RESERVED_CHARS);[m
[32m+[m[32m /* Normalize empty paths to /. */ {[m
[32m+[m[32m iUrl parts;[m
[32m+[m[32m init_Url(&parts, enc);[m
[32m+[m[32m if (isEmpty_Range(&parts.path) && equalCase_Rangecc(parts.scheme, "gemini") &&[m
[32m+[m[32m parts.path.start) {[m
[32m+[m[32m /* Normalize to "/" as per specification (November 2021 update). */[m
[32m+[m[32m insertData_Block(&enc->chars, parts.path.start - constBegin_String(enc), "/", 1);[m
[32m+[m[32m }[m
[32m+[m[32m }[m
set_String(&d->url, enc);[m
delete_String(enc);[m
d->identity = identityForUrl_GmCerts(d->certs, &d->url);[m
[1mdiff --git a/src/gmutil.c b/src/gmutil.c[m
[1mindex e59e6649..ecfe2128 100644[m
[1m--- a/src/gmutil.c[m
[1m+++ b/src/gmutil.c[m
[36m@@ -325,10 +325,6 @@[m [mvoid urlEncodePath_String(iString *d) {[m
return;[m
}[m
if (isEmpty_Range(&url.path)) {[m
[31m- if (equalCase_Rangecc(url.scheme, "gemini") && url.path.start) { [m
[31m- /* Normalize to "/" as per specification (November 2021 update). */[m
[31m- insertData_Block(&d->chars, url.path.start - constBegin_String(d), "/", 1);[m
[31m- } [m
return;[m
}[m
iString *encoded = new_String();[m