OpenVPN
ntlm_support.c
Go to the documentation of this file.
1/*
2 * OpenVPN -- An application to securely tunnel IP networks
3 * over a single UDP port, with support for SSL/TLS-based
4 * session authentication and key exchange,
5 * packet encryption, packet authentication, and
6 * packet compression.
7 *
8 * Copyright (C) 2023-2024 OpenVPN Inc <sales@openvpn.net>
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License version 2
12 * as published by the Free Software Foundation.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License along
20 * with this program; if not, write to the Free Software Foundation, Inc.,
21 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
22 */
23
24#ifdef HAVE_CONFIG_H
25#include "config.h"
26#endif
27
28#include "syshead.h"
29
30#include "crypto.h"
31#include "error.h"
32
33int
34main(void)
35{
36#ifdef NTLM
37#if defined(ENABLE_CRYPTO_OPENSSL)
38 provider_t *legacy = crypto_load_provider("legacy");
39 provider_t *def = crypto_load_provider("default");
40#endif
41 if (!md_valid("MD4"))
42 {
43 msg(M_FATAL, "MD4 not supported");
44 }
45 if (!md_valid("MD5"))
46 {
47 msg(M_FATAL, "MD5 not supported");
48 }
49#if defined(ENABLE_CRYPTO_OPENSSL)
50 crypto_unload_provider("legacy", legacy);
51 crypto_unload_provider("default", def);
52#endif
53#else /* ifdef NTLM */
54 msg(M_FATAL, "NTLM support not compiled in");
55#endif
56}
Data Channel Cryptography Module.
void crypto_unload_provider(const char *provname, provider_t *provider)
Unloads the given (OpenSSL) provider.
bool md_valid(const char *digest)
Return if a message digest parameters is valid given the name of the digest.
provider_t * crypto_load_provider(const char *provider)
Load the given (OpenSSL) providers.
void provider_t
int main(void)
#define M_FATAL
Definition error.h:89
#define msg(flags,...)
Definition error.h:144