diff plugins/icq/udp.c @ 1309:0a766047b4fd

[gaim-migrate @ 1319] Yay, new icqlib committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Tue, 19 Dec 2000 10:08:29 +0000
parents 201ec77f3a60
children 4c510ca3563f
line wrap: on
line diff
--- a/plugins/icq/udp.c	Tue Dec 19 08:37:12 2000 +0000
+++ b/plugins/icq/udp.c	Tue Dec 19 10:08:29 2000 +0000
@@ -1,9 +1,18 @@
 /* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 /*
-$Id: udp.c 1162 2000-11-28 02:22:42Z warmenhoven $
+$Id: udp.c 1319 2000-12-19 10:08:29Z warmenhoven $
 $Log$
-Revision 1.1  2000/11/28 02:22:42  warmenhoven
-icq. whoop de doo
+Revision 1.2  2000/12/19 10:08:29  warmenhoven
+Yay, new icqlib
+
+Revision 1.26  2000/12/19 06:00:07  bills
+moved members from ICQLINK to ICQLINK_private struct
+
+Revision 1.25  2000/11/02 07:29:07  denis
+Ability to disable TCP protocol has been added.
+
+Revision 1.24  2000/08/13 00:59:52  denis
+Patch #101057 have been applied.
 
 Revision 1.23  2000/07/09 22:19:35  bills
 added new *Close functions, use *Close functions instead of *Delete
@@ -297,7 +306,7 @@
   int attempt;
   while(icq_UDPQueueInterval(link) == 0)
   {
-    ptr = (icq_UDPQueueItem*)list_first(link->icq_UDPQueue);
+    ptr = (icq_UDPQueueItem*)list_first(link->d->icq_UDPQueue);
     attempt = ptr->attempts + 1;
     if(attempt > 6)
     {
@@ -325,7 +334,7 @@
 *****************************************/
 WORD icq_KeepAlive(ICQLINK *link) /* V5 */
 {
-  icq_Packet *p = icq_UDPCreateStdSeqPacket(link, UDP_CMD_KEEP_ALIVE, link->icq_UDPSeqNum1++);
+  icq_Packet *p = icq_UDPCreateStdSeqPacket(link, UDP_CMD_KEEP_ALIVE, link->d->icq_UDPSeqNum1++);
   icq_PacketAppend32(p, rand());
   icq_UDPSockWrite(link, p);
   icq_PacketDelete(p);
@@ -339,7 +348,7 @@
 
   icq_FmtLog(link, ICQ_LOG_MESSAGE, "Send Keep Alive packet to the server\n");
 
-  return link->icq_UDPSeqNum1-1;
+  return link->d->icq_UDPSeqNum1-1;
 }
 
 /**********************************
@@ -467,10 +476,10 @@
 {
   icq_Packet *p;
 
-  memset(link->icq_UDPServMess, FALSE, sizeof(link->icq_UDPServMess));
-  link->icq_UDPSession = rand() & 0x3FFFFFFF;
-  link->icq_UDPSeqNum1 = rand() & 0x7FFF;
-  link->icq_UDPSeqNum2 = 1;
+  memset(link->d->icq_UDPServMess, FALSE, sizeof(link->d->icq_UDPServMess));
+  link->d->icq_UDPSession = rand() & 0x3FFFFFFF;
+  link->d->icq_UDPSeqNum1 = rand() & 0x7FFF;
+  link->d->icq_UDPSeqNum2 = 1;
 
   p = icq_UDPCreateStdPacket(link, UDP_CMD_LOGIN);
   icq_PacketAppend32(p, time(0L));
@@ -479,11 +488,24 @@
   icq_PacketAppend16n(p, htons(link->icq_OurPort));*/
   icq_PacketAppendString(p, link->icq_Password);
   icq_PacketAppend32(p, LOGIN_X1_DEF);
-  icq_PacketAppend32n(p, htonl(link->icq_OurIP));
-  if(link->icq_UseProxy)
-    icq_PacketAppend8(p, LOGIN_SNDONLY_TCP);
+  if(link->icq_UseTCP)
+  {
+    if(link->icq_UseProxy)
+    {
+      icq_PacketAppend32n(p, htonl(link->icq_ProxyIP));
+      icq_PacketAppend8(p, LOGIN_SNDONLY_TCP);
+    }
+    else
+    {
+      icq_PacketAppend32n(p, htonl(link->icq_OurIP));
+      icq_PacketAppend8(p, LOGIN_SNDRCV_TCP);
+    }
+  }
   else
-    icq_PacketAppend8(p, LOGIN_SNDRCV_TCP);
+  {
+    icq_PacketAppend32n(p, htonl(link->icq_ProxyIP));
+    icq_PacketAppend8(p, LOGIN_NO_TCP);
+  }
   icq_PacketAppend32(p, status);
   icq_PacketAppend32(p, LOGIN_X3_DEF);
   icq_PacketAppend32(p, LOGIN_X4_DEF);
@@ -498,7 +520,7 @@
 ***********************/
 void icq_Logout(ICQLINK *link) /* V5 */
 {
-  icq_Packet *p = icq_UDPCreateStdSeqPacket(link, UDP_CMD_SEND_TEXT_CODE, link->icq_UDPSeqNum1++);
+  icq_Packet *p = icq_UDPCreateStdSeqPacket(link, UDP_CMD_SEND_TEXT_CODE, link->d->icq_UDPSeqNum1++);
   icq_PacketAppendString(p, "B_USER_DISCONNECTED");
   icq_PacketAppend8(p, 5);
   icq_PacketAppend8(p, 0);
@@ -540,7 +562,7 @@
 
   icq_UDPSockWrite(link, p);
   icq_PacketDelete(p);
-  return link->icq_UDPSeqNum1-1;
+  return link->d->icq_UDPSeqNum1-1;
 }
 
 WORD icq_UDPSendURL(ICQLINK *link, DWORD uin, const char *url, const char *descr) /* V5 */
@@ -561,7 +583,7 @@
 
   icq_UDPSockWrite(link, p);
   icq_PacketDelete(p);
-  return link->icq_UDPSeqNum1-1;
+  return link->d->icq_UDPSeqNum1-1;
 }
 
 /**************************************************
@@ -577,7 +599,7 @@
   icq_UDPSockWrite(link, p);
   icq_PacketDelete(p);
 
-  return link->icq_UDPSeqNum1-1;
+  return link->d->icq_UDPSeqNum1-1;
 }
 
 /**************************************************
@@ -601,7 +623,7 @@
   icq_PacketAppend32(p, uin);
   icq_UDPSockWrite(link, p);
   icq_PacketDelete(p);
-  return link->icq_UDPSeqNum1-1;
+  return link->d->icq_UDPSeqNum1-1;
 }
 
 /********************************************************
@@ -613,7 +635,7 @@
   icq_PacketAppend32(p, uin);
   icq_UDPSockWrite(link, p);
   icq_PacketDelete(p);
-  return link->icq_UDPSeqNum1-1;
+  return link->d->icq_UDPSeqNum1-1;
 }
 
 /**************************************************************
@@ -648,7 +670,7 @@
 void icq_RegNewUser(ICQLINK *link, const char *pass) /* V5 */
 {
   char pass8[9];
-  icq_Packet *p = icq_UDPCreateStdSeqPacket(link, UDP_CMD_REG_NEW_USER, link->icq_UDPSeqNum1++);
+  icq_Packet *p = icq_UDPCreateStdSeqPacket(link, UDP_CMD_REG_NEW_USER, link->d->icq_UDPSeqNum1++);
   strncpy(pass8, pass, 8);
   icq_PacketAppendString(p, pass8);
   icq_PacketAppend32(p, 0xA0);
@@ -674,7 +696,7 @@
 /* auth (byte)? */
   icq_UDPSockWrite(link, p);
   icq_PacketDelete(p);
-  return link->icq_UDPSeqNum1-1;
+  return link->d->icq_UDPSeqNum1-1;
 }
 
 WORD icq_UpdateAuthInfo(ICQLINK *link, DWORD auth) /* V5 */
@@ -683,7 +705,7 @@
   icq_PacketAppend32(p, auth); /* NOT auth? */
   icq_UDPSockWrite(link, p);
   icq_PacketDelete(p);
-  return link->icq_UDPSeqNum1-1;
+  return link->d->icq_UDPSeqNum1-1;
 }
 
 WORD icq_UpdateMetaInfoSet(ICQLINK *link, const char *nick, const char *first, const char *last,
@@ -712,7 +734,7 @@
   icq_PacketAppend8(p, emailhide);
   icq_UDPSockWrite(link, p);
   icq_PacketDelete(p);
-  return link->icq_UDPSeqNum2-1;
+  return link->d->icq_UDPSeqNum2-1;
 }
 
 WORD icq_UpdateMetaInfoHomepage(ICQLINK *link, unsigned char age, const char *homepage,
@@ -732,7 +754,7 @@
   icq_PacketAppend8(p, 0xFF /* lang3 */);
   icq_UDPSockWrite(link, p);
   icq_PacketDelete(p);
-  return link->icq_UDPSeqNum2-1;
+  return link->d->icq_UDPSeqNum2-1;
 }
 
 WORD icq_UpdateMetaInfoAbout(ICQLINK *link, const char *about)
@@ -742,7 +764,7 @@
   icq_PacketAppendString(p, about);
   icq_UDPSockWrite(link, p);
   icq_PacketDelete(p);
-  return link->icq_UDPSeqNum2-1;
+  return link->d->icq_UDPSeqNum2-1;
 }
 
 WORD icq_UpdateMetaInfoSecurity(ICQLINK *link, unsigned char reqauth, unsigned char webpresence,
@@ -755,7 +777,7 @@
   icq_PacketAppend8(p, pubip);
   icq_UDPSockWrite(link, p);
   icq_PacketDelete(p);
-  return link->icq_UDPSeqNum2-1;
+  return link->d->icq_UDPSeqNum2-1;
 }
 
 WORD icq_UpdateNewUserInfo(ICQLINK *link, const char *nick, const char *first, const char *last,
@@ -771,7 +793,7 @@
   icq_PacketAppend8(p, 1);
   icq_UDPSockWrite(link, p);
   icq_PacketDelete(p);
-  return link->icq_UDPSeqNum1-1;
+  return link->d->icq_UDPSeqNum1-1;
 }
 
 WORD icq_SendMetaInfoReq(ICQLINK *link, unsigned long uin)
@@ -781,5 +803,5 @@
   icq_PacketAppend32(p, uin);
   icq_UDPSockWrite(link, p);
   icq_PacketDelete(p);
-  return link->icq_UDPSeqNum2-1;
+  return link->d->icq_UDPSeqNum2-1;
 }