File: cipher-test.c

package info (click to toggle)
gnutls28 3.8.12-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 82,380 kB
  • sloc: ansic: 392,233; asm: 117,804; sh: 18,758; makefile: 6,804; yacc: 1,858; python: 1,399; cpp: 1,243; perl: 995; sed: 39
file content (64 lines) | stat: -rw-r--r-- 1,239 bytes parent folder | download | duplicates (4)
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include "config.h"
#include <stdint.h>
#include <stdio.h>
#include <string.h>
#include "utils.h"
#include <stdlib.h>
#include <gnutls/gnutls.h>
#include <gnutls/crypto.h>
#include <gnutls/self-test.h>
#include <signal.h>

/* This does check the AES and SHA implementation against test vectors.
 * This should not run under valgrind in order to use the native
 * cpu instructions (AES-NI or padlock).
 */

#if defined(WIN32)
int main(int argc, char **argv)
{
	exit(77);
}
#else
#include <unistd.h>

static void handle_sigill(int sig)
{
	_exit(0);
}

static void tls_log_func(int level, const char *str)
{
	fprintf(stderr, "<%d>| %s", level, str);
}

int main(int argc, char **argv)
{
	gnutls_global_set_log_function(tls_log_func);
	if (argc > 1)
		gnutls_global_set_log_level(4711);

	global_init();
	signal(SIGILL, handle_sigill);

	/* ciphers */
	if (gnutls_cipher_self_test(GNUTLS_SELF_TEST_FLAG_ALL, 0) < 0)
		return 1;

	/* message digests */
	if (gnutls_digest_self_test(GNUTLS_SELF_TEST_FLAG_ALL, 0) < 0)
		return 1;

	/* MAC */
	if (gnutls_mac_self_test(GNUTLS_SELF_TEST_FLAG_ALL, 0) < 0)
		return 1;

	/* PK */
	if (gnutls_pk_self_test(GNUTLS_SELF_TEST_FLAG_ALL, 0) < 0)
		return 1;

	gnutls_global_deinit();
	return 0;
}

#endif