Imported Upstream version 2.0.0~git20160503.1.f828595+dfsg1

This commit is contained in:
Bernhard Miklautz 2016-05-03 17:02:08 +00:00
parent 76621c1efa
commit 9aa47e3624
21 changed files with 305 additions and 46 deletions

View File

@ -1,3 +1,31 @@
2016-05-03 17:04:45 +0200 Bernhard Miklautz (f828595)
* Merge pull request #3282 from akallabeth/input_arg_checks
2016-05-03 16:27:15 +0200 Bernhard Miklautz (221a292)
* Merge pull request #3263 from akallabeth/tofu
2016-05-03 16:19:37 +0200 akallabeth (dd009af)
* Merge pull request #3314 from bmiklautz/refactoringx
2016-04-13 09:47:48 +0200 Armin Novak (115f59d)
* Added argument checks for exported input functions.
2016-05-03 14:47:53 +0200 Bernhard Miklautz (c52984f)
* pkg/deb: update the package
2016-05-03 14:16:11 +0200 Bernhard Miklautz (59fbfdb)
* Add library libwinpr-tools
2016-05-03 10:44:42 +0200 Bernhard Miklautz (8cb873b)
* client/X11: fix build without client interface
2016-05-02 18:44:40 +0200 Bernhard Miklautz (a7ca42e)
* Merge pull request #3313 from bmiklautz/typos
@ -126,6 +154,10 @@
* Fix android rotation crash
2016-03-31 12:16:55 +0200 Armin Novak (5344576)
* Added command line option /cert-tofu
2016-03-31 11:43:38 +0200 Bernhard Miklautz (a0d9969)
* Merge pull request #3254 from akallabeth/avc444_cmd_arg

View File

@ -56,17 +56,18 @@ set(${MODULE_PREFIX}_SRCS
if(WITH_CLIENT_INTERFACE)
if(CLIENT_INTERFACE_SHARED)
add_library(${MODULE_NAME} SHARED ${${MODULE_PREFIX}_SRCS})
if (WITH_LIBRARY_VERSIONING)
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${FREERDP_VERSION} SOVERSION ${FREERDP_API_VERSION})
endif()
else()
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
endif()
if (WITH_LIBRARY_VERSIONING)
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${FREERDP_VERSION} SOVERSION ${FREERDP_API_VERSION})
endif()
else()
set(${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS} cli/xfreerdp.c cli/xfreerdp.h)
set(${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS} cli/xfreerdp.c xfreerdp.h)
add_executable(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME "xfreerdp")
include_directories(..)
endif()
set(${MODULE_PREFIX}_LIBS

View File

@ -18,8 +18,6 @@
set(MODULE_NAME "xfreerdp-cli")
set(MODULE_PREFIX "FREERDP_CLIENT_X11")
include_directories(..)
set(${MODULE_PREFIX}_SRCS
xfreerdp.c)

View File

@ -29,8 +29,8 @@
#include <freerdp/freerdp.h>
#include <freerdp/client/cmdline.h>
#include "xf_client.h"
#include "xfreerdp.h"
#include "../xf_client.h"
#include "../xfreerdp.h"
int main(int argc, char* argv[])
{

View File

@ -139,6 +139,7 @@ static COMMAND_LINE_ARGUMENT_A args[] =
{ "tls-ciphers", COMMAND_LINE_VALUE_REQUIRED, "<netmon|ma|ciphers>", NULL, NULL, -1, NULL, "Allowed TLS ciphers" },
{ "cert-name", COMMAND_LINE_VALUE_REQUIRED, "<name>", NULL, NULL, -1, NULL, "certificate name" },
{ "cert-ignore", COMMAND_LINE_VALUE_FLAG, NULL, NULL, NULL, -1, NULL, "ignore certificate" },
{ "cert-tofu", COMMAND_LINE_VALUE_FLAG, NULL, NULL, NULL, -1, NULL, "Automatically accept certificate on first connect" },
{ "pcb", COMMAND_LINE_VALUE_REQUIRED, "<blob>", NULL, NULL, -1, NULL, "Preconnection Blob" },
{ "pcid", COMMAND_LINE_VALUE_REQUIRED, "<id>", NULL, NULL, -1, NULL, "Preconnection Id" },
{ "spn-class", COMMAND_LINE_VALUE_REQUIRED, "<service class>", NULL, NULL, -1, NULL, "SPN authentication service class" },
@ -2220,6 +2221,10 @@ int freerdp_client_settings_parse_command_line_arguments(rdpSettings* settings,
{
settings->IgnoreCertificate = TRUE;
}
CommandLineSwitchCase(arg, "cert-tofu")
{
settings->AutoAcceptCertificate = TRUE;
}
CommandLineSwitchCase(arg, "authentication")
{
settings->Authentication = arg->Value ? TRUE : FALSE;

View File

@ -635,6 +635,7 @@ typedef struct _RDPDR_PARALLEL RDPDR_PARALLEL;
#define FreeRDP_CertificateContent 1416
#define FreeRDP_PrivateKeyContent 1417
#define FreeRDP_RdpKeyContent 1418
#define FreeRDP_AutoAcceptCertificate 1419
#define FreeRDP_Workarea 1536
#define FreeRDP_Fullscreen 1537
@ -1056,7 +1057,8 @@ struct rdp_settings
ALIGN64 char *CertificateContent; /* 1416 */
ALIGN64 char *PrivateKeyContent; /* 1417 */
ALIGN64 char* RdpKeyContent; /* 1418 */
UINT64 padding1472[1472 - 1419]; /* 1419 */
ALIGN64 BOOL AutoAcceptCertificate; /* 1419 */
UINT64 padding1472[1472 - 1420]; /* 1420 */
UINT64 padding1536[1536 - 1472]; /* 1472 */
/**

View File

@ -912,6 +912,9 @@ BOOL freerdp_get_param_bool(rdpSettings* settings, int id)
case FreeRDP_IgnoreCertificate:
return settings->IgnoreCertificate;
case FreeRDP_AutoAcceptCertificate:
return settings->AutoAcceptCertificate;
case FreeRDP_ExternalCertificateManagement:
return settings->ExternalCertificateManagement;
@ -1363,6 +1366,10 @@ int freerdp_set_param_bool(rdpSettings* settings, int id, BOOL param)
settings->IgnoreCertificate = param;
break;
case FreeRDP_AutoAcceptCertificate:
settings->AutoAcceptCertificate = param;
break;
case FreeRDP_ExternalCertificateManagement:
settings->ExternalCertificateManagement = param;
break;

View File

@ -69,7 +69,12 @@ static void input_write_synchronize_event(wStream* s, UINT32 flags)
BOOL input_send_synchronize_event(rdpInput* input, UINT32 flags)
{
wStream* s;
rdpRdp* rdp = input->context->rdp;
rdpRdp* rdp;
if (!input || !input->context)
return FALSE;
rdp = input->context->rdp;
s = rdp_client_input_pdu_init(rdp, INPUT_EVENT_SYNC);
if (!s)
@ -88,7 +93,12 @@ static void input_write_keyboard_event(wStream* s, UINT16 flags, UINT16 code)
BOOL input_send_keyboard_event(rdpInput* input, UINT16 flags, UINT16 code)
{
wStream* s;
rdpRdp* rdp = input->context->rdp;
rdpRdp* rdp;
if (!input || !input->context)
return FALSE;
rdp = input->context->rdp;
s = rdp_client_input_pdu_init(rdp, INPUT_EVENT_SCANCODE);
if (!s)
@ -108,7 +118,12 @@ BOOL input_send_unicode_keyboard_event(rdpInput* input, UINT16 flags, UINT16 cod
{
wStream* s;
UINT16 keyboardFlags = 0;
rdpRdp* rdp = input->context->rdp;
rdpRdp* rdp;
if (!input || !input->context)
return FALSE;
rdp = input->context->rdp;
/*
* According to the specification, the slow path Unicode Keyboard Event
@ -138,7 +153,12 @@ void input_write_mouse_event(wStream* s, UINT16 flags, UINT16 x, UINT16 y)
BOOL input_send_mouse_event(rdpInput* input, UINT16 flags, UINT16 x, UINT16 y)
{
wStream* s;
rdpRdp* rdp = input->context->rdp;
rdpRdp* rdp;
if (!input || !input->context)
return FALSE;
rdp = input->context->rdp;
s = rdp_client_input_pdu_init(rdp, INPUT_EVENT_MOUSE);
if (!s)
@ -157,7 +177,12 @@ static void input_write_extended_mouse_event(wStream* s, UINT16 flags, UINT16 x,
BOOL input_send_extended_mouse_event(rdpInput* input, UINT16 flags, UINT16 x, UINT16 y)
{
wStream* s;
rdpRdp* rdp = input->context->rdp;
rdpRdp* rdp;
if (!input || !input->context)
return FALSE;
rdp = input->context->rdp;
s = rdp_client_input_pdu_init(rdp, INPUT_EVENT_MOUSEX);
if (!s)
@ -210,7 +235,12 @@ BOOL input_send_keyboard_pause_event(rdpInput* input)
BOOL input_send_fastpath_synchronize_event(rdpInput* input, UINT32 flags)
{
wStream* s;
rdpRdp* rdp = input->context->rdp;
rdpRdp* rdp;
if (!input || !input->context)
return FALSE;
rdp = input->context->rdp;
/* The FastPath Synchronization eventFlags has identical values as SlowPath */
s = fastpath_input_pdu_init(rdp->fastpath, (BYTE) flags, FASTPATH_INPUT_EVENT_SYNC);
@ -223,7 +253,12 @@ BOOL input_send_fastpath_keyboard_event(rdpInput* input, UINT16 flags, UINT16 co
{
wStream* s;
BYTE eventFlags = 0;
rdpRdp* rdp = input->context->rdp;
rdpRdp* rdp;
if (!input || !input->context)
return FALSE;
rdp = input->context->rdp;
eventFlags |= (flags & KBD_FLAGS_RELEASE) ? FASTPATH_INPUT_KBDFLAGS_RELEASE : 0;
eventFlags |= (flags & KBD_FLAGS_EXTENDED) ? FASTPATH_INPUT_KBDFLAGS_EXTENDED : 0;
@ -238,7 +273,12 @@ BOOL input_send_fastpath_unicode_keyboard_event(rdpInput* input, UINT16 flags, U
{
wStream* s;
BYTE eventFlags = 0;
rdpRdp* rdp = input->context->rdp;
rdpRdp* rdp;
if (!input || !input->context)
return FALSE;
rdp = input->context->rdp;
eventFlags |= (flags & KBD_FLAGS_RELEASE) ? FASTPATH_INPUT_KBDFLAGS_RELEASE : 0;
s = fastpath_input_pdu_init(rdp->fastpath, eventFlags, FASTPATH_INPUT_EVENT_UNICODE);
@ -251,7 +291,12 @@ BOOL input_send_fastpath_unicode_keyboard_event(rdpInput* input, UINT16 flags, U
BOOL input_send_fastpath_mouse_event(rdpInput* input, UINT16 flags, UINT16 x, UINT16 y)
{
wStream* s;
rdpRdp* rdp = input->context->rdp;
rdpRdp* rdp;
if (!input || !input->context)
return FALSE;
rdp = input->context->rdp;
s = fastpath_input_pdu_init(rdp->fastpath, 0, FASTPATH_INPUT_EVENT_MOUSE);
if (!s)
@ -263,7 +308,12 @@ BOOL input_send_fastpath_mouse_event(rdpInput* input, UINT16 flags, UINT16 x, UI
BOOL input_send_fastpath_extended_mouse_event(rdpInput* input, UINT16 flags, UINT16 x, UINT16 y)
{
wStream* s;
rdpRdp* rdp = input->context->rdp;
rdpRdp* rdp;
if (!input || !input->context)
return FALSE;
rdp = input->context->rdp;
s = fastpath_input_pdu_init(rdp->fastpath, 0, FASTPATH_INPUT_EVENT_MOUSEX);
if (!s)
@ -275,8 +325,13 @@ BOOL input_send_fastpath_extended_mouse_event(rdpInput* input, UINT16 flags, UIN
BOOL input_send_fastpath_focus_in_event(rdpInput* input, UINT16 toggleStates)
{
wStream* s;
rdpRdp* rdp = input->context->rdp;
BYTE eventFlags = 0;
rdpRdp* rdp;
if (!input || !input->context)
return FALSE;
rdp = input->context->rdp;
s = fastpath_input_pdu_init_header(rdp->fastpath);
if (!s)
@ -305,10 +360,15 @@ BOOL input_send_fastpath_keyboard_pause_event(rdpInput* input)
* it sending the following sequence:
*/
wStream* s;
rdpRdp* rdp = input->context->rdp;
const BYTE keyDownEvent = FASTPATH_INPUT_EVENT_SCANCODE << 5;
const BYTE keyUpEvent = (FASTPATH_INPUT_EVENT_SCANCODE << 5)
| FASTPATH_INPUT_KBDFLAGS_RELEASE;
rdpRdp* rdp;
if (!input || !input->context)
return FALSE;
rdp = input->context->rdp;
s = fastpath_input_pdu_init_header(rdp->fastpath);
if (!s)
@ -479,6 +539,9 @@ BOOL input_recv(rdpInput* input, wStream* s)
{
UINT16 i, numberEvents;
if (!input || !s)
return FALSE;
if (Stream_GetRemainingLength(s) < 4)
return FALSE;
@ -500,7 +563,15 @@ BOOL input_recv(rdpInput* input, wStream* s)
BOOL input_register_client_callbacks(rdpInput* input)
{
rdpSettings* settings = input->context->settings;
rdpSettings* settings;
if (!input || !input->context)
return FALSE;
settings = input->context->settings;
if (!settings)
return FALSE;
if (settings->FastPathInput)
{
@ -536,11 +607,17 @@ BOOL input_register_client_callbacks(rdpInput* input)
BOOL freerdp_input_send_synchronize_event(rdpInput* input, UINT32 flags)
{
if (!input)
return FALSE;
return IFCALLRESULT(TRUE, input->SynchronizeEvent, input, flags);
}
BOOL freerdp_input_send_keyboard_event(rdpInput* input, UINT16 flags, UINT16 code)
{
if (!input)
return FALSE;
return IFCALLRESULT(TRUE, input->KeyboardEvent, input, flags, code);
}
@ -554,31 +631,49 @@ BOOL freerdp_input_send_keyboard_event_ex(rdpInput* input, BOOL down, UINT32 rdp
BOOL freerdp_input_send_unicode_keyboard_event(rdpInput* input, UINT16 flags, UINT16 code)
{
if (!input)
return FALSE;
return IFCALLRESULT(TRUE, input->UnicodeKeyboardEvent, input, flags, code);
}
BOOL freerdp_input_send_mouse_event(rdpInput* input, UINT16 flags, UINT16 x, UINT16 y)
{
if (!input)
return FALSE;
return IFCALLRESULT(TRUE, input->MouseEvent, input, flags, x, y);
}
BOOL freerdp_input_send_extended_mouse_event(rdpInput* input, UINT16 flags, UINT16 x, UINT16 y)
{
if (!input)
return FALSE;
return IFCALLRESULT(TRUE, input->ExtendedMouseEvent, input, flags, x, y);
}
BOOL freerdp_input_send_focus_in_event(rdpInput* input, UINT16 toggleStates)
{
if (!input)
return FALSE;
return IFCALLRESULT(TRUE, input->FocusInEvent, input, toggleStates);
}
BOOL freerdp_input_send_keyboard_pause_event(rdpInput* input)
{
if (!input)
return FALSE;
return IFCALLRESULT(TRUE, input->KeyboardPauseEvent, input);
}
int input_process_events(rdpInput* input)
{
if (!input)
return FALSE;
return input_message_queue_process_pending_messages(input);
}

View File

@ -1273,9 +1273,19 @@ int tls_verify_certificate(rdpTls* tls, CryptoCert cert, char* hostname, int por
common_name, alt_names,
alt_names_count);
if (instance->VerifyCertificate)
accept_certificate = instance->VerifyCertificate(instance, common_name,
subject, issuer, fingerprint, !hostname_match);
/* Automatically accept certificate on first use */
if (tls->settings->AutoAcceptCertificate)
{
WLog_INFO(TAG, "No certificate stored, automatically accepting.");
accept_certificate = 1;
}
else if (instance->VerifyCertificate)
{
accept_certificate = instance->VerifyCertificate(
instance, common_name,
subject, issuer,
fingerprint, !hostname_match);
}
switch(accept_certificate)
{

View File

@ -1,4 +1,3 @@
opt/freerdp-nightly/lib/*.a
opt/freerdp-nightly/lib/*.so
opt/freerdp-nightly/lib/pkgconfig
opt/freerdp-nightly/lib/cmake

View File

@ -74,7 +74,7 @@ add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
list(APPEND ${MODULE_PREFIX}_LIBS freerdp)
list(APPEND ${MODULE_PREFIX}_LIBS freerdp-server)
list(APPEND ${MODULE_PREFIX}_LIBS winpr)
list(APPEND ${MODULE_PREFIX}_LIBS winpr-makecert-tool)
list(APPEND ${MODULE_PREFIX}_LIBS winpr-tools)
list(APPEND ${MODULE_PREFIX}_LIBS rdtk)
target_link_libraries(${MODULE_NAME} ${PRIVATE_KEYWORD} ${${MODULE_PREFIX}_LIBS})

1
winpr/.gitignore vendored
View File

@ -1,2 +1 @@
tools/hash/winpr-hash
tools/reg/winpr-reg

2
winpr/tools/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
makecert-cli/winpr-makecert
hash-cli/winpr-hash

View File

@ -2,6 +2,7 @@
# winpr cmake build script
#
# Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
# Copyright 2016 Thincast Technologies GmbH
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@ -15,6 +16,110 @@
# See the License for the specific language governing permissions and
# limitations under the License.
add_subdirectory(hash)
# Soname versioning - use winpr version
set(WINPR_TOOLS_VERSION_MAJOR "${WINPR_VERSION_MAJOR}")
set(WINPR_TOOLS_VERSION_MINOR "${WINPR_VERSION_MINOR}")
set(WINPR_TOOLS_VERSION_REVISION "${WINPR_VERSION_REVISION}")
set(WINPR_TOOLS_API_VERSION "${WINPR_TOOLS_VERSION_MAJOR}")
set(WINPR_TOOLS_VERSION "${WINPR_TOOLS_VERSION_MAJOR}.${WINPR_TOOLS_VERSION_MINOR}.${WINPR_TOOLS_VERSION_REVISION}")
set(WINPR_TOOLS_VERSION_FULL "${WINPR_TOOLS_VERSION}")
set(WINPR_TOOLS_API_VERSION "${WINPR_TOOLS_VERSION_MAJOR}")
set(WINPR_TOOLS_DIR ${CMAKE_CURRENT_SOURCE_DIR})
set(WINPR_TOOLS_SRCS "")
set(WINPR_TOOLS_LIBS "")
set(WINPR_TOOLS_INCLUDES "")
set(WINPR_TOOLS_DEFINITIONS "")
macro (winpr_tools_module_add)
file (RELATIVE_PATH _relPath "${WINPR_TOOLS_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}")
foreach (_src ${ARGN})
if (_relPath)
list (APPEND WINPR_TOOLS_SRCS "${_relPath}/${_src}")
else()
list (APPEND WINPR_TOOLS_SRCS "${_src}")
endif()
endforeach()
if (_relPath)
set (WINPR_TOOLS_SRCS ${WINPR_TOOLS_SRCS} PARENT_SCOPE)
endif()
endmacro()
macro (winpr_tools_include_directory_add)
file (RELATIVE_PATH _relPath "${WINPR_TOOLS_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}")
foreach (_inc ${ARGN})
if (IS_ABSOLUTE ${_inc})
list (APPEND WINPR_TOOLS_INCLUDES "${_inc}")
else()
if (_relPath)
list (APPEND WINPR_TOOLS_INCLUDES "${_relPath}/${_inc}")
else()
list (APPEND WINPR_TOOLS_INCLUDES "${_inc}")
endif()
endif()
endforeach()
if (_relPath)
set (WINPR_TOOLS_INCLUDES ${WINPR_TOOLS_INCLUDES} PARENT_SCOPE)
endif()
endmacro()
macro (winpr_tools_library_add)
foreach (_lib ${ARGN})
list (APPEND WINPR_TOOLS_LIBS "${_lib}")
endforeach()
set (WINPR_TOOLS_LIBS ${WINPR_TOOLS_LIBS} PARENT_SCOPE)
endmacro()
macro (winpr_tools_definition_add)
foreach (_define ${ARGN})
list (APPEND WINPR_TOOLS_DEFINITONS "${_define}")
endforeach()
set (WINPR_TOOLS_DEFINITONS ${WINPR_TOOLS_DEFINITONS} PARENT_SCOPE)
endmacro()
add_subdirectory(makecert)
set(MODULE_NAME winpr-tools)
list(REMOVE_DUPLICATES WINPR_TOOLS_DEFINITIONS)
list(REMOVE_DUPLICATES WINPR_TOOLS_LIBS)
list(REMOVE_DUPLICATES WINPR_TOOLS_INCLUDES)
include_directories(${WINPR_TOOLS_INCLUDES})
# On windows create dll version information.
# Vendor, product and year are already set in top level CMakeLists.txt
if (WIN32)
set (RC_VERSION_MAJOR ${WINPR_VERSION_MAJOR})
set (RC_VERSION_MINOR ${WINPR_VERSION_MINOR})
set (RC_VERSION_BUILD ${WINPR_VERSION_REVISION})
set (RC_VERSION_FILE "${CMAKE_SHARED_LIBRARY_PREFIX}${MODULE_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}" )
configure_file(
${CMAKE_SOURCE_DIR}/cmake/WindowsDLLVersion.rc.in
${CMAKE_CURRENT_BINARY_DIR}/version.rc
@ONLY)
set (WINPR_TOOLS_SRCS ${WINPR_TOOLS_SRCS} ${CMAKE_CURRENT_BINARY_DIR}/version.rc)
endif()
add_library(${MODULE_NAME} ${WINPR_TOOLS_SRCS})
set_target_properties(${MODULE_NAME} PROPERTIES LINKER_LANGUAGE C)
if (WITH_LIBRARY_VERSIONING)
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_TOOLS_VERSION} SOVERSION ${WINPR_TOOLS_API_VERSION})
endif()
add_definitions(${WINPR_DEFINITIONS})
target_link_libraries(${MODULE_NAME} ${PRIVATE_KEYWORD} ${WINPR_TOOLS_LIBS})
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries EXPORT WinPRTargets)
if (WITH_DEBUG_SYMBOLS AND MSVC AND BUILD_SHARED_LIBS)
install(FILES ${CMAKE_PDB_BINARY_DIR}/${MODULE_NAME}.pdb DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT symbols)
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR/Tools")
# Add all command line utilities
add_subdirectory(makecert-cli)
add_subdirectory(hash-cli)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/winpr-tools.pc.in ${CMAKE_CURRENT_BINARY_DIR}/winpr-tools${WINPR_TOOLS_VERSION_MAJOR}.pc @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/winpr-tools${WINPR_TOOLS_VERSION_MAJOR}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)

View File

@ -2,6 +2,7 @@
# winpr-makecert cmake build script
#
# Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
# Copyright 2016 Thincast Technologies GmbH
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@ -18,8 +19,6 @@
set(MODULE_NAME "winpr-makecert")
set(MODULE_PREFIX "WINPR_MAKECERT")
include_directories(..)
set(${MODULE_PREFIX}_SRCS
main.c)
@ -41,7 +40,7 @@ endif()
add_executable(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
set(${MODULE_PREFIX}_LIBS winpr-makecert-tool)
set(${MODULE_PREFIX}_LIBS winpr-tools)
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
@ -51,4 +50,3 @@ install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT too
if (WITH_DEBUG_SYMBOLS AND MSVC)
install(FILES ${CMAKE_PDB_BINARY_DIR}/${MODULE_NAME}.pdb DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT symbols)
endif()

View File

@ -1,4 +1,2 @@
winpr-makecert
*.key
*.crt

View File

@ -21,16 +21,15 @@ set(MODULE_PREFIX "WINPR_MAKECERT_TOOL")
set(${MODULE_PREFIX}_SRCS makecert.c)
if(OPENSSL_FOUND)
include_directories(${OPENSSL_INCLUDE_DIR})
winpr_tools_include_directory_add(${OPENSSL_INCLUDE_DIR})
endif()
if(MBEDTLS_FOUND)
include_directories(${MBEDTLS_INCLUDE_DIR})
winpr_tools_include_directory_add(${MBEDTLS_INCLUDE_DIR})
endif()
add_library(${MODULE_NAME} STATIC ${${MODULE_PREFIX}_SRCS})
set(${MODULE_PREFIX}_LIBS winpr)
winpr_tools_module_add(${${MODULE_PREFIX}_SRCS})
if(OPENSSL_FOUND)
if(WIN32)
@ -46,11 +45,5 @@ if(MBEDTLS_FOUND)
list(APPEND ${MODULE_PREFIX}_LIBS ${MBEDTLS_LIBRARIES})
endif()
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries EXPORT WinPRTargets)
add_subdirectory(cli)
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR/Tools")
export_complex_library(LIBNAME ${MODULE_NAME})
winpr_tools_library_add(${${MODULE_PREFIX}_LIBS} winpr)

View File

@ -0,0 +1,15 @@
prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=@CMAKE_INSTALL_PREFIX@
libdir=@CMAKE_INSTALL_FULL_LIBDIR@
includedir=${prefix}/@WINPR_INCLUDE_DIR@
libs=-lwinpr-tools
Name: WinPR
Description: WinPR: Windows Portable Runtime
URL: http://www.freerdp.com/
Version: @WINPR_TOOLS_VERSION@
Requires:
Requires.private: winpr@WINPR_VERSION_MAJOR@ libssl
Libs: -L${libdir} ${libs}
Libs.private: -lcrypto
Cflags: -I${includedir}