[BACK]Return to mac.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

Diff for /src/usr.bin/ssh/mac.c between version 1.32 and 1.33

version 1.32, 2015/01/15 18:32:54 version 1.33, 2016/07/08 03:44:42
Line 159 
Line 159 
 }  }
   
 int  int
 mac_compute(struct sshmac *mac, u_int32_t seqno, const u_char *data, int datalen,  mac_compute(struct sshmac *mac, u_int32_t seqno,
       const u_char *data, int datalen,
     u_char *digest, size_t dlen)      u_char *digest, size_t dlen)
 {  {
         static union {          static union {
Line 200 
Line 201 
                         dlen = mac->mac_len;                          dlen = mac->mac_len;
                 memcpy(digest, u.m, dlen);                  memcpy(digest, u.m, dlen);
         }          }
           return 0;
   }
   
   int
   mac_check(struct sshmac *mac, u_int32_t seqno,
       const u_char *data, size_t dlen,
       const u_char *theirmac, size_t mlen)
   {
           u_char ourmac[SSH_DIGEST_MAX_LENGTH];
           int r;
   
           if (mac->mac_len > mlen)
                   return SSH_ERR_INVALID_ARGUMENT;
           if ((r = mac_compute(mac, seqno, data, dlen,
               ourmac, sizeof(ourmac))) != 0)
                   return r;
           if (timingsafe_bcmp(ourmac, theirmac, mac->mac_len) != 0)
                   return SSH_ERR_MAC_INVALID;
         return 0;          return 0;
 }  }
   

Legend:
Removed from v.1.32  
changed lines
  Added in v.1.33