* [9fans] URI scheme for 9P2000 resources
@ 2007-06-30 11:47 Enrico Weigelt
2007-06-30 12:02 ` erik quanstrom
[not found] ` <12cc024df6f0b86decfe2af2a1ab42f1@coraid.com>
0 siblings, 2 replies; 18+ messages in thread
From: Enrico Weigelt @ 2007-06-30 11:47 UTC (permalink / raw)
To: Fans of the OS Plan 9 from Bell Labs
Hi folks,
I'd like to encode 9P2000 service locations in to URIs and plan
to define an URI scheme for it.
The scheme should be "9p", obviously. Where to put server name
and port is also obvoius. So for the simple TCP case, we can
use something like:
9p://localhost:9000/my/path
But where does the protocol type (ie tcp) belong ?
And how to encode local servers (on cmdline/pipe) ?
cu
--
---------------------------------------------------------------------
Enrico Weigelt == metux IT service - http://www.metux.de/
---------------------------------------------------------------------
Please visit the OpenSource QM Taskforce:
http://wiki.metux.de/public/OpenSource_QM_Taskforce
Patches / Fixes for a lot dozens of packages in dozens of versions:
http://patches.metux.de/
---------------------------------------------------------------------
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [9fans] URI scheme for 9P2000 resources
2007-06-30 11:47 [9fans] URI scheme for 9P2000 resources Enrico Weigelt
@ 2007-06-30 12:02 ` erik quanstrom
2007-06-30 15:32 ` David Arnold
[not found] ` <12cc024df6f0b86decfe2af2a1ab42f1@coraid.com>
1 sibling, 1 reply; 18+ messages in thread
From: erik quanstrom @ 2007-06-30 12:02 UTC (permalink / raw)
To: weigelt, 9fans
> The scheme should be "9p", obviously. Where to put server name
> and port is also obvoius. So for the simple TCP case, we can
> use something like:
>
> 9p://localhost:9000/my/path
>
the format for a dial string is proto!server!port. e.g. tcp!atlas.coraid.com!http.
going with your style this would be
9p://tcp!localhost!service/my/path
a more regular name would be
9p://tcp/localhost/service/my/path
(see pike's paper "the hideous name".)
but what is the point of encoding a dial string+path as a url?
- erik
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [9fans] URI scheme for 9P2000 resources
[not found] ` <12cc024df6f0b86decfe2af2a1ab42f1@coraid.com>
@ 2007-06-30 12:12 ` Enrico Weigelt
2007-06-30 19:34 ` erik quanstrom
0 siblings, 1 reply; 18+ messages in thread
From: Enrico Weigelt @ 2007-06-30 12:12 UTC (permalink / raw)
To: Fans of the OS Plan 9 from Bell Labs
* erik quanstrom <quanstro@coraid.com> wrote:
Hi,
> the format for a dial string is proto!server!port. e.g. tcp!atlas.coraid.com!http.
> going with your style this would be
>
> 9p://tcp!localhost!service/my/path
>
> a more regular name would be
>
> 9p://tcp/localhost/service/my/path
Ok. And what about commandlines (for local servers ?)
> but what is the point of encoding a dial string+path as a url?
Integration in web-like environments, ie. mozilla ?
I'm going to add an minimal 9p client into mozilla. So you can
simply put an 9p url into the browser and have fun ;-)
cu
--
---------------------------------------------------------------------
Enrico Weigelt == metux IT service - http://www.metux.de/
---------------------------------------------------------------------
Please visit the OpenSource QM Taskforce:
http://wiki.metux.de/public/OpenSource_QM_Taskforce
Patches / Fixes for a lot dozens of packages in dozens of versions:
http://patches.metux.de/
---------------------------------------------------------------------
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [9fans] URI scheme for 9P2000 resources
2007-06-30 12:02 ` erik quanstrom
@ 2007-06-30 15:32 ` David Arnold
2007-06-30 17:11 ` Enrico Weigelt
2007-06-30 17:46 ` Lyndon Nerenberg
0 siblings, 2 replies; 18+ messages in thread
From: David Arnold @ 2007-06-30 15:32 UTC (permalink / raw)
To: Fans of the OS Plan 9 from Bell Labs
-->"erik" == erik quanstrom <quanstro@coraid.com> writes:
erik> the format for a dial string is proto!server!port.
erik> e.g. tcp!atlas.coraid.com!http. going with your style this
erik> would be
erik> 9p://tcp!localhost!service/my/path
erik> a more regular name would be
erik> 9p://tcp/localhost/service/my/path
the relevant specification is RFC-3986, and especially section 3.
SLP (RFC-2608) gives an example of existing practice using a form like
9p:tcp://hostname/service/my/path
Subversion uses
svn+ssh://hostname/my/path
which appears at a quick read to be "better" than SLP's format from
the point of view of RFC-3986 ...
d
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [9fans] URI scheme for 9P2000 resources
2007-06-30 15:32 ` David Arnold
@ 2007-06-30 17:11 ` Enrico Weigelt
2007-06-30 17:46 ` Lyndon Nerenberg
1 sibling, 0 replies; 18+ messages in thread
From: Enrico Weigelt @ 2007-06-30 17:11 UTC (permalink / raw)
To: Fans of the OS Plan 9 from Bell Labs
* David Arnold <davida@pobox.com> wrote:
> the relevant specification is RFC-3986, and especially section 3.
>
> SLP (RFC-2608) gives an example of existing practice using a form like
>
> 9p:tcp://hostname/service/my/path
hmm, is this an valid URL ?
> Subversion uses
>
> svn+ssh://hostname/my/path
Seems some bit unclean to me, if we would put the transport proto
here. It should be as optional as the port. inetd-style port notation
(ie. 123/tcp) could be nice, but would be incompatible.
Why not
9p:/proto/hostname:port/my/path
or
9p://hostname:port.proto/my/path
?
cu
--
---------------------------------------------------------------------
Enrico Weigelt == metux IT service - http://www.metux.de/
---------------------------------------------------------------------
Please visit the OpenSource QM Taskforce:
http://wiki.metux.de/public/OpenSource_QM_Taskforce
Patches / Fixes for a lot dozens of packages in dozens of versions:
http://patches.metux.de/
---------------------------------------------------------------------
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [9fans] URI scheme for 9P2000 resources
2007-06-30 15:32 ` David Arnold
2007-06-30 17:11 ` Enrico Weigelt
@ 2007-06-30 17:46 ` Lyndon Nerenberg
1 sibling, 0 replies; 18+ messages in thread
From: Lyndon Nerenberg @ 2007-06-30 17:46 UTC (permalink / raw)
To: Fans of the OS Plan 9 from Bell Labs
> the relevant specification is RFC-3986, and especially section 3.
Actually, it's the grammar production for <scheme> in appendix A that's
relevant. URIs must start with an ALPHA ([A-Za-z]).
--lyndon
Never hit a man with glasses. Hit him with a baseball bat.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [9fans] URI scheme for 9P2000 resources
2007-06-30 12:12 ` Enrico Weigelt
@ 2007-06-30 19:34 ` erik quanstrom
2007-06-30 20:26 ` Uriel
0 siblings, 1 reply; 18+ messages in thread
From: erik quanstrom @ 2007-06-30 19:34 UTC (permalink / raw)
To: weigelt, 9fans
>
> > but what is the point of encoding a dial string+path as a url?
>
> Integration in web-like environments, ie. mozilla ?
>
> I'm going to add an minimal 9p client into mozilla. So you can
> simply put an 9p url into the browser and have fun ;-)
mozilla, unlike emacs, is not an operating system.
> Ok. And what about commandlines (for local servers ?)
talking about command lines is a bit odd. 9p servers serve a tree of
files. 9p doesn't have "command line arguments". you could make
the elements of the path beyond the server root appear to be arguments.
part of the difficulty here is you are trying to stuff different plan 9
concepts into a uri. command line arguments don't interact with
9p in plan 9. likewise, dial strings are outside 9p. putting them
all together is uncharted territory.
- erik
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [9fans] URI scheme for 9P2000 resources
2007-06-30 19:34 ` erik quanstrom
@ 2007-06-30 20:26 ` Uriel
2007-06-30 22:54 ` Skip Tavakkolian
0 siblings, 1 reply; 18+ messages in thread
From: Uriel @ 2007-06-30 20:26 UTC (permalink / raw)
To: Fans of the OS Plan 9 from Bell Labs
On 6/30/07, erik quanstrom <quanstro@coraid.com> wrote:
> >
> > > but what is the point of encoding a dial string+path as a url?
> >
> > Integration in web-like environments, ie. mozilla ?
> >
> > I'm going to add an minimal 9p client into mozilla. So you can
> > simply put an 9p url into the browser and have fun ;-)
>
> mozilla, unlike emacs, is not an operating system.
You didn't get the Web 2.0 memo? If so, I truly envy you.
> part of the difficulty here is you are trying to stuff different plan 9
> concepts into a uri. command line arguments don't interact with
> 9p in plan 9. likewise, dial strings are outside 9p. putting them
> all together is uncharted territory.
URIs are just hideous, but maybe this is not completely uncharted
territory, at least ken mentioned in some interview that he had been
thinking about a way to have a global (internet-wide) namespace for 9p
servers, would be nice to hear what he had in mind...
uriel
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [9fans] URI scheme for 9P2000 resources
2007-06-30 20:26 ` Uriel
@ 2007-06-30 22:54 ` Skip Tavakkolian
2007-06-30 22:59 ` Kris Maglione
0 siblings, 1 reply; 18+ messages in thread
From: Skip Tavakkolian @ 2007-06-30 22:54 UTC (permalink / raw)
To: 9fans
please don't use '9p:' for the uri scheme. there will likely be more
than one 9p handler plugin for any browser. make it specific to your
application (e.g. 'u9fs:')
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [9fans] URI scheme for 9P2000 resources
2007-06-30 22:54 ` Skip Tavakkolian
@ 2007-06-30 22:59 ` Kris Maglione
2007-07-01 6:13 ` Skip Tavakkolian
0 siblings, 1 reply; 18+ messages in thread
From: Kris Maglione @ 2007-06-30 22:59 UTC (permalink / raw)
To: 9fans
[-- Attachment #1: Type: text/plain, Size: 546 bytes --]
On Sat, Jun 30, 2007 at 03:54:49PM -0700, Skip Tavakkolian wrote:
>please don't use '9p:' for the uri scheme. there will likely be more
>than one 9p handler plugin for any browser. make it specific to your
>application (e.g. 'u9fs:')
I think that this is silly. 9p is a protocol that presends a
filesystem, just like ftp, file://, smb://. Would it make sense
to use wsftp://, gnomefs://, samba://? The URI scheme should
signify the interface, not the implementation.
--
Kris Maglione
When your opponent is down, kick him.
[-- Attachment #2: Type: application/pgp-signature, Size: 194 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [9fans] URI scheme for 9P2000 resources
2007-06-30 22:59 ` Kris Maglione
@ 2007-07-01 6:13 ` Skip Tavakkolian
2007-07-01 6:24 ` Kris Maglione
0 siblings, 1 reply; 18+ messages in thread
From: Skip Tavakkolian @ 2007-07-01 6:13 UTC (permalink / raw)
To: Fans of the OS Plan 9 from Bell Labs
if it handles 9p: scheme, it better be 9p, not some dialect based
on implementer's (mis)understanding of it. browser plugins, by virtue of
what they plug into, have a potential to spread fast. it will not serve
anyone if a popular derivation becomes a de facto standard for 9p.
On 6/30/07, Kris Maglione <bsdaemon@comcast.net> wrote:
> On Sat, Jun 30, 2007 at 03:54:49PM -0700, Skip Tavakkolian wrote:
> >please don't use '9p:' for the uri scheme. there will likely be more
> >than one 9p handler plugin for any browser. make it specific to your
> >application (e.g. 'u9fs:')
>
> I think that this is silly. 9p is a protocol that presends a
> filesystem, just like ftp, file://, smb://. Would it make sense
> to use wsftp://, gnomefs://, samba://? The URI scheme should
> signify the interface, not the implementation.
>
> --
> Kris Maglione
>
> When your opponent is down, kick him.
>
>
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [9fans] URI scheme for 9P2000 resources
2007-07-01 6:13 ` Skip Tavakkolian
@ 2007-07-01 6:24 ` Kris Maglione
2007-07-01 8:54 ` matt
2007-07-01 9:05 ` Steve Simon
0 siblings, 2 replies; 18+ messages in thread
From: Kris Maglione @ 2007-07-01 6:24 UTC (permalink / raw)
To: 9fans
[-- Attachment #1: Type: text/plain, Size: 986 bytes --]
On Sat, Jun 30, 2007 at 11:13:23PM -0700, Skip Tavakkolian wrote:
> if it handles 9p: scheme, it better be 9p, not some dialect based
> on implementer's (mis)understanding of it. browser plugins, by virtue of
> what they plug into, have a potential to spread fast. it will not serve
> anyone if a popular derivation becomes a de facto standard for 9p.
While I'd generally be the first to argue such a point, I don't
see where you see a problem. It should act exactly the same as
file:, ftp:, http:, smb:, ... The URI format just describes the
location of a resource. The resource should be handled exactly
the same as any other resource. The only real problem I see here
is that the protocol specification. It would be nice to handle unix
domain sockets, since p9p uses them, but I think any other
protocol would be superfluous, and should probably be part of
the resource.
--
Kris Maglione
The meek shall inherit the earth,
but not its mineral rights.
[-- Attachment #2: Type: application/pgp-signature, Size: 194 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [9fans] URI scheme for 9P2000 resources
2007-07-01 6:24 ` Kris Maglione
@ 2007-07-01 8:54 ` matt
2007-07-01 9:04 ` Kris Maglione
2007-07-01 9:05 ` Steve Simon
1 sibling, 1 reply; 18+ messages in thread
From: matt @ 2007-07-01 8:54 UTC (permalink / raw)
To: Fans of the OS Plan 9 from Bell Labs
The problem I forsee is clunks, unless you keep the 9p alive until the
browser closes you'll have to time them out which is a subject we've
touch in recently elsewhere.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [9fans] URI scheme for 9P2000 resources
2007-07-01 8:54 ` matt
@ 2007-07-01 9:04 ` Kris Maglione
0 siblings, 0 replies; 18+ messages in thread
From: Kris Maglione @ 2007-07-01 9:04 UTC (permalink / raw)
To: 9fans
[-- Attachment #1: Type: text/plain, Size: 744 bytes --]
On Sun, Jul 01, 2007 at 09:54:29AM +0100, matt wrote:
> The problem I forsee is clunks, unless you keep the 9p alive until the
> browser closes you'll have to time them out which is a subject we've touch
> in recently elsewhere.
I don't see how it's relevant. The connections to the server
should probably be handled in whatever way FTP connections are
handled. Clunks should be handled in the exact same way that
closes are (they're equivalent). When the connection closes, the
server should automatically handle clunks, regardless. The
browser should obviously close the connection before it closes.
--
Kris Maglione
The longer you wait in line, the greater the
likelihood that you are standing in the wrong line.
[-- Attachment #2: Type: application/pgp-signature, Size: 194 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [9fans] URI scheme for 9P2000 resources
2007-07-01 6:24 ` Kris Maglione
2007-07-01 8:54 ` matt
@ 2007-07-01 9:05 ` Steve Simon
2007-07-01 9:15 ` Kris Maglione
2007-07-01 11:11 ` erik quanstrom
1 sibling, 2 replies; 18+ messages in thread
From: Steve Simon @ 2007-07-01 9:05 UTC (permalink / raw)
To: 9fans
I'am no fan of URIs, however if we must have them:
> The only real problem I see here
> is that the protocol specification. It would be nice to handle unix
> domain sockets, since p9p uses them, but I think any other
> protocol would be superfluous, and should probably be part of
> the resource.
Wouldn't a heuristic be enough here? if the host specified is the localhost
then forst try to attach to a Unix domain socket, if that fails then try
an IN connection to the localhost instead, the port number would become
the socket's path.
If this where ever used on plan9 the name would (I guess) become the name in /srv
where the fd was posted.
this way we have one uniform uri [sic].
-Steve
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [9fans] URI scheme for 9P2000 resources
2007-07-01 9:05 ` Steve Simon
@ 2007-07-01 9:15 ` Kris Maglione
2007-07-01 11:21 ` erik quanstrom
2007-07-01 11:11 ` erik quanstrom
1 sibling, 1 reply; 18+ messages in thread
From: Kris Maglione @ 2007-07-01 9:15 UTC (permalink / raw)
To: 9fans
[-- Attachment #1: Type: text/plain, Size: 1172 bytes --]
On Sun, Jul 01, 2007 at 10:05:16AM +0100, Steve Simon wrote:
>Wouldn't a heuristic be enough here? if the host specified is the localhost
>then forst try to attach to a Unix domain socket, if that fails then try
>an IN connection to the localhost instead, the port number would become
>the socket's path.
>
>If this where ever used on plan9 the name would (I guess) become the name in /srv
>where the fd was posted.
That's what I suggested earlier, elsewhere. The point is that it
has to be decided on, and universal. I'm not happy that it would
have a different meaning on (say) Windows, though.
9p:///tmp/ns.foo.:0/acme/1/
9p://localhost/tmp/foo
9p://plan9.bell-labs.com:wiki/installing_plan9_on_your_toaster/index.html
But my point was that any protocol other than TCP or unix would
seem to go unused, and break consistency with other URI types
(none that I know of allow you to name a protocol). If there
comes a time when it's a must, something (as suggested) like
this:
9p-il://ken/cc/
--
Kris Maglione
Writings prepared without understanding must fail in the
first objective of communication -- informing
the uninformed.
[-- Attachment #2: Type: application/pgp-signature, Size: 194 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [9fans] URI scheme for 9P2000 resources
2007-07-01 9:05 ` Steve Simon
2007-07-01 9:15 ` Kris Maglione
@ 2007-07-01 11:11 ` erik quanstrom
1 sibling, 0 replies; 18+ messages in thread
From: erik quanstrom @ 2007-07-01 11:11 UTC (permalink / raw)
To: 9fans
>
> Wouldn't a heuristic be enough here? if the host specified is the localhost
> then forst try to attach to a Unix domain socket, if that fails then try
> an IN connection to the localhost instead, the port number would become
> the socket's path.
this would lead to nondeterministic behavior. suppose you want to talk
to an authentication service and you expect one to be running on the local
machine. this could lead to some unpleasant suprises.
i would think that using local instead of tcp would be much preferable.
- erik
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [9fans] URI scheme for 9P2000 resources
2007-07-01 9:15 ` Kris Maglione
@ 2007-07-01 11:21 ` erik quanstrom
0 siblings, 0 replies; 18+ messages in thread
From: erik quanstrom @ 2007-07-01 11:21 UTC (permalink / raw)
To: 9fans
> But my point was that any protocol other than TCP or unix would
> seem to go unused, and break consistency with other URI types
> (none that I know of allow you to name a protocol). If there
> comes a time when it's a must, something (as suggested) like
> this:
i think you've invented a new symmetry for uris that no one else
expects or depends on.
i would think that on a unix-like system local connections would
be more useful than tcp.
the symmetry with 9p dial strings would be broken. that is something
that is depended upon.
- erik
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2007-07-01 11:21 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-06-30 11:47 [9fans] URI scheme for 9P2000 resources Enrico Weigelt
2007-06-30 12:02 ` erik quanstrom
2007-06-30 15:32 ` David Arnold
2007-06-30 17:11 ` Enrico Weigelt
2007-06-30 17:46 ` Lyndon Nerenberg
[not found] ` <12cc024df6f0b86decfe2af2a1ab42f1@coraid.com>
2007-06-30 12:12 ` Enrico Weigelt
2007-06-30 19:34 ` erik quanstrom
2007-06-30 20:26 ` Uriel
2007-06-30 22:54 ` Skip Tavakkolian
2007-06-30 22:59 ` Kris Maglione
2007-07-01 6:13 ` Skip Tavakkolian
2007-07-01 6:24 ` Kris Maglione
2007-07-01 8:54 ` matt
2007-07-01 9:04 ` Kris Maglione
2007-07-01 9:05 ` Steve Simon
2007-07-01 9:15 ` Kris Maglione
2007-07-01 11:21 ` erik quanstrom
2007-07-01 11:11 ` erik quanstrom
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).