diff options
Diffstat (limited to 'dev-libs/libjwt/files/libjwt-1.15.3_multi_ssl_atools.patch')
-rw-r--r-- | dev-libs/libjwt/files/libjwt-1.15.3_multi_ssl_atools.patch | 342 |
1 files changed, 342 insertions, 0 deletions
diff --git a/dev-libs/libjwt/files/libjwt-1.15.3_multi_ssl_atools.patch b/dev-libs/libjwt/files/libjwt-1.15.3_multi_ssl_atools.patch new file mode 100644 index 000000000000..1217eb86c4e2 --- /dev/null +++ b/dev-libs/libjwt/files/libjwt-1.15.3_multi_ssl_atools.patch @@ -0,0 +1,342 @@ +From: https://github.com/dekeonus/libjwt/tree/feat-multi-ssl + +Enables multiple ssl implemtations to be installed at the same time +default libjwt will default to linking to openssl (if openssl enabled) + + +diff --git a/configure.ac b/configure.ac +index be848df..3b61e2a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -6,27 +6,105 @@ LT_INIT([]) + AC_CONFIG_MACRO_DIR([m4]) + AC_CONFIG_HEADERS([libjwt/config.h]) + ++AC_SUBST([LIBJWT_LTVERSION], [11:0:9]) + AC_SUBST([AM_CFLAGS], [-Wall]) + +-dnl Prefer OpenSSL unless asked to ignore it ++dnl Build with OpenSSL when asked + AC_ARG_WITH([openssl], +- AS_HELP_STRING([--without-openssl], [Ignore presence of OpenSSL libraries and use GnuTLS])) +- +-AS_IF([test "x$with_openssl" != "xno"], [ +- PKG_CHECK_MODULES([OPENSSL], [openssl >= 0.9.8]) +- AM_CONDITIONAL([HAVE_OPENSSL], [true]) +-], [ +- PKG_CHECK_MODULES([GNUTLS], [gnutls >= 3.5.8]) +- AM_CONDITIONAL([HAVE_OPENSSL], [false]) ++ AS_HELP_STRING([--with-openssl], [Build using OpenSSL library]), ++ [with_openssl=$withval], ++ [blank_openssl=yes]) ++ ++dnl Build with GnutLS when asked ++AC_ARG_WITH([gnutls], ++ AS_HELP_STRING([--with-gnutls], [Build using GnuTLS library]), ++ [with_gnutls=$withval], ++ [blank_gnutls=yes]) ++ ++dnl If no with[out]-'ssl' default to openssl ++AS_IF([test "x$blank_openssl" = "xyes" -a "x$blank_gnutls" = "xyes"], [ ++ with_openssl=yes ++]) ++ ++dnl emulate previous build, without-openssl means build with gnutls ++AS_IF([test "x$with_openssl" = "xno" -a "x$blank_gnutls" = "xyes"], [ ++ with_gnutls=yes ++]) ++ ++AC_ARG_ENABLE([multi-ssl], AS_HELP_STRING([--enable-multi-ssl], ++ [Enable multiple ssl library implementations]), ++ [enable_multi_ssl=$enableval], ++ [enable_multi_ssl=no]) ++ ++AS_IF([test "x$enable_multi_ssl" = "xno"], [ ++ AS_IF([test "x$with_openssl" = "xyes" -a "x$with_gnutls" = "xyes"], [ ++AC_MSG_ERROR([You need to enable multi-ssl to support multiple ssl implementations concurrently]) ++ ]) ++]) ++AM_CONDITIONAL([MULTI_SSL], [test "x$enable_multi_ssl" = "xyes"]) ++ ++AS_IF([test "x$with_openssl" = "xyes"], [ ++ PKG_CHECK_MODULES([OPENSSL], [openssl >= 0.9.8], [found_openssl=yes]) ++]) ++AM_CONDITIONAL([HAVE_OPENSSL], [test "x$found_openssl" = "xyes"]) ++ ++AS_IF([test "x$with_gnutls" = "xyes"], [ ++ PKG_CHECK_MODULES([GNUTLS], [gnutls >= 3.5.8], [found_gnutls=yes]) ++]) ++AM_CONDITIONAL([HAVE_GNUTLS], [test "x$found_gnutls" = "xyes"]) ++ ++AS_IF([test "x$found_openssl" != "xyes" -a "x$found_gnutls" != "xyes"], [ ++ AC_MSG_ERROR([Neither openssl nor gnutls was found]) + ]) + ++dnl work out default, or only, ssl library ++AC_MSG_CHECKING([which ssl library to use as default]) ++AC_ARG_WITH([default-ssl], AS_HELP_STRING([--with-default-ssl@<:@=Lib@:>@], ++ [set default ssl library [openssl|gnutls] for multi-ssl]), ++ [with_default_ssl=$withval], ++ [with_default_ssl=yes]) ++dnl note, yes/blank case will require further nesting, if additional ssl lib support added ++AS_CASE([$with_default_ssl], ++ [openssl], [AS_IF([test "x$found_openssl" = "xyes"], [ssl_impl=openssl], ++ [AC_MSG_ERROR([requested default ssl lib openssl, but openssl not found])] ++ )], ++ [gnutls], [AS_IF([test "x$found_gnutls" = "xyes"], [ssl_impl=gnutls], ++ [AC_MSG_ERROR([requested default ssl lib gnutls, but gnutls not found])] ++ )], ++ [no], [AC_MSG_ERROR([unsupported configuration --without-default-ssl])], ++ [yes], [AS_IF([test "x$found_openssl" = "xyes"], [ssl_impl=openssl], ++ [ssl_impl=gnutls])], ++ [AC_MSG_ERROR([Unknown ssl library $with_default_ssl])] ++) ++AC_MSG_RESULT([$ssl_impl]) ++ + AC_ARG_WITH([examples], + AS_HELP_STRING([--without-examples], [do not build example programs]), +- [], ++ [with_examples=$withval], + [with_examples=yes]) + + AM_CONDITIONAL([BUILD_EXAMPLES], [test "x$with_examples" != "xno"]) + ++dnl should not reach default case, bail out if it triggers ++AS_CASE([$ssl_impl], ++ [openssl], [ ++ AC_SUBST([SSL_DEF_LDFLAGS], [$OPENSSL_LDFLAGS]) ++ AC_SUBST([SSL_DEF_INCLUDES], [$OPENSSL_INCLUDES]) ++ AC_SUBST([SSL_DEF_CFLAGS], [$OPENSSL_CFLAGS]) ++ AC_SUBST([SSL_DEF_LIBS], [$OPENSSL_LIBS]) ++ ], ++ [gnutls], [ ++ AC_SUBST([SSL_DEF_LDFLAGS], [$GNUTLS_LDFLAGS]) ++ AC_SUBST([SSL_DEF_INCLUDES], [$GNUTLS_INCLUDES]) ++ AC_SUBST([SSL_DEF_CFLAGS], [$GNUTLS_CFLAGS]) ++ AC_SUBST([SSL_DEF_LIBS], [$GNUTLS_LIBS]) ++ ], ++ [AC_MSG_ERROR([unable to set default ssl library])] ++) ++AM_CONDITIONAL([SSL_DEF_OPENSSL], [test "x$ssl_impl" = "xopenssl"]) ++dnl currently unused, for additional ssl implementations ++dnl AM_CONDITIONAL([SSL_DEF_GNUTLS], [test "x$ssl_impl" = "xgnutls"]) ++ + PKG_CHECK_MODULES([JANSSON], [jansson >= 2.0]) + PKG_CHECK_MODULES([CHECK], [check >= 0.9.4], [true], [true]) + +@@ -44,6 +122,13 @@ DX_PDF_FEATURE(OFF) + DX_PS_FEATURE(OFF) + DX_INIT_DOXYGEN($PACKAGE_NAME, doxygen.cfg) + ++ ++AM_COND_IF([MULTI_SSL], [ ++ AM_COND_IF([HAVE_OPENSSL], ++ [AC_CONFIG_FILES([libjwt/libjwt-ossl.pc])]) ++ AM_COND_IF([HAVE_GNUTLS], ++ [AC_CONFIG_FILES([libjwt/libjwt-gnutls.pc])]) ++ ]) + AC_CONFIG_FILES([ + Makefile + include/Makefile +diff --git a/libjwt/Makefile.am b/libjwt/Makefile.am +index 7621428..b837d53 100644 +--- a/libjwt/Makefile.am ++++ b/libjwt/Makefile.am +@@ -4,17 +4,51 @@ lib_LTLIBRARIES = libjwt.la + + libjwt_la_SOURCES = jwt.c base64.c + +-if HAVE_OPENSSL ++if SSL_DEF_OPENSSL + libjwt_la_SOURCES += jwt-openssl.c + else ++## SSL_DEF_GNUTLS + libjwt_la_SOURCES += jwt-gnutls.c + endif + ++if MULTI_SSL ++if HAVE_OPENSSL ++lib_LTLIBRARIES += libjwt-ossl.la ++libjwt_ossl_la_SOURCES = jwt.c base64.c jwt-openssl.c ++endif ++if HAVE_GNUTLS ++lib_LTLIBRARIES += libjwt-gnutls.la ++libjwt_gnutls_la_SOURCES = jwt.c base64.c jwt-gnutls.c ++endif ++endif ++ + # http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html +-libjwt_la_LDFLAGS = -version-info 11:0:9 $(OPENSSL_LDFLAGS) $(GNUTLS_LDFLAGS) $(JANSSON_LDFLAGS) -no-undefined +-libjwt_la_CPPFLAGS = -I$(top_srcdir)/include $(OPENSSL_INCLUDES) $(GNUTLS_INCLUDES) $(CODE_COVERAGE_CPPFLAGS) -Wall +-libjwt_la_CFLAGS = $(JANSSON_CFLAGS) $(OPENSSL_CFLAGS) $(GNUTLS_CFLAGS) $(CODE_COVERAGE_CFLAGS) -D_GNU_SOURCE +-libjwt_la_LIBADD = $(JANSSON_LIBS) $(OPENSSL_LIBS) $(GNUTLS_LIBS) $(CODE_COVERAGE_LDFLAGS) ++libjwt_la_LDFLAGS = -version-info $(LIBJWT_LTVERSION) $(SSL_DEF_LDFLAGS) $(JANSSON_LDFLAGS) -no-undefined ++libjwt_la_CPPFLAGS = -I$(top_srcdir)/include $(SSL_DEF_INCLUDES) $(CODE_COVERAGE_CPPFLAGS) -Wall ++libjwt_la_CFLAGS = $(JANSSON_CFLAGS) $(SSL_DEF_CFLAGS) $(CODE_COVERAGE_CFLAGS) -D_GNU_SOURCE ++libjwt_la_LIBADD = $(JANSSON_LIBS) $(SSL_DEF_LIBS) $(CODE_COVERAGE_LDFLAGS) ++if MULTI_SSL ++if HAVE_OPENSSL ++libjwt_ossl_la_LDFLAGS = -version-info $(LIBJWT_LTVERSION) $(OPENSSL_LDFLAGS) $(JANSSON_LDFLAGS) -no-undefined ++libjwt_ossl_la_CPPFLAGS = -I$(top_srcdir)/include $(OPENSSL_INCLUDES) $(CODE_COVERAGE_CPPFLAGS) -Wall ++libjwt_ossl_la_CFLAGS = $(JANSSON_CFLAGS) $(OPENSSL_CFLAGS) $(CODE_COVERAGE_CFLAGS) -D_GNU_SOURCE ++libjwt_ossl_la_LIBADD = $(JANSSON_LIBS) $(OPENSSL_LIBS) $(CODE_COVERAGE_LDFLAGS) ++endif ++if HAVE_GNUTLS ++libjwt_gnutls_la_LDFLAGS = -version-info $(LIBJWT_LTVERSION) $(GNUTLS_LDFLAGS) $(JANSSON_LDFLAGS) -no-undefined ++libjwt_gnutls_la_CPPFLAGS = -I$(top_srcdir)/include $(GNUTLS_INCLUDES) $(CODE_COVERAGE_CPPFLAGS) -Wall ++libjwt_gnutls_la_CFLAGS = $(JANSSON_CFLAGS) $(GNUTLS_CFLAGS) $(CODE_COVERAGE_CFLAGS) -D_GNU_SOURCE ++libjwt_gnutls_la_LIBADD = $(JANSSON_LIBS) $(GNUTLS_LIBS) $(CODE_COVERAGE_LDFLAGS) ++endif ++endif + + pkgconfiglibdir = $(libdir)/pkgconfig + pkgconfiglib_DATA = libjwt.pc ++if MULTI_SSL ++if HAVE_OPENSSL ++pkgconfiglib_DATA += libjwt-ossl.pc ++endif ++if HAVE_GNUTLS ++pkgconfiglib_DATA += libjwt-gnutls.pc ++endif ++endif +diff --git a/libjwt/libjwt-gnutls.pc.in b/libjwt/libjwt-gnutls.pc.in +new file mode 100644 +index 0000000..63962ee +--- /dev/null ++++ b/libjwt/libjwt-gnutls.pc.in +@@ -0,0 +1,12 @@ ++prefix=@prefix@ ++exec_prefix=@exec_prefix@ ++libdir=@libdir@ ++includedir=@includedir@ ++ ++Name: @PACKAGE_NAME@ ++Description: JWT C Library ++Version: @PACKAGE_VERSION@ ++ ++Cflags: -I${includedir} ++Libs: -L${libdir} -ljwt-gnutls ++Libs.private: @JANSSON_LIBS@ @GNUTLS_LIBS@ +diff --git a/libjwt/libjwt-ossl.pc.in b/libjwt/libjwt-ossl.pc.in +new file mode 100644 +index 0000000..98c0ebe +--- /dev/null ++++ b/libjwt/libjwt-ossl.pc.in +@@ -0,0 +1,12 @@ ++prefix=@prefix@ ++exec_prefix=@exec_prefix@ ++libdir=@libdir@ ++includedir=@includedir@ ++ ++Name: @PACKAGE_NAME@ ++Description: JWT C Library ++Version: @PACKAGE_VERSION@ ++ ++Cflags: -I${includedir} ++Libs: -L${libdir} -ljwt-ossl ++Libs.private: @JANSSON_LIBS@ @OPENSSL_LIBS@ +diff --git a/libjwt/libjwt.pc.in b/libjwt/libjwt.pc.in +index 0c81d36..0bb64f4 100644 +--- a/libjwt/libjwt.pc.in ++++ b/libjwt/libjwt.pc.in +@@ -9,4 +9,4 @@ Version: @PACKAGE_VERSION@ + + Cflags: -I${includedir} + Libs: -L${libdir} -ljwt +-Libs.private: @JANSSON_LIBS@ @OPENSSL_LIBS@ ++Libs.private: @JANSSON_LIBS@ @SSL_DEF_LIBS@ +diff --git a/tests/Makefile.am b/tests/Makefile.am +index 58860ac..57a6444 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -10,6 +10,14 @@ TESTS = \ + jwt_ec \ + jwt_validate + ++if MULTI_SSL ++if HAVE_OPENSSL ++include ossl_tests.mk ++endif ++if HAVE_GNUTLS ++include gnutls_tests.mk ++endif ++endif + check_PROGRAMS = $(TESTS) + + AM_CPPFLAGS = -I$(top_srcdir)/include +diff --git a/tests/gnutls_tests.mk b/tests/gnutls_tests.mk +new file mode 100644 +index 0000000..b16b8ef +--- /dev/null ++++ b/tests/gnutls_tests.mk +@@ -0,0 +1,32 @@ ++## for jwttest in $(jwttests) ++## do ++## TESTS += $(sslimpl)_$(jwttest) ++## $(sslimpl)_$(jwttest)_SOURCES = $(jwttest).c ++## $(sslimpl)_$(jwttest)_LDADD = -ljwt-$(sslimpl) $(CHECK_LIBS) ++## done ++ ++TESTS += gnutls_jwt_new ++gnutls_jwt_new_SOURCES = jwt_new.c ++gnutls_jwt_new_LDADD = -ljwt-gnutls $(CHECK_LIBS) ++TESTS += gnutls_jwt_grant ++gnutls_jwt_grant_SOURCES = jwt_grant.c ++gnutls_jwt_grant_LDADD = -ljwt-gnutls $(CHECK_LIBS) ++TESTS += gnutls_jwt_header ++gnutls_jwt_header_SOURCES = jwt_header.c ++gnutls_jwt_header_LDADD = -ljwt-gnutls $(CHECK_LIBS) ++TESTS += gnutls_jwt_dump ++gnutls_jwt_dump_SOURCES = jwt_dump.c ++gnutls_jwt_dump_LDADD = -ljwt-gnutls $(CHECK_LIBS) ++TESTS += gnutls_jwt_encode ++gnutls_jwt_encode_SOURCES = jwt_encode.c ++gnutls_jwt_encode_LDADD = -ljwt-gnutls $(CHECK_LIBS) ++TESTS += gnutls_jwt_rsa ++gnutls_jwt_rsa_SOURCES = jwt_rsa.c ++gnutls_jwt_rsa_LDADD = -ljwt-gnutls $(CHECK_LIBS) ++TESTS += gnutls_jwt_ec ++gnutls_jwt_ec_SOURCES = jwt_ec.c ++gnutls_jwt_ec_LDADD = -ljwt-gnutls $(CHECK_LIBS) ++TESTS += gnutls_jwt_validate ++gnutls_jwt_validate_SOURCES = jwt_validate.c ++gnutls_jwt_validate_LDADD = -ljwt-gnutls $(CHECK_LIBS) ++ +diff --git a/tests/ossl_tests.mk b/tests/ossl_tests.mk +new file mode 100644 +index 0000000..5c360c4 +--- /dev/null ++++ b/tests/ossl_tests.mk +@@ -0,0 +1,32 @@ ++## for jwttest in $(jwttests) ++## do ++## TESTS += $(sslimpl)_$(jwttest) ++## $(sslimpl)_$(jwttest)_SOURCES = $(jwttest).c ++## $(sslimpl)_$(jwttest)_LDADD = -ljwt-$(sslimpl) $(CHECK_LIBS) ++## done ++ ++TESTS += ossl_jwt_new ++ossl_jwt_new_SOURCES = jwt_new.c ++ossl_jwt_new_LDADD = -ljwt-ossl $(CHECK_LIBS) ++TESTS += ossl_jwt_grant ++ossl_jwt_grant_SOURCES = jwt_grant.c ++ossl_jwt_grant_LDADD = -ljwt-ossl $(CHECK_LIBS) ++TESTS += ossl_jwt_header ++ossl_jwt_header_SOURCES = jwt_header.c ++ossl_jwt_header_LDADD = -ljwt-ossl $(CHECK_LIBS) ++TESTS += ossl_jwt_dump ++ossl_jwt_dump_SOURCES = jwt_dump.c ++ossl_jwt_dump_LDADD = -ljwt-ossl $(CHECK_LIBS) ++TESTS += ossl_jwt_encode ++ossl_jwt_encode_SOURCES = jwt_encode.c ++ossl_jwt_encode_LDADD = -ljwt-ossl $(CHECK_LIBS) ++TESTS += ossl_jwt_rsa ++ossl_jwt_rsa_SOURCES = jwt_rsa.c ++ossl_jwt_rsa_LDADD = -ljwt-ossl $(CHECK_LIBS) ++TESTS += ossl_jwt_ec ++ossl_jwt_ec_SOURCES = jwt_ec.c ++ossl_jwt_ec_LDADD = -ljwt-ossl $(CHECK_LIBS) ++TESTS += ossl_jwt_validate ++ossl_jwt_validate_SOURCES = jwt_validate.c ++ossl_jwt_validate_LDADD = -ljwt-ossl $(CHECK_LIBS) ++ |