I definitely understand your concerns.  It would be awesome to have some UDP infrastructure in Gaim, as UPnP ( a new project that I'm trying to get rolling ) also uses UDP for it's initial communications.  I have been successful with my UDP requests for UPnP services, but have not integrated the code into Gaim-proper yet.  I would also be interested in the submission of non-standard HTTP requests, as UPnP requires SOAP specific headers to be sent in the requests.  This is more than just a simple HTTP-GET request.  I can help out to further our quests, especially if it meant getting our projects accepted into the mainline code.

for my UDP code.

     Although it doesn't "look" like a connection to unix, it surely does act like one when I use it, as I send the UDP request, and then wait for data to be received from the same protocol.


On 5/24/05, Chris Ross < > wrote:

   Hi.  I know 30 million people have already asked about this,
and 5 million have said "I'm gonna write one."  But, I'm start-
ing on writing one.

   My company has moved to Microsoft OLCS, and is using a SIP
server.  This should be *mostly* normal SIP I think, and/or
SIMPLE.  So, I'm going to try to implement something open-source.
And, I don't have any access to MS code, so I'll just reverse
engineer anything I find near holes.

   The first question I have, tho, is that our server does
SIP over UDP (as is common).  The gaim core network code
seems to only understand TCP connections.  They are
made in proxy.c, and are always SOCK_STREAM.

   In talking to someone at #gaim today, they suggested
I augment gaim's core to allow UDP connection management
inside of gaim.  While I could do this, I'd certainly want
to know of more people than myself interested in it.  The
"right" way to do that would be to actually modify the
gaim_proxy_connect() (and friends) to take a "int type",
as well as the other side address/port information.

   The other option would seem to be to have the prpl
actually do all of the connection handling.  If I do this,
can I clue gaim in somehow to watch for that socket to
become readable, and when it is call me?  It looks like
I can do this.  I just want to make sure gaim doesn't
try to read the message off of the socket for me, since
it won't be a stream, it wouldn't make sure to get all
of the information, etc etc.

   Any thoughts as to the best way to proceed with this?

   The old IRQ code may have some clue how to do this, since
I think that was UDP code as well.  But the only current thing
that seems to be a UDP-based protocol is Zephyr, and it's
all handled by the zephyr library.

   Thanks.  Let me know any thoughts you have.  Keep me in
the dist list, because I'm not subscribed to gaim-devel.

                       - Chris

This SF.Net email is sponsored by Yahoo.
Introducing Yahoo! Search Developer Network - Create apps using Yahoo!
Search APIs Find out how you can build Yahoo! directly into your own
Applications - visit
Gaim-devel mailing list