From b672bda85e3cea077b2425b76e3fe8d4aa0ebd33 Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Wed, 6 Jul 2022 09:50:23 +0200 Subject: [PATCH] Removed RdpKeyFile and RdpKeyContent settings They are a duplicate of PrivateKeyFile and PrivateKeyContent --- include/freerdp/server/proxy/proxy_config.h | 3 -- include/freerdp/settings.h | 6 +-- libfreerdp/common/settings_getters.c | 18 ------- libfreerdp/common/settings_str.c | 2 - libfreerdp/core/nego.c | 4 +- libfreerdp/core/peer.c | 10 ++-- .../core/test/settings_property_lists.h | 2 - server/Sample/sfreerdp.c | 3 +- server/proxy/pf_config.c | 48 ------------------- server/proxy/pf_context.c | 1 - server/proxy/pf_server.c | 4 +- server/shadow/shadow_client.c | 4 -- 12 files changed, 11 insertions(+), 94 deletions(-) diff --git a/include/freerdp/server/proxy/proxy_config.h b/include/freerdp/server/proxy/proxy_config.h index 8623f4582..d95cbc8ff 100644 --- a/include/freerdp/server/proxy/proxy_config.h +++ b/include/freerdp/server/proxy/proxy_config.h @@ -94,9 +94,6 @@ struct proxy_config char* PrivateKeyFile; char* PrivateKeyContent; - - char* RdpKeyFile; - char* RdpKeyContent; }; #ifdef __cplusplus diff --git a/include/freerdp/settings.h b/include/freerdp/settings.h index 2fff745d6..c7971588b 100644 --- a/include/freerdp/settings.h +++ b/include/freerdp/settings.h @@ -687,13 +687,11 @@ typedef struct #define FreeRDP_CertificateName (1409) #define FreeRDP_CertificateFile (1410) #define FreeRDP_PrivateKeyFile (1411) -#define FreeRDP_RdpKeyFile (1412) #define FreeRDP_RdpServerRsaKey (1413) #define FreeRDP_RdpServerCertificate (1414) #define FreeRDP_ExternalCertificateManagement (1415) #define FreeRDP_CertificateContent (1416) #define FreeRDP_PrivateKeyContent (1417) -#define FreeRDP_RdpKeyContent (1418) #define FreeRDP_AutoAcceptCertificate (1419) #define FreeRDP_AutoDenyCertificate (1420) #define FreeRDP_CertificateAcceptedFingerprints (1421) @@ -1198,13 +1196,13 @@ struct rdp_settings ALIGN64 char* CertificateName; /* 1409 */ ALIGN64 char* CertificateFile; /* 1410 */ ALIGN64 char* PrivateKeyFile; /* 1411 */ - ALIGN64 char* RdpKeyFile; /* 1412 */ + UINT64 padding1412[1]; /* 1412 */ ALIGN64 rdpRsaKey* RdpServerRsaKey; /* 1413 */ ALIGN64 rdpCertificate* RdpServerCertificate; /* 1414 */ ALIGN64 BOOL ExternalCertificateManagement; /* 1415 */ ALIGN64 char* CertificateContent; /* 1416 */ ALIGN64 char* PrivateKeyContent; /* 1417 */ - ALIGN64 char* RdpKeyContent; /* 1418 */ + UINT64 padding1418[1]; /* 1418 */ ALIGN64 BOOL AutoAcceptCertificate; /* 1419 */ ALIGN64 BOOL AutoDenyCertificate; /* 1420 */ ALIGN64 char* CertificateAcceptedFingerprints; /* 1421 */ diff --git a/libfreerdp/common/settings_getters.c b/libfreerdp/common/settings_getters.c index 15816826c..72a71a942 100644 --- a/libfreerdp/common/settings_getters.c +++ b/libfreerdp/common/settings_getters.c @@ -2518,12 +2518,6 @@ const char* freerdp_settings_get_string(const rdpSettings* settings, size_t id) case FreeRDP_RDP2TCPArgs: return settings->RDP2TCPArgs; - case FreeRDP_RdpKeyContent: - return settings->RdpKeyContent; - - case FreeRDP_RdpKeyFile: - return settings->RdpKeyFile; - case FreeRDP_ReaderName: return settings->ReaderName; @@ -2785,12 +2779,6 @@ char* freerdp_settings_get_string_writable(rdpSettings* settings, size_t id) case FreeRDP_RDP2TCPArgs: return settings->RDP2TCPArgs; - case FreeRDP_RdpKeyContent: - return settings->RdpKeyContent; - - case FreeRDP_RdpKeyFile: - return settings->RdpKeyFile; - case FreeRDP_ReaderName: return settings->ReaderName; @@ -3062,12 +3050,6 @@ BOOL freerdp_settings_set_string_(rdpSettings* settings, size_t id, const char* case FreeRDP_RDP2TCPArgs: return update_string(&settings->RDP2TCPArgs, cnv.cc, len, cleanup); - case FreeRDP_RdpKeyContent: - return update_string(&settings->RdpKeyContent, cnv.cc, len, cleanup); - - case FreeRDP_RdpKeyFile: - return update_string(&settings->RdpKeyFile, cnv.cc, len, cleanup); - case FreeRDP_ReaderName: return update_string(&settings->ReaderName, cnv.cc, len, cleanup); diff --git a/libfreerdp/common/settings_str.c b/libfreerdp/common/settings_str.c index 4ca550f29..ea9bfd503 100644 --- a/libfreerdp/common/settings_str.c +++ b/libfreerdp/common/settings_str.c @@ -367,8 +367,6 @@ static const struct settings_str_entry settings_map[] = { { FreeRDP_ProxyPassword, 7, "FreeRDP_ProxyPassword" }, { FreeRDP_ProxyUsername, 7, "FreeRDP_ProxyUsername" }, { FreeRDP_RDP2TCPArgs, 7, "FreeRDP_RDP2TCPArgs" }, - { FreeRDP_RdpKeyContent, 7, "FreeRDP_RdpKeyContent" }, - { FreeRDP_RdpKeyFile, 7, "FreeRDP_RdpKeyFile" }, { FreeRDP_ReaderName, 7, "FreeRDP_ReaderName" }, { FreeRDP_RedirectionAcceptedCert, 7, "FreeRDP_RedirectionAcceptedCert" }, { FreeRDP_RedirectionDomain, 7, "FreeRDP_RedirectionDomain" }, diff --git a/libfreerdp/core/nego.c b/libfreerdp/core/nego.c index d060caba5..cae5dd967 100644 --- a/libfreerdp/core/nego.c +++ b/libfreerdp/core/nego.c @@ -1313,8 +1313,8 @@ BOOL nego_send_negotiation_response(rdpNego* nego) settings->UseRdpSecurityLayer = FALSE; settings->EncryptionLevel = ENCRYPTION_LEVEL_NONE; } - else if (!settings->RdpServerRsaKey && !settings->RdpKeyFile && - !settings->RdpKeyContent) + else if (!settings->RdpServerRsaKey && !settings->PrivateKeyFile && + !settings->PrivateKeyContent) { WLog_ERR(TAG, "Missing server certificate"); return FALSE; diff --git a/libfreerdp/core/peer.c b/libfreerdp/core/peer.c index a155d4ac0..f642f8ad2 100644 --- a/libfreerdp/core/peer.c +++ b/libfreerdp/core/peer.c @@ -242,19 +242,19 @@ static BOOL freerdp_peer_initialize(freerdp_peer* client) settings->LocalConnection = client->local; rdp_server_transition_to_state(rdp, CONNECTION_STATE_INITIAL); - if (settings->RdpKeyFile) + if (settings->PrivateKeyFile) { - settings->RdpServerRsaKey = key_new(settings->RdpKeyFile); + settings->RdpServerRsaKey = key_new(settings->PrivateKeyFile); if (!settings->RdpServerRsaKey) { - WLog_ERR(TAG, "invalid RDP key file %s", settings->RdpKeyFile); + WLog_ERR(TAG, "invalid RDP key file %s", settings->PrivateKeyFile); return FALSE; } } - else if (settings->RdpKeyContent) + else if (settings->PrivateKeyContent) { - settings->RdpServerRsaKey = key_new_from_content(settings->RdpKeyContent, NULL); + settings->RdpServerRsaKey = key_new_from_content(settings->PrivateKeyContent, NULL); if (!settings->RdpServerRsaKey) { diff --git a/libfreerdp/core/test/settings_property_lists.h b/libfreerdp/core/test/settings_property_lists.h index 80587f2b8..3d2efb31a 100644 --- a/libfreerdp/core/test/settings_property_lists.h +++ b/libfreerdp/core/test/settings_property_lists.h @@ -376,8 +376,6 @@ static const size_t string_list_indices[] = { FreeRDP_ProxyPassword, FreeRDP_ProxyUsername, FreeRDP_RDP2TCPArgs, - FreeRDP_RdpKeyContent, - FreeRDP_RdpKeyFile, FreeRDP_ReaderName, FreeRDP_RedirectionAcceptedCert, FreeRDP_RedirectionDomain, diff --git a/server/Sample/sfreerdp.c b/server/Sample/sfreerdp.c index aa8e2240d..2c9f88199 100644 --- a/server/Sample/sfreerdp.c +++ b/server/Sample/sfreerdp.c @@ -1021,8 +1021,7 @@ static DWORD WINAPI test_peer_mainloop(LPVOID arg) } } if (!freerdp_settings_set_string(settings, FreeRDP_CertificateFile, cert) || - !freerdp_settings_set_string(settings, FreeRDP_PrivateKeyFile, key) || - !freerdp_settings_set_string(settings, FreeRDP_RdpKeyFile, key)) + !freerdp_settings_set_string(settings, FreeRDP_PrivateKeyFile, key)) { WLog_ERR(TAG, "Memory allocation failed (strdup)"); freerdp_peer_free(client); diff --git a/server/proxy/pf_config.c b/server/proxy/pf_config.c index f4492e7c6..e5aea26cc 100644 --- a/server/proxy/pf_config.c +++ b/server/proxy/pf_config.c @@ -389,39 +389,6 @@ static BOOL pf_config_load_certificates(wIniFile* ini, proxyConfig* config) return FALSE; } - tmp1 = pf_config_get_str(ini, "Certificates", "RdpKeyFile", FALSE); - if (tmp1) - { - if (!winpr_PathFileExists(tmp1)) - { - WLog_ERR(TAG, "Certificates/RdpKeyFile file %s does not exist", tmp1); - return FALSE; - } - config->RdpKeyFile = _strdup(tmp1); - } - tmp2 = pf_config_get_str(ini, "Certificates", "RdpKeyContent", FALSE); - if (tmp2) - { - if (strlen(tmp2) < 1) - { - WLog_ERR(TAG, "Certificates/RdpKeyContent has invalid empty value"); - return FALSE; - } - config->RdpKeyContent = _strdup(tmp2); - } - if (tmp1 && tmp2) - { - WLog_ERR(TAG, "Certificates/RdpKeyFile and Certificates/RdpKeyContent are mutually " - "exclusive options"); - return FALSE; - } - else if (!tmp1 && !tmp2) - { - WLog_ERR(TAG, "Certificates/RdpKeyFile or Certificates/RdpKeyContent are " - "required settings"); - return FALSE; - } - return TRUE; } @@ -571,13 +538,6 @@ BOOL pf_server_config_dump(const char* file) "") < 0) goto fail; - if (IniFile_SetKeyValueString(ini, "Certificates", "RdpKeyFile", - " OR") < 0) - goto fail; - if (IniFile_SetKeyValueString(ini, "Certificates", "RdpKeyContent", - "") < 0) - goto fail; - /* store configuration */ if (IniFile_WriteFile(ini, file) < 0) goto fail; @@ -731,8 +691,6 @@ void pf_server_config_print(const proxyConfig* config) CONFIG_PRINT_STR_CONTENT(config, CertificateContent); CONFIG_PRINT_STR(config, PrivateKeyFile); CONFIG_PRINT_STR_CONTENT(config, PrivateKeyContent); - CONFIG_PRINT_STR(config, RdpKeyFile); - CONFIG_PRINT_STR_CONTENT(config, RdpKeyContent); } void pf_server_config_free(proxyConfig* config) @@ -750,8 +708,6 @@ void pf_server_config_free(proxyConfig* config) free(config->CertificateContent); free(config->PrivateKeyFile); free(config->PrivateKeyContent); - free(config->RdpKeyFile); - free(config->RdpKeyContent); free(config); } @@ -854,10 +810,6 @@ BOOL pf_config_clone(proxyConfig** dst, const proxyConfig* config) goto fail; if (!pf_config_copy_string(&tmp->PrivateKeyContent, config->PrivateKeyContent)) goto fail; - if (!pf_config_copy_string(&tmp->RdpKeyFile, config->RdpKeyFile)) - goto fail; - if (!pf_config_copy_string(&tmp->RdpKeyContent, config->RdpKeyContent)) - goto fail; *dst = tmp; return TRUE; diff --git a/server/proxy/pf_context.c b/server/proxy/pf_context.c index 51c831673..4ba2e6068 100644 --- a/server/proxy/pf_context.c +++ b/server/proxy/pf_context.c @@ -198,7 +198,6 @@ BOOL pf_context_copy_settings(rdpSettings* dst, const rdpSettings* src) BOOL rc = FALSE; rdpSettings* before_copy; const size_t to_revert[] = { FreeRDP_ConfigPath, FreeRDP_PrivateKeyContent, - FreeRDP_RdpKeyContent, FreeRDP_RdpKeyFile, FreeRDP_PrivateKeyFile, FreeRDP_CertificateFile, FreeRDP_CertificateName, FreeRDP_CertificateContent }; diff --git a/server/proxy/pf_server.c b/server/proxy/pf_server.c index 4ac408082..d3952e9bd 100644 --- a/server/proxy/pf_server.c +++ b/server/proxy/pf_server.c @@ -492,9 +492,7 @@ static BOOL pf_server_initialize_peer_connection(freerdp_peer* peer) config->CertificateContent) || !freerdp_settings_set_string(settings, FreeRDP_PrivateKeyFile, config->PrivateKeyFile) || !freerdp_settings_set_string(settings, FreeRDP_PrivateKeyContent, - config->PrivateKeyContent) || - !freerdp_settings_set_string(settings, FreeRDP_RdpKeyFile, config->RdpKeyFile) || - !freerdp_settings_set_string(settings, FreeRDP_RdpKeyContent, config->RdpKeyContent)) + config->PrivateKeyContent)) { WLog_ERR(TAG, "Memory allocation failed (strdup)"); return FALSE; diff --git a/server/shadow/shadow_client.c b/server/shadow/shadow_client.c index 921a70290..08781e23b 100644 --- a/server/shadow/shadow_client.c +++ b/server/shadow/shadow_client.c @@ -202,8 +202,6 @@ static BOOL shadow_client_context_new(freerdp_peer* peer, rdpContext* context) if (!freerdp_settings_set_string(settings, FreeRDP_PrivateKeyFile, server->PrivateKeyFile)) goto fail_privkey_file; - if (!freerdp_settings_set_string(settings, FreeRDP_RdpKeyFile, server->PrivateKeyFile)) - goto fail_rdpkey_file; if (server->ipcSocket && (strncmp(bind_address, server->ipcSocket, strnlen(bind_address, sizeof(bind_address))) != 0)) { @@ -244,8 +242,6 @@ fail_message_queue: fail_open_server: DeleteCriticalSection(&(client->lock)); fail_client_lock: - freerdp_settings_set_string(settings, FreeRDP_RdpKeyFile, NULL); -fail_rdpkey_file: freerdp_settings_set_string(settings, FreeRDP_PrivateKeyFile, NULL); fail_privkey_file: freerdp_settings_set_string(settings, FreeRDP_CertificateFile, NULL);