Diff for /ansh/src/client3.c between versions 1.1.1.1 and 1.1.1.1.2.2

version 1.1.1.1, 2011/10/04 22:37:46 version 1.1.1.1.2.2, 2011/10/07 13:41:26
Line 27  SetRemoteWinz(int h, u_short id, struct sockaddr *sa,  Line 27  SetRemoteWinz(int h, u_short id, struct sockaddr *sa, 
         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 (icmpSend(h, id, ANSH_FLG_WINZ, buf, sizeof ws, sa, sizeof(struct sockaddr)) == -1)        if (icmpSend(h, id, ANSH_FLG_WINZ, Crypted, buf, sizeof ws, sa, sizeof(struct sockaddr)) == -1)
                 return -1;                  return -1;
   
         return 0;          return 0;
Line 42  ConnectL3(int h, u_short id, struct sockaddr *sa, int  Line 42  ConnectL3(int h, u_short id, struct sockaddr *sa, int 
         int rlen, ret = 0;          int rlen, ret = 0;
         u_short aid;          u_short aid;
         struct sockaddr s;          struct sockaddr s;
        char flg;        char flg, nl = 0;
        u_char *buf;        u_char *buf, *str;
         socklen_t sl;          socklen_t sl;
   
         FTRACE(3);          FTRACE(3);
Line 76  ConnectL3(int h, u_short id, struct sockaddr *sa, int  Line 76  ConnectL3(int h, u_short id, struct sockaddr *sa, int 
                                 ret = -1;                                  ret = -1;
                                 break;                                  break;
                         }                          }
                        rlen = icmpSend(h, id, ANSH_FLG_CPOUT, buf, rlen, sa, sizeof(struct sockaddr));
                         /* local command handling */
                         if (rlen) {
                                 /* execute local command */
                                 if (nl == 2) {
                                         switch (*buf) {
                                                 case '.':
                                                         Kill++;
                                                         printf("\n");
                                                         VERB(1) LOG("Exit from client\n");
                                                         continue;
                                                 case '~':
                                                 default:
                                                         nl ^= nl;
                                                         /* send buffer, unknown command  */
                                                         break;
                                         }
                                 }
                                 /* skip buffer and wait for local command */
                                 if (nl == 1 && *buf == '~') {
                                         nl++;
                                         continue;
                                 }
                                 /* send buffer if detect NL */
                                 if (*buf == 0xa || *buf == 0xd)
                                         nl = 1;
                                 else
                                         nl ^= nl;
                         } else
                                 nl ^= nl;
 
                         if (Crypted) {
                                 str = cryptBuffer(buf, rlen, Crypted);
                                 if (str) {
                                         memcpy(buf, str, rlen);
                                         free(str);
                                 }
                         }
 
                         rlen = icmpSend(h, id, ANSH_FLG_CPOUT, Crypted, buf, rlen, sa, sizeof(struct sockaddr));
                         if (rlen == ANSH_FLG_ERR) {                          if (rlen == ANSH_FLG_ERR) {
                                 ret = -1;                                  ret = -1;
                                 break;                                  break;
Line 85  ConnectL3(int h, u_short id, struct sockaddr *sa, int  Line 124  ConnectL3(int h, u_short id, struct sockaddr *sa, int 
                         sl = sizeof s;                          sl = sizeof s;
                         rlen = len;                          rlen = len;
                         memset(buf, 0, rlen);                          memset(buf, 0, rlen);
                        flg = icmpRecv(h, &aid, buf, &rlen, &s, &sl);                        flg = icmpRecv(h, &aid, &Crypted, buf, &rlen, &s, &sl);
                         if (flg == ANSH_FLG_ERR) {                          if (flg == ANSH_FLG_ERR) {
                                 ret = -1;                                  ret = -1;
                                 break;                                  break;
Line 100  ConnectL3(int h, u_short id, struct sockaddr *sa, int  Line 139  ConnectL3(int h, u_short id, struct sockaddr *sa, int 
                         }                          }
                         if (flg != ANSH_FLG_OK)                          if (flg != ANSH_FLG_OK)
                                 continue;                                  continue;
   
                           if (Crypted) {
                                   str = cryptBuffer(buf, rlen, Crypted);
                                   if (str) {
                                           memcpy(buf, str, rlen);
                                           free(str);
                                   }
                           }
   
                         rlen = write(STDOUT_FILENO, buf, rlen);                          rlen = write(STDOUT_FILENO, buf, rlen);
                         if (rlen == -1) {                          if (rlen == -1) {
                                 printf("Error:: write(stdout) #%d - %s\n", errno, strerror(errno));                                  printf("Error:: write(stdout) #%d - %s\n", errno, strerror(errno));

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


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