Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:130776 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by lists.php.net (Postfix) with ESMTPS id 0C9051A00BC for ; Wed, 6 May 2026 05:51:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1778046703; bh=rSEERMUr95+DnPH29zppIWh9zApJbXNG8R0nedfr4Yc=; h=References:In-Reply-To:From:Date:Subject:To:From; b=AowbLn3j+5lIwFLAHNdYXCkskQ6t8kcWNtWWPDkXmvpjzKWIE4j8/+Vepb/Nqzovd 3vxvDfiZFiX/Fu/57BX3ICj2nTDJvyYDn7tPVa+x5DXZiZuuY0/HxBSwbUYc2wZNtj YTKngV7pz5wfXUEqegQbGlhKqIlrkpF/pijooQ1GwY3N0IufkRlgJ++QPczBXAsYbl K/iw2fF9vSngd8nCkS2eZHl1tETsKWZr5vzA+y0J4fM7KduzQ04LaRmf4UYtIanbRP dyg3UbGGd0kg828I1Nj0epFiGQ8DBMQTr7HvGwMNPmz1WlFgjyWBCMbmweCJzK72kp 5pKIYwY3Jlonw== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id AA2C1180056 for ; Wed, 6 May 2026 05:51:42 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,FREEMAIL_FROM, HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: No X-Envelope-From: Received: from mail-oi1-f174.google.com (mail-oi1-f174.google.com [209.85.167.174]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Wed, 6 May 2026 05:51:42 +0000 (UTC) Received: by mail-oi1-f174.google.com with SMTP id 5614622812f47-463f00cda04so2934262b6e.2 for ; Tue, 05 May 2026 22:51:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1778046697; cv=none; d=google.com; s=arc-20240605; b=d4LF+YJWAlpqnY0epTcFqhXDyI02XRyZBSNza4drEskToI5KF6HwTfeEhnZXvSS6BV QnzniQALOFtPJj8Kxx6+FO2Qkhh3WzwUHKdch20906Amxp3ipsZsDaMbLVpx7d9OS4R8 yc+gpC3M2jiFGGSPfbdq19OXzJqDMOwUqX8MJyPuMQJ6gzTtBjkm4FfqFxtAwfUqAHI4 KY+j65o044XgXo2YVYqqDYrHM6I9nvnSc1BnR+bsrAscW5pCPCb5COteK3LLF693m2l5 kNxXNLcR/Kd34GLFJVkdXz8Q+olRoacM8jIu9bypRrztGmfFuZltNJoCOHNZMDugzjQ9 hzwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=MEJtGeYzYJG+X0L9E801zMusyy7WPNzbWKtCtoQIhE4=; fh=dB6Hu/TirJQnUbPEbABPgbqsVzM45n1RkqJc7EbfYLs=; b=QPw8V84LNkXRPXN0WnoU/+H1hj+Z3D24c+V6PBZQI0q+Hb/d5N1lOEfVfX7QSLSEs4 pD3TlYIoOPPgz+fvdhTeKkA+dahw0oSgpv/mwNJeNaw0FtfElzzFOJ9/QrEsRg1X0wSO qBjp37JbmQ5+v2OFh09cRsxgJ7rrkZG9iNtgy7O0IsQb3q9XuqTxCyYWTaU2owvQjZ2V 01Q9jn6onzMoACEl+0B5hBxdrEYZjOVQLDlYwkDAQa9/EqrYhn3FFuVUyR+rIeMdp1xw dvkGWG383C0u/iM4ShmF/EeT++9H+Q895E1BnjXXxLv+s/lohYKxBkg23TApmdlfNNGe ZKtA==; darn=lists.php.net ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778046697; x=1778651497; darn=lists.php.net; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=MEJtGeYzYJG+X0L9E801zMusyy7WPNzbWKtCtoQIhE4=; b=kXhdL45FWKsDlgHvvnB9RVIXswhAPcVng7J2XaiaEkTvf/T4rpBxwIOKwx5194izK1 67TXp17JR8N0QdVd7YMBeYT7Rk9EvJm2VVQb/k/4L9oXJgY6T3SvPFlOK7K+cHozpwJ/ EitmHvAIyNJ7a7ZYTStmQXjJMUE5cEWxyieCB4wEZV9YL2UJAXcQcymMDs/Mo9d+YSmz mKZZvXQvNBE6M3zk5U27iwOtcAcChwDqDq8aN5fR4a6BPgVlmmCw+aTm8gmaQuguGwir dj4UaGFnC696rXRjaR7ydnjDqx2eFRVQvX4qHF9dDM1j8gLU2eVL+9uhBNiofFhiMOJ7 z1Kw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778046697; x=1778651497; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=MEJtGeYzYJG+X0L9E801zMusyy7WPNzbWKtCtoQIhE4=; b=BKbQ6TLHh4FeseWsmka1ESrUUpdLAvY3XW/kFMS7pFKYftLaHb8IbVkKU3HZ2wRbvb YEB9HX0jw8nZebjVCDYvL14gNP+S7gRHoJsKJhfVAYx1ardXD3F/ZwcZcwAtS1JeE7Fj DLkcNnQVDmrj/LEOAitZPbZ9XdtkQ23XWRNza7midbNca37/HX3h1h6dOHMsk+PpYoDg B4FhSGfHHk/yaJF8wGYGsAgtWFpbpsPY5NmW4yNVhTgmf9FGJiw+5CsVmrFSG5CCzcfF PjuinxIuulTjuuCVuYV8ousS2Pz3fyYmKEXUfgWD47fQY1+w5e/KDiMxjt64r3ZEChg3 D7rw== X-Forwarded-Encrypted: i=1; AFNElJ8BvtZG0UAVlaXpMJTvVmwlu8BT5pGcOgrni/CSavgyWfpiqYc2A6DsFKeJ73BKwwUrqMtBFRQTASQ=@lists.php.net X-Gm-Message-State: AOJu0YyWdmqY+Dj9qG7Xn+TNFv74HZ+z/OHCoZ4gSenpPjKTXy2n0A7/ Dg/6rh7LVgSuCJxq2jrGH/y4mMwsYOoXSG11iv8vD1zLUgSWpHeNyBWl+Jc38Zr5/gTAaigQc9J oCd7ZgwHmZsjKZRWaF5QdQA9n33n9sHfiWJii X-Gm-Gg: AeBDiettHYP9wPiGNnDuMJ1N5T+/y15OKAcojjJkfdZzovuGMZV75QZ8spIc5HVxR26 pXbLI3OjuglHzOsdMkvlHEhOfqk5gxT9TDl4daTtduYl1c4V+vK9l3cghk5NMIOjlvbqOp6rFi8 Kr/E2tWYDOECNXHfmHd7XJREUWAHyySjEd8bw3NEWyYWdAC5YqEXp56bZvztJH4OcSzWs/zFXea LgOZxmMFjfXK+QQSzXMbPn0xSWpR2GZNC3elXkhHUxC+E8C5olzl9STKTeT0rHdYnniUMeGyKlB 7jaeq/zBtBhhw7yApU1IbG1VhmawHIAh3MdSyjwGkQvwOjQZk66V X-Received: by 2002:a05:6820:81c8:b0:696:72c4:5dad with SMTP id 006d021491bc7-69998c83064mr1034984eaf.11.1778046696594; Tue, 05 May 2026 22:51:36 -0700 (PDT) Precedence: list list-help: list-unsubscribe: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 References: <63b8a44f-e60e-4254-922e-4937fd857354@heigl.org> In-Reply-To: <63b8a44f-e60e-4254-922e-4937fd857354@heigl.org> Date: Wed, 6 May 2026 07:51:24 +0200 X-Gm-Features: AVHnY4KtUIxSpgk15AJ9BvyQ_dy0Zuk-NVWpFZvwvs7CE6p6xOjA_kw7ARWs1wM Message-ID: Subject: Re: [PHP-DEV] [RFC] [Vote] Followup Improvements for ext/uri To: Andreas Heigl , PHP Internals List Content-Type: multipart/alternative; boundary="000000000000bea29406511fc1cf" From: nyamsprod@gmail.com (ignace nyamagana butera) --000000000000bea29406511fc1cf Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Andreas, The mailto URL scheme does not have any host component as per. its different RFCs it is composed of: - a scheme component : mailto - a path component containing a list of email addresses separated by commas (as per your example) - and a query component representing the email optional headers info As such the WHATWG and the RFC3986 interpretation will all return null because there's simply no host to describe. On Wed, May 6, 2026 at 7:07=E2=80=AFAM Andreas Heigl wr= ote: > Hey M=C3=A1t=C3=A9 > > On 05.05.26 23:20, M=C3=A1t=C3=A9 Kocsis wrote: > > Hi Internals, > > > > As announced in the discussion thread ( > https://externals.io/message/129486), > > I have just started the vote on the ext/uri followup RFC: > > https://wiki.php.net/rfc/uri_followup. > > > > The vote is going to be open until 2026-05-19 22:00:00 (UTC). > > > > Regards, > > M=C3=A1t=C3=A9 > > > > One thing I stumbled upon while going through the RFC a last time is the > expected result of the hosttype detectiopn on mailto-URLs. > > I couldn't find anything about the reasoning in the RFC or in the linked > internals-discussion thread why > > $url =3D new Uri\WhatWg\Url("mailto:john.doe@example.com"); > echo $url->getHostType(); > > will be `null` and not `UriHostType::RegisteredName` > > I might have missed something so please either shed some light on that > or point me to the relevant discussion/documentation. > > Thanks! > > Cheers > > Andreas > > -- > ,,, > (o o) > +---------------------------------------------------------ooO-(_)-Ooo-+ > | Andreas Heigl | > | mailto:andreas@heigl.org N 50=C2=B022'59.5" E 08=C2=B0= 23'58" | > | https://andreas.heigl.org | > +---------------------------------------------------------------------+ > | https://hei.gl/appointmentwithandreas | > +---------------------------------------------------------------------+ > | GPG-Key: https://hei.gl/keyandreasheiglorg | > +---------------------------------------------------------------------+ > --000000000000bea29406511fc1cf Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Andreas,

The mailto URL scheme does = not have any host component as per. its different RFCs
=C2=A0it i= s composed=C2=A0of:
-=C2=A0 a scheme component : mailto
- a path component containing a list of email addresses separated by comma= s (as per your example)
- and a query component representing the = email optional headers info

As such the WHATWG and= the RFC3986 interpretation will all return null because there's simply= no host to describe.

On Wed, May 6, 2026 at 7:0= 7=E2=80=AFAM Andreas Heigl <andreas= @heigl.org> wrote:
Hey M=C3=A1t=C3=A9

On 05.05.26 23:20, M=C3=A1t=C3=A9 Kocsis wrote:
> Hi Internals,
>
> As announced in the discussion thread (https://externals.io/= message/129486),
> I have just started the vote on the ext/uri followup RFC:
> https://wiki.php.net/rfc/uri_followup.
>
> The vote is going to be open until 2026-05-19 22:00:00 (UTC).
>
> Regards,
> M=C3=A1t=C3=A9
>

One thing I stumbled upon while going through the RFC a last time is the expected result of the hosttype detectiopn on mailto-URLs.

I couldn't find anything about the reasoning in the RFC or in the linke= d
internals-discussion thread why

$url =3D new Uri\WhatWg\Url("mailto:john.doe@example.com");
echo $url->getHostType();

will be `null` and not `UriHostType::RegisteredName`

I might have missed something so please either shed some light on that
or point me to the relevant discussion/documentation.

Thanks!

Cheers

Andreas

--
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0,,,
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (o o)=
+---------------------------------------------------------ooO-(_)-Ooo-+
| Andreas Heigl=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|
| mailto:andreas@hei= gl.org=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 N = 50=C2=B022'59.5" E 08=C2=B023'58" |
| https://andreas.heigl.org=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|
+---------------------------------------------------------------------+
| https://hei.gl/appointmentwithandreas=C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0|
+---------------------------------------------------------------------+
| GPG-Key: https://hei.gl/keyandreasheiglorg=C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=
+---------------------------------------------------------------------+
--000000000000bea29406511fc1cf--