diff options
Diffstat (limited to 'mac.c')
-rw-r--r-- | mac.c | 14 |
1 files changed, 11 insertions, 3 deletions
@@ -1,3 +1,4 @@ | |||
1 | /* $OpenBSD: mac.c,v 1.12 2006/08/03 03:34:42 deraadt Exp $ */ | ||
1 | /* | 2 | /* |
2 | * Copyright (c) 2001 Markus Friedl. All rights reserved. | 3 | * Copyright (c) 2001 Markus Friedl. All rights reserved. |
3 | * | 4 | * |
@@ -23,16 +24,23 @@ | |||
23 | */ | 24 | */ |
24 | 25 | ||
25 | #include "includes.h" | 26 | #include "includes.h" |
26 | RCSID("$OpenBSD: mac.c,v 1.7 2005/06/17 02:44:32 djm Exp $"); | 27 | |
28 | #include <sys/types.h> | ||
27 | 29 | ||
28 | #include <openssl/hmac.h> | 30 | #include <openssl/hmac.h> |
29 | 31 | ||
32 | #include <stdarg.h> | ||
33 | #include <string.h> | ||
34 | #include <signal.h> | ||
35 | |||
30 | #include "xmalloc.h" | 36 | #include "xmalloc.h" |
31 | #include "getput.h" | ||
32 | #include "log.h" | 37 | #include "log.h" |
33 | #include "cipher.h" | 38 | #include "cipher.h" |
39 | #include "buffer.h" | ||
40 | #include "key.h" | ||
34 | #include "kex.h" | 41 | #include "kex.h" |
35 | #include "mac.h" | 42 | #include "mac.h" |
43 | #include "misc.h" | ||
36 | 44 | ||
37 | struct { | 45 | struct { |
38 | char *name; | 46 | char *name; |
@@ -83,7 +91,7 @@ mac_compute(Mac *mac, u_int32_t seqno, u_char *data, int datalen) | |||
83 | if (mac->mac_len > sizeof(m)) | 91 | if (mac->mac_len > sizeof(m)) |
84 | fatal("mac_compute: mac too long"); | 92 | fatal("mac_compute: mac too long"); |
85 | HMAC_Init(&c, mac->key, mac->key_len, mac->md); | 93 | HMAC_Init(&c, mac->key, mac->key_len, mac->md); |
86 | PUT_32BIT(b, seqno); | 94 | put_u32(b, seqno); |
87 | HMAC_Update(&c, b, sizeof(b)); | 95 | HMAC_Update(&c, b, sizeof(b)); |
88 | HMAC_Update(&c, data, datalen); | 96 | HMAC_Update(&c, data, datalen); |
89 | HMAC_Final(&c, m, NULL); | 97 | HMAC_Final(&c, m, NULL); |