Re: [Standards] File sharing xep proposal

2012-11-15 Thread Jefry Lagrange
This is certainly easier. If this extension gets rejected, I will 
definitely try to use xep-0135 instead.


On 11/12/2012 04:14 AM, Sergey Dobrov wrote:
So I suggest to keep XEP-0135 as is and just add ability to retrieve 
files via Jingle and to perform a search through ad-hoc commands.


On 11/09/2012 03:26 PM, Sergey Dobrov wrote:

On 11/09/2012 03:17 AM, Matthew Wild wrote:

On 8 November 2012 18:41, Sergey Dobrov bin...@jrudevels.org wrote:

On 11/09/2012 12:51 AM, Jefry Lagrange wrote:
I have tried many different ways of making the protocol. The first 
time
around, I modified xep0135 to include search capabilities. Someone 
told

me, I think it was Matthew, that xep0135 abuses service discovery by
using it too much.  Also another thing that I noticed is that,
data-forms make the xep0135 stanzas become really big, as they waste
too
much space.


I actually don't understand hot is it possible to abuse service
discovery.
Maybe someone can explain?


I believe the thread Jefry references is this one:
http://mail.jabber.org/pipermail/standards/2011-November/025456.html


ah, it seems that Jefrey was confused with the overload and abuse
terms. So I still think that it would be better to keep files
directories in the service discovery, just we need another way to do
search queries. I believe that the same thing Matthew actually said in
those thread.



Regards,
Matthew









Re: [Standards] File sharing xep proposal

2012-11-15 Thread Sergey Dobrov

On 11/16/2012 09:26 AM, Jefry Lagrange wrote:

This is certainly easier. If this extension gets rejected, I will
definitely try to use xep-0135 instead.


Reuse existent standards is always easier, and it's definitely the best 
choice if these standards are suitable for the task.




On 11/12/2012 04:14 AM, Sergey Dobrov wrote:

So I suggest to keep XEP-0135 as is and just add ability to retrieve
files via Jingle and to perform a search through ad-hoc commands.

On 11/09/2012 03:26 PM, Sergey Dobrov wrote:

On 11/09/2012 03:17 AM, Matthew Wild wrote:

On 8 November 2012 18:41, Sergey Dobrov bin...@jrudevels.org wrote:

On 11/09/2012 12:51 AM, Jefry Lagrange wrote:

I have tried many different ways of making the protocol. The first
time
around, I modified xep0135 to include search capabilities. Someone
told
me, I think it was Matthew, that xep0135 abuses service discovery by
using it too much.  Also another thing that I noticed is that,
data-forms make the xep0135 stanzas become really big, as they waste
too
much space.


I actually don't understand hot is it possible to abuse service
discovery.
Maybe someone can explain?


I believe the thread Jefry references is this one:
http://mail.jabber.org/pipermail/standards/2011-November/025456.html


ah, it seems that Jefrey was confused with the overload and abuse
terms. So I still think that it would be better to keep files
directories in the service discovery, just we need another way to do
search queries. I believe that the same thing Matthew actually said in
those thread.



Regards,
Matthew












--
With best regards,
Sergey Dobrov,
XMPP Developer and JRuDevels.org founder.


Re: [Standards] File sharing xep proposal

2012-11-12 Thread Sergey Dobrov
So I suggest to keep XEP-0135 as is and just add ability to retrieve 
files via Jingle and to perform a search through ad-hoc commands.


On 11/09/2012 03:26 PM, Sergey Dobrov wrote:

On 11/09/2012 03:17 AM, Matthew Wild wrote:

On 8 November 2012 18:41, Sergey Dobrov bin...@jrudevels.org wrote:

On 11/09/2012 12:51 AM, Jefry Lagrange wrote:

I have tried many different ways of making the protocol. The first time
around, I modified xep0135 to include search capabilities. Someone told
me, I think it was Matthew, that xep0135 abuses service discovery by
using it too much.  Also another thing that I noticed is that,
data-forms make the xep0135 stanzas become really big, as they waste
too
much space.


I actually don't understand hot is it possible to abuse service
discovery.
Maybe someone can explain?


I believe the thread Jefry references is this one:
http://mail.jabber.org/pipermail/standards/2011-November/025456.html


ah, it seems that Jefrey was confused with the overload and abuse
terms. So I still think that it would be better to keep files
directories in the service discovery, just we need another way to do
search queries. I believe that the same thing Matthew actually said in
those thread.



Regards,
Matthew







--
With best regards,
Sergey Dobrov,
XMPP Developer and JRuDevels.org founder.


Re: [Standards] File sharing xep proposal

2012-11-09 Thread Sergey Dobrov

On 11/09/2012 03:17 AM, Matthew Wild wrote:

On 8 November 2012 18:41, Sergey Dobrov bin...@jrudevels.org wrote:

On 11/09/2012 12:51 AM, Jefry Lagrange wrote:

I have tried many different ways of making the protocol. The first time
around, I modified xep0135 to include search capabilities. Someone told
me, I think it was Matthew, that xep0135 abuses service discovery by
using it too much.  Also another thing that I noticed is that,
data-forms make the xep0135 stanzas become really big, as they waste too
much space.


I actually don't understand hot is it possible to abuse service discovery.
Maybe someone can explain?


I believe the thread Jefry references is this one:
http://mail.jabber.org/pipermail/standards/2011-November/025456.html


ah, it seems that Jefrey was confused with the overload and abuse 
terms. So I still think that it would be better to keep files 
directories in the service discovery, just we need another way to do 
search queries. I believe that the same thing Matthew actually said in 
those thread.




Regards,
Matthew




--
With best regards,
Sergey Dobrov,
XMPP Developer and JRuDevels.org founder.


Re: [Standards] File sharing xep proposal

2012-11-08 Thread Sergey Dobrov

Hello Jefry,

Thank you for the HTML version you provided.

The problem is very actual so thank you for your interest too.

The first thing is that I think that the XEP-0135 
(http://xmpp.org/extensions/xep-0135.html) way of browsing files is 
nicer because it reuses service discovery in very natural way. :) But 
the search compatibilities you provided in your XEP are nice too, but I 
think that queries should be improved though.


The other thing I noticed is that you saying the the client MUST respond 
with the list of files if it was queried to do so. I don't think it's 
right because there are many conditions when client might decide not to 
do so: permissions control, bandwith control, etc.


On 11/06/2012 08:19 AM, Jefry Lagrange wrote:


Hello,

I've been working for quite some time in a protocol extension to allow
file sharing. I have a (some-what) working prototype of its implementation.

The prototype is available at Gajim's plugin repository:
http://hg.gajim.org/gajim-plugins

It doesn't do a lot, but it can share files between computers. Although
the code is in alpha stage everyone who is brave enough is welcomed to
try it.

I have attached  a draft of the protocol extension. I would like some
feedback on it. If it doesn't looks too bad, I would like to present it
to the council by the end of the week.

Cheers,





--
With best regards,
Sergey Dobrov,
XMPP Developer and JRuDevels.org founder.


Re: [Standards] File sharing xep proposal

2012-11-08 Thread Jefry Lagrange

Hi

On 11/08/2012 03:20 AM, Sergey Dobrov wrote:

Hello Jefry,

Thank you for the HTML version you provided.

That wasn't me, thank Matthew for converting it and hosting it in his 
website.



The problem is very actual so thank you for your interest too.

The first thing is that I think that the XEP-0135 
(http://xmpp.org/extensions/xep-0135.html) way of browsing files is 
nicer because it reuses service discovery in very natural way. :) But 
the search compatibilities you provided in your XEP are nice too, but 
I think that queries should be improved though.


I have tried many different ways of making the protocol. The first time 
around, I modified xep0135 to include search capabilities. Someone told 
me, I think it was Matthew, that xep0135 abuses service discovery by 
using it too much.  Also another thing that I noticed is that, 
data-forms make the xep0135 stanzas become really big, as they waste too 
much space.


For those reasons, I decided to move away from xep0135 and instead of 
using dataforms, use the well known file stanzas as defined in xep096 
and xep0234.


In what way do you think that  the queries could be improved?


The other thing I noticed is that you saying the the client MUST 
respond with the list of files if it was queried to do so. I don't 
think it's right because there are many conditions when client might 
decide not to do so: permissions control, bandwith control, etc.


Maybe it wasn't clear in the xep, I will check the writing. Basically if 
you don't have or want to share any files you just reply with a:


 match
offer
directory/
/offer
 /match


Thanks for your feedback.



On 11/06/2012 08:19 AM, Jefry Lagrange wrote:


Hello,

I've been working for quite some time in a protocol extension to allow
file sharing. I have a (some-what) working prototype of its 
implementation.


The prototype is available at Gajim's plugin repository:
http://hg.gajim.org/gajim-plugins

It doesn't do a lot, but it can share files between computers. Although
the code is in alpha stage everyone who is brave enough is welcomed to
try it.

I have attached  a draft of the protocol extension. I would like some
feedback on it. If it doesn't looks too bad, I would like to present it
to the council by the end of the week.

Cheers,







Re: [Standards] File sharing xep proposal

2012-11-08 Thread Sergey Dobrov

On 11/09/2012 12:51 AM, Jefry Lagrange wrote:

Hi

I have tried many different ways of making the protocol. The first time
around, I modified xep0135 to include search capabilities. Someone told
me, I think it was Matthew, that xep0135 abuses service discovery by
using it too much.  Also another thing that I noticed is that,
data-forms make the xep0135 stanzas become really big, as they waste too
much space.


I actually don't understand hot is it possible to abuse service 
discovery. Maybe someone can explain?


Also, I don't think that forms waste much space. They bigger than SI's 
but not so much and they provide ability to be shown with existent form 
parsers.




For those reasons, I decided to move away from xep0135 and instead of
using dataforms, use the well known file stanzas as defined in xep096
and xep0234.

In what way do you think that  the queries could be improved?


Specify the ways client should search files. For example, it can be 
something like wildcards for filenames or smth else.




The other thing I noticed is that you saying the the client MUST
respond with the list of files if it was queried to do so. I don't
think it's right because there are many conditions when client might
decide not to do so: permissions control, bandwith control, etc.


Maybe it wasn't clear in the xep, I will check the writing. Basically if
you don't have or want to share any files you just reply with a:

  match
 offer
 directory/
 /offer
  /match



I think that the better way is to define errors we can return because 
the empty set is not the same as error and errors have to be reported 
right way.




Thanks for your feedback.



On 11/06/2012 08:19 AM, Jefry Lagrange wrote:


Hello,

I've been working for quite some time in a protocol extension to allow
file sharing. I have a (some-what) working prototype of its
implementation.

The prototype is available at Gajim's plugin repository:
http://hg.gajim.org/gajim-plugins

It doesn't do a lot, but it can share files between computers. Although
the code is in alpha stage everyone who is brave enough is welcomed to
try it.

I have attached  a draft of the protocol extension. I would like some
feedback on it. If it doesn't looks too bad, I would like to present it
to the council by the end of the week.

Cheers,










--
With best regards,
Sergey Dobrov,
XMPP Developer and JRuDevels.org founder.


Re: [Standards] File sharing xep proposal

2012-11-08 Thread Matthew Wild
On 8 November 2012 18:41, Sergey Dobrov bin...@jrudevels.org wrote:
 On 11/09/2012 12:51 AM, Jefry Lagrange wrote:
 I have tried many different ways of making the protocol. The first time
 around, I modified xep0135 to include search capabilities. Someone told
 me, I think it was Matthew, that xep0135 abuses service discovery by
 using it too much.  Also another thing that I noticed is that,
 data-forms make the xep0135 stanzas become really big, as they waste too
 much space.

 I actually don't understand hot is it possible to abuse service discovery.
 Maybe someone can explain?

I believe the thread Jefry references is this one:
http://mail.jabber.org/pipermail/standards/2011-November/025456.html

Regards,
Matthew


Re: [Standards] File sharing xep proposal

2012-11-07 Thread Jefry Lagrange
Sorry, I don't know how to do that. Apparently there is a script for it 
gen.py, but I don't know how to use it and it finds some syntax errors 
that I don't know how to fix.


On 11/07/2012 02:59 AM, Sergey Dobrov wrote:

Could you attach rendered html version please?

On 11/06/2012 08:19 AM, Jefry Lagrange wrote:


Hello,

I've been working for quite some time in a protocol extension to allow
file sharing. I have a (some-what) working prototype of its 
implementation.


The prototype is available at Gajim's plugin repository:
http://hg.gajim.org/gajim-plugins

It doesn't do a lot, but it can share files between computers. Although
the code is in alpha stage everyone who is brave enough is welcomed to
try it.

I have attached  a draft of the protocol extension. I would like some
feedback on it. If it doesn't looks too bad, I would like to present it
to the council by the end of the week.

Cheers,







Re: [Standards] File sharing xep proposal

2012-11-07 Thread Kevin Smith
On Wed, Nov 7, 2012 at 5:13 PM, Jefry Lagrange jefry.re...@gmail.com ote:
 Sorry, I don't know how to do that. Apparently there is a script for it
 gen.py, but I don't know how to use it and it finds some syntax errors that
 I don't know how to fix.

Should work just with:

xsltproc xep.xsl yourprotoxep.xml  yourprotoxep.html

/K


Re: [Standards] File sharing xep proposal

2012-11-07 Thread Matthew Wild
On 7 November 2012 17:13, Jefry Lagrange jefry.re...@gmail.com wrote:
 Sorry, I don't know how to do that. Apparently there is a script for it
 gen.py, but I don't know how to use it and it finds some syntax errors that
 I don't know how to fix.

I built a HTML version at: http://matthewwild.co.uk/uploads/xep-macth.html

Change the extension to .xml to get the fixed XML (just a typo in some
entities).

Regards,
Matthew


Re: [Standards] File sharing xep proposal

2012-11-06 Thread Jefry Lagrange

Hello Matthew, thanks for the feedback.

On 11/05/2012 11:06 PM, Matthew Wild wrote:

Hi Jefry,

On 6 November 2012 01:19, Jefry Lagrangejefry.re...@gmail.com  wrote:

Hello,

I've been working for quite some time in a protocol extension to allow file
sharing. I have a (some-what) working prototype of its implementation.

Great to hear! I can think of a million-and-one uses for such a
protocol, and I'm sure I'm not alone.


The prototype is available at Gajim's plugin repository:
http://hg.gajim.org/gajim-plugins

and running code is always good :)

I read very quickly through (it's 4am after all...), and it seems
pretty sensible. Any comments I have are minor, and I think it's
perfectly fine to submit it as it is.

A few of my comments...

It seems like it might be possible to make the directory listing XML
somewhat more compact than it currently is. For example just listing
files with no metadata could simply be:

file name=foo.txt/
file name=bar.txt/

which seems a lot simpler than the nested XML elements in the example.
Metadata can be child elements offile/  because although every file
has a name, metadata may vary and will almost certainly want to be
extended in some cases.
Yeah, about that... I wanted to reuse current extensions whenever 
possible. This format for file is the same in xep096 and xep234. I see 
what you are saying, it is indeed more compact and saving bandwidth in a 
situation where big stanzas are sent, is very important.


At first I considered the dataforms as they are used in xep0135, but 
they were too big to be used efficiently. I definitely favor making this 
as compact as possible.

I'm not sure how necessary it is to require the leading '/' prefix, it
seems natural to omit it if I just have a flat list of files. And then
'foo/bar.txt' is perfectly fine when I don't, so it seems like it
could be dropped without much problem.
Does it look weird? The only reason why I made it a requirement to use a 
leading '/' was to make it possible to distinguish between asking for 
more information on a file or directory, and searching for a file. When 
searching files there should not be a / prefix. I don't know of any 
other way of doing this.


Dataforms would be very good for searching, since they support regular 
expressions. However, as I said before, they can get pretty big.


I would like to listen to some ideas about how search could be 
accomplished in a nice way.



The security note about access control being implemented on servers
doesn't make complete sense. Files are shared by a specific resource,
so each resource can enforce its own access controls... and different
resources won't necessarily be sharing the same sets of files. A
logged in client generally already has the roster, which is probably
the main access control advantage that the server could offer anyway.


Ah... I didn't make it clear. What I was thinking about was not about 
individual file permissions, it was about preventing an user to see any 
files at all. Blocking an user from file sharing, would require 
agreement across the different resources so they can agree about no 
sharing files with that particular user.


I know realize that this is more of an implementation issue than a 
security issue, I should move it to implementation notes, because it 
is up to the implementers if they want to add a feature to block an user 
from all file sharing.




Anyway, good work... and I look forward to it being approved soon, and
perhaps implementing it myself :)

Regards,
Matthew


Thanks.


Re: [Standards] File sharing xep proposal

2012-11-06 Thread Matthew Wild
On 6 November 2012 17:14, Jefry Lagrange jefry.re...@gmail.com wrote:
 On 11/05/2012 11:06 PM, Matthew Wild wrote:
 A few of my comments...

 It seems like it might be possible to make the directory listing XML
 somewhat more compact than it currently is. For example just listing
 files with no metadata could simply be:

 file name=foo.txt/
 file name=bar.txt/

 which seems a lot simpler than the nested XML elements in the example.
 Metadata can be child elements offile/  because although every file
 has a name, metadata may vary and will almost certainly want to be
 extended in some cases.

 Yeah, about that... I wanted to reuse current extensions whenever possible.
 This format for file is the same in xep096 and xep234. I see what you are
 saying, it is indeed more compact and saving bandwidth in a situation where
 big stanzas are sent, is very important.

Aha, now I understand. Something I missed last night... you need to
add namespaces to the elements in the examples to show this :)

 I'm not sure how necessary it is to require the leading '/' prefix, it
 seems natural to omit it if I just have a flat list of files. And then
 'foo/bar.txt' is perfectly fine when I don't, so it seems like it
 could be dropped without much problem.

 Does it look weird? The only reason why I made it a requirement to use a
 leading '/' was to make it possible to distinguish between asking for more
 information on a file or directory, and searching for a file. When searching
 files there should not be a / prefix. I don't know of any other way of
 doing this.

I don't know about weird, but my first reaction was that it seemed
to be an unnecessary restriction.

 Dataforms would be very good for searching, since they support regular
 expressions. However, as I said before, they can get pretty big.

 I would like to listen to some ideas about how search could be accomplished
 in a nice way.

To perform search I would probably use a different iq request
completely, and a search command. You could make data forms
optional, when there are multiple things to search on (for example a
database of music may allow me to search on metadata). The results
don't necessarily have to be supplied in dataforms also though (it
wouldn't be the only protocol that does this).

 The security note about access control being implemented on servers
 doesn't make complete sense. Files are shared by a specific resource,
 so each resource can enforce its own access controls... and different
 resources won't necessarily be sharing the same sets of files. A
 logged in client generally already has the roster, which is probably
 the main access control advantage that the server could offer anyway.


 Ah... I didn't make it clear. What I was thinking about was not about
 individual file permissions, it was about preventing an user to see any
 files at all. Blocking an user from file sharing, would require agreement
 across the different resources so they can agree about no sharing files with
 that particular user.

 I know realize that this is more of an implementation issue than a security
 issue, I should move it to implementation notes, because it is up to the
 implementers if they want to add a feature to block an user from all file
 sharing.

Ok, I understand. In this case I think the note should be a security
consideration that just warns implementers that they should support
access control to protect users. Suggesting that servers should get
involved without actually providing a protocol for that seems wrong
(and such a protocol could probably be a XEP in itself if necessary).

In reality I don't think it is too much of a problem. If I have an
open share and just one person I don't like, I would probably block
them using XEP-0191 or (shudder) XEP-0016.

Regards,
Matthew


Re: [Standards] File sharing xep proposal

2012-11-06 Thread Sergey Dobrov

Could you attach rendered html version please?

On 11/06/2012 08:19 AM, Jefry Lagrange wrote:


Hello,

I've been working for quite some time in a protocol extension to allow
file sharing. I have a (some-what) working prototype of its implementation.

The prototype is available at Gajim's plugin repository:
http://hg.gajim.org/gajim-plugins

It doesn't do a lot, but it can share files between computers. Although
the code is in alpha stage everyone who is brave enough is welcomed to
try it.

I have attached  a draft of the protocol extension. I would like some
feedback on it. If it doesn't looks too bad, I would like to present it
to the council by the end of the week.

Cheers,





--
With best regards,
Sergey Dobrov,
XMPP Developer and JRuDevels.org founder.


[Standards] File sharing xep proposal

2012-11-05 Thread Jefry Lagrange


Hello,

I've been working for quite some time in a protocol extension to allow 
file sharing. I have a (some-what) working prototype of its implementation.


The prototype is available at Gajim's plugin repository: 
http://hg.gajim.org/gajim-plugins


It doesn't do a lot, but it can share files between computers. Although 
the code is in alpha stage everyone who is brave enough is welcomed to 
try it.


I have attached  a draft of the protocol extension. I would like some 
feedback on it. If it doesn't looks too bad, I would like to present it 
to the council by the end of the week.


Cheers,


?xml version='1.0' encoding='UTF-8'?
!DOCTYPE xep SYSTEM 'xep.dtd' [
  !ENTITY % ents SYSTEM 'xep.ent'
%ents;
]
?xml-stylesheet type='text/xsl' href='xep.xsl'?
xep
header
  titleFile Information Sharing/title
  abstractThis document specifies a simple extension to existing protocols that allows an entity to request information about files./abstract
  LEGALNOTICE;
  number/number
  statusProtoXEP/status
  typeStandards Track/type
  sigStandards/sig
  approverCouncil/approver
  dependencies
specXMPP Core/spec
specXEP-0234/spec
specXEP-0059/spec
specXEP-0265/spec
  /dependencies
  supersedes
specXEP-0135/spec
  /supersedes
  shortnamefis/shortname
  author
  firstnameJefry/firstname
  surnameLagrange/surname
  emailjefry.re...@gmail.com/email
  jidj.lagra...@jabber.org/jid
  jidj.lagra...@gajim.org/jid
  /author
  revision
version0.0.1/version
date2012-10-14/date
initialsjl/initials
remarkFirst draft/remark
  /revision
/header
section1 topic='Introduction' anchor='intro'
  pXMPP extensions provide ways of transferring files between peers (such as xep0234; and xep0096;). However, file transfer is currently limited to needing that the transfer be initiated by the hosting entity. The xep0234; extension, provides for a way to request files, but it requires the requesting entity to have information about the file being requested, so that it can be uniquely identified. /p
pThis documents defines an extension which allows the request of information of files being offered by a hosting entity so they can later be requested in a file transfer; If the requesting entity is interested in the file./p
pIRC users have been able to bypass the limitations of the protocol by using bots that provide information of files and initiate transfer on command. A major downside of this method is that not every user is capable of sharing its files. The aim of this document is to provide a similar functionality while making it easier for users to offer and request information about files. /p
pMicrosoft's MSN proprietary IM client, used to provide similar functionality using Sharing Folders, but this was replaced by Windows Live SkyDrive /p
/section1
section1 topic='Requirements' anchor='reqs'
  ol
liEnable a requesting entity to traverse the shared directory of an offering entity (REQUIRED)/li
liEnable a requesting entity to get detailed information about files. (REQUIRED)/li
   liEnable a requesting entity to search files hosted by an offering entity.(OPTIONAL)/li
liAllow the use of MUCs to share information about files among the users.(OPTIONAL)/li
!--liAllow the use of Pub/Sub service to search files (OPTIONAL)/li --
  /ol
/section1
section1 topic='Assumptions' anchor='assump'
!-- Maybe make this into a list --
p This protocol assumes the existence of a shared directory (either virtual or physical), whose root can be accessed by /. The hosting entity must not advertise empty directories. The hosting entity is responsible of maintaining the structure of that directory (such as not allowing two files with the same name and preventing cycles within directories). The hosting entity is in no way required to present the same shared directory to different requesters./p
/section1
section1 topic='Getting Information About Files ' anchor='disco'
  section2 topic='Traversing Files' anchor='traver'
  pIf a requesting entity wishes to traverse the shared folder of an offering entity. It can do so by querying the root directory as it is shown in the following example:/p
  example caption='Requester queries the root of the shared folder'
![CDATA[
iq type='get'
from='jul...@capulet.com/chamber'
to='ro...@montague.net/home'
id='1234'
match
request
directory/
/request
/match
/iq
]]
  /example
  p If the offering entity has files to share, it MUST respond with the root-level files of its shared folder. Files and directories at the root level MUST not be the child of any directory tag. In order to save bandwidth, the offering entity MAY omit all the children of the file tag except the name which is required and MUST always be present.
  /p
  pThe file tag has the same attributes as defined in xep0096;. The name attribute is required and must be included in every response. The size attribute is only required when 

Re: [Standards] File sharing xep proposal

2012-11-05 Thread Matthew Wild
Hi Jefry,

On 6 November 2012 01:19, Jefry Lagrange jefry.re...@gmail.com wrote:

 Hello,

 I've been working for quite some time in a protocol extension to allow file
 sharing. I have a (some-what) working prototype of its implementation.

Great to hear! I can think of a million-and-one uses for such a
protocol, and I'm sure I'm not alone.

 The prototype is available at Gajim's plugin repository:
 http://hg.gajim.org/gajim-plugins

and running code is always good :)

I read very quickly through (it's 4am after all...), and it seems
pretty sensible. Any comments I have are minor, and I think it's
perfectly fine to submit it as it is.

A few of my comments...

It seems like it might be possible to make the directory listing XML
somewhat more compact than it currently is. For example just listing
files with no metadata could simply be:

   file name=foo.txt/
   file name=bar.txt/

which seems a lot simpler than the nested XML elements in the example.
Metadata can be child elements of file/ because although every file
has a name, metadata may vary and will almost certainly want to be
extended in some cases.

I'm not sure how necessary it is to require the leading '/' prefix, it
seems natural to omit it if I just have a flat list of files. And then
'foo/bar.txt' is perfectly fine when I don't, so it seems like it
could be dropped without much problem.

The security note about access control being implemented on servers
doesn't make complete sense. Files are shared by a specific resource,
so each resource can enforce its own access controls... and different
resources won't necessarily be sharing the same sets of files. A
logged in client generally already has the roster, which is probably
the main access control advantage that the server could offer anyway.

Anyway, good work... and I look forward to it being approved soon, and
perhaps implementing it myself :)

Regards,
Matthew