Re: File transfers
Martyn Russell <[email protected]> Sun, 01 Apr 2007 11:55:02 +0100
| Newsgroups | gmane.comp.gnome.gossip.devel |
|---|---|
| Message-ID | <[email protected]> |
Dimitur Kirov wrote: Hi Dimitur, thanks for the work on this! and sorry for the late reply. > The initial work on filetransfers for gossip is attached in gnome > bugzilla. There are some things that I want do discuss before going on. Woohoo, I have yet to take a look, but I will do as soon as possible. > LmBsSession is the public class. It is designed to keep track of all > transfers among all accounts. Currently libgossip creates one instance > of this class per account. I suggest to change this and put LmBsSession > instance in gossip-session, so that we have one LmBsSession per program. That makes sense to me too yes. > LmBsClient class is used for all socket io actions. In the future it > will be replaced by lm-socket.c , because they overlap in > functionality. This will require extending the lm-socket class with > some functionality for synchronous communication: > - callback for data_written event > - ability to add and remove socket watches for reading Hmm, are you just extending the synchronous functionality here and also have asynchronous functionality available? > Function "lm_bs_transfer_send_success_reply" from lb-bs-transfer.c > sends a streamhost activation reply. It could be better suited in > libgossip, instead of loudmouth, but at the same time this will make > LmBsSession more complicated. I will take a look at the patch shortly and get back to you on this. > xep 0096 requires that clients with FT support should advertise their > FT profile as a result of disco info request. I added the following > features and I'm not sure if they cover everything that gossip has: > <feature var="http://jabber.org/protocol/disco#info"></feature> > <feature var="http://jabber.org/protocol/si"></feature> > <feature > var="http://jabber.org/protocol/si/profile/file-transfer"></feature> > <feature var="http://jabber.org/protocol/bytestreams"></feature> > <feature var="http://jabber.org/protocol/muc"></feature> Yes, we should be able to do that with little trouble. We have protocols/jabber/gossip-disco.[ch] to handle that sort of thing, I am not sure of the state I left it in :) it might need some work. > Currently file transfer session ids are generated with a simple > incremental rule GOSSIPSID1,GOSSIPSID2 .. etc. This is not good from > security point of view, because every internet user will be able to > steal a file if he knows that certain user runs gossip. OK. Actually Micke, isn't this something you changed in Loudmouth? So the message IDs are now a generated number? > Proxy support helps users behind masqueraded networks to send files. > However it is a bad practice to hardcode a predefined set of proxies > and at the same time users should not be bothered to enter FT proxy in > gossip settings. Do you think it is worth to implement proxy support > now, or better leave it for later versions ? Hmm, I think perhaps it is better to implement that later so we have something working. > File request dialog (ui/file_transfer.glade) looks old-fashioned. IMO > it will be better to have this request notification in chat windows, > similar to muc invitations. That's a good idea, less dialogs, etc. > Finally, we can enable the xep-0047 support with a simple rule like: > if file is <= 20Kb and the sender supports ibb, prefer ibb over > bytestreams. It is not appropriate to use this method for large files, > because user will be banned from server, due to high traffic. Yes, this makes sense. -- Regards, Martyn