Subject: [apps-discuss] IRC URIs to denote users

From: Melvin Carvalho <[email-masked]>
Date: Mon, 22 Sep 2014 22:50:24 +0200

I was wondering if IRC URIs are standardized at all?

The latest I found was :

http://tools.ietf.org/html/draft-butcher-irc-url-04

I have a use case of marking reputation from one system (web chat room) to
an IRC chat room, but I require an identifier for the user.

The suggestions so far have been:

irc://user@host
irc://user@host/ -- trailing slash
irc:user@host -- similar to xmpp
irc://host/#user -- fragment could be problematic as per RFC 9386

I've gone with the second option for the moment

Any pointers would be most welcome.

---

From: Ira McDonald <[email-masked]>
Date: Mon, 22 Sep 2014 19:45:05 -0400

Hi Melvin,

The current IANA URI Schemes registry includes the following
three schemes:

irc prov/irc <http://www.iana.org/assignments/uri-schemes/prov/irc> irc [
Dave_Thaler
<http://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml#Dave_Thaler>]
irc6 prov/irc6 <http://www.iana.org/assignments/uri-schemes/prov/irc6> irc6
[Dave_Thaler
<http://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml#Dave_Thaler>]
ircs prov/ircs <http://www.iana.org/assignments/uri-schemes/prov/ircs> ircs
[Dave_Thaler
<http://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml#Dave_Thaler>]
All three of those are September 2012 provisional registrations
(with references that include butcher and draft-mirashi-url-irc-01).

Cheers,
- Ira

Ira McDonald (Musician / Software Architect)
Co-Chair - TCG Trusted Mobility Solutions WG
Chair - Linux Foundation Open Printing WG
Secretary - IEEE-ISTO Printer Working Group
Co-Chair - IEEE-ISTO PWG Internet Printing Protocol WG
IETF Designated Expert - IPP & Printer MIB
Blue Roof Music / High North Inc
http://sites.google.com/site/blueroofmusic
http://sites.google.com/site/highnorthinc
mailto: [email-masked]
Winter  579 Park Place  Saline, MI  48176  734-944-0094
Summer  PO Box 221  Grand Marais, MI 49839  906-494-2434

On Mon, Sep 22, 2014 at 4:50 PM, Melvin Carvalho <[email-masked]>
wrote:

> _______________________________________________
> apps-discuss mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/apps-discuss
>
>

---

From: Melvin Carvalho <[email-masked]>
Date: Tue, 23 Sep 2014 13:55:02 +0200

On 23 September 2014 01:45, Ira McDonald <[email-masked]> wrote:

> <http://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml#Dave_Thaler>
> ]  irc6 prov/irc6 <http://www.iana.org/assignments/uri-schemes/prov/irc6>
> irc6 [Dave_Thaler
> <http://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml#Dave_Thaler>
> ]  ircs prov/ircs <http://www.iana.org/assignments/uri-schemes/prov/ircs>
> ircs [Dave_Thaler

Thanks for the info!

Both the referenced specs seem quite old.  I think there was a time when
Dave Thaler just put a ton of URI specs in the provisional queue, without
necessarily major updates.

It's still not 100% clear what the best pattern is, if any.

Unless there's an objection may I propose:

irc://user@host/

This is very much in line with the work of Ben Young (cc'd)

http://userinfo.me/

Who proposes a neat way to get user profile info via HTTP as:

http://user@host/

I believe the intention of this is to write an RFC, so I'd like to align
future work with that if possible

> On Mon, Sep 22, 2014 at 4:50 PM, Melvin Carvalho <[email-masked]
> > wrote:
>
>> I have a use case of marking reputation from one system (web chat room)
>> to an IRC chat room, but I require an identifier for the user.
>>

---

From: Ira McDonald <[email-masked]>
Date: Tue, 23 Sep 2014 11:05:27 -0400

Hi Melvin,

Note that the "user" production is NOT present in the IANA provisionally
registered "irc" scheme.  I suspect you'll receive quite a lot of pushback
from the IETF and W3C URI review lists if you want to change the syntax.

I respectfully suggest that you change the scheme name for your usage
to "ircu" (for example) to avoid all that grief (and collisions with
existing
"irc" scheme parsing code).

Cheers,
- Ira

On Tue, Sep 23, 2014 at 7:55 AM, Melvin Carvalho <[email-masked]>
wrote:

>> ]
>> On Mon, Sep 22, 2014 at 4:50 PM, Melvin Carvalho <
>> [email-masked]> wrote:
>>

---

From: Melvin Carvalho <[email-masked]>
Date: Tue, 23 Sep 2014 17:13:19 +0200

> "irc" scheme parsing code).

Thanks for the response.

My issue is that I'm not even sure this work is on any kind of standards
track.

Going back to 1996 we have:

http://www.w3.org/Addressing/draft-mirashi-url-irc-01.txt

For example.

  The URL

      irc:///Mmmm!mandar@*uoknor.edu,isnick

    references a person with nickname Mmmm, and user@host matching
    mandar@*uoknor.edu on the default IRC server.

Note: that this has been seemingly unresolved for 18 years.

My intention is to try and gather a rough consensus here, to see if there's
an obvious path to take, or an obvious path not to take, then implement
through running code, which is already working.

Minting a new URI scheme for these use case, seems perhaps overkill, but
I'm open to that suggestion.

I hope that makes sense!

> On Tue, Sep 23, 2014 at 7:55 AM, Melvin Carvalho <[email-masked]
> > wrote:
>
>>
>>
>>> irc prov/irc <http://www.iana.org/assignments/uri-schemes/prov/irc> irc
>>> [Dave_Thaler
>>> ]  irc6 prov/irc6
>>> <http://www.iana.org/assignments/uri-schemes/prov/irc6> irc6 [
>>> Dave_Thaler
>>> ]  ircs prov/ircs
>>> <http://www.iana.org/assignments/uri-schemes/prov/ircs> ircs [
>>> Dave_Thaler

---

From: Sean Leonard <[email-masked]>
Date: Tue, 23 Sep 2014 21:06:45 -0700

On 9/22/2014 1:50 PM, Melvin Carvalho wrote:
> I have a use case of marking reputation from one system (web chat 
> room) to an IRC chat room, but I require an identifier for the user.
>

Based on the options presented, I think the third one, irc:user@host, 
best captures the spirit of the URI syntax.

RFC 3986 Section 3 and 4.3 define absolute URIs as scheme : hier-part; 
hier-part can be one of:
"//" authority path-abempty
path-absolute
path-rootless
path-empty

The first one is usually used for identifying resources accessible via 
some Internet-related protocol where the authority is a host:port (plus 
optional userinfo to log in to the host:port), followed by some 
server-specific path to the resource (usually hierarchical). The second 
one is for some server-specific path (usually hierarchical), where the 
server's host:port are "obvious". For example, 
<ldap:///o=University%20of%20Michigan,c=US> means "an LDAP URL referring 
to the University of Michigan entry, available from an LDAP server of 
the client's choosing" (RFC 4516 Section 4). <file:///> URIs (URLs) 
refer to the local file system.

The fourth one, path-empty, isn't used much...but the gist (I suppose) 
is if you want to skip right to the ? query or # fragment parts. magnet: 
(provisional) URIs use this.

Thus, we arrive at path-rootless, which is basically "Everything Else". 
In this case, you are trying basically to identify an IRC object (a 
user), and tag it in such a way that it's not an e-mail address. 
<[email-masked]> looks like an e-mail address. <irc:[email-masked]> 
looks the best to me; it's obviously not an e-mail address. Similarly, 
it's obviously not an address to an IRC channel. If you say 
irc://host/user, you're sharing the channel namespace with the user 
namespace...not a great idea. If you say irc://host/#user, you are 
saying that the path is "/", which (in the context of users/nicknames) 
doesn't make a whole lot of sense since users/nicknames are specific to 
servers/hosts, not to sub-parts of servers/hosts.

The telnet: URL/URI is the most analogous to irc URIs--and telnet URLs 
go way back to Tim Berners-Lee's [original paper]. In the original, it's 
telnet://userinfo@host:port -- with no trailing slash (i.e., authority 
path-abempty). In RFC 1738 sec. 3.8, it's telnet://userinfo@host:port/ 
-- with trailing slash (i.e., authority path-abempty).

The ssh URI proposal (draft-ietf-secsh-scp-sftp-ssh-uri-04) has no 
trailing slash...but it also says that the path part is irrelevant. In 
any event, the overall gist is that "//" at the beginning is sufficient 
to distinguish "network paths" from "other things".

Sean

[original paper]: 
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.45.1836 
"Universal Document Identifiers on the Network"

---

From: Larry Masinter <[email-masked]>
Date: Wed, 24 Sep 2014 17:20:02 +0000

Ø  Any pointers …

https://tools.ietf.org/html/draft-ietf-appsawg-uri-scheme-reg-02#section-3.2
"...double slashes in the first part of a URI is not a stylistic indicator ...."

Larry
--
http://larry.masinter.net

---

From: Melvin Carvalho <[email-masked]>
Date: Thu, 25 Sep 2014 23:00:59 +0200

> (with references that include butcher and draft-mirashi-url-irc-01).

I got a note from one of the authors of the RFC on this:

[[

Hi Melvin,

Sorry for the delay… Wow, the IRC URI draft – that’s a blast from the past!
That document never went anywhere due to arguments between established IRC
URIs used by IRC client developers at the time, so the document never
really became fully proofed. What a shame.

But to get to the point:

-          A user can be specified logging in (i.e.
*irc:[email-masked]*) but that was more intended to
support authentication with the server.

-          A user can be targeted for a conversation directly by specifying
the user as the target entity – the flag “isuser” is specified to make it
clear it’s a user we’re seeking. Examples:

o   Simple form: *irc:some.irc.server.host/friendnickname,isuser*

o   Explicit form:
*irc:some.irc.server.host/friendnickname%21theirusername,isuser*

o   Excessively explicit form:
*irc:some.irc.server.host/friendnickname%21theirusername%40theirhostname,isuser*

I doubt however this has been implemented anywhere, and the “isuser” stuff
was an ugly result of some bitter arguments. I hope this has helped!

Regards,

-          Simon

]]

---

From: Melvin Carvalho <[email-masked]>
Date: Thu, 25 Sep 2014 23:02:45 +0200

On 24 September 2014 06:06, Sean Leonard <[email-masked]> wrote:

> server-specific path to the resource (usually hierarchical). The second one
> is for some server-specific path (usually hierarchical), where the server's
> host:port are "obvious". For example, <ldap:///o=University%20of%20Michigan,c=US>
> means "an LDAP URL referring to the University of Michigan entry, available
> from an LDAP server of the client's choosing" (RFC 4516 Section 4).
> <file:///> URIs (URLs) refer to the local file system.
>
> The fourth one, path-empty, isn't used much...but the gist (I suppose) is
> if you want to skip right to the ? query or # fragment parts. magnet:
> Thus, we arrive at path-rootless, which is basically "Everything Else". In
> this case, you are trying basically to identify an IRC object (a user), and
> tag it in such a way that it's not an e-mail address. <[email-masked]>
> looks like an e-mail address. <irc:[email-masked]> looks the best to
> me; it's obviously not an e-mail address. Similarly, it's obviously not an
> address to an IRC channel. If you say irc://host/user, you're sharing the
> channel namespace with the user namespace...not a great idea. If you say
> irc://host/#user, you are saying that the path is "/", which (in the
> context of users/nicknames) doesn't make a whole lot of sense since
> users/nicknames are specific to servers/hosts, not to sub-parts of
> servers/hosts.
>
> The telnet: URL/URI is the most analogous to irc URIs--and telnet URLs go
> way back to Tim Berners-Lee's [original paper]. In the original, it's
> path-abempty). In RFC 1738 sec. 3.8, it's telnet://userinfo@host:port/ --
> with trailing slash (i.e., authority path-abempty).
>
> trailing slash...but it also says that the path part is irrelevant. In any
> event, the overall gist is that "//" at the beginning is sufficient to
> distinguish "network paths" from "other things".
>

Thank you

<irc:[email-masked]>

I like this alot.  I think it makes most sense for my implementation, at
this point in time.

>
> Sean
>
> [original paper]: http://citeseerx.ist.psu.edu/
> viewdoc/summary?doi=10.1.1.45.1836 "Universal Document Identifiers on the
> Network"
>
>

---

From: Dave Thaler <[email-masked]>
Date: Fri, 26 Sep 2014 18:49:22 +0000

Those registrations were part of the “URI Bulk Third-Party Registration Experiment”.
For more info on that experiment, see the slides from IETF 85:
http://www.ietf.org/proceedings/85/slides/slides-85-iri-8.pdf

-Dave

From: apps-discuss [mailto:[email-masked]] On Behalf Of Melvin Carvalho
Sent: Tuesday, September 23, 2014 4:55 AM
To: Ira McDonald; Benjamin Young
Cc: Apps Discuss
Subject: Re: [apps-discuss] IRC URIs to denote users

On 23 September 2014 01:45, Ira McDonald <[email-masked]<mailto:[email-masked]>> wrote:
Hi Melvin,
The current IANA URI Schemes registry includes the following
three schemes:

irc

prov/irc<http://www.iana.org/assignments/uri-schemes/prov/irc>

irc

[Dave_Thaler<http://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml#Dave_Thaler>]

irc6

prov/irc6<http://www.iana.org/assignments/uri-schemes/prov/irc6>

irc6

[Dave_Thaler<http://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml#Dave_Thaler>]

ircs

prov/ircs<http://www.iana.org/assignments/uri-schemes/prov/ircs>

ircs

[Dave_Thaler<http://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml#Dave_Thaler>]

Thanks for the info!
Both the referenced specs seem quite old.  I think there was a time when Dave Thaler just put a ton of URI specs in the provisional queue, without necessarily major updates.
It's still not 100% clear what the best pattern is, if any.
Unless there's an objection may I propose:

irc://user@host/

http://userinfo.me/
Who proposes a neat way to get user profile info via HTTP as:
http://user@host/
I believe the intention of this is to write an RFC, so I'd like to align future work with that if possible

Cheers,
- Ira

Ira McDonald (Musician / Software Architect)
Co-Chair - TCG Trusted Mobility Solutions WG
Chair - Linux Foundation Open Printing WG
Secretary - IEEE-ISTO Printer Working Group
Co-Chair - IEEE-ISTO PWG Internet Printing Protocol WG
IETF Designated Expert - IPP & Printer MIB
Blue Roof Music / High North Inc
http://sites.google.com/site/blueroofmusic
http://sites.google.com/site/highnorthinc
mailto: [email-masked]<mailto:[email-masked]>
Winter  579 Park Place  Saline, MI  48176  734-944-0094<tel:734-944-0094>
Summer  PO Box 221  Grand Marais, MI 49839  906-494-2434<tel:906-494-2434>

On Mon, Sep 22, 2014 at 4:50 PM, Melvin Carvalho <[email-masked]<mailto:[email-masked]>> wrote:
I was wondering if IRC URIs are standardized at all?
The latest I found was :

I have a use case of marking reputation from one system (web chat room) to an IRC chat room, but I require an identifier for the user.

_______________________________________________
apps-discuss mailing list
[email-masked]<mailto:[email-masked]>
https://www.ietf.org/mailman/listinfo/apps-discuss