summaryrefslogtreecommitdiffstats
path: root/libxrdp/xrdp_rdp.c
diff options
context:
space:
mode:
authorJay Sorg <jay.sorg@gmail.com>2017-06-08 09:39:07 -0700
committermetalefty <meta@vmeta.jp>2017-06-22 11:47:48 +0900
commit8d63c32899ff9972e45cbb19f7aa020da31bbd8e (patch)
tree85e1cb7dea383aaeeb0d616d6464fe8dce1eead4 /libxrdp/xrdp_rdp.c
parent5def0596e0c8832d8c47396b7b5ab91258e3e4d9 (diff)
downloadxrdp-proprietary-8d63c32899ff9972e45cbb19f7aa020da31bbd8e.tar.gz
xrdp-proprietary-8d63c32899ff9972e45cbb19f7aa020da31bbd8e.zip
move openssl calls to common/libssl.c, check for defines
Diffstat (limited to 'libxrdp/xrdp_rdp.c')
-rw-r--r--libxrdp/xrdp_rdp.c43
1 files changed, 6 insertions, 37 deletions
diff --git a/libxrdp/xrdp_rdp.c b/libxrdp/xrdp_rdp.c
index ea3f446e..099cec47 100644
--- a/libxrdp/xrdp_rdp.c
+++ b/libxrdp/xrdp_rdp.c
@@ -22,9 +22,9 @@
#include <config_ac.h>
#endif
-#include <openssl/ssl.h>
#include "libxrdp.h"
#include "log.h"
+#include "ssl_calls.h"
#if defined(XRDP_NEUTRINORDP)
#include <freerdp/codec/rfx.h>
@@ -49,7 +49,7 @@ xrdp_rdp_read_config(struct xrdp_client_info *client_info)
char *item = NULL;
char *value = NULL;
char cfg_file[256];
- char *p = NULL;
+ int pos;
char *tmp = NULL;
int tmp_length = 0;
@@ -174,44 +174,13 @@ xrdp_rdp_read_config(struct xrdp_client_info *client_info)
tmp_length = g_strlen(value) + 3;
tmp = g_new(char, tmp_length);
g_snprintf(tmp, tmp_length, "%s%s%s", ",", value, ",");
+ /* replace all spaces with comma */
/* to accept space after comma */
- while ((p = (char *) g_strchr(tmp, ' ')) != NULL)
+ while ((pos = g_pos(tmp, " ")) != -1)
{
- *p = ',';
- }
-
- /* disable all protocols first, enable later */
- client_info->ssl_protocols =
- SSL_OP_NO_SSLv3 | SSL_OP_NO_TLSv1 | SSL_OP_NO_TLSv1_1 | SSL_OP_NO_TLSv1_2;
-
- if (g_pos(tmp, ",TLSv1.2,") >= 0)
- {
- log_message(LOG_LEVEL_DEBUG, "TLSv1.2 enabled");
- client_info->ssl_protocols &= ~SSL_OP_NO_TLSv1_2;
- }
- if (g_pos(tmp, ",TLSv1.1,") >= 0)
- {
- log_message(LOG_LEVEL_DEBUG, "TLSv1.1 enabled");
- client_info->ssl_protocols &= ~SSL_OP_NO_TLSv1_1;
- }
- if (g_pos(tmp, ",TLSv1,") >= 0)
- {
- log_message(LOG_LEVEL_DEBUG, "TLSv1 enabled");
- client_info->ssl_protocols &= ~SSL_OP_NO_TLSv1;
- }
- if (g_pos(tmp, ",SSLv3,") >= 0)
- {
- log_message(LOG_LEVEL_DEBUG, "SSLv3 enabled");
- client_info->ssl_protocols &= ~SSL_OP_NO_SSLv3;
- }
-
- if (client_info->ssl_protocols ==
- (SSL_OP_NO_SSLv3 | SSL_OP_NO_TLSv1 | SSL_OP_NO_TLSv1_1 | SSL_OP_NO_TLSv1_2))
- {
- log_message(LOG_LEVEL_WARNING, "No SSL/TLS protocols enabled. "
- "At least one protocol should be enabled to accept "
- "TLS connections.");
+ tmp[pos] = ',';
}
+ ssl_get_protocols_from_string(tmp, &(client_info->ssl_protocols));
g_free(tmp);
}
else if (g_strcasecmp(item, "tls_ciphers") == 0)