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

Diff for /src/usr.bin/ssh/digest-libc.c between version 1.2 and 1.3

version 1.2, 2014/02/02 03:44:31 version 1.3, 2014/06/24 01:13:21
Line 26 
Line 26 
 #include <sha1.h>  #include <sha1.h>
 #include <sha2.h>  #include <sha2.h>
   
 #include "buffer.h"  #include "ssherr.h"
   #include "sshbuf.h"
 #include "digest.h"  #include "digest.h"
   
 typedef void md_init_fn(void *mdctx);  typedef void md_init_fn(void *mdctx);
Line 162 
Line 163 
         const struct ssh_digest *digest = ssh_digest_by_alg(from->alg);          const struct ssh_digest *digest = ssh_digest_by_alg(from->alg);
   
         if (digest == NULL || from->alg != to->alg)          if (digest == NULL || from->alg != to->alg)
                 return -1;                  return SSH_ERR_INVALID_ARGUMENT;
         memcpy(to->mdctx, from->mdctx, digest->ctx_len);          memcpy(to->mdctx, from->mdctx, digest->ctx_len);
         return 0;          return 0;
 }  }
Line 173 
Line 174 
         const struct ssh_digest *digest = ssh_digest_by_alg(ctx->alg);          const struct ssh_digest *digest = ssh_digest_by_alg(ctx->alg);
   
         if (digest == NULL)          if (digest == NULL)
                 return -1;                  return SSH_ERR_INVALID_ARGUMENT;
         digest->md_update(ctx->mdctx, m, mlen);          digest->md_update(ctx->mdctx, m, mlen);
         return 0;          return 0;
 }  }
   
 int  int
 ssh_digest_update_buffer(struct ssh_digest_ctx *ctx, const Buffer *b)  ssh_digest_update_buffer(struct ssh_digest_ctx *ctx, const struct sshbuf *b)
 {  {
         return ssh_digest_update(ctx, buffer_ptr(b), buffer_len(b));          return ssh_digest_update(ctx, sshbuf_ptr(b), sshbuf_len(b));
 }  }
   
 int  int
Line 190 
Line 191 
         const struct ssh_digest *digest = ssh_digest_by_alg(ctx->alg);          const struct ssh_digest *digest = ssh_digest_by_alg(ctx->alg);
   
         if (digest == NULL)          if (digest == NULL)
                 return -1;                  return SSH_ERR_INVALID_ARGUMENT;
         if (dlen > UINT_MAX)          if (dlen > UINT_MAX)
                 return -1;                  return SSH_ERR_INVALID_ARGUMENT;
         if (dlen < digest->digest_len) /* No truncation allowed */          if (dlen < digest->digest_len) /* No truncation allowed */
                 return -1;                  return SSH_ERR_INVALID_ARGUMENT;
         digest->md_final(d, ctx->mdctx);          digest->md_final(d, ctx->mdctx);
         return 0;          return 0;
 }  }
Line 221 
Line 222 
         struct ssh_digest_ctx *ctx = ssh_digest_start(alg);          struct ssh_digest_ctx *ctx = ssh_digest_start(alg);
   
         if (ctx == NULL)          if (ctx == NULL)
                 return -1;                  return SSH_ERR_INVALID_ARGUMENT;
         if (ssh_digest_update(ctx, m, mlen) != 0 ||          if (ssh_digest_update(ctx, m, mlen) != 0 ||
             ssh_digest_final(ctx, d, dlen) != 0)              ssh_digest_final(ctx, d, dlen) != 0)
                 return -1;                  return SSH_ERR_INVALID_ARGUMENT;
         ssh_digest_free(ctx);          ssh_digest_free(ctx);
         return 0;          return 0;
 }  }
   
 int  int
 ssh_digest_buffer(int alg, const Buffer *b, u_char *d, size_t dlen)  ssh_digest_buffer(int alg, const struct sshbuf *b, u_char *d, size_t dlen)
 {  {
         return ssh_digest_memory(alg, buffer_ptr(b), buffer_len(b), d, dlen);          return ssh_digest_memory(alg, sshbuf_ptr(b), sshbuf_len(b), d, dlen);
 }  }

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3