diff --git a/SOURCES/json-c-versioned-symbols.patch b/SOURCES/json-c-versioned-symbols.patch new file mode 100644 index 0000000..a0951c4 --- /dev/null +++ b/SOURCES/json-c-versioned-symbols.patch @@ -0,0 +1,165 @@ +commit ca454c53a3f39fcd23d9a7d779f56fd06928ab4a +Author: Tomas Korbar +Date: Mon Sep 13 10:18:44 2021 +0200 + + Fix symbols + +diff --git a/json-c.sym b/json-c.sym +new file mode 100644 +index 0000000..bf78792 +--- /dev/null ++++ b/json-c.sym +@@ -0,0 +1,153 @@ ++JSONC_0.14 { ++ global: ++ _json_c_set_last_err; ++ _json_c_strerror; ++ _json_c_strerror_enable; ++ array_list_add; ++ array_list_bsearch; ++ array_list_del_idx; ++ array_list_free; ++ array_list_get_idx; ++ array_list_length; ++ array_list_new; ++ array_list_put_idx; ++ array_list_sort; ++ json_c_get_random_seed; ++ json_c_object_sizeof; ++ json_c_set_serialization_double_format; ++ json_c_shallow_copy_default; ++ json_c_version; ++ json_c_version_num; ++ json_c_visit; ++ json_global_set_string_hash; ++ json_hex_chars; ++ json_number_chars; ++ json_object_array_add; ++ json_object_array_bsearch; ++ json_object_array_del_idx; ++ json_object_array_get_idx; ++ json_object_array_length; ++ json_object_array_put_idx; ++ json_object_array_sort; ++ json_object_deep_copy; ++ json_object_double_to_json_string; ++ json_object_equal; ++ json_object_free_userdata; ++ json_object_from_fd; ++ json_object_from_fd_ex; ++ json_object_from_file; ++ json_object_get; ++ json_object_get_array; ++ json_object_get_boolean; ++ json_object_get_double; ++ json_object_get_int64; ++ json_object_get_int; ++ json_object_get_object; ++ json_object_get_string; ++ json_object_get_string_len; ++ json_object_get_type; ++ json_object_get_uint64; ++ json_object_get_userdata; ++ json_object_int_inc; ++ json_object_is_type; ++ json_object_iter_begin; ++ json_object_iter_end; ++ json_object_iter_equal; ++ json_object_iter_init_default; ++ json_object_iter_next; ++ json_object_iter_peek_name; ++ json_object_iter_peek_value; ++ json_object_new_array; ++ json_object_new_boolean; ++ json_object_new_double; ++ json_object_new_double_s; ++ json_object_new_int64; ++ json_object_new_int; ++ json_object_new_null; ++ json_object_new_object; ++ json_object_new_string; ++ json_object_new_string_len; ++ json_object_new_uint64; ++ json_object_object_add; ++ json_object_object_add_ex; ++ json_object_object_del; ++ json_object_object_get; ++ json_object_object_get_ex; ++ json_object_object_length; ++ json_object_put; ++ json_object_set_boolean; ++ json_object_set_double; ++ json_object_set_int64; ++ json_object_set_int; ++ json_object_set_serializer; ++ json_object_set_string; ++ json_object_set_string_len; ++ json_object_set_uint64; ++ json_object_set_userdata; ++ json_object_to_fd; ++ json_object_to_file; ++ json_object_to_file_ext; ++ json_object_to_json_string; ++ json_object_to_json_string_ext; ++ json_object_to_json_string_length; ++ json_object_userdata_to_json_string; ++ json_parse_double; ++ json_parse_int64; ++ json_parse_uint64; ++ json_pointer_get; ++ json_pointer_getf; ++ json_pointer_set; ++ json_pointer_setf; ++ json_tokener_error_desc; ++ json_tokener_free; ++ json_tokener_get_error; ++ json_tokener_get_parse_end; ++ json_tokener_new; ++ json_tokener_new_ex; ++ json_tokener_parse; ++ json_tokener_parse_ex; ++ json_tokener_parse_verbose; ++ json_tokener_reset; ++ json_tokener_set_flags; ++ json_type_to_name; ++ json_util_get_last_err; ++ lh_char_equal; ++ lh_kchar_table_new; ++ lh_kptr_table_new; ++ lh_ptr_equal; ++ lh_table_delete; ++ lh_table_delete_entry; ++ lh_table_free; ++ lh_table_insert; ++ lh_table_insert_w_hash; ++ lh_table_length; ++ lh_table_lookup; ++ lh_table_lookup_entry; ++ lh_table_lookup_entry_w_hash; ++ lh_table_lookup_ex; ++ lh_table_new; ++ lh_table_resize; ++ mc_debug; ++ mc_error; ++ mc_get_debug; ++ mc_info; ++ mc_set_debug; ++ mc_set_syslog; ++ printbuf_free; ++ printbuf_memappend; ++ printbuf_memset; ++ printbuf_new; ++ printbuf_reset; ++ sprintbuf; ++ ++ local: ++ *; ++}; ++ ++JSONC_0.15 { ++ global: ++ array_list_new2; ++ array_list_shrink; ++ json_object_array_shrink; ++ json_object_new_array_ext; ++} JSONC_0.14; diff --git a/SPECS/json-c.spec b/SPECS/json-c.spec index 8034f8d..bca56c1 100644 --- a/SPECS/json-c.spec +++ b/SPECS/json-c.spec @@ -16,7 +16,7 @@ Name: json-c Version: 0.13.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: JSON implementation in C License: MIT @@ -28,6 +28,9 @@ Source1: %{url}/archive/%{name}-%{version_old}-%{reldate_old}.tar.gz # CVE-2020-12762 json-c: integer overflow and out-of-bounds write via a large JSON file # rhbz#1835626 Patch0: json-c-int-overflow.patch +# patch for support of versioned symbols +# rhbz#2001063 +Patch1: json-c-versioned-symbols.patch BuildRequires: libtool @@ -84,6 +87,9 @@ popd %build +# it is easier and more efficient to add version script flag +# here instead of having to rebuild the configure script +LDFLAGS="%{build_ldflags} -Wl,--version-script,${PWD}/json-c.sym" %configure \ --disable-silent-rules \ --disable-static \ @@ -169,6 +175,10 @@ end %changelog +* Tue Sep 14 2021 Tomas Korbar - 0.13.1-3 +- Start versioning symbols when building library +- Resolves: rhbz#2001063 + * Thu May 20 2021 Joe Orton - 0.13.1-2 - rebuild (#1954436)