Bug 35702

Summary: TLPv1 is broken
Product: papyon Reporter: Riccardo (c10ud) <c10ud.dev>
Component: generalAssignee: papyon-bugs
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Riccardo (c10ud) 2011-03-26 11:33:23 UTC
As tested on irc with lfrb, TLPv1 is currently broken.

Tested with purple and webmessenger, there're some issues which prevent papyon from downloading correct msnobjects.

lfrb suggests:

        if self.blob_offset + self.chunk_size > self.blob_size:
            #raise TLPParseError(1, "chunk end exceeds blob size", header)
            self.chunk_size = self.blob_size - self.blob_offset
        if self.blob_size >= 0 and self.chunk_size == 0:
            #raise TLPParseError(1, "empty chunk for non-empty blob", header)
            self.chunk_size = self.blob_size

this completes the transfer but the msnobject isn't valid (isn't showed up)

You can test this simply by using emesene2 (which uses papyon-git) and pidgin/adium. Change your dp in pidgin/adium and you'll see papyon won't get the updated one.

This could affects filetransfers. Infact with the proposed modification you'll get an exception when receiving a file from those clients


papyon/msnp2p/transport/TLP.py", line 145, in append_chunk
    assert self.id == chunk.blob_id, "Trying to append a chunk to the wrong blob"


Setting severity to major since a big number of clients are based on purple et. al. (like webmessenger)
Comment 1 Louis-Francis Ratté-Boulianne 2011-04-12 20:47:27 UTC
Fixed. It will be part of papyon 0.5.5

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.