Search for
Login | Username Password Forgot? | Email: | Create Account
Non English | Popularity: 0 | Entries: 21 | Updated: 3h 57m ago | | Add to My Feeds
After digging through many codepaths through libfaim, Gaim's Oscar PRPL, and the Gaim core, I came up with what I consider a fairly reasonable solution for using the client IP when the verified IP just isn't enough to get the job done (see previous post for background on this topic). After the user accepts the incoming file transfer request, the core calls oscar_xfer_init_recv. This function is first called with the sender's verified IP. In this init function, I buried a timout that falls back to the client IP if no successful connection is made after a few seconds. The timeout then calls oscar_xfer_init_recv again with this new IP. Another timout is started, and if nothing happens within another few seconds, the whole file transfer is declared a failure. With that done, it's now on to more minor details for a little while (eg. Sending nice pretty status messages to the user via the conversation window).


More from Summer of Code

Documentation 06 Nov 9
Recent Progress 06 Nov 9
Testers Wanted 06 Nov 9
Breaking the Code 06 Nov 9
Squish 06 Nov 9

^ Back To Top