Merge pull request #3704 from bmiklautz/versioning
Library naming and man pages
This commit is contained in:
commit
95b3665f11
@ -67,6 +67,7 @@ include(CheckCCompilerFlag)
|
||||
include(CheckCXXCompilerFlag)
|
||||
include(GNUInstallDirsWrapper)
|
||||
include(CMakePackageConfigHelpers)
|
||||
include(InstallFreeRDPMan)
|
||||
|
||||
# Soname versioning
|
||||
set(BUILD_NUMBER 0)
|
||||
|
1
client/.gitignore
vendored
1
client/.gitignore
vendored
@ -10,3 +10,4 @@
|
||||
!/Wayland
|
||||
!/CMakeLists.txt
|
||||
!*.in
|
||||
Wayland/wlfreerdp.1
|
||||
|
@ -39,3 +39,5 @@ target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT client)
|
||||
|
||||
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Client/Wayland")
|
||||
configure_file(wlfreerdp.1.in ${CMAKE_CURRENT_BINARY_DIR}/wlfreerdp.1)
|
||||
install_freerdp_man(${CMAKE_CURRENT_BINARY_DIR}/wlfreerdp.1 1)
|
||||
|
38
client/Wayland/wlfreerdp.1.in
Normal file
38
client/Wayland/wlfreerdp.1.in
Normal file
@ -0,0 +1,38 @@
|
||||
.de URL
|
||||
\\$2 \(laURL: \\$1 \(ra\\$3
|
||||
..
|
||||
.if \n[.g] .mso www.tmac))
|
||||
.TH wlfreerdp 1 2017-01-12 "@FREERDP_VERSION_FULL@" "FreeRDP"
|
||||
.SH NAME
|
||||
wlfreerdp \- FreeRDP wayland client
|
||||
.SH SYNOPSIS
|
||||
.B wlfreerdp
|
||||
[file]
|
||||
[\fIdefault_client_options\fP]
|
||||
[\fB/v\fP:<server>[:port]]
|
||||
[\fB/version\fP]
|
||||
[\fB/help\fP]
|
||||
.SH DESCRIPTION
|
||||
.B wlfreerdp
|
||||
is a wayland Remote Desktop Protocol (RDP) client which is part of the FreeRDP project. A RDP server is built-in to many editions of Windows. Alternative servers included xrdp and VRDP (VirtualBox).
|
||||
.SH OPTIONS
|
||||
The wayland client also supports a lot of the \fIdefault client options\fP which are not described here. For details on those see the xfreerdp(1) man page.
|
||||
.IP \fB/v:\fP\fI<server>[:port]\fP
|
||||
The server hostname or IP, and optionally the port, to connect to.
|
||||
.IP /version
|
||||
Print the version and exit.
|
||||
.IP /help
|
||||
Print the help and exit.
|
||||
.SH EXIT STATUS
|
||||
.TP
|
||||
.B 0
|
||||
Successful program execution.
|
||||
.TP
|
||||
.B not 0
|
||||
On failure.
|
||||
|
||||
.SH SEE ALSO
|
||||
xfreerdp(1) wlog(7)
|
||||
|
||||
.SH AUTHOR
|
||||
FreeRDP <team@freerdp.com>
|
@ -111,11 +111,7 @@ if(WITH_MANPAGES)
|
||||
add_custom_target(xfreerdp.manpage ALL
|
||||
DEPENDS xfreerdp.1)
|
||||
|
||||
if(OPENBSD)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/xfreerdp.1 DESTINATION man/man1)
|
||||
else()
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/xfreerdp.1 DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/man/man1)
|
||||
endif()
|
||||
install_freerdp_man(${CMAKE_CURRENT_BINARY_DIR}/xfreerdp.1 1)
|
||||
else()
|
||||
message(WARNING "WITH_MANPAGES was set, but xsltproc was not found. man-pages will not be installed")
|
||||
endif()
|
||||
|
@ -57,6 +57,7 @@ endif()
|
||||
|
||||
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
|
||||
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME ${MODULE_NAME}${FREERDP_API_VERSION})
|
||||
include_directories(${OPENSSL_INCLUDE_DIR})
|
||||
if (WITH_LIBRARY_VERSIONING)
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${FREERDP_VERSION} SOVERSION ${FREERDP_API_VERSION})
|
||||
|
@ -179,8 +179,8 @@ static COMMAND_LINE_ARGUMENT_A args[] =
|
||||
{ "encryption-methods", COMMAND_LINE_VALUE_REQUIRED, "<40,56,128,FIPS>", NULL, NULL, -1, NULL, "RDP standard security encryption methods" },
|
||||
{ "from-stdin", COMMAND_LINE_VALUE_FLAG, NULL, NULL, NULL, -1, NULL, "Read credentials from stdin, do not use defaults." },
|
||||
{ "buildconfig", COMMAND_LINE_VALUE_FLAG | COMMAND_LINE_PRINT_BUILDCONFIG, NULL, NULL, NULL, -1, NULL, "print the build configuration" },
|
||||
{ "log-level", COMMAND_LINE_VALUE_REQUIRED, "[OFF|FATAL|ERROR|WARN|INFO|DEBUG|TRACE]", NULL, NULL, -1, NULL, "Set the default log level, see wLog(1) for details" },
|
||||
{ "log-filters", COMMAND_LINE_VALUE_REQUIRED, "<logger tag>:<log level>[, <logger tag>:<log level>][, ...]]", NULL, NULL, -1, NULL, "Set logger filters, see wLog(1) for details" },
|
||||
{ "log-level", COMMAND_LINE_VALUE_REQUIRED, "[OFF|FATAL|ERROR|WARN|INFO|DEBUG|TRACE]", NULL, NULL, -1, NULL, "Set the default log level, see wLog(7) for details" },
|
||||
{ "log-filters", COMMAND_LINE_VALUE_REQUIRED, "<logger tag>:<log level>[, <logger tag>:<log level>][, ...]]", NULL, NULL, -1, NULL, "Set logger filters, see wLog(7) for details" },
|
||||
{ "pwidth", COMMAND_LINE_VALUE_REQUIRED, "<physical width (mm)>", NULL, NULL, -1, NULL, "Physical width of display (in millimeters)" },
|
||||
{ "pheight", COMMAND_LINE_VALUE_REQUIRED, "<physical height (mm)>", NULL, NULL, -1, NULL, "Physical height of display (in millimeters)" },
|
||||
{ "orientation", COMMAND_LINE_VALUE_REQUIRED, "<orientation>", NULL, NULL, -1, NULL, "Orientation of display in degrees (0, 90, 180, 270)" },
|
||||
|
@ -2,7 +2,7 @@ prefix=@CMAKE_INSTALL_PREFIX@
|
||||
exec_prefix=@CMAKE_INSTALL_PREFIX@
|
||||
libdir=@CMAKE_INSTALL_FULL_LIBDIR@
|
||||
includedir=${prefix}/@FREERDP_INCLUDE_DIR@
|
||||
libs=-lfreerdp-client
|
||||
libs=-lfreerdp-client@FREERDP_API_VERSION@
|
||||
|
||||
Name: FreeRDP client
|
||||
Description: FreeRDP: A Remote Desktop Protocol Implementation
|
||||
|
9
cmake/InstallFreeRDPMan.cmake
Normal file
9
cmake/InstallFreeRDPMan.cmake
Normal file
@ -0,0 +1,9 @@
|
||||
function(install_freerdp_man manpage section)
|
||||
if(WITH_MANPAGES)
|
||||
if(OPENBSD)
|
||||
install(FILES ${manpage} DESTINATION man/man${section})
|
||||
else()
|
||||
install(FILES ${manpage} DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/man/man${section})
|
||||
endif()
|
||||
endif()
|
||||
endfunction()
|
@ -291,6 +291,7 @@ add_library(${MODULE_NAME} ${LIBFREERDP_SRCS})
|
||||
add_definitions(${LIBFREERDP_DEFINITIONS})
|
||||
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES LINKER_LANGUAGE C)
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME ${MODULE_NAME}${FREERDP_VERSION_MAJOR})
|
||||
|
||||
if (WITH_LIBRARY_VERSIONING)
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${FREERDP_VERSION} SOVERSION ${FREERDP_API_VERSION})
|
||||
|
@ -2,7 +2,7 @@ prefix=@CMAKE_INSTALL_PREFIX@
|
||||
exec_prefix=@CMAKE_INSTALL_PREFIX@
|
||||
libdir=@CMAKE_INSTALL_FULL_LIBDIR@
|
||||
includedir=${prefix}/@FREERDP_INCLUDE_DIR@
|
||||
libs=-lfreerdp
|
||||
libs=-lfreerdp@FREERDP_API_VERSION@
|
||||
|
||||
Name: FreeRDP
|
||||
Description: FreeRDP: A Remote Desktop Protocol Implementation
|
||||
|
@ -109,7 +109,7 @@ int freerdp_handle_signals(void)
|
||||
sigset_t orig_set;
|
||||
struct sigaction orig_sigaction;
|
||||
struct sigaction fatal_sigaction;
|
||||
WLog_INFO(TAG, "Registering signal hook...");
|
||||
WLog_DBG(TAG, "Registering signal hook...");
|
||||
sigfillset(&(fatal_sigaction.sa_mask));
|
||||
sigdelset(&(fatal_sigaction.sa_mask), SIGCONT);
|
||||
pthread_sigmask(SIG_BLOCK, &(fatal_sigaction.sa_mask), &orig_set);
|
||||
|
@ -1,4 +1,8 @@
|
||||
opt/freerdp-nightly/lib/*.so.*
|
||||
opt/freerdp-nightly/bin
|
||||
opt/freerdp-master/share/man/man1/freerdp-shadow-cli.1*
|
||||
opt/freerdp-master/share/man/man1/winpr-makecert.1*
|
||||
opt/freerdp-master/share/man/man1/winpr-hash.1*
|
||||
opt/freerdp-master/share/man/man1/wlfreerdp.1*
|
||||
opt/freerdp-nightly/share/man/man1/xfreerdp.1*
|
||||
opt/freerdp-nightly/share/man/man7/wlog.7*
|
||||
|
@ -139,6 +139,10 @@ export NO_BRP_CHECK_RPATH true
|
||||
%{INSTALL_PREFIX}/%{_lib}/*.so.*
|
||||
%{INSTALL_PREFIX}/bin/
|
||||
%{INSTALL_PREFIX}/share/man/man1/xfreerdp.1*
|
||||
%{INSTALL_PREFIX}/share/man/man1/freerdp-shadow-cli.1*
|
||||
%{INSTALL_PREFIX}/share/man/man1/winpr-makecert.1*
|
||||
%{INSTALL_PREFIX}/share/man/man1/winpr-hash.1*
|
||||
%{INSTALL_PREFIX}/share/man/man1/wlfreerdp.1*
|
||||
%{INSTALL_PREFIX}/share/man/man7/wlog.7*
|
||||
|
||||
%files devel
|
||||
|
@ -54,6 +54,7 @@ if (WIN32)
|
||||
endif()
|
||||
|
||||
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME ${MODULE_NAME}${FREERDP_API_VERSION})
|
||||
|
||||
if (WITH_LIBRARY_VERSIONING)
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${FREERDP_VERSION} SOVERSION ${FREERDP_API_VERSION})
|
||||
|
@ -2,7 +2,7 @@ prefix=@CMAKE_INSTALL_PREFIX@
|
||||
exec_prefix=@CMAKE_INSTALL_PREFIX@
|
||||
libdir=@CMAKE_INSTALL_FULL_LIBDIR@
|
||||
includedir=${prefix}/@FREERDP_INCLUDE_DIR@
|
||||
libs=-lfreerdp-server
|
||||
libs=-lfreerdp-server@FREERDP_API_VERSION@
|
||||
|
||||
Name: FreeRDP server
|
||||
Description: FreeRDP: A Remote Desktop Protocol Implementation
|
||||
|
2
server/shadow/.gitignore
vendored
2
server/shadow/.gitignore
vendored
@ -1,2 +1,2 @@
|
||||
freerdp-shadow-cli
|
||||
|
||||
freerdp-shadow-cli.1
|
||||
|
@ -81,6 +81,7 @@ list(APPEND ${MODULE_PREFIX}_LIBS rdtk)
|
||||
|
||||
target_link_libraries(${MODULE_NAME} ${PRIVATE_KEYWORD} ${${MODULE_PREFIX}_LIBS})
|
||||
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME ${MODULE_NAME}${FREERDP_VERSION_MAJOR})
|
||||
if (WITH_LIBRARY_VERSIONING)
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${FREERDP_VERSION} SOVERSION ${FREERDP_API_VERSION})
|
||||
endif()
|
||||
@ -284,6 +285,7 @@ set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp-shadow freerdp winpr)
|
||||
|
||||
target_link_libraries(${MODULE_NAME} ${PRIVATE_KEYWORD} ${${MODULE_PREFIX}_LIBS})
|
||||
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME ${MODULE_NAME}${FREERDP_API_VERSION})
|
||||
if (WITH_LIBRARY_VERSIONING)
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${FREERDP_VERSION} SOVERSION ${FREERDP_API_VERSION})
|
||||
endif()
|
||||
@ -336,6 +338,9 @@ endif()
|
||||
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Server/shadow")
|
||||
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/freerdp-shadow.pc.in ${CMAKE_CURRENT_BINARY_DIR}/freerdp-shadow${FREERDP_VERSION_MAJOR}.pc @ONLY)
|
||||
configure_file(freerdp-shadow-cli.1.in ${CMAKE_CURRENT_BINARY_DIR}/freerdp-shadow-cli.1)
|
||||
install_freerdp_man(${CMAKE_CURRENT_BINARY_DIR}/freerdp-shadow-cli.1 1)
|
||||
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/freerdp-shadow${FREERDP_VERSION_MAJOR}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
|
||||
|
||||
if(${CMAKE_VERSION} VERSION_GREATER "2.8.10")
|
||||
|
85
server/shadow/freerdp-shadow-cli.1.in
Normal file
85
server/shadow/freerdp-shadow-cli.1.in
Normal file
@ -0,0 +1,85 @@
|
||||
.de URL
|
||||
\\$2 \(laURL: \\$1 \(ra\\$3
|
||||
..
|
||||
.if \n[.g] .mso www.tmac))
|
||||
.TH freerdp\-shadow\-cli 1 2017-01-12 "@FREERDP_VERSION_FULL@" "FreeRDP"
|
||||
.SH NAME
|
||||
freerdp\-shadow\-cli \- A utility for sharing a X display via RDP.
|
||||
.SH SYNOPSIS
|
||||
.B freerdp\-shadow\-cli
|
||||
[\fB/port:\fP\fI<port number>\fP]
|
||||
[\fB/ipc-socket:\fP\fI<ipc-socket>\fP]
|
||||
[\fB/monitors:\fP\fI<0,1,2,...>\fP]
|
||||
[\fB/rect:\fP\fI<x,y,w,h>\fP]
|
||||
[\fB+auth\fP]
|
||||
[\fB-may-view\fP]
|
||||
[\fB-may-interact\fP]
|
||||
[\fB/sec:\fP\fI<rdp|tls|nla|ext>\fP]
|
||||
[\fB-sec-rdp\fP]
|
||||
[\fB-sec-tls\fP]
|
||||
[\fB-sec-nla\fP]
|
||||
[\fB-sec-ext\fP]
|
||||
[\fB/sam-file:\fP\fI<file>\fP]
|
||||
[\fB/version\fP]
|
||||
[\fB/help\fP]
|
||||
.SH DESCRIPTION
|
||||
.B freerdp\-shadow\-cli
|
||||
can be used to share a running X display like with VNC but by using the RDP
|
||||
instead. It is also possibly to share only parts (rect) of the display.
|
||||
.SH OPTIONS
|
||||
.IP /ipc-socket:<ipc-socket>
|
||||
If this option is set an ipc socket with the path \fIipc-socket\fP is used
|
||||
instead of a TCP socket.
|
||||
.IP /port:<port>
|
||||
Set the port to use. Default is 3389.
|
||||
This option is ignored if ipc-socket is used.
|
||||
.IP /monitors:<1,2,3,...>
|
||||
Select the monitor(s) to share.
|
||||
.IP /rect:<x,y,w,h>
|
||||
Select rectangle within monitor to share.
|
||||
.IP -auth
|
||||
Disable authentication. If authentication is enabled PAM is used with the
|
||||
X11 subsystem. Running as root is not necessary, however if run as user only
|
||||
the same user that started freerdp\-shadow\-cli can authenticate.
|
||||
.br
|
||||
\fBWarning\fP: If authentication is disabled \fIeveryone\fP can connect.
|
||||
.IP -may-view
|
||||
Clients may view without prompt.
|
||||
.IP -may-interact
|
||||
Clients may interact without prompt.
|
||||
.IP /sec:<rdp|tls|nla|ext>
|
||||
Force a specific protocol security
|
||||
.IP -sec-rdp (default:on)
|
||||
Disable RDP security
|
||||
.IP -sec-tls (default:on)
|
||||
Disable TLS protocol security
|
||||
.IP -sec-nla (default:on)
|
||||
Disable NLA protocol security
|
||||
.IP +sec-ext (default:off)
|
||||
Use NLA extended protocol security
|
||||
.IP /sam-file:<file>
|
||||
NTLM SAM file for NLA authentication
|
||||
.IP /version
|
||||
Print the version and exit.
|
||||
.IP /help
|
||||
Print the help and exit.
|
||||
|
||||
.SH EXAMPLES
|
||||
freerdp-shadow-cli /port:12345
|
||||
|
||||
When run as user within a X session (for example from an xterm) a socket on
|
||||
12345 is opened and the current display is shared via RDP.
|
||||
|
||||
.SH EXIT STATUS
|
||||
.TP
|
||||
.B 0
|
||||
Successful program execution.
|
||||
.TP
|
||||
.B 1
|
||||
Otherweise.
|
||||
|
||||
.SH SEE ALSO
|
||||
wlog(7)
|
||||
|
||||
.SH AUTHOR
|
||||
FreeRDP <team@freerdp.com>
|
@ -2,14 +2,14 @@ prefix=@CMAKE_INSTALL_PREFIX@
|
||||
exec_prefix=@CMAKE_INSTALL_PREFIX@
|
||||
libdir=@CMAKE_INSTALL_FULL_LIBDIR@
|
||||
includedir=${prefix}/@FREERDP_INCLUDE_DIR@
|
||||
libs=-lfreerdp-shadow -lfreerdp-shadow-subsystem
|
||||
libs=-lfreerdp-shadow@FREERDP_API_VERSION@ -lfreerdp-shadow-subsystem@FREERDP_API_VERSION@
|
||||
|
||||
Name: FreeRDP shadow
|
||||
Description: FreeRDP: A Remote Desktop Protocol Implementation
|
||||
URL: http://www.freerdp.com/
|
||||
Version: @FREERDP_VERSION@
|
||||
Requires:
|
||||
Requires.private: @WINPR_PKG_CONFIG_FILENAME@ freerdp@FREERDP_VERSION_MAJOR@
|
||||
Requires.private: @WINPR_PKG_CONFIG_FILENAME@ freerdp@FREERDP_API_VERSION@
|
||||
Libs: -L${libdir} ${libs}
|
||||
Libs.private: -ldl -lpthread
|
||||
Cflags: -I${includedir}
|
||||
|
@ -36,6 +36,7 @@ static BOOL g_MessagePump = FALSE;
|
||||
#endif
|
||||
|
||||
#include <freerdp/server/shadow.h>
|
||||
#define TAG SERVER_TAG("shadow")
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
@ -52,6 +53,7 @@ int main(int argc, char** argv)
|
||||
if (!server)
|
||||
{
|
||||
status = -1;
|
||||
WLog_ERR(TAG, "Server new failed");
|
||||
goto fail_server_new;
|
||||
}
|
||||
|
||||
@ -70,14 +72,21 @@ int main(int argc, char** argv)
|
||||
if ((status = shadow_server_parse_command_line(server, argc, argv)) < 0)
|
||||
{
|
||||
shadow_server_command_line_status_print(server, argc, argv, status);
|
||||
WLog_ERR(TAG, "Problem parsing the command line.");
|
||||
goto fail_parse_command_line;
|
||||
}
|
||||
|
||||
if ((status = shadow_server_init(server)) < 0)
|
||||
{
|
||||
WLog_ERR(TAG, "Server initialization failed.");
|
||||
goto fail_server_init;
|
||||
}
|
||||
|
||||
if ((status = shadow_server_start(server)) < 0)
|
||||
{
|
||||
WLog_ERR(TAG, "Failed to start server.");
|
||||
goto fail_server_start;
|
||||
}
|
||||
|
||||
if (g_MessagePump)
|
||||
{
|
||||
|
@ -453,12 +453,18 @@ int shadow_server_start(rdpShadowServer* server)
|
||||
server->screen = shadow_screen_new(server);
|
||||
|
||||
if (!server->screen)
|
||||
{
|
||||
WLog_ERR(TAG, "screen_new failed");
|
||||
return -1;
|
||||
}
|
||||
|
||||
server->capture = shadow_capture_new(server);
|
||||
|
||||
if (!server->capture)
|
||||
{
|
||||
WLog_ERR(TAG, "capture_new failed");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (!server->ipcSocket)
|
||||
status = server->listener->Open(server->listener, NULL, (UINT16) server->port);
|
||||
@ -466,7 +472,10 @@ int shadow_server_start(rdpShadowServer* server)
|
||||
status = server->listener->OpenLocal(server->listener, server->ipcSocket);
|
||||
|
||||
if (!status)
|
||||
{
|
||||
WLog_ERR(TAG, "Problem creating listener. (Port already used or insufficient permissions?)");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (!(server->thread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)
|
||||
shadow_server_thread, (void*) server, 0, NULL)))
|
||||
|
@ -64,6 +64,7 @@ set(${MODULE_PREFIX}_SRCS
|
||||
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
|
||||
|
||||
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME ${MODULE_NAME}${UWAC_API_VERSION})
|
||||
if (WITH_LIBRARY_VERSIONING)
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${UWAC_VERSION} SOVERSION ${UWAC_API_VERSION})
|
||||
endif()
|
||||
|
@ -2,7 +2,7 @@ prefix=@CMAKE_INSTALL_PREFIX@
|
||||
exec_prefix=@CMAKE_INSTALL_PREFIX@
|
||||
libdir=@CMAKE_INSTALL_FULL_LIBDIR@
|
||||
includedir=${prefix}/@UWAC_INCLUDE_DIR@
|
||||
libs=-luwac
|
||||
libs=-luwac@UWAC_VERSION_MAJOR@
|
||||
|
||||
Name: uwac
|
||||
Description: uwac: using wayland as a client
|
||||
|
@ -176,14 +176,7 @@ if(BUILD_TESTING)
|
||||
add_subdirectory(test)
|
||||
endif()
|
||||
|
||||
if(WITH_MANPAGES)
|
||||
if(OPENBSD)
|
||||
install(FILES wlog.7 DESTINATION man/man7)
|
||||
else()
|
||||
install(FILES wlog.7 DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/man/man7)
|
||||
endif()
|
||||
endif(WITH_MANPAGES)
|
||||
|
||||
install_freerdp_man(wlog.7 7)
|
||||
# Exporting
|
||||
|
||||
if(${CMAKE_VERSION} VERSION_GREATER "2.8.10")
|
||||
|
@ -120,6 +120,7 @@ endif()
|
||||
|
||||
add_library(${MODULE_NAME} ${WINPR_SRCS})
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES LINKER_LANGUAGE C)
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME ${MODULE_NAME}${WINPR_API_VERSION})
|
||||
if (WITH_LIBRARY_VERSIONING)
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION} SOVERSION ${WINPR_API_VERSION})
|
||||
endif()
|
||||
|
2
winpr/tools/.gitignore
vendored
2
winpr/tools/.gitignore
vendored
@ -1,2 +1,4 @@
|
||||
makecert-cli/winpr-makecert
|
||||
makecert-cli/winpr-makecert.1
|
||||
hash-cli/winpr-hash
|
||||
hash-cli/winpr-hash.1
|
||||
|
@ -104,6 +104,7 @@ endif()
|
||||
|
||||
add_library(${MODULE_NAME} ${WINPR_TOOLS_SRCS})
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES LINKER_LANGUAGE C)
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME ${MODULE_NAME}${WINPR_TOOLS_API_VERSION})
|
||||
if (WITH_LIBRARY_VERSIONING)
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_TOOLS_VERSION} SOVERSION ${WINPR_TOOLS_API_VERSION})
|
||||
endif()
|
||||
|
@ -50,3 +50,5 @@ if (WITH_DEBUG_SYMBOLS AND MSVC)
|
||||
endif()
|
||||
|
||||
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR/Tools")
|
||||
configure_file(winpr-hash.1.in ${CMAKE_CURRENT_BINARY_DIR}/winpr-hash.1)
|
||||
install_freerdp_man(${CMAKE_CURRENT_BINARY_DIR}/winpr-hash.1 1)
|
||||
|
@ -44,6 +44,13 @@
|
||||
*
|
||||
*/
|
||||
|
||||
void usage_and_exit()
|
||||
{
|
||||
printf("winpr-hash: NTLM hashing tool\n");
|
||||
printf("Usage: winpr-hash -u <username> -p <password> [-d <domain>] [-f <_default_,sam>] [-v <_1_,2>]\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
int index = 1;
|
||||
@ -65,8 +72,8 @@ int main(int argc, char* argv[])
|
||||
|
||||
if (index == argc)
|
||||
{
|
||||
printf("missing domain\n");
|
||||
exit(1);
|
||||
printf("missing domain\n\n");
|
||||
usage_and_exit();
|
||||
}
|
||||
|
||||
Domain = argv[index];
|
||||
@ -77,8 +84,8 @@ int main(int argc, char* argv[])
|
||||
|
||||
if (index == argc)
|
||||
{
|
||||
printf("missing username\n");
|
||||
exit(1);
|
||||
printf("missing username\n\n");
|
||||
usage_and_exit();
|
||||
}
|
||||
|
||||
User = argv[index];
|
||||
@ -89,8 +96,8 @@ int main(int argc, char* argv[])
|
||||
|
||||
if (index == argc)
|
||||
{
|
||||
printf("missing password\n");
|
||||
exit(1);
|
||||
printf("missing password\n\n");
|
||||
usage_and_exit();
|
||||
}
|
||||
|
||||
Password = argv[index];
|
||||
@ -101,14 +108,17 @@ int main(int argc, char* argv[])
|
||||
|
||||
if (index == argc)
|
||||
{
|
||||
printf("missing version\n");
|
||||
exit(1);
|
||||
printf("missing version parameter\n\n");
|
||||
usage_and_exit();
|
||||
}
|
||||
|
||||
version = atoi(argv[index]);
|
||||
|
||||
if ((version != 1) && (version != 2))
|
||||
version = 1;
|
||||
{
|
||||
printf("unkown version %d \n\n", version);
|
||||
usage_and_exit();
|
||||
}
|
||||
}
|
||||
else if (strcmp("-f", argv[index]) == 0)
|
||||
{
|
||||
@ -116,8 +126,8 @@ int main(int argc, char* argv[])
|
||||
|
||||
if (index == argc)
|
||||
{
|
||||
printf("missing format\n");
|
||||
exit(1);
|
||||
printf("missing format\n\n");
|
||||
usage_and_exit();
|
||||
}
|
||||
|
||||
if (strcmp("default", argv[index]) == 0)
|
||||
@ -127,9 +137,7 @@ int main(int argc, char* argv[])
|
||||
}
|
||||
else if (strcmp("-h", argv[index]) == 0)
|
||||
{
|
||||
printf("winpr-hash: NTLM hashing tool\n");
|
||||
printf("Usage: winpr-hash -u <username> -p <password> [-d <domain>] -f <default,sam> -v <1,2>\n");
|
||||
exit(1);
|
||||
usage_and_exit();
|
||||
}
|
||||
|
||||
index++;
|
||||
@ -137,8 +145,8 @@ int main(int argc, char* argv[])
|
||||
|
||||
if ((!User) || (!Password))
|
||||
{
|
||||
printf("missing username or password\n");
|
||||
exit(1);
|
||||
printf("missing username or password\n\n");
|
||||
usage_and_exit();
|
||||
}
|
||||
|
||||
UserLength = strlen(User);
|
||||
@ -149,8 +157,8 @@ int main(int argc, char* argv[])
|
||||
{
|
||||
if (!Domain)
|
||||
{
|
||||
printf("missing domain\n");
|
||||
exit(1);
|
||||
printf("missing domain (version 2 requires a domain to specified)\n\n");
|
||||
usage_and_exit();
|
||||
}
|
||||
|
||||
NTOWFv2A(Password, PasswordLength, User, UserLength, Domain, DomainLength, NtHash);
|
||||
|
42
winpr/tools/hash-cli/winpr-hash.1.in
Normal file
42
winpr/tools/hash-cli/winpr-hash.1.in
Normal file
@ -0,0 +1,42 @@
|
||||
.TH winpr-hash 1 2017-01-11 "@FREERDP_VERSION_FULL@" "FreeRDP"
|
||||
.SH NAME
|
||||
winpr-hash \- NTLM hashing tool
|
||||
.SH SYNOPSIS
|
||||
.B winpr-hash
|
||||
\fB-u\fP username
|
||||
\fB-p\fP password
|
||||
[\fB-d\fP domain]
|
||||
[\fB-f\fP { \fIdefault\fP | sam }]
|
||||
[\fB-v\fP { \fI1\fP | 2 }]
|
||||
.SH DESCRIPTION
|
||||
.B winpr-hash
|
||||
is a small utility that can be used to create a NTLM hash from a username and password pair. The created hash can be outputed as plain hash or in SAM format.
|
||||
.SH OPTIONS
|
||||
.IP "-u username"
|
||||
The username to use.
|
||||
.IP "-p password"
|
||||
Password to use.
|
||||
.IP "-d domain"
|
||||
A optional parameter to specify the domain of the user.
|
||||
.IP "-f format"
|
||||
Specify the output format. The \fIdefault\fP outputs only the plain NTLM
|
||||
hash. The second output format available is \fIsam\fP which outputs the
|
||||
created hash in a format that it can be used in SAM file:
|
||||
|
||||
user:domain::hash:::
|
||||
.IP "-v version"
|
||||
Version allows it to specify the NTLM version to use. The default is to use version 1. In case
|
||||
version 2 is used a domain needs to be specified.
|
||||
.SH EXAMPLES
|
||||
winpr-hash -u \fIuser\fP -p \fIpassword\fP -d \fIdomain\fP -f \fIsam\fP -v \fI2\fP
|
||||
|
||||
Create a version \fI2\fP NTLM hash for \fIuser\fP with \fIdomain\fP and \fIpassword\fP and output it in \fIsam\fP format.
|
||||
.SH EXIT STATUS
|
||||
.TP
|
||||
.B 0
|
||||
Successful program execution.
|
||||
.TP
|
||||
.B 1
|
||||
Missing or invalid arguments.
|
||||
.SH AUTHOR
|
||||
FreeRDP <team@freerdp.com>
|
@ -50,3 +50,6 @@ 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()
|
||||
|
||||
configure_file(winpr-makecert.1.in ${CMAKE_CURRENT_BINARY_DIR}/winpr-makecert.1)
|
||||
install_freerdp_man(${CMAKE_CURRENT_BINARY_DIR}/winpr-makecert.1 1)
|
||||
|
116
winpr/tools/makecert-cli/winpr-makecert.1.in
Normal file
116
winpr/tools/makecert-cli/winpr-makecert.1.in
Normal file
@ -0,0 +1,116 @@
|
||||
.de URL
|
||||
\\$2 \(laURL: \\$1 \(ra\\$3
|
||||
..
|
||||
.if \n[.g] .mso www.tmac))
|
||||
.TH winpr\-makecert 1 2017-01-11 "@FREERDP_VERSION_FULL@" "FreeRDP"
|
||||
.SH NAME
|
||||
winpr\-makecert \- A tool to create X.509 certificates.
|
||||
.SH SYNOPSIS
|
||||
.B winpr\-makecert
|
||||
[\fB-rdp\fP]
|
||||
[\fB-silent\fP]
|
||||
[\fB-live\fP]
|
||||
[\fB-format\fP { \fIcrt\fP | \fIpem\fP | \fIpfx\fP }]
|
||||
[\fB-p\fP password]
|
||||
[\fB-n\fP common_name]
|
||||
[\fB-y\fP years]
|
||||
[\fB-m\fP months]
|
||||
[\fB-len\fP lenth]
|
||||
[\fB-#\fP serial]
|
||||
[\fB-a\fP { \fImd5\fP | \fIsha1\fP | \fIsha256\fP | \fIs384\fP | \fIsha512\fP }]
|
||||
[\fB-path\fP outputpath]
|
||||
[outputname]
|
||||
.SH DESCRIPTION
|
||||
.B winpr-makecert
|
||||
is a tool for generating X.509 certificates modeled after the Windows command
|
||||
MakeCert. winpr-makecert aims to be command line compatible with MakeCert
|
||||
however not all options are supported or implemented yet.
|
||||
|
||||
Unimplemented features are not described here. They are marked as "Unsupported"
|
||||
in winpr-makecerts help.
|
||||
|
||||
In contrast to it's Windows counterpart winpr\-makecert does, unless the
|
||||
\fB\-live\fP option is given, always creates and save a certificate.
|
||||
If \fIoutputname\fP isn't set it is tried to determine the host name of the
|
||||
computer the command is run on.
|
||||
.br
|
||||
\fBWarning:\fP if the file already exists it will be overwritten without asking.
|
||||
|
||||
Without further options the generated certificates have the following properties:
|
||||
|
||||
* 2048 bit long
|
||||
.br
|
||||
* sha256 as hash algorithm
|
||||
.br
|
||||
* the detected host name is used as common name
|
||||
.br
|
||||
* a time stamp is used as serial number
|
||||
.br
|
||||
* validity period of one year
|
||||
.br
|
||||
* saved in the current working directory in crt format
|
||||
.SH OPTIONS
|
||||
.IP "-rdp"
|
||||
Dummy parameter. Can be used to quickly generate a certificate with default
|
||||
properties without specifying any further parameters.
|
||||
.IP "-silent"
|
||||
Don't print the generated certificate to stdout.
|
||||
.IP "-f format"
|
||||
Three formats are supported: crt, pem and pfx.
|
||||
.br
|
||||
\fIcrt\fP outputs the key and the certificate in a separate file each with the file
|
||||
endings .key and .crt.
|
||||
.br
|
||||
\fIpem\fP outputs the key and certificate into a single file with the file ending pem.
|
||||
.br
|
||||
And \fIpfx\fP outputs key and certificate into a pkcs12 file with the ending .pfx.
|
||||
.IP "-p password"
|
||||
Password to use if the pfx format is used as format.
|
||||
.IP "-live"
|
||||
Don't write the key/certificate to disk. When used from the command line this
|
||||
can be thought as "dummy" mode.
|
||||
.IP "-n common_name"
|
||||
The common name to use in the certificate.
|
||||
.IP "-m months"
|
||||
Validity period in months.
|
||||
.IP "-y years"
|
||||
Validity period in years. If months and years are specified the specified
|
||||
month parameter will take precedence.
|
||||
.IP "-len length"
|
||||
Key length in bits to use.
|
||||
.IP "-a { \fImd5\fP | \fIsha1\fP | \fIsha256\fP | \fIs384\fP | \fIsha512\fP }"
|
||||
The hashing algorithm to use.
|
||||
.IP "-# serial"
|
||||
The serial number to use for the certificate.
|
||||
.IP "-path"
|
||||
A directory where the certificate should be created in.
|
||||
.IP "outputname"
|
||||
The base name of the created file(s). A suffix, the format specific suffix is
|
||||
appended to this name.
|
||||
.SH EXAMPLES
|
||||
winpr-makecert -rdp
|
||||
|
||||
Creates a certificate with the default properties, saved to a file in the
|
||||
current working directory in crt format named like the host. If the host is
|
||||
named freerdp the created files are called freerdp.key and freerdp.crt.
|
||||
|
||||
|
||||
winpr-makecert -len 4096 -a sha384 -path /tmp -# 22 -m 144 -y 1 -format crt mycert
|
||||
|
||||
The command above creates the file /tmp/mycert.pem containing a key and a
|
||||
certificate with a length of 4096. It will use sha384 as hash algorithm.
|
||||
The certificate has the serial number 22 and is valid for 12 years (144 months).
|
||||
.SH EXIT STATUS
|
||||
.TP
|
||||
.B 0
|
||||
Successful program execution.
|
||||
.TP
|
||||
.B 1
|
||||
Otherweise.
|
||||
|
||||
.SH SEE ALSO
|
||||
|
||||
.URL "https://msdn.microsoft.com/library/windows/desktop/aa386968.aspx" "MakeCert help page"
|
||||
|
||||
.SH AUTHOR
|
||||
FreeRDP <team@freerdp.com>
|
@ -67,7 +67,7 @@ static COMMAND_LINE_ARGUMENT_A args[] =
|
||||
/* Custom Options */
|
||||
|
||||
{ "rdp", COMMAND_LINE_VALUE_FLAG, NULL, NULL, NULL, -1, NULL,
|
||||
"Generate certificate with required options for RDP usage."
|
||||
"Unsupported - Generate certificate with required options for RDP usage."
|
||||
},
|
||||
{ "silent", COMMAND_LINE_VALUE_FLAG, NULL, NULL, NULL, -1, NULL,
|
||||
"Silently generate certificate without verbose output."
|
||||
@ -92,82 +92,82 @@ static COMMAND_LINE_ARGUMENT_A args[] =
|
||||
"The simplest method is to specify the name in double quotes, preceded by CN=; for example, -n \"CN=myName\"."
|
||||
},
|
||||
{ "pe", COMMAND_LINE_VALUE_FLAG, NULL, NULL, NULL, -1, NULL,
|
||||
"Marks the generated private key as exportable. This allows the private key to be included in the certificate."
|
||||
"Unsupported - Marks the generated private key as exportable. This allows the private key to be included in the certificate."
|
||||
},
|
||||
{ "sk", COMMAND_LINE_VALUE_REQUIRED, "<keyname>", NULL, NULL, -1, NULL,
|
||||
"Specifies the subject's key container location, which contains the private key. "
|
||||
"Unsupported - Specifies the subject's key container location, which contains the private key. "
|
||||
"If a key container does not exist, it will be created."
|
||||
},
|
||||
{ "sr", COMMAND_LINE_VALUE_REQUIRED, "<location>", NULL, NULL, -1, NULL,
|
||||
"Specifies the subject's certificate store location. location can be either currentuser (the default) or localmachine."
|
||||
"Unsupported - Specifies the subject's certificate store location. location can be either currentuser (the default) or localmachine."
|
||||
},
|
||||
{ "ss", COMMAND_LINE_VALUE_REQUIRED, "<store>", NULL, NULL, -1, NULL,
|
||||
"Specifies the subject's certificate store name that stores the output certificate."
|
||||
"Unsupported - Specifies the subject's certificate store name that stores the output certificate."
|
||||
},
|
||||
{ "#", COMMAND_LINE_VALUE_REQUIRED, "<number>", NULL, NULL, -1, NULL,
|
||||
"Specifies a serial number from 1 to 2,147,483,647. The default is a unique value generated by Makecert.exe."
|
||||
},
|
||||
{ "$", COMMAND_LINE_VALUE_REQUIRED, "<authority>", NULL, NULL, -1, NULL,
|
||||
"Specifies the signing authority of the certificate, which must be set to either commercial "
|
||||
"Unsupported - Specifies the signing authority of the certificate, which must be set to either commercial "
|
||||
"(for certificates used by commercial software publishers) or individual (for certificates used by individual software publishers)."
|
||||
},
|
||||
|
||||
/* Extended Options */
|
||||
|
||||
{ "a", COMMAND_LINE_VALUE_REQUIRED, "<algorithm>", NULL, NULL, -1, NULL,
|
||||
"Specifies the signature algorithm. algorithm must be md5, sha1 (the default), sha256, sha384, or sha512."
|
||||
"Specifies the signature algorithm. algorithm must be md5, sha1, sha256 (the default), sha384, or sha512."
|
||||
},
|
||||
{ "b", COMMAND_LINE_VALUE_REQUIRED, "<mm/dd/yyyy>", NULL, NULL, -1, NULL,
|
||||
"Specifies the start of the validity period. Defaults to the current date."
|
||||
"Unsupported - Specifies the start of the validity period. Defaults to the current date."
|
||||
},
|
||||
{ "crl", COMMAND_LINE_VALUE_FLAG, NULL, NULL, NULL, -1, NULL,
|
||||
"Generates a certificate relocation list (CRL) instead of a certificate."
|
||||
"Unsupported - Generates a certificate relocation list (CRL) instead of a certificate."
|
||||
},
|
||||
{ "cy", COMMAND_LINE_VALUE_REQUIRED, "<certType>", NULL, NULL, -1, NULL,
|
||||
"Specifies the certificate type. Valid values are end for end-entity and authority for certification authority."
|
||||
"Unsupported - Specifies the certificate type. Valid values are end for end-entity and authority for certification authority."
|
||||
},
|
||||
{ "e", COMMAND_LINE_VALUE_REQUIRED, "<mm/dd/yyyy>", NULL, NULL, -1, NULL,
|
||||
"Specifies the end of the validity period. Defaults to 12/31/2039 11:59:59 GMT."
|
||||
"Unsupported - Specifies the end of the validity period. Defaults to 12/31/2039 11:59:59 GMT."
|
||||
},
|
||||
{ "eku", COMMAND_LINE_VALUE_REQUIRED, "<oid[,oid…]>", NULL, NULL, -1, NULL,
|
||||
"Inserts a list of comma-separated, enhanced key usage object identifiers (OIDs) into the certificate."
|
||||
"Unsupported - Inserts a list of comma-separated, enhanced key usage object identifiers (OIDs) into the certificate."
|
||||
},
|
||||
{ "h", COMMAND_LINE_VALUE_REQUIRED, "<number>", NULL, NULL, -1, NULL,
|
||||
"Specifies the maximum height of the tree below this certificate."
|
||||
"Unsupported - Specifies the maximum height of the tree below this certificate."
|
||||
},
|
||||
{ "ic", COMMAND_LINE_VALUE_REQUIRED, "<file>", NULL, NULL, -1, NULL,
|
||||
"Specifies the issuer's certificate file."
|
||||
"Unsupported - Specifies the issuer's certificate file."
|
||||
},
|
||||
{ "ik", COMMAND_LINE_VALUE_REQUIRED, "<keyName>", NULL, NULL, -1, NULL,
|
||||
"Specifies the issuer's key container name."
|
||||
"Unsupported - Specifies the issuer's key container name."
|
||||
},
|
||||
{ "iky", COMMAND_LINE_VALUE_REQUIRED, "<keyType>", NULL, NULL, -1, NULL,
|
||||
"Specifies the issuer's key type, which must be one of the following: "
|
||||
"Unsupported - Specifies the issuer's key type, which must be one of the following: "
|
||||
"signature (which indicates that the key is used for a digital signature), "
|
||||
"exchange (which indicates that the key is used for key encryption and key exchange), "
|
||||
"or an integer that represents a provider type. "
|
||||
"By default, you can pass 1 for an exchange key or 2 for a signature key."
|
||||
},
|
||||
{ "in", COMMAND_LINE_VALUE_REQUIRED, "<name>", NULL, NULL, -1, NULL,
|
||||
"Specifies the issuer's certificate common name."
|
||||
"Unsupported - Specifies the issuer's certificate common name."
|
||||
},
|
||||
{ "ip", COMMAND_LINE_VALUE_REQUIRED, "<provider>", NULL, NULL, -1, NULL,
|
||||
"Specifies the issuer's CryptoAPI provider name. For information about the CryptoAPI provider name, see the –sp option."
|
||||
"Unsupported - Specifies the issuer's CryptoAPI provider name. For information about the CryptoAPI provider name, see the –sp option."
|
||||
},
|
||||
{ "ir", COMMAND_LINE_VALUE_REQUIRED, "<location>", NULL, NULL, -1, NULL,
|
||||
"Specifies the location of the issuer's certificate store. location can be either currentuser (the default) or localmachine."
|
||||
"Unsupported - Specifies the location of the issuer's certificate store. location can be either currentuser (the default) or localmachine."
|
||||
},
|
||||
{ "is", COMMAND_LINE_VALUE_REQUIRED, "<store>", NULL, NULL, -1, NULL,
|
||||
"Specifies the issuer's certificate store name."
|
||||
"Unsupported - Specifies the issuer's certificate store name."
|
||||
},
|
||||
{ "iv", COMMAND_LINE_VALUE_REQUIRED, "<pvkFile>", NULL, NULL, -1, NULL,
|
||||
"Specifies the issuer's .pvk private key file."
|
||||
"Unsupported - Specifies the issuer's .pvk private key file."
|
||||
},
|
||||
{ "iy", COMMAND_LINE_VALUE_REQUIRED, "<type>", NULL, NULL, -1, NULL,
|
||||
"Specifies the issuer's CryptoAPI provider type. For information about the CryptoAPI provider type, see the –sy option."
|
||||
"Unsupported - Specifies the issuer's CryptoAPI provider type. For information about the CryptoAPI provider type, see the –sy option."
|
||||
},
|
||||
{ "l", COMMAND_LINE_VALUE_REQUIRED, "<link>", NULL, NULL, -1, NULL,
|
||||
"Links to policy information (for example, to a URL)."
|
||||
"Unsupported - Links to policy information (for example, to a URL)."
|
||||
},
|
||||
{ "len", COMMAND_LINE_VALUE_REQUIRED, "<number>", NULL, NULL, -1, NULL,
|
||||
"Specifies the generated key length, in bits."
|
||||
@ -179,36 +179,36 @@ static COMMAND_LINE_ARGUMENT_A args[] =
|
||||
"Specifies the duration, in years, of the certificate validity period."
|
||||
},
|
||||
{ "nscp", COMMAND_LINE_VALUE_FLAG, NULL, NULL, NULL, -1, NULL,
|
||||
"Includes the Netscape client-authorization extension."
|
||||
"Unsupported - Includes the Netscape client-authorization extension."
|
||||
},
|
||||
{ "r", COMMAND_LINE_VALUE_FLAG, NULL, NULL, NULL, -1, NULL,
|
||||
"Creates a self-signed certificate."
|
||||
"Unsupported - Creates a self-signed certificate."
|
||||
},
|
||||
{ "sc", COMMAND_LINE_VALUE_REQUIRED, "<file>", NULL, NULL, -1, NULL,
|
||||
"Specifies the subject's certificate file."
|
||||
"Unsupported - Specifies the subject's certificate file."
|
||||
},
|
||||
{ "sky", COMMAND_LINE_VALUE_REQUIRED, "<keyType>", NULL, NULL, -1, NULL,
|
||||
"Specifies the subject's key type, which must be one of the following: "
|
||||
"Unsupported - Specifies the subject's key type, which must be one of the following: "
|
||||
"signature (which indicates that the key is used for a digital signature), "
|
||||
"exchange (which indicates that the key is used for key encryption and key exchange), "
|
||||
"or an integer that represents a provider type. "
|
||||
"By default, you can pass 1 for an exchange key or 2 for a signature key."
|
||||
},
|
||||
{ "sp", COMMAND_LINE_VALUE_REQUIRED, "<provider>", NULL, NULL, -1, NULL,
|
||||
"Specifies the subject's CryptoAPI provider name, which must be defined in the registry subkeys of "
|
||||
"Unsupported - Specifies the subject's CryptoAPI provider name, which must be defined in the registry subkeys of "
|
||||
"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography\\Defaults\\Provider. If both –sp and –sy are present, "
|
||||
"the type of the CryptoAPI provider must correspond to the Type value of the provider's subkey."
|
||||
},
|
||||
{ "sv", COMMAND_LINE_VALUE_REQUIRED, "<pvkFile>", NULL, NULL, -1, NULL,
|
||||
"Specifies the subject's .pvk private key file. The file is created if none exists."
|
||||
"Unsupported - Specifies the subject's .pvk private key file. The file is created if none exists."
|
||||
},
|
||||
{ "sy", COMMAND_LINE_VALUE_REQUIRED, "<type>", NULL, NULL, -1, NULL,
|
||||
"Specifies the subject's CryptoAPI provider type, which must be defined in the registry subkeys of "
|
||||
"Unsupported - Specifies the subject's CryptoAPI provider type, which must be defined in the registry subkeys of "
|
||||
"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography\\Defaults\\Provider Types. If both –sy and –sp are present, "
|
||||
"the name of the CryptoAPI provider must correspond to the Name value of the provider type subkey."
|
||||
},
|
||||
{ "tbs", COMMAND_LINE_VALUE_REQUIRED, "<file>", NULL, NULL, -1, NULL,
|
||||
"Specifies the certificate or CRL file to be signed."
|
||||
"Unsupported - Specifies the certificate or CRL file to be signed."
|
||||
},
|
||||
|
||||
/* Help */
|
||||
@ -354,9 +354,8 @@ int command_line_pre_filter(MAKECERT_CONTEXT* context, int index, int argc, LPCS
|
||||
context->output_file = _strdup(argv[index]);
|
||||
if (!context->output_file)
|
||||
return -1;
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
@ -389,11 +388,10 @@ int makecert_context_parse_arguments(MAKECERT_CONTEXT* context, int argc, char**
|
||||
|
||||
do
|
||||
{
|
||||
if (!(arg->Flags & COMMAND_LINE_VALUE_PRESENT))
|
||||
if (!(arg->Flags & COMMAND_LINE_ARGUMENT_PRESENT))
|
||||
continue;
|
||||
|
||||
CommandLineSwitchStart(arg)
|
||||
|
||||
/* Basic Options */
|
||||
|
||||
CommandLineSwitchCase(arg, "silent")
|
||||
@ -474,7 +472,6 @@ int makecert_context_parse_arguments(MAKECERT_CONTEXT* context, int argc, char**
|
||||
|
||||
CommandLineSwitchDefault(arg)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
CommandLineSwitchEnd(arg)
|
||||
@ -579,7 +576,7 @@ int makecert_context_output_certificate_file(MAKECERT_CONTEXT* context, char* pa
|
||||
goto out_fail;
|
||||
|
||||
status = BIO_read(bio, x509_str, length);
|
||||
|
||||
|
||||
if (status < 0)
|
||||
goto out_fail;
|
||||
|
||||
@ -634,7 +631,7 @@ int makecert_context_output_certificate_file(MAKECERT_CONTEXT* context, char* pa
|
||||
goto out_fail;
|
||||
|
||||
status = BIO_read(bio, x509_str, length);
|
||||
|
||||
|
||||
if (status < 0)
|
||||
goto out_fail;
|
||||
|
||||
@ -692,7 +689,7 @@ int makecert_context_output_certificate_file(MAKECERT_CONTEXT* context, char* pa
|
||||
goto out_fail;
|
||||
|
||||
status = BIO_read(bio, x509_str, length);
|
||||
|
||||
|
||||
if (status < 0)
|
||||
goto out_fail;
|
||||
|
||||
@ -880,7 +877,9 @@ int makecert_context_process(MAKECERT_CONTEXT* context, int argc, char** argv)
|
||||
|
||||
ret = makecert_context_parse_arguments(context, argc, argv);
|
||||
if (ret < 1)
|
||||
{
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (!context->default_name && !context->common_name)
|
||||
{
|
||||
@ -951,7 +950,7 @@ int makecert_context_process(MAKECERT_CONTEXT* context, int argc, char** argv)
|
||||
{
|
||||
X509_gmtime_adj(X509_get_notAfter(context->x509), (long) (60 * 60 * 24 * 365 * context->duration_years));
|
||||
}
|
||||
|
||||
|
||||
X509_set_pubkey(context->x509, context->pkey);
|
||||
|
||||
name = X509_get_subject_name(context->x509);
|
||||
@ -1004,7 +1003,7 @@ int makecert_context_process(MAKECERT_CONTEXT* context, int argc, char** argv)
|
||||
|
||||
arg = CommandLineFindArgumentA(args, "a");
|
||||
|
||||
md = EVP_sha1();
|
||||
md = EVP_sha256();
|
||||
|
||||
if (arg->Flags & COMMAND_LINE_VALUE_PRESENT)
|
||||
{
|
||||
@ -1051,14 +1050,14 @@ int makecert_context_process(MAKECERT_CONTEXT* context, int argc, char** argv)
|
||||
}
|
||||
|
||||
status = BIO_read(bio, x509_str, length);
|
||||
|
||||
|
||||
if (status < 0)
|
||||
{
|
||||
BIO_free(bio);
|
||||
free(x509_str);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
offset += status;
|
||||
|
||||
while (offset >= length)
|
||||
@ -1074,20 +1073,21 @@ int makecert_context_process(MAKECERT_CONTEXT* context, int argc, char** argv)
|
||||
break;
|
||||
}
|
||||
|
||||
length = new_len;
|
||||
x509_str = new_str;
|
||||
|
||||
status = BIO_read(bio, &x509_str[offset], length);
|
||||
status = BIO_read(bio, &x509_str[offset], new_len);
|
||||
|
||||
|
||||
if (status < 0)
|
||||
break;
|
||||
|
||||
length = length + new_len;
|
||||
offset += status;
|
||||
}
|
||||
|
||||
if (status < 0)
|
||||
return -1;
|
||||
|
||||
|
||||
length = offset;
|
||||
x509_str[length] = '\0';
|
||||
|
||||
@ -1106,7 +1106,7 @@ int makecert_context_process(MAKECERT_CONTEXT* context, int argc, char** argv)
|
||||
makecert_context_output_certificate_file(context, context->output_path);
|
||||
|
||||
if (context->crtFormat)
|
||||
{
|
||||
{
|
||||
if (makecert_context_output_private_key_file(context, context->output_path) < 0)
|
||||
return -1;
|
||||
}
|
||||
|
@ -2,7 +2,7 @@ prefix=@CMAKE_INSTALL_PREFIX@
|
||||
exec_prefix=@CMAKE_INSTALL_PREFIX@
|
||||
libdir=@CMAKE_INSTALL_FULL_LIBDIR@
|
||||
includedir=${prefix}/@WINPR_INCLUDE_DIR@
|
||||
libs=-lwinpr-tools
|
||||
libs=-lwinpr-tools@WINPR_TOOLS_API_VERSION@
|
||||
|
||||
Name: WinPR
|
||||
Description: WinPR: Windows Portable Runtime
|
||||
|
@ -2,7 +2,7 @@ prefix=@CMAKE_INSTALL_PREFIX@
|
||||
exec_prefix=@CMAKE_INSTALL_PREFIX@
|
||||
libdir=@CMAKE_INSTALL_FULL_LIBDIR@
|
||||
includedir=${prefix}/@WINPR_INCLUDE_DIR@
|
||||
libs=-lwinpr
|
||||
libs=-lwinpr@WINPR_API_VERSION@
|
||||
|
||||
Name: WinPR
|
||||
Description: WinPR: Windows Portable Runtime
|
||||
|
Loading…
Reference in New Issue
Block a user