Diff for /ansh/src/client2.c between versions 1.1.1.1.2.2 and 1.1.1.1.2.3

version 1.1.1.1.2.2, 2011/10/10 13:56:30 version 1.1.1.1.2.3, 2011/10/13 14:29:30
Line 27  SetRemoteWinz(int h, struct ether_addr *ea, u_char *bu Line 27  SetRemoteWinz(int h, struct ether_addr *ea, u_char *bu
         pos[1] = htons(ws.ws_col);          pos[1] = htons(ws.ws_col);
         pos[2] = htons(ws.ws_xpixel);          pos[2] = htons(ws.ws_xpixel);
         pos[3] = htons(ws.ws_ypixel);          pos[3] = htons(ws.ws_ypixel);
        if (pktSend(h, ANSH_FLG_WINZ, Crypted, buf, sizeof ws, ea) == -1)        if (pktSend(h, 0, ANSH_FLG_WINZ, Crypted, buf, sizeof ws, ea) == -1)
                 return -1;                  return -1;
   
         return 0;          return 0;
Line 43  ConnectL2(int h, struct ether_addr *ea, int len) Line 43  ConnectL2(int h, struct ether_addr *ea, int len)
         int rlen, ret = 0;          int rlen, ret = 0;
         char flg, nl = 0;          char flg, nl = 0;
         u_char *buf, *str;          u_char *buf, *str;
           u_int s, Seq = 0;
   
         FTRACE(3);          FTRACE(3);
   
Line 66  ConnectL2(int h, struct ether_addr *ea, int len) Line 67  ConnectL2(int h, struct ether_addr *ea, int len)
                         ret = -1;                          ret = -1;
                         break;                          break;
                 }                  }
                if (FD_ISSET(STDIN_FILENO, &rfd)) {                if (FD_ISSET(h, &rfd)) {
                         rlen = len;
                         memset(buf, 0, rlen);
                         flg = pktRecv(h, &s, &Crypted, buf, &rlen, &eth);
                         if (flg == ANSH_FLG_ERR) {
                                 ret = -1;
                                 break;
                         }
                         if (ntohs(eth.ether_type) != ANSH_ID) {
                                 VERB(4) LOG("different service id %d / %d\n", eth.ether_type, ANSH_ID);
                                 continue;
                         }
                         if (flg == ANSH_FLG_EOF) {
                                 VERB(3) LOG("receive EOF going down.\n");
                                 Kill++;
                         }
                         if (flg != ANSH_FLG_OK)
                                 continue;
                         if (s <= Seq)
                                 continue;
                         else if (s > (Seq + 1))
                                 VERB(1) LOG("LOST PACKET(s) detect: %d; received seq=%d - %d", 
                                                 s - (Seq + 1), s, Seq);
                         Seq = s;
 
                         if (Crypted) {
                                 str = cryptBuffer(buf, rlen, Crypted);
                                 if (str) {
                                         memcpy(buf, str, rlen);
                                         free(str);
                                 }
                         }
 
                         rlen = write(STDOUT_FILENO, buf, rlen);
                         if (rlen == -1) {
                                 printf("Error:: write(stdout) #%d - %s\n", errno, strerror(errno));
                                 ret = -1;
                                 break;
                         }
                 } else {
                         memset(buf, 0, len);                          memset(buf, 0, len);
                         rlen = read(STDIN_FILENO, buf, len);                          rlen = read(STDIN_FILENO, buf, len);
                         if (rlen == -1) {                          if (rlen == -1) {
Line 113  ConnectL2(int h, struct ether_addr *ea, int len) Line 153  ConnectL2(int h, struct ether_addr *ea, int len)
                                 }                                  }
                         }                          }
   
                        rlen = pktSend(h, ANSH_FLG_CPOUT, Crypted, buf, rlen, ea);                        rlen = pktSend(h, ++Seq, ANSH_FLG_CPOUT, Crypted, buf, rlen, ea);
                         if (rlen == ANSH_FLG_ERR) {                          if (rlen == ANSH_FLG_ERR) {
                                 ret = -1;  
                                 break;  
                         }  
                 } else {  
                         rlen = len;  
                         memset(buf, 0, rlen);  
                         flg = pktRecv(h, &Crypted, buf, &rlen, &eth);  
                         if (flg == ANSH_FLG_ERR) {  
                                 ret = -1;  
                                 break;  
                         }  
                         if (ntohs(eth.ether_type) != ANSH_ID) {  
                                 VERB(4) LOG("different service id %d / %d\n", eth.ether_type, ANSH_ID);  
                                 continue;  
                         }  
                         if (flg == ANSH_FLG_EOF) {  
                                 VERB(3) LOG("receive EOF going down.\n");  
                                 Kill++;  
                         }  
                         if (flg != ANSH_FLG_OK)  
                                 continue;  
   
                         if (Crypted) {  
                                 str = cryptBuffer(buf, rlen, Crypted);  
                                 if (str) {  
                                         memcpy(buf, str, rlen);  
                                         free(str);  
                                 }  
                         }  
   
                         rlen = write(STDOUT_FILENO, buf, rlen);  
                         if (rlen == -1) {  
                                 printf("Error:: write(stdout) #%d - %s\n", errno, strerror(errno));  
                                 ret = -1;                                  ret = -1;
                                 break;                                  break;
                         }                          }

Removed from v.1.1.1.1.2.2  
changed lines
  Added in v.1.1.1.1.2.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>