Blocked revisions 72597 via svnmerge
[asterisk/asterisk.git] / main / cryptostub.c
1 /*
2  * Asterisk -- An open source telephony toolkit.
3  *
4  * Copyright (C) 1999 - 2005, Digium, Inc.
5  *
6  * Mark Spencer <markster@digium.com>
7  *
8  * See http://www.asterisk.org for more information about
9  * the Asterisk project. Please do not directly contact
10  * any of the maintainers of this project for assistance;
11  * the project provides a web site, mailing lists and IRC
12  * channels for your use.
13  *
14  * This program is free software, distributed under the terms of
15  * the GNU General Public License Version 2. See the LICENSE file
16  * at the top of the source tree.
17  */
18
19 /*! \file
20  *
21  * \brief Stubs for res_crypto routines
22  *
23  * \author Mark Spencer <markster@digium.com>
24  */
25
26 #include "asterisk.h"
27
28 ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
29
30 #include <unistd.h>
31 #include <stdlib.h>
32
33 #include "asterisk/crypto.h"
34 #include "asterisk/logger.h"
35
36 static struct ast_key *stub_ast_key_get(const char *kname, int ktype)
37 {
38         ast_log(LOG_NOTICE, "Crypto support not loaded!\n");
39         return NULL;
40 }
41
42 #ifdef SKREP
43 #define build_stub(func_name,...) \
44 static int stub_ ## func_name(__VA_ARGS__) \
45 { \
46         ast_log(LOG_NOTICE, "Crypto support not loaded!\n"); \
47         return -1; \
48 } \
49 \
50 int (*func_name)(__VA_ARGS__) = \
51         stub_ ## func_name;
52 #endif
53 #define build_stub(func_name,...) \
54 static int stub_##func_name(__VA_ARGS__) \
55 { \
56         ast_log(LOG_NOTICE, "Crypto support not loaded!\n"); \
57         return -1; \
58 } \
59 \
60 int (*func_name)(__VA_ARGS__) = \
61         stub_##func_name;
62
63 struct ast_key *(*ast_key_get)(const char *key, int type) =
64 stub_ast_key_get;
65
66 build_stub(ast_check_signature, struct ast_key *key, const char *msg, const char *sig);
67 build_stub(ast_check_signature_bin, struct ast_key *key, const char *msg, int msglen, const unsigned char *sig);
68 build_stub(ast_sign, struct ast_key *key, char *msg, char *sig);
69 build_stub(ast_sign_bin, struct ast_key *key, const char *msg, int msglen, unsigned char *sig);
70 build_stub(ast_encrypt_bin, unsigned char *dst, const unsigned char *src, int srclen, struct ast_key *key);
71 build_stub(ast_decrypt_bin, unsigned char *dst, const unsigned char *src, int srclen, struct ast_key *key);