I have updated the PFSP specs, cleaning up the format, fixing errors. I have also added a new feature, described in section 5, that will be implemented in...
Hi Raphael, Many thanks for updating the spec! The texts overally looks good, but the extension is problematic for Phex: Phex uses the X-Available-Ranges to...
... The sole motivation of this change is simply to save bandwidth when "bad" clients request a highly fragmented file without honouring the Retry-After ...
... Wouldn't it be better to simply ban these clients, then? Best wishes, Arne -- -- Ein Würfel System: http://1w6.org - einfach saubere (Rollenspiel-)...
... If I did, I'd ban 95% of the clients, roughly speaking, 4 main vendors (not counting the derivatives based on the same code but branded as another vendor)....
... Ouch... would the fragmentation reduction help which Phex uses? One simple way (I don't know if it's the one Phex uses): Just do Worst Fit (choose a...
I doubt you really need to put something like this explicitly in a spec. If a client choose to advertise less available ranges to a certain requester, then...
Justin Chapweske
justin@...
Apr 19, 2009 2:06 am
23588
... It's useful to know how much of a file each client has, even if the list of available ranges is incomplete, and the burden of the extra header is small ...
Hi, i have the following question about "UP" ggep: in LimeWire client sources when this ggep parsed/created first comes ultrapeer version, then amount of free...
... I just read from Gregor that he adapted Phex, so your extension doesn't create problems for our download code anymore. Sorry for the noise, and thank you...
Hello, Is there a JAVA API, C library, or SDK that I could use to develop a Gnutella servent ? Regards, ___________ Ivan Lovric ESECO SYSTEMS Web3.0 and Web4.0...
I need help on this. The latest spec or is this correct what I got. Byte 0-3 : Vendor Code Byte 4 : Public area size (either 2 or 4) if 4 then 7-8 is xml...
Hello, For my bachelor's degree, I'm writing a simple gnutella client (just the leaf fonctionality) in c#. I want to do some tests on my client but without...
I would be grateful if anyone could help me increase my understanding of the Mojito DHT. My questions are as follows: * Must security tokens always be 4 bytes...
Hi there, I'm trying to understand how modern gnutella clients send and recieve control messages (i.e. ping, pong, query, queryhit, push, bye and vendor...
... There's no "byte 9" in my book. That is, the data after byte 8 (end of open data) is either the start of GGEP (if the GGEP flag is set in the open data)...
... Yes, in theory in could be anything. Gtk-gnutella will accept whatever length you put in there, even 0 (meaning no security token) but emits 4-byte tokens....
... Yes, it is the value of Listen-IP or Node headers. Not all servents will send it out though, as it is not mandatory to initiate a connection (since you...
Hi Rik, Did you receive an answer to your post ? Because I'm searching the same thing as you for the point 2) I found some informations on the limewire wiki...
... It's actually very simple. Nodes change their Instance ID every time they startup/bootstrap. Other Nodes (in particular the k-closest) can use this...
Hi there, ... How do you know the remote IP and Port? Is this just the IP and Port that replies to the GNUTELLA CONNECT message were sent to? Thanks, Rik...
... You need to know the remote IP:port of the host before attempting to connect to it. The IP:port given in Node or Listen-IP headers are those of the ...
I'm very sorry to be dense, but yes I am. I know that the client comes with a list of addresses to try, which will then be expanded out using pings, pongs...
... You need to refer to well-known UHC (UDP Host Caches) in your code for bootstrapping purposes. ... HEAD Pings and HEAD Pongs are simply a way to perform...
I am trying to understand modern implementations of the gnutella protocol, and I'm having problems understanding newer methods of file downloading. I have been...
... You got it correctly. The hardest part is getting the HTTP/1.1 protocol correctly. Don't forget that HTTP/1.1 implies support for persistent connections...
How do common implementations of hole punching and TLS work? Am I correct in thinking that Hole Punching and Push Proxying are one and the same thing? If...