ayttm-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Ayttm-commits] CVS: ayttm/modules/msn2/libmsn2 msn_bittybits.C,1.12,1.1


From: Colin Leroy <address@hidden>
Subject: [Ayttm-commits] CVS: ayttm/modules/msn2/libmsn2 msn_bittybits.C,1.12,1.13 msn_core.C,1.46,1.47
Date: Wed, 26 Mar 2003 03:03:26 -0500

Update of /cvsroot/ayttm/ayttm/modules/msn2/libmsn2
In directory subversions:/tmp/cvs-serv7515/modules/msn2/libmsn2

Modified Files:
        msn_bittybits.C msn_core.C 
Log Message:
longer timeout, check numargs 


Index: msn_bittybits.C
===================================================================
RCS file: /cvsroot/ayttm/ayttm/modules/msn2/libmsn2/msn_bittybits.C,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- msn_bittybits.C     25 Mar 2003 22:39:50 -0000      1.12
+++ msn_bittybits.C     26 Mar 2003 08:03:24 -0000      1.13
@@ -45,7 +45,7 @@
                j=i;
 #else
        int res=0;
-       if((res=poll(&pfd,1,1000))==0) {
+       if((res=poll(&pfd,1,5000))==0) {
                should_terminate = 1;
                break;
        } else if (res > 0) {
@@ -70,11 +70,13 @@
 #ifndef __MINGW32__
     {
            int res = 0;
-           if((res=poll(&pfd,1,0))==0) {
+           if((res=poll(&pfd,1,5000))==0) {
                    should_terminate=1;
-                   res=poll(&pfd,1,1000);
+                   break;
            } 
-           if (res < 0) {
+           else if (res > 0) {
+               continue;
+           } else {    
                printf("uh, msnconn closed\n");    
                return NULL;
            }

Index: msn_core.C
===================================================================
RCS file: /cvsroot/ayttm/ayttm/modules/msn2/libmsn2/msn_core.C,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -r1.46 -r1.47
--- msn_core.C  25 Mar 2003 22:39:50 -0000      1.46
+++ msn_core.C  26 Mar 2003 08:03:24 -0000      1.47
@@ -292,7 +292,7 @@
 
   if(!strcmp(args[0], "SYN"))
   {
-    if(info->serial==atoi(args[2]))
+    if(numargs >=3 && info->serial==atoi(args[2]))
     {
     /*  delete info;
       info=NULL;*/
@@ -308,9 +308,9 @@
 
   if(!strcmp(args[0], "LST"))
   {
-    if(!strcmp(args[2], "FL"))
+    if(numargs >=3 && !strcmp(args[2], "FL"))
     {
-      if(!strcmp(args[5], "0"))
+      if(numargs >=7 && !strcmp(args[5], "0"))
       {
         info->fl=NULL; info->complete|=LST_FL;
       } else {
@@ -324,9 +324,9 @@
         { info->complete|=LST_FL; }
       }
     }
-    if(!strcmp(args[2], "RL"))
+    if(numargs >=3 && !strcmp(args[2], "RL"))
     {
-      if(!strcmp(args[5], "0"))
+      if(numargs >=7 && !strcmp(args[5], "0"))
       {
         info->rl=NULL; info->complete|=LST_RL; // no mates! :-)
       } else {
@@ -338,9 +338,9 @@
         { info->complete|=LST_RL; }
       }
     }
-    if(!strcmp(args[2], "AL"))
+    if(numargs >=3 && !strcmp(args[2], "AL"))
     {
-      if(!strcmp(args[5], "0"))
+      if(numargs >=7 && !strcmp(args[5], "0"))
       {
         info->al=NULL; info->complete|=LST_AL;
       } else {
@@ -352,9 +352,9 @@
         { info->complete|=LST_AL; }
       }
     }
-    if(!strcmp(args[2], "BL"))
+    if(numargs >=3 && !strcmp(args[2], "BL"))
     {
-      if(!strcmp(args[5], "0"))
+      if(numargs >=7 && !strcmp(args[5], "0"))
       {
         info->bl=NULL; info->complete|=LST_BL;
       } else {
@@ -368,18 +368,18 @@
     }
   }
   
-  if(!strcmp(args[0], "LSG"))
+  if(numargs >=7 && !strcmp(args[0], "LSG"))
   {
          ext_got_group(args[5], msn_decode_URL(args[6]));
   }
-  if(!strcmp(args[0], "GTC"))
+  if(numargs >=4 && !strcmp(args[0], "GTC"))
   {
     info->gtc=args[3][0];
     info->complete|=COMPLETE_GTC;
     ext_got_GTC(conn, args[3][0]);
   }
 
-  if(!strcmp(args[0], "BLP"))
+  if(numargs >=4 && !strcmp(args[0], "BLP"))
   {
     info->blp=args[3][0];
     info->complete|=COMPLETE_BLP;
@@ -515,6 +515,7 @@
     return;
   }
 
+  if (numargs < 6) return;
   info->auth->cookie=msn_permstring(args[5]);
   info->auth->sessionID=NULL;
 
@@ -547,6 +548,7 @@
 
   msn_del_callback(conn, trid);
 
+  if (numargs < 3) return;
   if(strcmp(args[2], "OK"))
   {
     msn_show_verbose_error(conn, atoi(args[0]));
@@ -610,7 +612,7 @@
   if(args==NULL)
   { msn_clean_up(conn); return; }
 
-  if(!strcmp(args[0], "XFR") && !strcmp(args[2], "NS"))
+  if(numargs >=3 && !strcmp(args[0], "XFR") && !strcmp(args[2], "NS"))
   {
     delete conn->callbacks; // delete the callback data
     conn->callbacks=NULL;
@@ -621,7 +623,7 @@
     char * c;
     int port=1863;
 
-    if((c=strstr(args[3], ":"))!=NULL)
+    if(numargs >=4 && (c=strstr(args[3], ":"))!=NULL)
     {
       *c='\0';
       c++;
@@ -639,8 +641,9 @@
     delete [] args;
     return;
   }
-
-  trid=atoi(args[1]);
+  
+  if(numargs >=2)
+         trid=atoi(args[1]);
 
   list=conn->callbacks;
 
@@ -727,7 +730,7 @@
     return;
   }
 
-  if(!strcmp(args[0], "CHG"))
+  if(numargs >=3 && !strcmp(args[0], "CHG"))
   {
     ext_changed_state(conn, args[2]);
     return;
@@ -775,13 +778,13 @@
     return;
   }
   
-  if(!strcmp(args[0], "ADG"))
+  if(numargs >=5 && !strcmp(args[0], "ADG"))
   {
          ext_got_group(args[4], msn_decode_URL(args[3]));
          return;
   }
     
-  if(isdigit(args[0][0]))
+  if(isdigit(args[0][0]) && strlen(args[0])>2)
   {
     msn_show_verbose_error(conn, atoi(args[0]));
     if(conn->type==CONN_SB)
@@ -812,6 +815,9 @@
   char * body;
   char * tmp;
 
+  if (numargs < 4)
+         return;
+
   msglen=atoi(args[3]);
 
   msg=(char *)malloc(msglen+1);
@@ -1339,7 +1345,7 @@
 
         if(!strcmp(args[0], "USR"))
         {
-          if(strcmp(args[2], auth->cookie))  // if they DIFFER
+          if(numargs >=3 && strcmp(args[2], auth->cookie))  // if they DIFFER
           {
             ext_filetrans_failed(auth->inv, errno, strerror(errno));
             msn_del_from_llist(auth->inv->conn->invitations_out, auth->inv);
@@ -1529,6 +1535,7 @@
 
   auth=(authdata_SB *)conn->auth;
 
+  if (numargs < 3) return;
   if(!strcmp(args[1], auth->username)) { return; }
 
   msn_add_to_llist(conn->users, new char_data(msn_permstring(args[1])));
@@ -1547,6 +1554,7 @@
   msnconn * newSBconn=new msnconn;
   authdata_SB * auth=new authdata_SB;
 
+  if (numargs < 5) return;
   newSBconn->type=CONN_SB;
   newSBconn->auth=auth;
 
@@ -1576,6 +1584,7 @@
 
   list=conn->users;
 
+  if (numargs < 2) return;
   ext_user_left(conn, args[1]);
 
   while(list!=NULL)
@@ -1607,17 +1616,20 @@
   char * buddy;
   char * state;
   char * friendlyname;
-
+ 
   if(!strcmp(args[0], "ILN"))
   {
+    if (numargs < 5) return;
     friendlyname=args[4];
     buddy=args[3];
     state=args[2];
   } else if(!strcmp(args[0], "FLN")) {
+    if (numargs < 2) return;
     buddy=args[1];
     ext_buddy_offline(conn, buddy);
     return;
   } else {
+    if (numargs < 4) return;    
     friendlyname=args[3];
     buddy=args[2];
     state=args[1];
@@ -1628,12 +1640,13 @@
 
 void msn_handle_ADD(msnconn * conn, char ** args, int numargs)
 {
-  if (numargs == 7) return; /* group add */    
+  if (numargs == 7) return; /* group add */
+  if (numargs < 5) return;     
   if(!strcmp(args[2], "RL"))
   {
 if(DEBUG)
     printf("Via ADD:\n");
-
+    if (numargs < 6) return;
     ext_new_RL_entry(conn, args[4], msn_decode_URL(args[5]));
   }
 
@@ -1644,6 +1657,7 @@
 void msn_handle_REM(msnconn * conn, char ** args, int numargs)
 {
   if (numargs == 6) return; /* group change */ 
+  if (numargs < 5) return;
   ext_del_list_entry(conn, args[2], args[4]);
   ext_latest_serial(conn, atoi(args[3]));
 }
@@ -1651,18 +1665,21 @@
 
 void msn_handle_BLP(msnconn * conn, char ** args, int numargs)
 {
+  if (numargs < 4) return;
   ext_got_BLP(conn, args[3][0]);
   ext_latest_serial(conn, atoi(args[3]));
 }
 
 void msn_handle_GTC(msnconn * conn, char ** args, int numargs)
 {
+  if (numargs < 4) return;
   ext_got_GTC(conn, args[3][0]);
   ext_latest_serial(conn, atoi(args[3]));
 }
 
 void msn_handle_REA(msnconn * conn, char ** args, int numargs)
 {
+  if (numargs < 5) return;
   ext_latest_serial(conn, atoi(args[2]));
   ext_got_friendlyname(conn, msn_decode_URL(args[4]));
 }
@@ -1673,6 +1690,7 @@
   md5_byte_t digest[16];
   int a;
 
+  if (numargs < 3) return;
   md5_init(&state);
   md5_append(&state, (md5_byte_t *)(args[2]), strlen(args[2]));
   md5_append(&state, (md5_byte_t *)"Q1P7W2E4J9R8U3S5", 16);
@@ -1690,7 +1708,7 @@
 
 void msn_handle_OUT(msnconn * conn, char ** args, int numargs)
 {
-  if(numargs!=1)
+  if(numargs>1)
   {
     if(!strcmp(args[1], "OTH"))
     {
@@ -1954,6 +1972,7 @@
   info=(connectinfo *)data;
   msn_del_callback(conn, trid);
 
+  if (numargs < 3) return;
   if(strcmp(args[0], "VER") || strcmp(args[2], "MSNP7")) // if either 
*differs*...
   {
     ext_show_error(NULL, "MSN Protocol negotiation failed.");
@@ -1982,6 +2001,7 @@
   info=(connectinfo *)data;
   msn_del_callback(conn, trid);
 
+  if (numargs < 5) return;
   if(isdigit(args[0][0]))
   {
     msn_show_verbose_error(conn, atoi(args[0]));
@@ -2018,7 +2038,7 @@
 
   info=(connectinfo *)data;
   msn_del_callback(conn, trid);
-
+  
   if(isdigit(args[0][0]))
   {
     msn_show_verbose_error(conn, atoi(args[0]));
@@ -2027,6 +2047,7 @@
     return;
   }
 
+  if (numargs < 5) return;
   ext_got_friendlyname(conn, msn_decode_URL(args[4]));
   
   delete info;
@@ -2039,6 +2060,7 @@
 
 void msn_SB_ans(msnconn * conn, int trid, char ** args, int numargs, 
callback_data * data)
 {
+  if (numargs < 3) return;
   if(!strcmp(args[0], "ANS") && !strcmp(args[2], "OK"))
   { return; }
 
@@ -2052,6 +2074,7 @@
 
   if(!strcmp(args[0], "IRO"))
   {
+    if (numargs < 6) return;
     if(!strcmp(args[4], ((authdata_SB *)conn->auth)->username)) { return; }
     msn_add_to_llist(conn->users, new char_data(msn_permstring(args[4])));
     ext_user_joined(conn, args[4], msn_decode_URL(args[5]), 1);





reply via email to

[Prev in Thread] Current Thread [Next in Thread]