diff options
Diffstat (limited to 'sntp/crypto.h')
-rw-r--r-- | sntp/crypto.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/sntp/crypto.h b/sntp/crypto.h new file mode 100644 index 000000000000..5f184b06b275 --- /dev/null +++ b/sntp/crypto.h @@ -0,0 +1,36 @@ +#ifndef CRYPTO_H +#define CRYPTO_H + +#include <string.h> +#include <stdio.h> +#include <stdlib.h> + +#include <ntp_fp.h> +#include <ntp.h> +#include <ntp_stdlib.h> +#ifdef OPENSSL +# include "openssl/evp.h" +#else +# include <ntp_md5.h> /* provides clone of OpenSSL MD5 API */ +#endif +#include "utilities.h" +#include "sntp-opts.h" + +#define LEN_PKT_MAC LEN_PKT_NOMAC + sizeof(u_int32) + +/* #include "sntp-opts.h" */ + +struct key { + struct key *next; + int key_id; + int key_len; + char type[10]; + char key_seq[64]; +}; + +int auth_init(const char *keyfile, struct key **keys); +void get_key(int key_id, struct key **d_key); +int make_mac(char *pkt_data, int pkt_size, int mac_size, struct key *cmp_key, char *digest); +int auth_md5(char *pkt_data, int pkt_size, int mac_size, struct key *cmp_key); + +#endif |