summaryrefslogtreecommitdiffstats
path: root/contrib/ntp/sntp/crypto.h
blob: 19cdbc45e51eaa318955a18284550b69cb52ce10 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#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>
#include <ntp_md5.h>	/* provides OpenSSL digest API */
#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];
};

extern	int	auth_init(const char *keyfile, struct key **keys);
extern	void	get_key(int key_id, struct key **d_key);
extern	int	make_mac(const void *pkt_data, int pkt_size, int mac_size,
			 const struct key *cmp_key, void *digest);
extern	int	auth_md5(const void *pkt_data, int pkt_size, int mac_size,
			 const struct key *cmp_key);

#endif
OpenPOWER on IntegriCloud