aboutsummaryrefslogtreecommitdiff
path: root/net/freerdp1/files/patch-libfreerdp_crypto_opensslcompat.c
blob: 544f0ab3064c195fae284ed445ce8abf22d13eae (plain) (blame)
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
--- libfreerdp/crypto/opensslcompat.c.orig	2018-11-15 22:42:44 UTC
+++ libfreerdp/crypto/opensslcompat.c
@@ -0,0 +1,44 @@
+/**
+ * FreeRDP: A Remote Desktop Protocol Implementation
+ * OpenSSL Compatibility
+ *
+ * Copyright (C) 2016 Norbert Federa <norbert.federa@thincast.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *		 http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "opensslcompat.h"
+
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
+
+BIO_METHOD* BIO_meth_new(int type, const char* name)
+{
+	BIO_METHOD* m;
+	if (!(m = calloc(1, sizeof(BIO_METHOD))))
+		return NULL;
+	m->type = type;
+	m->name = name;
+	return m;
+}
+
+void RSA_get0_key(const RSA* r, const BIGNUM** n, const BIGNUM** e, const BIGNUM** d)
+{
+	if (n != NULL)
+		*n = r->n;
+	if (e != NULL)
+		*e = r->e;
+	if (d != NULL)
+		*d = r->d;
+}
+
+#endif /* OPENSSL < 1.1.0 */