]> CyberLeo.Net >> Repos - FreeBSD/releng/9.3.git/blob - contrib/ntp/libntp/authusekey.c
o Fix invalid TCP checksums with pf(4). [EN-16:02.pf]
[FreeBSD/releng/9.3.git] / contrib / ntp / libntp / authusekey.c
1 /*
2  * authusekey - decode a key from ascii and use it
3  */
4 #include <config.h>
5 #include <stdio.h>
6 #include <ctype.h>
7
8 #include "ntp_types.h"
9 #include "ntp_string.h"
10 #include "ntp_stdlib.h"
11
12 /*
13  * Types of ascii representations for keys.  "Standard" means a 64 bit
14  * hex number in NBS format, i.e. with the low order bit of each byte
15  * a parity bit.  "NTP" means a 64 bit key in NTP format, with the
16  * high order bit of each byte a parity bit.  "Ascii" means a 1-to-8
17  * character string whose ascii representation is used as the key.
18  */
19 int
20 authusekey(
21         keyid_t keyno,
22         int keytype,
23         const u_char *str
24         )
25 {
26         size_t  len;
27
28         len = strlen((const char *)str);
29         if (0 == len)
30                 return 0;
31
32         MD5auth_setkey(keyno, keytype, str, len);
33         return 1;
34 }