From 3bff8faa1cc11c6f52e959d9776cc737ad156ba4 Mon Sep 17 00:00:00 2001 From: Daniel Berteaud Date: Fri, 11 Feb 2022 15:05:38 +0100 Subject: [PATCH] Import from Fedora --- gpgkey-01F3D14D.gpg | Bin 0 -> 5506 bytes libu2f-server-1.0.1.tar.xz | 3 + libu2f-server-1.0.1.tar.xz.sig | Bin 0 -> 287 bytes ...d_support_for_upcoming_json_c_0_14_0.patch | 37 ++++ ...erver-1.0.1_check_result_json_object.patch | 58 ++++++ libu2f-server-1.0.1_fix_memory_errors.patch | 52 ++++++ ...erver-1.0.1_fix_refcount_json_object.patch | 61 +++++++ libu2f-server.spec | 167 ++++++++++++++++++ 8 files changed, 378 insertions(+) create mode 100644 gpgkey-01F3D14D.gpg create mode 100644 libu2f-server-1.0.1.tar.xz create mode 100644 libu2f-server-1.0.1.tar.xz.sig create mode 100644 libu2f-server-1.0.1_add_support_for_upcoming_json_c_0_14_0.patch create mode 100644 libu2f-server-1.0.1_check_result_json_object.patch create mode 100644 libu2f-server-1.0.1_fix_memory_errors.patch create mode 100644 libu2f-server-1.0.1_fix_refcount_json_object.patch create mode 100644 libu2f-server.spec diff --git a/gpgkey-01F3D14D.gpg b/gpgkey-01F3D14D.gpg new file mode 100644 index 0000000000000000000000000000000000000000..98da9e72f9588039010c3437defb72db5eca80e7 GIT binary patch literal 5506 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 literal 0 HcmV?d00001 diff --git a/libu2f-server-1.0.1.tar.xz b/libu2f-server-1.0.1.tar.xz new file mode 100644 index 0000000..fe64254 --- /dev/null +++ b/libu2f-server-1.0.1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a618f59051209d6d70c24cf42d64c9b67bd7dd5946b6dbd2c649181d7e8f1f6e +size 268648 diff --git a/libu2f-server-1.0.1.tar.xz.sig b/libu2f-server-1.0.1.tar.xz.sig new file mode 100644 index 0000000000000000000000000000000000000000..c1bad369e9786554a19413677f87fd430980127f GIT binary patch literal 287 zcmV+)0pR|L0UQJX0SEvF1p-x`EpGq{2@rIL18D*C(M_Bm2mp^y93Ps2pm0Todxg5s zSN=aHiBd_4^^(JFehWeTO)G)3B1-*b8`a#8GPmc3*8F+L3;q!Co9PIu5Wlc<XC=%)Oxu84}? +Date: Mon, 13 Apr 2020 14:16:20 +0200 +Subject: [PATCH] Add support for upcoming json-c 0.14.0. + +TRUE/FALSE are not defined anymore. 1 and 0 are used instead. +--- + u2f-server/core.c | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +diff --git a/u2f-server/core.c b/u2f-server/core.c +index 2fb325e..895c004 100644 +--- a/u2f-server/core.c ++++ b/u2f-server/core.c +@@ -44,6 +44,19 @@ typedef int json_bool; + #define u2fs_json_object_object_get(obj, key, value) (value = json_object_object_get(obj, key)) == NULL ? (json_bool)FALSE : (json_bool)TRUE + #endif + ++/* json-c 0.13.99 does not define TRUE/FALSE anymore ++ * the json-c maintainers replaced them with pure 1/0 ++ * https://github.com/json-c/json-c/commit/0992aac61f8b ++ */ ++#if defined JSON_C_VERSION_NUM && JSON_C_VERSION_NUM >= ((13 << 8) | 99) ++#ifndef FALSE ++#define FALSE 0 ++#endif ++#ifndef TRUE ++#define TRUE 1 ++#endif ++#endif ++ + static u2fs_rc encode_b64u(const char *data, size_t data_len, char *output) + { + base64_encodestate b64; +-- +2.26.0 + diff --git a/libu2f-server-1.0.1_check_result_json_object.patch b/libu2f-server-1.0.1_check_result_json_object.patch new file mode 100644 index 0000000..7ff0779 --- /dev/null +++ b/libu2f-server-1.0.1_check_result_json_object.patch @@ -0,0 +1,58 @@ +From 72997944d5ee7f165fe04f1ac451d115e97d75e9 Mon Sep 17 00:00:00 2001 +From: Joe Watkins +Date: Sat, 10 Dec 2016 13:34:08 +0000 +Subject: [PATCH] Check the result of the call to serialize json object before + calling strdup + +--- + u2f-server/core.c | 16 ++++++++++++---- + 1 file changed, 12 insertions(+), 4 deletions(-) + +Index: libu2f-server-1.0.1/u2f-server/core.c +=================================================================== +--- libu2f-server-1.0.1.orig/u2f-server/core.c ++++ libu2f-server-1.0.1/u2f-server/core.c +@@ -381,6 +381,7 @@ static int registration_challenge_json(c + struct json_object *json_version = NULL; + struct json_object *json_appid = NULL; + struct json_object *json_output = NULL; ++ const char *json_string = NULL; + + rc = U2FS_JSON_ERROR; + +@@ -402,8 +403,11 @@ static int registration_challenge_json(c + json_object_object_add(json_output, "version", json_version); + json_object_object_add(json_output, "appId", json_appid); + +- *output = strdup(json_object_to_json_string(json_output)); +- if (*output == NULL) ++ json_string = json_object_to_json_string(json_output); ++ ++ if (json_string == NULL) ++ rc = U2FS_JSON_ERROR; ++ else if ((*output = strdup(json_string)) == NULL) + rc = U2FS_MEMORY_ERROR; + else + rc = U2FS_OK; +@@ -951,6 +955,7 @@ static int authentication_challenge_json + struct json_object *json_version = NULL; + struct json_object *json_appid = NULL; + struct json_object *json_output = NULL; ++ const char *json_string = NULL; + + rc = U2FS_JSON_ERROR; + +@@ -976,8 +981,11 @@ static int authentication_challenge_json + json_object_object_add(json_output, "challenge", json_challenge); + json_object_object_add(json_output, "appId", json_appid); + +- *output = strdup(json_object_to_json_string(json_output)); +- if (*output == NULL) ++ json_string = json_object_to_json_string(json_output); ++ ++ if (json_string == NULL) ++ rc = U2FS_JSON_ERROR; ++ else if ((*output = strdup(json_string)) == NULL) + rc = U2FS_MEMORY_ERROR; + else + rc = U2FS_OK; diff --git a/libu2f-server-1.0.1_fix_memory_errors.patch b/libu2f-server-1.0.1_fix_memory_errors.patch new file mode 100644 index 0000000..225b7fb --- /dev/null +++ b/libu2f-server-1.0.1_fix_memory_errors.patch @@ -0,0 +1,52 @@ +From 5d74f88b278ca1df6c69d7328be2a8035ca7976c Mon Sep 17 00:00:00 2001 +From: Joe Watkins +Date: Fri, 9 Dec 2016 14:26:51 +0000 +Subject: [PATCH] valgrind shows memory errors around this code, because the + reference counts of objects are not managed properly + +--- + u2f-server/core.c | 24 +++++++++++++++--------- + 1 file changed, 15 insertions(+), 9 deletions(-) + +Index: libu2f-server-1.0.1/u2f-server/core.c +=================================================================== +--- libu2f-server-1.0.1.orig/u2f-server/core.c ++++ libu2f-server-1.0.1/u2f-server/core.c +@@ -409,10 +409,13 @@ static int registration_challenge_json(c + rc = U2FS_OK; + + done: +- json_object_put(json_challenge); +- json_object_put(json_version); +- json_object_put(json_appid); +- json_object_put(json_output); ++ if (json_output) { ++ json_object_put(json_output); ++ } else { ++ json_object_put(json_challenge); ++ json_object_put(json_version); ++ json_object_put(json_appid); ++ } + + return rc; + } +@@ -980,11 +983,14 @@ static int authentication_challenge_json + rc = U2FS_OK; + + done: +- json_object_put(json_challenge); +- json_object_put(json_key); +- json_object_put(json_version); +- json_object_put(json_appid); +- json_object_put(json_output); ++ if (json_output) { ++ json_object_put(json_output); ++ } else { ++ json_object_put(json_challenge); ++ json_object_put(json_key); ++ json_object_put(json_version); ++ json_object_put(json_appid); ++ } + + return rc; + } diff --git a/libu2f-server-1.0.1_fix_refcount_json_object.patch b/libu2f-server-1.0.1_fix_refcount_json_object.patch new file mode 100644 index 0000000..7e6a976 --- /dev/null +++ b/libu2f-server-1.0.1_fix_refcount_json_object.patch @@ -0,0 +1,61 @@ +diff --git a/u2f-server/core.c b/u2f-server/core.c +index 41af808..da1b286 100644 +--- a/u2f-server/core.c ++++ b/u2f-server/core.c +@@ -399,9 +399,9 @@ static int registration_challenge_json(const char *challenge, + if (json_output == NULL) + goto done; + +- json_object_object_add(json_output, "challenge", json_challenge); +- json_object_object_add(json_output, "version", json_version); +- json_object_object_add(json_output, "appId", json_appid); ++ json_object_object_add(json_output, "challenge", json_object_get(json_challenge)); ++ json_object_object_add(json_output, "version", json_object_get(json_version)); ++ json_object_object_add(json_output, "appId", json_object_get(json_appid)); + + json_string = json_object_to_json_string(json_output); + +@@ -413,13 +413,10 @@ static int registration_challenge_json(const char *challenge, + rc = U2FS_OK; + + done: +- if (json_output) { + json_object_put(json_output); +- } else { + json_object_put(json_challenge); + json_object_put(json_version); + json_object_put(json_appid); +- } + + return rc; + } +@@ -976,10 +973,10 @@ static int authentication_challenge_json(const char *challenge, + if (json_output == NULL) + goto done; + +- json_object_object_add(json_output, "keyHandle", json_key); +- json_object_object_add(json_output, "version", json_version); +- json_object_object_add(json_output, "challenge", json_challenge); +- json_object_object_add(json_output, "appId", json_appid); ++ json_object_object_add(json_output, "keyHandle", json_object_get(json_key)); ++ json_object_object_add(json_output, "version", json_object_get(json_version)); ++ json_object_object_add(json_output, "challenge", json_object_get(json_challenge)); ++ json_object_object_add(json_output, "appId", json_object_get(json_appid)); + + json_string = json_object_to_json_string(json_output); + +@@ -991,14 +988,11 @@ static int authentication_challenge_json(const char *challenge, + rc = U2FS_OK; + + done: +- if (json_output) { + json_object_put(json_output); +- } else { + json_object_put(json_challenge); + json_object_put(json_key); + json_object_put(json_version); + json_object_put(json_appid); +- } + + return rc; + } diff --git a/libu2f-server.spec b/libu2f-server.spec new file mode 100644 index 0000000..79a389a --- /dev/null +++ b/libu2f-server.spec @@ -0,0 +1,167 @@ +Name: libu2f-server +Version: 1.0.1 +Release: 24%{?dist} +Summary: Yubico Universal 2nd Factor (U2F) Server C Library + +License: BSD +URL: https://developers.yubico.com/%{name} +Source0: https://developers.yubico.com/%{name}/Releases/%{name}-%{version}.tar.xz +Source1: https://developers.yubico.com/%{name}/Releases/%{name}-%{version}.tar.xz.sig +Source2: gpgkey-01F3D14D.gpg + +# Picked from upstream +# https://github.com/Yubico/libu2f-server/commit/5d74f88b278ca1df6c69d7328be2a8035ca7976c +Patch0: %{name}-1.0.1_fix_memory_errors.patch +# https://github.com/Yubico/libu2f-server/commit/72997944d5ee7f165fe04f1ac451d115e97d75e9 +Patch1: %{name}-1.0.1_check_result_json_object.patch +# https://github.com/Yubico/libu2f-server/pull/31 +Patch2: %{name}-1.0.1_fix_refcount_json_object.patch +# https://github.com/Yubico/libu2f-server/pull/42 +Patch3: %{name}-1.0.1_add_support_for_upcoming_json_c_0_14_0.patch + +#BuildRequires: json-c-devel openssl-devel check-devel gnupg2 systemd +BuildRequires: gcc +BuildRequires: json-c-devel openssl-devel check-devel systemd +BuildRequires: make + +# Bundled gnulib https://fedorahosted.org/fpc/ticket/174 +Provides: bundled(gnulib) + +%description +This is a C library that implements the server-side of the U2F protocol. More +precisely, it provides an API for generating the JSON blobs required by U2F +devices to perform the U2F Registration and U2F Authentication operations, and +functionality for verifying the cryptographic operations. + +%package -n u2f-server +Summary: Server-side command-line tool for U2F devices +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description -n u2f-server +u2f-server provides a command line tool that implements the server-side of the +U2F protocol. + + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +This package contains the header files needed to develop applications that +use libu2f-server. + +%global _hardened_build 1 + +%prep +# disable signature verficiation due to gpgv2 bug +# https://bugzilla.redhat.com/show_bug.cgi?id=1292687 +#gpgv2 --quiet --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0} +%autosetup -p 1 + +%build +%configure --disable-rpath --disable-static + +# --disable-rpath doesn't work. +sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool +sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool + +%make_build + +%check +LD_LIBRARY_PATH="$(pwd)/u2f-server/.libs" make check + +%install +%make_install +find %{buildroot} -name '*.la' -exec rm -f {} ';' + +%ldconfig_scriptlets + +%files +%license COPYING +%doc README AUTHORS NEWS THANKS +%{_libdir}/*.so.* + +%files -n u2f-server +%{_bindir}/u2f-server +%{_mandir}/man1/u2f-server.1* + +%files devel +%doc %{_datadir}/gtk-doc/html/u2f-server +%{_libdir}/pkgconfig/*.pc +%{_libdir}/*.so +%{_includedir}/* + +%changelog +* Thu Jan 20 2022 Fedora Release Engineering - 1.0.1-24 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Tue Sep 14 2021 Sahana Prasad - 1.0.1-23 +- Rebuilt with OpenSSL 3.0.0 + +* Thu Jul 22 2021 Fedora Release Engineering - 1.0.1-22 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Sat Jul 10 2021 Björn Esser - 1.0.1-21 +- Rebuild for versioned symbols in json-c + +* Tue Jan 26 2021 Fedora Release Engineering - 1.0.1-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 1.0.1-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Apr 21 2020 Björn Esser - 1.0.1-18 +- Rebuild (json-c) + +* Mon Apr 13 2020 Björn Esser - 1.0.1-17 +- Add support for upcoming json-c 0.14.0 + +* Wed Jan 29 2020 Fedora Release Engineering - 1.0.1-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jul 25 2019 Fedora Release Engineering - 1.0.1-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Feb 01 2019 Fedora Release Engineering - 1.0.1-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 13 2018 Fedora Release Engineering - 1.0.1-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Mar 06 2018 Björn Esser - 1.0.1-12 +- Rebuilt for libjson-c.so.4 (json-c v0.13.1) + +* Wed Feb 07 2018 Fedora Release Engineering - 1.0.1-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Fri Dec 15 2017 Björn Esser - 1.0.1-10 +- Add upstreamed patch for proper refcount on json_objects + +* Wed Dec 13 2017 Björn Esser - 1.0.1-9 +- Add two cherry-picked patches from upstream + +* Sun Dec 10 2017 Björn Esser - 1.0.1-8 +- Rebuilt for libjson-c.so.3 + +* Thu Aug 03 2017 Fedora Release Engineering - 1.0.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.0.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 1.0.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Feb 4 2016 Seth Jennings - 1.0.1-4 +- disable signature verficiation due to gpgv2 bug + +* Thu Feb 04 2016 Fedora Release Engineering - 1.0.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Oct 27 2015 Seth Jennings - 1.0.1-2 +- Enable _hardened_build +- Remove redundant license from u2f-server package +- More specific path for gtk-doc files + +* Sat Aug 1 2015 Seth Jennings - 1.0.1-1 +- Initial package release.