emesene forum
November 22, 2008, 02:22:01 AM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: PROBLEMS WITH 1.0.x? TAKE A LOOK IN HERE - FATAL ERRORS? (1.0.x) REPORT THEM HERE
 
  Home   Forum   Help Search Login Register  
Pages: [1] 2 3
  Print  
Author Topic: Fact on msn p2p (!)  (Read 1667 times)
dx
h4x0r
Administrator
Hero Member
*****

l33tness: 16
Offline Offline

Posts: 544


<insert stuff>

dx@dxzone.com.ar
View Profile WWW Email
« on: January 02, 2008, 03:05:04 PM »

tech stuff warning! some knowledge about msn p2p protocol required.

The official client increases the client field globally - this is more obvious on DC invites where you receive a invite after accepting the file. For example

<<< DC Invite - identifier 12345
>>> "I don't care" message (not a decline, just some random wrongness - aka internal development bug)
<<< some data message - identifier 12346
<<< another data message - identifier 12347
<<< "I didn't hear you, so i assume you haven't replied me and tell you that with an annoying message with flag 4"
    --identifier 12348
<<< last data message - identifier 12349
>>> (data ack)
<<< bye msnslp message - identifier 12350
>>> (bye ack)
<<< "I'm still waiting for a reply to my DC invite, and you hadn't replied my other annoying message, so if you don't reply everything, even those messages that you dropped, in a minute i will stop sending data because i'm evil. Yes, this is flag 4." - identifier 12351


I wrote a DC invite handler (because declining is the same as canceling - that doesn't mean that i will implement DC now), but i found that i can't track those flag 4 messages (i have to, even if i reply the original invite message the right way.. there could be some big network latency that makes me receive both invite and flag 4 message).

I considered a "last identifier" variable on P2PUser, but that seems hacky and i'm not sure if this applies to everything (DP/CE senders/receivers included)

Relying on identifiers sucks, but it's the only way to identify negotiation messages. As I always say, some people died messing with direct connect/identifiers.
Logged

asd
dx
h4x0r
Administrator
Hero Member
*****

l33tness: 16
Offline Offline

Posts: 544


<insert stuff>

dx@dxzone.com.ar
View Profile WWW Email
« Reply #1 on: January 03, 2008, 04:19:52 PM »

c10ud, can you explain me why is this in news?
i mean, WTF?
Logged

asd
C10uD
emesene's Steve Ballmer
Administrator
Hero Member
*****

l33tness: 23
Offline Offline

Posts: 800



View Profile WWW Email
« Reply #2 on: January 04, 2008, 02:44:05 AM »

noone posted here, i don't want you to be alone Tongue
Logged
fabioamd87
Hero Member
*****

l33tness: 2
Offline Offline

Posts: 321



View Profile Email
« Reply #3 on: January 04, 2008, 02:55:57 AM »

i'm not very tecnical, but what does it mean all of this?
Logged

This is the best community/project that I ever seen... really!
dx
h4x0r
Administrator
Hero Member
*****

l33tness: 16
Offline Offline

Posts: 544


<insert stuff>

dx@dxzone.com.ar
View Profile WWW Email
« Reply #4 on: January 04, 2008, 02:48:47 PM »

It means that direct connect invites must be answered exactly as the official likes it.

I don't know why i posted this, maybe because each reimplementation of msn p2p is a pain. So it may be helpful is someone else needs help with this problem.
Logged

asd
fabioamd87
Hero Member
*****

l33tness: 2
Offline Offline

Posts: 321



View Profile Email
« Reply #5 on: January 04, 2008, 05:10:39 PM »

but i don't understand, it's not yet implemented? by msnp or just other clients?
Logged

This is the best community/project that I ever seen... really!
dx
h4x0r
Administrator
Hero Member
*****

l33tness: 16
Offline Offline

Posts: 544


<insert stuff>

dx@dxzone.com.ar
View Profile WWW Email
« Reply #6 on: January 04, 2008, 11:49:36 PM »

but i don't understand, it's not yet implemented? by msnp or just other clients?

Nope, not implemented. First we need it working without direct connect. And.. direct connect is the only problem left. (the *official client* wanted to establish a direct connection, we didn't reply well)

My solution: reply as pidgin does (<3)
Logged

asd
andre.ramaciotti
Sr. Member
****

l33tness: 2
Offline Offline

Posts: 66


View Profile Email
« Reply #7 on: January 05, 2008, 04:47:18 AM »

And what about aMSN? Does it have a MSN p2p implementation?
Logged
C10uD
emesene's Steve Ballmer
Administrator
Hero Member
*****

l33tness: 23
Offline Offline

Posts: 800



View Profile WWW Email
« Reply #8 on: January 05, 2008, 05:59:41 AM »

yes, but that's TCL Cheesy and it's like reading ancient aramaic (for me, at least... i'm not an emesene dev but i can read python/c/c++ quite easily..)
Logged
fabioamd87
Hero Member
*****

l33tness: 2
Offline Offline

Posts: 321



View Profile Email
« Reply #9 on: January 05, 2008, 06:11:19 AM »

but the string for the request shoudn't be the same?
Logged

This is the best community/project that I ever seen... really!
guillaume
Guest
« Reply #10 on: January 05, 2008, 02:59:10 PM »

pidgin doesn't have direct connection did they ? am i missing something when you say

Quote
My solution: reply as pidgin does (<3)
Logged
C10uD
emesene's Steve Ballmer
Administrator
Hero Member
*****

l33tness: 23
Offline Offline

Posts: 800



View Profile WWW Email
« Reply #11 on: January 06, 2008, 02:23:11 AM »

pidgin doesn't have direct connection did they ? am i missing something when you say

Quote
My solution: reply as pidgin does (<3)
if i remember well dx told me pidgin ignores those DC invites so... lol

but the string for the request shoudn't be the same?
yes, but you have to construct it first..
Logged
dx
h4x0r
Administrator
Hero Member
*****

l33tness: 16
Offline Offline

Posts: 544


<insert stuff>

dx@dxzone.com.ar
View Profile WWW Email
« Reply #12 on: January 06, 2008, 12:31:31 PM »

c10ud is right. (?)

- tcl (amsn) is even more unreadable than perl ("VALID PERL CODE"). Also their implementation isn't correctly separated from the GUI. But they implemented DC - that's useless to me now.
- Pidgin is C. "C" stands for "Cool". They tried to implement DC but some days after someone found the developer dead. The code is commented-out now (#ifdef 0). That implementation is useful - it allows the file to transfer via switchboard, not direct connection, without this problem.

I didn't understand fabioamd87, but msn p2p is a complex protocol and wlm is very strict. "Invite-reply-acknowledge" is the simplest form of negotiation..
Logged

asd
fabioamd87
Hero Member
*****

l33tness: 2
Offline Offline

Posts: 321



View Profile Email
« Reply #13 on: January 06, 2008, 03:08:52 PM »

i understand, and what to say about pidgin devel that tried to implement p2p... mayhem rockz!
Logged

This is the best community/project that I ever seen... really!
TJUndead
Newbie
*

l33tness: 2
Offline Offline

Posts: 1


View Profile
« Reply #14 on: January 06, 2008, 07:27:11 PM »

Uhm... Sorry for this comment, but why you guys don't ask for a little help from Pidgin or aMSN developers? ^_^
Logged
Pages: [1] 2 3
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.7 | SMF © 2006-2008, Simple Machines LLC
TinyPortal v0.9.8 © Bloc
Valid XHTML 1.0! Valid CSS!