powered by Jive Software

Activate Bytestream reaturns error

Dear Sirs,

i have implemented the File Tranfer by using ByteStreams and some previous post of Alex regarding Jep0065 and wildfire.

The problem now is that even between my apps, althought both Initiator and Target is CONENCTED to the windfire server and of coure i have enabled the FIle Tranfer proxy on it,

when the initiator tryies to Activate the Bytestream it gets a error.

According to jep0065 this error is raised when one of the parties is not connected.

But i am positive that both of them are as i am debugging both of them and i see that they have successfully connected to the server.

Do you have an idea on what I am doing wrong?

Thanks!

Message was edited by: mayprog

My first thought is perhaps that you are building the hash wrong. Are you using java to implement your client? What is the code you are using to build your hash?

Wildfire builds the hash from the information sent in the activate packet so that would be another place to check that you are sending fully qualified JIDs: node@server/resource

Also, are you seeing the the ‘‘00’’ returned from wildfire when connecting to the proxy?

Thanks,

Alex

It would be helpful if you could post the full XMPP packet exchange:

between the

initiator->target

target->wildfire

initiator->wildfire

wildfire->initiator

wildfire->target

Thanks,

Alex

Hallo Alex,

the following are the Xmpp packets exchanged from my App being the Initator to Spark and are grabed from the Spark’'s debug Window:

I am building my App on the .Net Framework v1.1.

The code that hashes the Host is the following (in c#):

string sToHash = sIdsInitiatorJidsTargetJid;

SHA1 sha = SHA1.Create();

return sha.ComputeHash(System.Text.Encoding.UTF8.GetBytes(sToHash));[/i]

All jids are full jids.

Do you find something wrong in this?

Also, about the SOCK5 addressing, althought Jep does not say anything about it, in the first octet of the ADDRESS field i put the number of the address octets.

Also i use the ‘‘00’’. I suppose we are talking about the REP field of the return status of the CONNECT command to the SOCKS5 proxy server.Right?I use the REP field to understand if I am connected to the server.

Thanks!

Message was edited by: mayprog

Message was edited by: mayprog

Two things do you have the traffic between initiator and the server? And what is the sha1 hash produced?

Thanks,

Alex

Alex, i don’'t have this traffic right now, but i will manage to get it for you (i will grab the messages one by one).

About sha1, it returns me an 20 bytes long code.

I am sending these bytes to the Wildfire server.

Talking with anohter friend, he pointed out to me that i shouldn’'t sent the plain bytes as i get them but i should convert them to ascii codes before i send them as an address. So the result address should be 40 bytes ascii encoded the 20 bytes from the SHA1 encoding.

Is that right?

Thanks in advance.

Yes, that is correct. They should be passed in as a string of hex numbers.

Thanks,

Alex

Alex, finally it worked !

Thanks very much.