OpenVPN
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
Functions
Variables
Data Structures
Data Structures
Class Hierarchy
Data Fields
All
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
Variables
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerator
Files
File List
Globals
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Functions
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
w
x
z
Typedefs
a
b
c
d
e
f
h
i
l
m
n
o
p
s
u
w
Enumerations
_
a
c
d
e
f
g
h
k
m
o
p
r
t
u
v
w
Enumerator
_
a
c
d
e
f
g
i
k
m
o
p
r
s
t
u
v
w
Macros
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
tests
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
33
int
34
main
(
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
}
M_FATAL
#define M_FATAL
Definition:
error.h:89
main
int main(void)
Definition:
ntlm_support.c:34
crypto.h
crypto_unload_provider
void crypto_unload_provider(const char *provname, provider_t *provider)
Unloads the given (OpenSSL) provider.
Definition:
crypto_openssl.c:178
provider_t
void provider_t
Definition:
crypto_mbedtls.h:51
syshead.h
crypto_load_provider
provider_t * crypto_load_provider(const char *provider)
Load the given (OpenSSL) providers.
Definition:
crypto_openssl.c:161
config.h
md_valid
bool md_valid(const char *digest)
Return if a message digest parameters is valid given the name of the digest.
Definition:
crypto_openssl.c:1039
msg
#define msg(flags,...)
Definition:
error.h:144
Generated by
1.8.17