Compare commits

..

48 Commits

Author SHA1 Message Date
Vitezslav Crhonek 3d6dcc1673 Fix FTBFS, Remove RANDFILE and increase default bits in ssleay.conf 2021-03-10 12:23:40 +01:00
Fedora Release Engineering 5f12a36e1b - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-28 12:51:55 +00:00
Jeff Law 2bbca28487 Disable LTO 2020-07-08 16:04:08 -06:00
Jitka Plesnikova df0e5b4b98 Perl 5.32 rebuild 2020-06-22 19:29:23 +02:00
Miro Hrončok 203b40c9d7 Rebuilt for Python 3.9 2020-05-26 02:55:10 +02:00
Fedora Release Engineering ffa5e2d1e3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-29 20:28:59 +00:00
Mamoru TASAKA 4d62e7d3d3 F-32: rebuild against ruby27 2020-01-18 13:34:42 +09:00
Miro Hrončok e8f40aab8a Rebuilt for Python 3.8.0rc1 (#1748018) 2019-10-03 13:57:53 +02:00
Miro Hrončok e422ac3379 Rebuilt for Python 3.8 2019-08-19 10:21:32 +02:00
Fedora Release Engineering ef167b0440 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-25 23:39:57 +00:00
Jitka Plesnikova b0de51d2a7 Perl 5.30 rebuild 2019-05-30 13:43:00 +02:00
Vitezslav Crhonek 7533496938 Add requires libwsman1 for rubygem-openwsman 2019-04-01 13:59:14 +02:00
Vitezslav Crhonek b28c67e01e Fix CVE-2019-3816, CVE-2019-3833 and remove Dist Tag from changelog 2019-03-13 14:34:58 +01:00
Fedora Release Engineering 6dcd9ddbfc - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-01 17:36:08 +00:00
Igor Gnatenko 102fbea1ba Remove obsolete ldconfig scriptlets
References: https://fedoraproject.org/wiki/Changes/RemoveObsoleteScriptlets
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2019-01-22 18:40:36 +01:00
Mamoru TASAKA e135327d2f F-30: rebuild against ruby26 2019-01-21 22:35:19 +09:00
Björn Esser 415906b5a9 Rebuilt for libcrypt.so.2 (#1666033) 2019-01-14 19:11:27 +01:00
Vitezslav Crhonek 21ba3ec6d6 Update sources 2018-11-26 11:19:10 +01:00
Vitezslav Crhonek 8be31c757a Update to openwsman-2.6.8 2018-11-22 13:37:08 +01:00
Vitezslav Crhonek 8e7d5b2b9d Reflect changes in libcurl error codes 2018-11-14 14:35:32 +01:00
Vitezslav Crhonek 46a9d78c6d Require the Python interpreter directly instead of using the package name 2018-10-01 11:53:20 +02:00
Fedora Release Engineering d77320bcc6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-13 15:14:33 +00:00
Petr Písař f6939e4ecc Perl 5.28 rebuild 2018-07-03 12:36:10 +02:00
Jitka Plesnikova 6a258f7a46 Perl 5.28 rebuild 2018-06-28 03:27:23 +02:00
Miro Hrončok 75bde100a0 Rebuilt for Python 3.7 2018-06-19 11:44:14 +02:00
Miro Hrončok 3f1e511d6f Rebuilt for Python 3.7 2018-06-19 10:49:07 +02:00
Vitezslav Crhonek 07795a5453 Explicitly disable build of java binding 2018-02-28 10:14:30 +01:00
Vitezslav Crhonek 0b7d9736b5 Add BuildRequires gcc and gcc-c++ 2018-02-22 09:59:17 +01:00
Vitezslav Crhonek bdce3e3008 Fix wrong SSL_CTX_set_cipher_list() retval check 2018-02-21 11:04:42 +01:00
Fedora Release Engineering 0408a863eb - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-08 17:53:47 +00:00
Vitezslav Crhonek 84d17f67f3 Update to openwsman-2.6.5 2018-01-23 13:47:32 +01:00
Björn Esser e348d774bc Rebuilt for switch to libxcrypt 2018-01-20 23:07:26 +01:00
Mamoru TASAKA a9aed0bd87 fix changelog 2018-01-06 15:36:57 +09:00
Mamoru TASAKA fa331df4dd Backport git patches to support 2.5 2018-01-06 15:31:08 +09:00
Vitezslav Crhonek 7e1a791315 Remove unnecessary net-tools requirement 2017-10-04 14:13:33 +02:00
Vitezslav Crhonek 2b477257dd Spec file clean up, Updated openssl-1.1 patch 2017-09-12 14:21:50 +02:00
Zbigniew Jędrzejewski-Szmek 307beb63ab Add Provides for the old name without %_isa 2017-08-20 10:39:47 -04:00
Zbigniew Jędrzejewski-Szmek bb317dc7ae Python 2 binary package renamed to python2-openwsman 2017-08-19 09:39:05 -04:00
Fedora Release Engineering 4e09bf833c - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild 2017-08-03 04:38:49 +00:00
Fedora Release Engineering 4bb1f28e25 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-27 01:55:42 +00:00
Petr Písař 27534e0c13 perl dependency renamed to perl-interpreter <https://fedoraproject.org/wiki/Changes/perl_Package_to_Install_Core_Modules> 2017-07-12 15:17:15 +02:00
Jitka Plesnikova 21b16061a1 Perl 5.26 rebuild 2017-06-04 15:43:11 +02:00
Fedora Release Engineering 5497575471 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild 2017-02-11 01:00:43 +00:00
Vitezslav Crhonek 39db6f660e Update to openwsman-2.6.3 from upstream VCS 2017-01-17 09:54:36 +01:00
Vít Ondruch 6caad7afa8 Rebuilt for https://fedoraproject.org/wiki/Changes/Ruby_2.4 2017-01-12 16:13:44 +01:00
Vitezslav Crhonek 5efde7440c Disable SSL protocols listed in config file 2017-01-09 16:31:54 +01:00
Vitezslav Crhonek c4e0090cf8 Port to openssl 1.1.0 2017-01-03 14:34:24 +01:00
Miro Hrončok 0314364ecc Rebuild for Python 3.6 2016-12-19 18:20:36 +01:00
14 changed files with 644 additions and 416 deletions
+1 -17
View File
@@ -1,18 +1,2 @@
openwsman-2.2.3.tar.bz2
/openwsman-2.2.4.tar.bz2
/openwsman-2.2.5.tar.bz2
/openwsman-2.2.7.tar.bz2
/openwsman-2.3.0.tar.bz2
/openwsman-2.3.5.tar.bz2
/openwsman-2.3.6.tar.bz2
/openwsmand.8.gz
/openwsman-2.4.0.tar.gz
/v2.4.3.tar.gz
/v2.4.4.tar.gz
/v2.4.6.tar.gz
/openwsman-2.4.12.tar.gz
/openwsman-2.4.14.tar.gz
/openwsman-2.4.15.tar.gz
/openwsman-2.6.0.tar.gz
/openwsman-2.6.1.tar.gz
/openwsman-2.6.2.tar.gz
/v2.6.8.tar.gz
-12
View File
@@ -1,12 +0,0 @@
diff -up openwsman-2.2.7/src/server/shttpd/compat_unix.h.orig openwsman-2.2.7/src/server/shttpd/compat_unix.h
--- openwsman-2.2.7/src/server/shttpd/compat_unix.h.orig 2012-02-09 13:04:47.528527681 +0100
+++ openwsman-2.2.7/src/server/shttpd/compat_unix.h 2012-02-09 13:05:31.582568867 +0100
@@ -21,7 +21,7 @@
#include <dirent.h>
#include <dlfcn.h>
#ifndef SSL_LIB
-#define SSL_LIB "libssl.so"
+#define SSL_LIB "libssl.so.10"
#endif
#define DIRSEP '/'
#define IS_DIRSEP_CHAR(c) ((c) == '/')
+10 -13
View File
@@ -1,16 +1,13 @@
diff -up openwsman-2.6.1/etc/pam/openwsman.pamsetup openwsman-2.6.1/etc/pam/openwsman
--- openwsman-2.6.1/etc/pam/openwsman.pamsetup 2015-08-27 15:46:46.000000000 +0200
+++ openwsman-2.6.1/etc/pam/openwsman 2015-08-31 16:08:28.166913889 +0200
@@ -1,7 +1,7 @@
#%PAM-1.0
-auth required pam_unix2.so nullok
+auth required pam_unix.so nullok
diff -up openwsman-2.6.8/etc/pam/openwsman.orig openwsman-2.6.8/etc/pam/openwsman
--- openwsman-2.6.8/etc/pam/openwsman.orig 2018-11-21 13:51:52.776325243 +0100
+++ openwsman-2.6.8/etc/pam/openwsman 2018-11-21 13:54:17.066351134 +0100
@@ -2,6 +2,6 @@
auth required pam_unix.so nullok
auth required pam_nologin.so
-account required pam_unix2.so
-password required pam_pwcheck.so nullok
-password required pam_unix2.so nullok use_first_pass use_authtok
-session required pam_unix2.so none
+account required pam_unix.so
account required pam_unix.so
-password required pam_cracklib.so nullok
-password required pam_unix.so nullok use_first_pass use_authtok nis shadow
-session required pam_unix.so none
+password required pam_pwquality.so
+password required pam_unix.so nullok use_first_pass use_authtok
+password required pam_unix.so nullok use_first_pass use_authtok
+session required pam_unix.so
+1 -1
View File
@@ -6,7 +6,7 @@ diff -up openwsman-2.4.12/bindings/ruby/extconf.rb.orig openwsman-2.4.12/binding
major, minor, path = RUBY_VERSION.split(".")
-raise "SWIG failed to run" unless system("#{swig} -ruby -autorename -DRUBY_VERSION=#{major}#{minor} -I. -I/usr/include/openwsman -o openwsman_wrap.c openwsman.i")
+raise "SWIG failed to run" unless system("#{swig} -ruby -autorename -DRUBY_VERSION=#{major}#{minor} -I. -I/usr/include/openwsman -I/builddir/build/BUILD/openwsman-2.6.2/include/ -o openwsman_wrap.c openwsman.i")
+raise "SWIG failed to run" unless system("#{swig} -ruby -autorename -DRUBY_VERSION=#{major}#{minor} -I. -I/usr/include/openwsman -I/builddir/build/BUILD/openwsman-2.6.8/include/ -o openwsman_wrap.c openwsman.i")
$CPPFLAGS = "-I/usr/include/openwsman -I.."
+127
View File
@@ -0,0 +1,127 @@
diff -up openwsman-2.6.8/src/server/shttpd/compat_unix.h.orig openwsman-2.6.8/src/server/shttpd/compat_unix.h
--- openwsman-2.6.8/src/server/shttpd/compat_unix.h.orig 2018-10-12 12:06:26.000000000 +0200
+++ openwsman-2.6.8/src/server/shttpd/compat_unix.h 2018-11-22 13:30:10.756423510 +0100
@@ -27,10 +27,6 @@
pthread_create(&tid, NULL, (void *(*)(void *))a, c); } while (0)
#endif /* !NO_THREADS */
-#ifndef SSL_LIB
-#define SSL_LIB "libssl.so"
-#endif
-
#define DIRSEP '/'
#define IS_DIRSEP_CHAR(c) ((c) == '/')
#define O_BINARY 0
diff -up openwsman-2.6.8/src/server/shttpd/io_ssl.c.orig openwsman-2.6.8/src/server/shttpd/io_ssl.c
--- openwsman-2.6.8/src/server/shttpd/io_ssl.c.orig 2018-10-12 12:06:26.000000000 +0200
+++ openwsman-2.6.8/src/server/shttpd/io_ssl.c 2018-11-22 13:30:10.757423510 +0100
@@ -11,23 +11,6 @@
#include "defs.h"
#if !defined(NO_SSL)
-struct ssl_func ssl_sw[] = {
- {"SSL_free", {0}},
- {"SSL_accept", {0}},
- {"SSL_connect", {0}},
- {"SSL_read", {0}},
- {"SSL_write", {0}},
- {"SSL_get_error", {0}},
- {"SSL_set_fd", {0}},
- {"SSL_new", {0}},
- {"SSL_CTX_new", {0}},
- {"SSLv23_server_method", {0}},
- {"SSL_library_init", {0}},
- {"SSL_CTX_use_PrivateKey_file", {0}},
- {"SSL_CTX_use_certificate_file",{0}},
- {NULL, {0}}
-};
-
void
_shttpd_ssl_handshake(struct stream *stream)
{
diff -up openwsman-2.6.8/src/server/shttpd/shttpd.c.orig openwsman-2.6.8/src/server/shttpd/shttpd.c
--- openwsman-2.6.8/src/server/shttpd/shttpd.c.orig 2018-10-12 12:06:26.000000000 +0200
+++ openwsman-2.6.8/src/server/shttpd/shttpd.c 2018-11-22 13:30:41.314416695 +0100
@@ -1476,20 +1476,14 @@ set_ssl(struct shttpd_ctx *ctx, const ch
int retval = FALSE;
EC_KEY* key;
- /* Load SSL library dynamically */
- if ((lib = dlopen(SSL_LIB, RTLD_LAZY)) == NULL) {
- _shttpd_elog(E_LOG, NULL, "set_ssl: cannot load %s", SSL_LIB);
- return (FALSE);
- }
-
- for (fp = ssl_sw; fp->name != NULL; fp++)
- if ((fp->ptr.v_void = dlsym(lib, fp->name)) == NULL) {
- _shttpd_elog(E_LOG, NULL,"set_ssl: cannot find %s", fp->name);
- return (FALSE);
- }
-
/* Initialize SSL crap */
+ debug("Initialize SSL");
+ SSL_load_error_strings();
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+ OPENSSL_init_ssl(0, NULL);
+#else
SSL_library_init();
+#endif
if ((CTX = SSL_CTX_new(SSLv23_server_method())) == NULL)
_shttpd_elog(E_LOG, NULL, "SSL_CTX_new error");
diff -up openwsman-2.6.8/src/server/shttpd/ssl.h.orig openwsman-2.6.8/src/server/shttpd/ssl.h
--- openwsman-2.6.8/src/server/shttpd/ssl.h.orig 2018-10-12 12:06:26.000000000 +0200
+++ openwsman-2.6.8/src/server/shttpd/ssl.h 2018-11-22 13:30:10.757423510 +0100
@@ -12,52 +12,4 @@
#include <openssl/ssl.h>
-#else
-
-/*
- * Snatched from OpenSSL includes. I put the prototypes here to be independent
- * from the OpenSSL source installation. Having this, shttpd + SSL can be
- * built on any system with binary SSL libraries installed.
- */
-
-typedef struct ssl_st SSL;
-typedef struct ssl_method_st SSL_METHOD;
-typedef struct ssl_ctx_st SSL_CTX;
-
-#define SSL_ERROR_WANT_READ 2
-#define SSL_ERROR_WANT_WRITE 3
-#define SSL_ERROR_SYSCALL 5
-#define SSL_FILETYPE_PEM 1
-
-#endif
-
-/*
- * Dynamically loaded SSL functionality
- */
-struct ssl_func {
- const char *name; /* SSL function name */
- union variant ptr; /* Function pointer */
-};
-
-extern struct ssl_func ssl_sw[];
-
-#define FUNC(x) ssl_sw[x].ptr.v_func
-
-#define SSL_free(x) (* (void (*)(SSL *)) FUNC(0))(x)
-#define SSL_accept(x) (* (int (*)(SSL *)) FUNC(1))(x)
-#define SSL_connect(x) (* (int (*)(SSL *)) FUNC(2))(x)
-#define SSL_read(x,y,z) (* (int (*)(SSL *, void *, int)) FUNC(3))((x),(y),(z))
-#define SSL_write(x,y,z) \
- (* (int (*)(SSL *, const void *,int)) FUNC(4))((x), (y), (z))
-#define SSL_get_error(x,y)(* (int (*)(SSL *, int)) FUNC(5))((x), (y))
-#define SSL_set_fd(x,y) (* (int (*)(SSL *, int)) FUNC(6))((x), (y))
-#define SSL_new(x) (* (SSL * (*)(SSL_CTX *)) FUNC(7))(x)
-#define SSL_CTX_new(x) (* (SSL_CTX * (*)(const SSL_METHOD *)) FUNC(8))(x)
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
-#define SSLv23_server_method() (* (SSL_METHOD * (*)(void)) FUNC(9))()
-#define SSL_library_init() (* (int (*)(void)) FUNC(10))()
#endif
-#define SSL_CTX_use_PrivateKey_file(x,y,z) (* (int (*)(SSL_CTX *, \
- const char *, int)) FUNC(11))((x), (y), (z))
-#define SSL_CTX_use_certificate_file(x,y,z) (* (int (*)(SSL_CTX *, \
- const char *, int)) FUNC(12))((x), (y), (z))
-179
View File
@@ -1,179 +0,0 @@
diff -up openwsman-2.6.2/bindings/CMakeLists.txt.orig openwsman-2.6.2/bindings/CMakeLists.txt
--- openwsman-2.6.2/bindings/CMakeLists.txt.orig 2015-10-19 15:27:46.000000000 +0200
+++ openwsman-2.6.2/bindings/CMakeLists.txt 2016-08-10 11:55:36.588710280 +0200
@@ -10,6 +10,7 @@ include_directories(${CMAKE_BINARY_DIR})
IF( BUILD_PYTHON )
add_subdirectory(python)
+add_subdirectory(python3)
ENDIF( BUILD_PYTHON )
IF( BUILD_RUBY )
diff -up openwsman-2.6.2/bindings/python3/CMakeLists.txt.orig openwsman-2.6.2/bindings/python3/CMakeLists.txt
--- openwsman-2.6.2/bindings/python3/CMakeLists.txt.orig 2016-08-10 11:55:36.577710278 +0200
+++ openwsman-2.6.2/bindings/python3/CMakeLists.txt 2016-08-10 15:15:46.005991322 +0200
@@ -12,11 +12,28 @@ enable_testing()
add_subdirectory(tests)
-EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)" OUTPUT_VARIABLE PYTHON_LIB_DIR)
-STRING(REPLACE "\n" "" PYTHON_LIB_DIR "${PYTHON_LIB_DIR}")
+MESSAGE(STATUS "Python3 build:")
+unset(Python_ADDITIONAL_VERSIONS)
+set(Python_ADDITIONAL_VERSIONS 3.5)
+FIND_PACKAGE(PythonLibs)
+IF (PYTHON_LIBRARY)
+ FIND_PACKAGE(PythonInterp REQUIRED)
+ #MESSAGE(STATUS "Found PythonLibs...")
+ FIND_PACKAGE(PythonLinkLibs)
+ #IF (PYTHON_LINK_LIBS)
+ # MESSAGE(STATUS "Building Python...")
+ #ENDIF (PYTHON_LINK_LIBS)
+ENDIF (PYTHON_LIBRARY)
+
+set(PYTHON3_EXECUTABLE "${PYTHON_EXECUTABLE}")
+set(PYTHON3_INCLUDE_DIRS "${PYTHON_INCLUDE_DIRS}")
+set({PYTHON3_INCLUDE_PATH "${PYTHON_INCLUDE_PATH}")
-MESSAGE(STATUS "Python executable: ${PYTHON_EXECUTABLE}")
-MESSAGE(STATUS "Python lib dir: ${PYTHON_LIB_DIR}")
+EXECUTE_PROCESS(COMMAND ${PYTHON3_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))" OUTPUT_VARIABLE PYTHON3_LIB_DIR)
+STRING(REPLACE "\n" "" PYTHON3_LIB_DIR "${PYTHON3_LIB_DIR}")
+
+MESSAGE(STATUS "Python executable: ${PYTHON3_EXECUTABLE}")
+MESSAGE(STATUS "Python lib dir: ${PYTHON3_LIB_DIR}")
SET( SWIG_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/openwsman_wrap.c" )
@@ -36,14 +53,14 @@ SET(pywsman_SRCS ${SWIG_OUTPUT} ${CMAKE_
ADD_LIBRARY( pywsman SHARED ${pywsman_SRCS} )
SET_TARGET_PROPERTIES( pywsman PROPERTIES PREFIX "_" )
-INCLUDE_DIRECTORIES( ${PYTHON_INCLUDE_DIRS} )
+INCLUDE_DIRECTORIES( ${PYTHON3_INCLUDE_DIRS} )
# RHEL5 needs this:
-INCLUDE_DIRECTORIES( ${PYTHON_INCLUDE_PATH} )
+INCLUDE_DIRECTORIES( ${PYTHON3_INCLUDE_PATH} )
INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_BINARY_DIR} )
INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/bindings ${CMAKE_SOURCE_DIR}/include )
TARGET_LINK_LIBRARIES( pywsman wsman )
TARGET_LINK_LIBRARIES( pywsman wsman_client )
-INSTALL(TARGETS pywsman LIBRARY DESTINATION ${PYTHON_LIB_DIR})
-INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/pywsman.py DESTINATION ${PYTHON_LIB_DIR} )
+INSTALL(TARGETS pywsman LIBRARY DESTINATION ${PYTHON3_LIB_DIR})
+INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/pywsman.py DESTINATION ${PYTHON3_LIB_DIR} )
diff -up openwsman-2.6.2/bindings/python/CMakeLists.txt.orig openwsman-2.6.2/bindings/python/CMakeLists.txt
--- openwsman-2.6.2/bindings/python/CMakeLists.txt.orig 2015-10-19 15:27:46.000000000 +0200
+++ openwsman-2.6.2/bindings/python/CMakeLists.txt 2016-08-10 15:00:21.126141161 +0200
@@ -12,11 +12,52 @@ enable_testing()
add_subdirectory(tests)
-EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)" OUTPUT_VARIABLE PYTHON_LIB_DIR)
-STRING(REPLACE "\n" "" PYTHON_LIB_DIR "${PYTHON_LIB_DIR}")
+MESSAGE(STATUS "Python2 build:")
+set(Python_ADDITIONAL_VERSIONS 2.7)
+FIND_PACKAGE(PythonLibs)
+IF (PYTHON_LIBRARY)
+ FIND_PACKAGE(PythonInterp REQUIRED)
+ #MESSAGE(STATUS "Found PythonLibs...")
+ FIND_PACKAGE(PythonLinkLibs)
+ #IF (PYTHON_LINK_LIBS)
+ # MESSAGE(STATUS "Building Python...")
+ #ENDIF (PYTHON_LINK_LIBS)
+ENDIF (PYTHON_LIBRARY)
+
+set(PYTHON2_EXECUTABLE "${PYTHON_EXECUTABLE}")
+set(PYTHON2_INCLUDE_DIRS "${PYTHON_INCLUDE_DIRS}")
+set(PYTHON2_INCLUDE_PATH "${PYTHON_INCLUDE_PATH}")
+
+# clear FIND_PACKAGE(PythonLibs) side effects
+unset(PYTHONLIBS_FOUND)
+unset(PYTHON_LIBRARIES)
+unset(PYTHON_INCLUDE_PATH)
+unset(PYTHON_INCLUDE_DIRS)
+unset(PYTHON_DEBUG_LIBRARIES)
+unset(PYTHONLIBS_VERSION_STRING)
+unset(PYTHON_DEBUG_LIBRARY CACHE)
+unset(PYTHON_LIBRARY)
+unset(PYTHON_LIBRARY_DEBUG)
+unset(PYTHON_LIBRARY_RELEASE)
+unset(PYTHON_LIBRARY CACHE)
+unset(PYTHON_LIBRARY_DEBUG CACHE)
+unset(PYTHON_LIBRARY_RELEASE CACHE)
+unset(PYTHON_INCLUDE_DIR CACHE)
+unset(PYTHON_INCLUDE_DIR2 CACHE)
+
+# clear FIND_PACKAGE(PythonInterp) side effects
+unset(PYTHONINTERP_FOUND)
+unset(PYTHON_EXECUTABLE CACHE)
+unset(PYTHON_VERSION_STRING)
+unset(PYTHON_VERSION_MAJOR)
+unset(PYTHON_VERSION_MINOR)
+unset(PYTHON_VERSION_PATCH)
-MESSAGE(STATUS "Python executable: ${PYTHON_EXECUTABLE}")
-MESSAGE(STATUS "Python lib dir: ${PYTHON_LIB_DIR}")
+EXECUTE_PROCESS(COMMAND ${PYTHON2_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)" OUTPUT_VARIABLE PYTHON2_LIB_DIR)
+STRING(REPLACE "\n" "" PYTHON2_LIB_DIR "${PYTHON2_LIB_DIR}")
+
+MESSAGE(STATUS "Python executable: ${PYTHON2_EXECUTABLE}")
+MESSAGE(STATUS "Python lib dir: ${PYTHON2_LIB_DIR}")
SET( SWIG_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/openwsman_wrap.c" )
@@ -36,14 +77,14 @@ SET(pywsman_SRCS ${SWIG_OUTPUT} ${CMAKE_
ADD_LIBRARY( pywsman SHARED ${pywsman_SRCS} )
SET_TARGET_PROPERTIES( pywsman PROPERTIES PREFIX "_" )
-INCLUDE_DIRECTORIES( ${PYTHON_INCLUDE_DIRS} )
+INCLUDE_DIRECTORIES( ${PYTHON2_INCLUDE_DIRS} )
# RHEL5 needs this:
-INCLUDE_DIRECTORIES( ${PYTHON_INCLUDE_PATH} )
+INCLUDE_DIRECTORIES( ${PYTHON2_INCLUDE_PATH} )
INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_BINARY_DIR} )
INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/bindings ${CMAKE_SOURCE_DIR}/include )
TARGET_LINK_LIBRARIES( pywsman wsman )
TARGET_LINK_LIBRARIES( pywsman wsman_client )
-INSTALL(TARGETS pywsman LIBRARY DESTINATION ${PYTHON_LIB_DIR})
-INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/pywsman.py DESTINATION ${PYTHON_LIB_DIR} )
+INSTALL(TARGETS pywsman LIBRARY DESTINATION ${PYTHON2_LIB_DIR})
+INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/pywsman.py DESTINATION ${PYTHON2_LIB_DIR} )
diff -up openwsman-2.6.2/CMakeLists.txt.orig openwsman-2.6.2/CMakeLists.txt
--- openwsman-2.6.2/CMakeLists.txt.orig 2015-10-19 15:27:46.000000000 +0200
+++ openwsman-2.6.2/CMakeLists.txt 2016-08-10 11:55:36.588710280 +0200
@@ -168,30 +168,6 @@ MESSAGE(STATUS "Building Ruby bindings"
ENDIF(NOT RUBY_INCLUDE_PATH )
ENDIF( BUILD_RUBY )
-IF( BUILD_PYTHON )
- MESSAGE(STATUS "Building Python bindings" )
- FIND_PACKAGE(PythonLibs)
- IF (PYTHON_LIBRARY)
- FIND_PACKAGE(PythonInterp REQUIRED)
- MESSAGE(STATUS "Found PythonLibs...")
- FIND_PACKAGE(PythonLinkLibs)
- IF (PYTHON_LINK_LIBS)
- MESSAGE(STATUS "Building Python...")
- ENDIF (PYTHON_LINK_LIBS)
- ENDIF (PYTHON_LIBRARY)
- IF(NOT PYTHON_INCLUDE_DIRS )
- # fallback for older versions of cmake
- SET(PYTHON_INCLUDE_DIRS PYTHON_INCLUDE_PATH)
- ENDIF(NOT PYTHON_INCLUDE_DIRS )
- IF(NOT PYTHON_INCLUDE_DIRS )
- IF(BUILD_PYTHON_EXPLICIT)
- NO_HEADERS_WARNING_EXPL(BUILD_PYTHON Python)
- ELSE(BUILD_PYTHON_EXPLICIT)
- NO_HEADERS_WARNING(BUILD_PYTHON Python)
- ENDIF(BUILD_PYTHON_EXPLICIT)
- ENDIF(NOT PYTHON_INCLUDE_DIRS )
-ENDIF( BUILD_PYTHON )
-
IF( BUILD_PERL )
INCLUDE(FindPerl)
IF(PERL_EXECUTABLE)
-9
View File
@@ -1,9 +0,0 @@
diff -up openwsman-2.6.2/examples/winrs.rb.orig openwsman-2.6.2/examples/winrs.rb
--- openwsman-2.6.2/examples/winrs.rb.orig 2015-10-19 15:27:46.000000000 +0200
+++ openwsman-2.6.2/examples/winrs.rb 2017-03-13 10:30:22.812169561 +0100
@@ -1,3 +1,5 @@
+#!/usr/bin/env ruby
+#
# winrs.rb
#
# Windows Remote Shell
+39
View File
@@ -0,0 +1,39 @@
diff -up openwsman-4391e5c68d99c6239e1672d1c8a5a16d7d8c4c2b/src/server/wsmand-listener.c.orig openwsman-4391e5c68d99c6239e1672d1c8a5a16d7d8c4c2b/src/server/wsmand-listener.c
--- openwsman-4391e5c68d99c6239e1672d1c8a5a16d7d8c4c2b/src/server/wsmand-listener.c.orig 2016-07-27 16:03:55.000000000 +0200
+++ openwsman-4391e5c68d99c6239e1672d1c8a5a16d7d8c4c2b/src/server/wsmand-listener.c 2018-01-22 13:05:04.478923300 +0100
@@ -344,6 +344,35 @@ DONE:
if (fault_reason == NULL) {
// this is a way to segfault, investigate
//fault_reason = shttpd_reason_phrase(status);
+ // ugly workaround follows...
+ switch (status) {
+ case 200:
+ fault_reason = "OK";
+ break;
+ case 400:
+ fault_reason = "Bad request";
+ break;
+ case 401:
+ fault_reason = "Unauthorized";
+ break;
+ case 403:
+ fault_reason = "Forbidden";
+ break;
+ case 404:
+ fault_reason = "Not found";
+ break;
+ case 500:
+ fault_reason = "Internal Error";
+ break;
+ case 501:
+ fault_reason = "Not implemented";
+ break;
+ case 415:
+ fault_reason = "Unsupported Media Type";
+ break;
+ default:
+ fault_reason = "";
+ }
}
debug("Response status=%d (%s)", status, fault_reason);
@@ -0,0 +1,27 @@
diff -up openwsman-2.6.5/src/lib/wsman-curl-client-transport.c.orig openwsman-2.6.5/src/lib/wsman-curl-client-transport.c
--- openwsman-2.6.5/src/lib/wsman-curl-client-transport.c.orig 2018-11-14 13:53:27.442138557 +0100
+++ openwsman-2.6.5/src/lib/wsman-curl-client-transport.c 2018-11-14 14:11:28.508714204 +0100
@@ -186,16 +186,23 @@ convert_to_last_error(CURLcode r)
return WS_LASTERR_SSL_CONNECT_ERROR;
case CURLE_BAD_FUNCTION_ARGUMENT:
return WS_LASTERR_CURL_BAD_FUNCTION_ARG;
+#if LIBCURL_VERSION_NUM < 0x073E00
case CURLE_SSL_PEER_CERTIFICATE:
return WS_LASTERR_SSL_PEER_CERTIFICATE;
+#endif
case CURLE_SSL_ENGINE_NOTFOUND:
return WS_LASTERR_SSL_ENGINE_NOTFOUND;
case CURLE_SSL_ENGINE_SETFAILED:
return WS_LASTERR_SSL_ENGINE_SETFAILED;
case CURLE_SSL_CERTPROBLEM:
return WS_LASTERR_SSL_CERTPROBLEM;
+#if LIBCURL_VERSION_NUM < 0x073E00
case CURLE_SSL_CACERT:
return WS_LASTERR_SSL_CACERT;
+#else
+ case CURLE_PEER_FAILED_VERIFICATION:
+ return WS_LASTERR_SSL_PEER_CERTIFICATE;
+#endif
#if LIBCURL_VERSION_NUM > 0x70C01
case CURLE_SSL_ENGINE_INITFAILED:
return WS_LASTERR_SSL_ENGINE_INITFAILED;
+79
View File
@@ -0,0 +1,79 @@
diff -up openwsman-2.6.8/src/server/shttpd/shttpd.c.orig openwsman-2.6.8/src/server/shttpd/shttpd.c
--- openwsman-2.6.8/src/server/shttpd/shttpd.c.orig 2019-03-13 08:52:06.112090942 +0100
+++ openwsman-2.6.8/src/server/shttpd/shttpd.c 2019-03-13 09:01:15.496156789 +0100
@@ -336,10 +336,12 @@ date_to_epoch(const char *s)
}
static void
-remove_double_dots(char *s)
+remove_all_leading_dots(char *s)
{
char *p = s;
+ while (*s != '\0' && *s == '.') s++;
+
while (*s != '\0') {
*p++ = *s++;
if (s[-1] == '/' || s[-1] == '\\')
@@ -546,7 +548,7 @@ decide_what_to_do(struct conn *c)
*c->query++ = '\0';
_shttpd_url_decode(c->uri, strlen(c->uri), c->uri, strlen(c->uri) + 1);
- remove_double_dots(c->uri);
+ remove_all_leading_dots(c->uri);
root = c->ctx->options[OPT_ROOT];
if (strlen(c->uri) + strlen(root) >= sizeof(path)) {
@@ -556,6 +558,7 @@ decide_what_to_do(struct conn *c)
(void) _shttpd_snprintf(path, sizeof(path), "%s%s", root, c->uri);
+ DBG(("decide_what_to_do -> processed path: [%s]", path));
/* User may use the aliases - check URI for mount point */
if (is_alias(c->ctx, c->uri, &alias_uri, &alias_path) != NULL) {
(void) _shttpd_snprintf(path, sizeof(path), "%.*s%s",
@@ -572,7 +575,10 @@ decide_what_to_do(struct conn *c)
if ((ruri = _shttpd_is_registered_uri(c->ctx, c->uri)) != NULL) {
_shttpd_setup_embedded_stream(c,
ruri->callback, ruri->callback_data);
- } else
+ } else {
+ _shttpd_send_server_error(c, 403, "Forbidden");
+ }
+#if 0
if (strstr(path, HTPASSWD)) {
/* Do not allow to view passwords files */
_shttpd_send_server_error(c, 403, "Forbidden");
@@ -656,6 +662,7 @@ decide_what_to_do(struct conn *c)
} else {
_shttpd_send_server_error(c, 500, "Internal Error");
}
+#endif
}
static int
diff -up openwsman-2.6.8/src/server/wsmand.c.orig openwsman-2.6.8/src/server/wsmand.c
--- openwsman-2.6.8/src/server/wsmand.c.orig 2018-10-12 12:06:26.000000000 +0200
+++ openwsman-2.6.8/src/server/wsmand.c 2019-03-13 09:03:25.919181279 +0100
@@ -198,6 +198,10 @@ static void daemonize(void)
int fd;
char *pid;
+ /* Change our CWD to / */
+ i = chdir("/");
+ assert(i == 0);
+
if (wsmand_options_get_foreground_debug() > 0) {
return;
}
@@ -214,10 +218,6 @@ static void daemonize(void)
log_pid = 0;
setsid();
- /* Change our CWD to / */
- i=chdir("/");
- assert(i == 0);
-
/* Close all file descriptors. */
for (i = getdtablesize(); i >= 0; --i)
close(i);
+94
View File
@@ -0,0 +1,94 @@
diff -up openwsman-2.6.8/src/server/shttpd/shttpd.c.orig openwsman-2.6.8/src/server/shttpd/shttpd.c
--- openwsman-2.6.8/src/server/shttpd/shttpd.c.orig 2019-03-13 09:32:32.417633057 +0100
+++ openwsman-2.6.8/src/server/shttpd/shttpd.c 2019-03-13 09:58:04.482486589 +0100
@@ -705,11 +705,11 @@ parse_http_request(struct conn *c)
_shttpd_send_server_error(c, 500, "Cannot allocate request");
}
+ io_inc_tail(&c->rem.io, req_len);
+
if (c->loc.flags & FLAG_CLOSED)
return;
- io_inc_tail(&c->rem.io, req_len);
-
DBG(("Conn %d: parsing request: [%.*s]", c->rem.chan.sock, req_len, s));
c->rem.flags |= FLAG_HEADERS_PARSED;
@@ -975,7 +975,7 @@ write_stream(struct stream *from, struct
}
-static void
+static int
connection_desctructor(struct llhead *lp)
{
struct conn *c = LL_ENTRY(lp, struct conn, link);
@@ -999,7 +999,8 @@ connection_desctructor(struct llhead *lp
* Check the "Connection: " header before we free c->request
* If it its 'keep-alive', then do not close the connection
*/
- do_close = (c->ch.connection.v_vec.len >= vec.len &&
+ do_close = c->rem.flags & FLAG_CLOSED ||
+ (c->ch.connection.v_vec.len >= vec.len &&
!_shttpd_strncasecmp(vec.ptr,c->ch.connection.v_vec.ptr,vec.len)) ||
(c->major_version < 1 ||
(c->major_version >= 1 && c->minor_version < 1));
@@ -1021,7 +1022,7 @@ connection_desctructor(struct llhead *lp
io_clear(&c->loc.io);
c->birth_time = _shttpd_current_time;
if (io_data_len(&c->rem.io) > 0)
- process_connection(c, 0, 0);
+ return 1;
} else {
if (c->rem.io_class != NULL)
c->rem.io_class->close(&c->rem);
@@ -1032,6 +1033,8 @@ connection_desctructor(struct llhead *lp
free(c);
}
+
+ return 0;
}
static void
@@ -1039,7 +1042,7 @@ worker_destructor(struct llhead *lp)
{
struct worker *worker = LL_ENTRY(lp, struct worker, link);
- free_list(&worker->connections, connection_desctructor);
+ free_list(&worker->connections, (void (*)(struct llhead *))connection_desctructor);
free(worker);
}
@@ -1072,6 +1075,8 @@ add_to_set(int fd, fd_set *set, int *max
static void
process_connection(struct conn *c, int remote_ready, int local_ready)
{
+again:
+
/* Read from remote end if it is ready */
if (remote_ready && io_space_len(&c->rem.io))
read_stream(&c->rem);
@@ -1100,7 +1105,11 @@ process_connection(struct conn *c, int r
if ((_shttpd_current_time > c->expire_time) ||
(c->rem.flags & FLAG_CLOSED) ||
((c->loc.flags & FLAG_CLOSED) && !io_data_len(&c->loc.io)))
- connection_desctructor(&c->link);
+ if (connection_desctructor(&c->link)) {
+ remote_ready = 0;
+ local_ready = 0;
+ goto again;
+ }
}
static int
@@ -1642,7 +1651,7 @@ worker_function(void *param)
while (worker->exit_flag == 0)
poll_worker(worker, 1000 * 10);
- free_list(&worker->connections, connection_desctructor);
+ free_list(&worker->connections, (void (*)(struct llhead *))connection_desctructor);
free(worker);
}
+15
View File
@@ -0,0 +1,15 @@
diff -up openwsman-2.6.8/etc/ssleay.cnf.orig openwsman-2.6.8/etc/ssleay.cnf
--- openwsman-2.6.8/etc/ssleay.cnf.orig 2018-10-12 12:06:26.000000000 +0200
+++ openwsman-2.6.8/etc/ssleay.cnf 2020-09-22 14:27:56.216306882 +0200
@@ -2,10 +2,8 @@
# SSLeay example configuration file.
#
-RANDFILE = /dev/random
-
[ req ]
-default_bits = 1024
+default_bits = 2048
default_keyfile = privkey.pem
distinguished_name = req_distinguished_name
+249 -183
View File
@@ -1,199 +1,139 @@
# RubyGems's macros expect gem_name to exist.
%global gem_name %{name}
%global gem_name %{name}
Name: openwsman
BuildRequires: swig
BuildRequires: libcurl-devel libxml2-devel pam-devel sblim-sfcc-devel
BuildRequires: python3 python3-devel python2 python2-devel ruby ruby-devel rubygems-devel perl
BuildRequires: perl-devel perl-generators pkgconfig openssl-devel
BuildRequires: cmake
BuildRequires: systemd-units
Version: 2.6.2
Release: 8%{?dist}
Url: http://www.openwsman.org/
License: BSD
Group: Applications/System
Summary: Open source Implementation of WS-Management
# You can get this tarball here:
# https://github.com/Openwsman/openwsman/archive/v%{version}.tar.gz
Source: %{name}-%{version}.tar.gz
Name: openwsman
Version: 2.6.8
Release: 17%{?dist}
Summary: Open source Implementation of WS-Management
License: BSD
URL: http://www.openwsman.org/
Source0: https://github.com/Openwsman/openwsman/archive/v%{version}.tar.gz
# help2man generated manpage for openwsmand binary
Source1: openwsmand.8.gz
Source1: openwsmand.8.gz
# service file for systemd
Source2: openwsmand.service
Source2: openwsmand.service
# script for testing presence of the certificates in ExecStartPre
Source3: owsmantestcert.sh
Patch1: openwsman-2.2.7-libssl.patch
Patch2: openwsman-2.4.0-pamsetup.patch
Patch3: openwsman-2.4.12-ruby-binding-build.patch
Patch4: openwsman-2.6.2-python3.patch
# Patch5: adds shebang to winrs ruby script, already upstream
Patch5: openwsman-2.6.2-winrs-shebang.patch
Source3: owsmantestcert.sh
Patch1: openwsman-2.4.0-pamsetup.patch
Patch2: openwsman-2.4.12-ruby-binding-build.patch
Patch3: openwsman-2.6.2-openssl-1.1-fix.patch
Patch4: openwsman-2.6.5-http-status-line.patch
Patch5: openwsman-2.6.5-libcurl-error-codes-update.patch
Patch6: openwsman-2.6.8-CVE-2019-3816.patch
Patch7: openwsman-2.6.8-CVE-2019-3833.patch
Patch8: openwsman-2.6.8-update-ssleay-conf.patch
BuildRequires: swig
BuildRequires: libcurl-devel libxml2-devel pam-devel sblim-sfcc-devel
BuildRequires: python3 python3-devel ruby ruby-devel rubygems-devel perl-interpreter
BuildRequires: perl-devel perl-generators pkgconfig openssl-devel
BuildRequires: cmake
BuildRequires: systemd-units
BuildRequires: gcc gcc-c++
%description
Openwsman is a project intended to provide an open-source
implementation of the Web Services Management specipication
implementation of the Web Services Management specification
(WS-Management) and to expose system management information on the
Linux operating system using the WS-Management protocol. WS-Management
is based on a suite of web services specifications and usage
requirements that exposes a set of operations focused on and covers
all system management aspects.
%package -n libwsman1
License: BSD
Group: System Environment/Libraries
Summary: Open source Implementation of WS-Management
Provides: %{name} = %{version}-%{release}
Obsoletes: %{name} < %{version}-%{release}
License: BSD
Summary: Open source Implementation of WS-Management
Provides: %{name} = %{version}-%{release}
Obsoletes: %{name} < %{version}-%{release}
%description -n libwsman1
Openwsman library for packages dependent on openwsman
Openwsman library for packages dependent on openwsman.
%package -n libwsman-devel
License: BSD
Group: Development/Libraries
Summary: Open source Implementation of WS-Management
Provides: %{name}-devel = %{version}-%{release}
Obsoletes: %{name}-devel < %{version}-%{release}
Requires: libwsman1 = %{version}-%{release}
Requires: %{name}-server = %{version}-%{release}
Requires: %{name}-client = %{version}-%{release}
Requires: sblim-sfcc-devel libxml2-devel pam-devel
Requires: libcurl-devel
License: BSD
Summary: Open source Implementation of WS-Management
Provides: %{name}-devel = %{version}-%{release}
Obsoletes: %{name}-devel < %{version}-%{release}
Requires: libwsman1 = %{version}-%{release}
Requires: %{name}-server = %{version}-%{release}
Requires: %{name}-client = %{version}-%{release}
Requires: sblim-sfcc-devel libxml2-devel pam-devel
Requires: libcurl-devel
%description -n libwsman-devel
Development files for openwsman
Development files for openwsman.
%package client
License: BSD
Group: System Environment/Libraries
Summary: Openwsman Client libraries
License: BSD
Summary: Openwsman Client libraries
%description client
Openwsman Client libraries
Openwsman Client libraries.
%package server
License: BSD
Group: System Environment/Daemons
Requires: net-tools
Requires(post): chkconfig
Requires(preun): chkconfig
Requires(postun): initscripts
Summary: Openwsman Server and service libraries
Requires: libwsman1 = %{version}-%{release}
License: BSD
Summary: Openwsman Server and service libraries
Requires: libwsman1 = %{version}-%{release}
%description server
Openwsman Server and service libraries
%package python
License: BSD
Group: Development/Libraries
Summary: Python bindings for openwsman client API
Requires: python2
Requires: libwsman1 = %{version}-%{release}
%description python
This package provides Python2 bindings to access the openwsman client
API.
Openwsman Server and service libraries.
%package python3
License: BSD
Group: Development/Libraries
Summary: Python bindings for openwsman client API
Requires: python3
Requires: libwsman1 = %{version}-%{release}
License: BSD
Summary: Python bindings for openwsman client API
Requires: %{__python3}
Requires: libwsman1 = %{version}-%{release}
%{?python_provide:%python_provide python3-openwsman}
%description python3
This package provides Python3 bindings to access the openwsman client
API.
This package provides Python3 bindings to access the openwsman client API.
%package -n rubygem-%{gem_name}
License: BSD
Group: Development/Libraries
Summary: Ruby client bindings for Openwsman
Obsoletes: %{name}-ruby < %{version}-%{release}
License: BSD
Summary: Ruby client bindings for Openwsman
Obsoletes: %{name}-ruby < %{version}-%{release}
Requires: libwsman1 = %{version}-%{release}
%description -n rubygem-%{gem_name}
The openwsman gem provides a Ruby API to manage systems using
the WS-Management protocol.
%package -n rubygem-%{gem_name}-doc
Summary: Documentation for %{name}
Group: Documentation
Requires: rubygem-%{gem_name} = %{version}-%{release}
BuildArch: noarch
Summary: Documentation for %{name}
Requires: rubygem-%{gem_name} = %{version}-%{release}
BuildArch: noarch
%description -n rubygem-%{gem_name}-doc
Documentation for rubygem-%{gem_name}
%package perl
License: BSD
Group: Development/Libraries
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
Summary: Perl bindings for openwsman client API
Requires: libwsman1 = %{version}-%{release}
License: BSD
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
Summary: Perl bindings for openwsman client API
Requires: libwsman1 = %{version}-%{release}
%description perl
This package provides Perl bindings to access the openwsman client API.
%package winrs
Summary: Windows Remote Shell
Requires: rubygem-%{gem_name} = %{version}-%{release}
Summary: Windows Remote Shell
Requires: rubygem-%{gem_name} = %{version}-%{release}
%description winrs
This is a command line tool for the Windows Remote Shell protocol. You
can use it to send shell commands to a remote Windows hosts.
This is a command line tool for the Windows Remote Shell protocol.
You can use it to send shell commands to a remote Windows hosts.
%prep
%setup -q
# support python3
pushd bindings
cp -r python python3
popd
%patch1 -p1 -b .libssl
%patch2 -p1 -b .pamsetup
%patch3 -p1 -b .ruby-binding-build
%patch4 -p1 -b .python3
%patch5 -p1 -b .winrs-shebang
# support ruby 2.2
pushd bindings/ruby
cat rdoc2.1 | sed -e 's|rdoc2_1|rdoc2_2|' > rdoc2.2
chmod 0755 rdoc2.2
ln -sf %{_bindir}/rdoc rdoc2_2.rb
popd
%patch1 -p1 -b .pamsetup
%patch2 -p1 -b .ruby-binding-build
%patch3 -p1 -b .openssl-1.1-fix
%patch4 -p1 -b .http-status-line
%patch5 -p1 -b .libcurl-error-codes-update
%patch6 -p1 -b .CVE-2019-3816
%patch7 -p1 -b .CVE-2019-3833
%patch8 -p1 -b .update-ssleay-conf
%build
# Removing executable permissions on .c and .h files to fix rpmlint warnings.
@@ -203,27 +143,29 @@ rm -rf build
mkdir build
export RPM_OPT_FLAGS="$RPM_OPT_FLAGS -DFEDORA -DNO_SSL_CALLBACK"
export CFLAGS="-D_GNU_SOURCE -fPIE -DPIE"
export LDFLAGS="$LDFLAGS -Wl,-z,now -pie"
export CFLAGS="$RPM_OPT_FLAGS -fPIC -pie -Wl,-z,relro -Wl,-z,now"
export CXXFLAGS="$RPM_OPT_FLAGS -fPIC -pie -Wl,-z,relro -Wl,-z,now"
cd build
cmake \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_VERBOSE_MAKEFILE=TRUE \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_FLAGS_RELEASE:STRING="$RPM_OPT_FLAGS -fno-strict-aliasing" \
-DCMAKE_CXX_FLAGS_RELEASE:STRING="$RPM_OPT_FLAGS" \
-DCMAKE_SKIP_RPATH=1 \
-DPACKAGE_ARCHITECTURE=`uname -m` \
-DLIB=%{_lib} \
..
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_VERBOSE_MAKEFILE=TRUE \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_FLAGS_RELEASE:STRING="$RPM_OPT_FLAGS -fno-strict-aliasing" \
-DCMAKE_CXX_FLAGS_RELEASE:STRING="$RPM_OPT_FLAGS" \
-DCMAKE_SKIP_RPATH=1 \
-DPACKAGE_ARCHITECTURE=`uname -m` \
-DLIB=%{_lib} \
-DBUILD_JAVA=no \
-DBUILD_PYTHON=no \
..
make
# Make the freshly build openwsman libraries available to build the gem's
# binary extension.
export LIBRARY_PATH=/builddir/build/BUILD/%{name}-%{version}/build/src/lib
export CPATH=/builddir/build/BUILD/%{name}-%{version}/include/
export LD_LIBRARY_PATH=/builddir/build/BUILD/%{name}-%{version}/build/src/lib/
export LIBRARY_PATH=%{_builddir}/%{name}-%{version}/build/src/lib
export CPATH=%{_builddir}/%{name}-%{version}/include/
export LD_LIBRARY_PATH=%{_builddir}/%{name}-%{version}/build/src/lib/
%gem_install -n ./bindings/ruby/%{name}-%{version}.gem
@@ -257,22 +199,17 @@ install -m 644 include/wsman-dispatcher.h %{buildroot}/%{_includedir}/openwsman
mkdir -p %{buildroot}%{gem_dir}
cp -pa ./build%{gem_dir}/* \
%{buildroot}%{gem_dir}/
%{buildroot}%{gem_dir}/
rm -rf %{buildroot}%{gem_instdir}/ext
mkdir -p %{buildroot}%{gem_extdir_mri}
cp -a ./build%{gem_extdir_mri}/{gem.build_complete,*.so} %{buildroot}%{gem_extdir_mri}/
# rename winrs.rb -> winrs
mv %{buildroot}/%{_bindir}/winrs.rb %{buildroot}%{_bindir}/winrs
%post -n libwsman1 -p /sbin/ldconfig
%postun -n libwsman1 -p /sbin/ldconfig
%ldconfig_scriptlets -n libwsman1
%post server
/sbin/ldconfig
%{?ldconfig}
%systemd_post openwsmand.service
%preun server
@@ -281,11 +218,9 @@ mv %{buildroot}/%{_bindir}/winrs.rb %{buildroot}%{_bindir}/winrs
%postun server
rm -f /var/log/wsmand.log
%systemd_postun_with_restart openwsmand.service
/sbin/ldconfig
%{?ldconfig}
%post client -p /sbin/ldconfig
%postun client -p /sbin/ldconfig
%ldconfig_scriptlets client
%files -n libwsman1
%doc AUTHORS COPYING ChangeLog README.md TODO
@@ -294,23 +229,16 @@ rm -f /var/log/wsmand.log
%{_libdir}/libwsman_curl_client_transport.so.*
%files -n libwsman-devel
%doc AUTHORS COPYING ChangeLog README.md
%{_includedir}/*
%{_libdir}/pkgconfig/*
%{_libdir}/*.so
%doc AUTHORS COPYING ChangeLog README.md
%files python
%{python2_sitearch}/*.so
%{python2_sitearch}/*.py
%{python2_sitearch}/*.pyc
%{python2_sitearch}/*.pyo
%doc AUTHORS COPYING ChangeLog README.md
%files python3
%doc AUTHORS COPYING ChangeLog README.md
%{python3_sitearch}/*.so
%{python3_sitearch}/*.py
%{python3_sitearch}/__pycache__/*
%doc AUTHORS COPYING ChangeLog README.md
%files -n rubygem-%{gem_name}
%doc AUTHORS COPYING ChangeLog README.md
@@ -324,11 +252,12 @@ rm -f /var/log/wsmand.log
%doc %{gem_docdir}
%files perl
%doc AUTHORS COPYING ChangeLog README.md
%{perl_vendorarch}/openwsman.so
%{perl_vendorlib}/openwsman.pm
%doc AUTHORS COPYING ChangeLog README.md
%files server
%doc AUTHORS COPYING ChangeLog README.md
# Don't remove *.so files from the server package.
# the server fails to start without these files.
%dir %{_sysconfdir}/openwsman
@@ -348,21 +277,158 @@ rm -f /var/log/wsmand.log
%{_sbindir}/openwsmand
%{_libdir}/libwsman_server.so.*
%{_mandir}/man8/*
%doc AUTHORS COPYING ChangeLog README.md
%files client
%doc AUTHORS COPYING ChangeLog README.md
%{_libdir}/libwsman_clientpp.so.*
%config(noreplace) %{_sysconfdir}/openwsman/openwsman_client.conf
%doc AUTHORS COPYING ChangeLog README.md
%files winrs
%attr(0755,root,root) %{_bindir}/winrs
%{_bindir}/winrs
%changelog
* Mon Mar 13 2017 Vitezslav Crhonek <vcrhonek@redhat.com> - 2.6.2-8
- Add shebang to winrs ruby script, make it executable
Resolves: #1387087
* Wed Mar 10 2021 Vitezslav Crhonek <vcrhonek@redhat.com> - 2.6.8-17
- Fix FTBFS (update flags, enable LTO)
- Remove RANDFILE and increase default bits in ssleay.conf
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.8-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jul 08 2020 Jeff Law <law@redhat.com> - 2.6.8-15
- Disable LTO
* Mon Jun 22 2020 Jitka Plesnikova <jplesnik@redhat.com> - 2.6.8-14
- Perl 5.32 rebuild
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 2.6.8-13
- Rebuilt for Python 3.9
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.8-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Jan 18 2020 Mamoru TASAKA <mtasaka@fedoraproject.org> - 2.6.8-11
- F-32: rebuild against ruby27
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 2.6.8-10
- Rebuilt for Python 3.8.0rc1 (#1748018)
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 2.6.8-9
- Rebuilt for Python 3.8
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.8-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu May 30 2019 Jitka Plesnikova <jplesnik@redhat.com> - 2.6.8-7
- Perl 5.30 rebuild
* Mon Apr 01 2019 Vitezslav Crhonek <vcrhonek@redhat.com> - 2.6.8-6
- Add requires libwsman1 for rubygem-openwsman
* Wed Mar 13 2019 Vitezslav Crhonek <vcrhonek@redhat.com> - 2.6.8-5
- Fix CVE-2019-3816
Resolves: #1687760
- Fix CVE-2019-3833
Resolves: #1687762
- Remove Dist Tag from the oldest changelog entry
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org>
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Jan 21 2019 Mamoru TASAKA <mtasaka@fedoraproject.org> - 2.6.8-3
- F-30: rebuild against ruby26
* Mon Jan 14 2019 Björn Esser <besser82@fedoraproject.org> - 2.6.8-2
- Rebuilt for libcrypt.so.2 (#1666033)
* Thu Nov 22 2018 Vitezslav Crhonek <vcrhonek@redhat.com> - 2.6.8-1
- Update to openwsman-2.6.8
* Wed Nov 14 2018 Vitezslav Crhonek <vcrhonek@redhat.com> - 2.6.5-10
- Reflect changes in libcurl error codes
Resolves: #1649393
* Mon Oct 01 2018 Vitezslav Crhonek <vcrhonek@redhat.com> - 2.6.5-9
- Require the Python interpreter directly instead of using the package name
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.5-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Jul 03 2018 Petr Pisar <ppisar@redhat.com> - 2.6.5-7
- Perl 5.28 rebuild
* Thu Jun 28 2018 Jitka Plesnikova <jplesnik@redhat.com> - 2.6.5-6
- Perl 5.28 rebuild
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 2.6.5-5
- Rebuilt for Python 3.7
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 2.6.5-4
- Rebuilt for Python 3.7
* Thu Feb 22 2018 Vitezslav Crhonek <vcrhonek@redhat.com> - 2.6.5-3
- Fix wrong SSL_CTX_set_cipher_list() retval check
- Add BuildRequires gcc and gcc-c++
- Explicitly disable build of java bindings (build fails if java-devel is installed)
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Tue Jan 23 2018 Vitezslav Crhonek <vcrhonek@redhat.com> - 2.6.5-1
- Update to openwsman-2.6.5
- Simplify python binding build and drop python2 subpackage
- Fix malformed HTTP 200 status line
* Sat Jan 20 2018 Björn Esser <besser82@fedoraproject.org> - 2.6.3-11.git4391e5c
- Rebuilt for switch to libxcrypt
* Sat Jan 6 2018 Mamoru TASAKA <mtasaka@fedoraproject.org> - 2.6.3-10.git4391e5c
- F-28: rebuild for ruby 2.5
- Backport git patches to support ruby 2.5
* Wed Oct 04 2017 Vitezslav Crhonek <vcrhonek@redhat.com> - 2.6.3-9.git
- Remove unnecessary net-tools requirement
Resolves: #1496142
* Tue Sep 12 2017 Vitezslav Crhonek <vcrhonek@redhat.com> - 2.6.3-8.git4391e5c
- Spec file clean up (removed RPM Groups tags, removed obsolete chkconfig/initscripts
dependencies, improved readability, fixed indentation)
- Updated openssl-1.1 patch to support builds with older openssl versions
* Sun Aug 20 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.6.3-7.git4391e5c
- Add Provides for the old name without %%_isa
* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.6.3-6.git4391e5c
- Python 2 binary package renamed to python2-openwsman
See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.3-5.git4391e5c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.3-4.git4391e5c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Sun Jun 04 2017 Jitka Plesnikova <jplesnik@redhat.com> - 2.6.3-3.git4391e5c
- Perl 5.26 rebuild
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.3-2.git4391e5c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Tue Jan 17 2017 Vitezslav Crhonek <vcrhonek@redhat.com> - 2.6.3-1.git4391e5c
- Update to openwsman-2.6.3 from upstream VCS
(because it contains shttpd 1.42)
* Thu Jan 12 2017 Vít Ondruch <vondruch@redhat.com> - 2.6.2-11
- Rebuilt for https://fedoraproject.org/wiki/Changes/Ruby_2.4
* Mon Jan 09 2017 Vitezslav Crhonek <vcrhonek@redhat.com> - 2.6.2-10
- Disable SSL protocols listed in config file
* Tue Jan 03 2017 Vitezslav Crhonek <vcrhonek@redhat.com> - 2.6.2-9
- Port to openssl 1.1.0
Resolves: #1383992
* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 2.6.2-8
- Rebuild for Python 3.6
* Thu Aug 11 2016 Vitezslav Crhonek <vcrhonek@redhat.com> - 2.6.2-7
- Add openwsman-python3 subpackage
@@ -595,5 +661,5 @@ rm -f /var/log/wsmand.log
* Mon Sep 22 2008 Matt Domsch <Matt_Domsch@dell.com> - 2.1.0-1
- update to 2.1.0, resolves security issues
* Tue Aug 19 2008 <srinivas_ramanatha@dell.com> - 2.0.0-1%{?dist}
* Tue Aug 19 2008 <srinivas_ramanatha@dell.com> - 2.0.0-1
- Modified the spec file to adhere to fedora packaging guidelines.
+2 -2
View File
@@ -1,2 +1,2 @@
4f2d9b1d7da6d87fcd38a9aa23559723 openwsmand.8.gz
221163800046cca5ddb38868d3f82d7e openwsman-2.6.2.tar.gz
SHA512 (openwsmand.8.gz) = 751c40060781e8b5a847e09aee94833ed1e4fbe966f052e5023cb209361acc312078d0d75c0806bd9990da061d3048566418135d3670dd620c6b809e5d0e594c
SHA512 (v2.6.8.tar.gz) = 49e8ac9267602e3bedc5cca78f270798cd16cfb6ddf2fc5f2feb8539bb3eba3bbce09931a18c96cd231c4beeffda5c3ae5bb9e8531662c49ca6fd9681538ea31