Initialize for libeconf
This commit is contained in:
commit
71fac0ab75
5 changed files with 426 additions and 0 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
libeconf-0.5.2.tar.xz
|
1
.libeconf.metadata
Normal file
1
.libeconf.metadata
Normal file
|
@ -0,0 +1 @@
|
|||
b0fc8cccc3e05b30572851e50e0d68c276d50b507a06a15b84e7d5503fee6682 libeconf-0.5.2.tar.xz
|
1
baselibs.conf
Normal file
1
baselibs.conf
Normal file
|
@ -0,0 +1 @@
|
|||
libeconf0
|
340
libeconf.changes
Normal file
340
libeconf.changes
Normal file
|
@ -0,0 +1,340 @@
|
|||
* Wed Sep 6 2023 schubi@suse.com
|
||||
- Additional info for version 0.5.2:
|
||||
* Fixed a stack-buffer-overflow vulnerability in "econf_writeFile"
|
||||
function. (CVE-2023-30078, CVE-2023-32181, bsc#1211078)
|
||||
* Fixed a stack-buffer-overflow vulnerability in "read_file"
|
||||
function. (CVE-2023-30079, CVE-2023-22652, bsc#1211078)
|
||||
* Fri Mar 24 2023 schubi@suse.com
|
||||
- Update to version 0.5.2:
|
||||
* Fixed build for aarch64 and gcc13.
|
||||
* Making the output verbose when a test fails.
|
||||
* Fixed a stack-buffer-overflow vulnerability in "econf_writeFile"
|
||||
function.
|
||||
* Fixed a stack-buffer-overflow vulnerability in "read_file"
|
||||
function.
|
||||
* Added new feature: econf_set_conf_dirs (const char **dir_postfix_list)
|
||||
Sets a list of directory structures (with order) which describes
|
||||
the directories in which the files have to be parsed.
|
||||
E.G. with the given list: {"/conf.d/", ".d/", "/", NULL} files in following
|
||||
directories will be parsed:
|
||||
"<default_dirs>/<project_name>.<suffix>.d/"
|
||||
"<default_dirs>/<project_name>/conf.d/"
|
||||
"<default_dirs>/<project_name>.d/"
|
||||
"<default_dirs>/<project_name>/"
|
||||
The entry "<default_dirs>/<project_name>.<suffix>.d/" will be added
|
||||
automatically.
|
||||
* General code cleanup.
|
||||
* Thu Jan 19 2023 schubi@suse.com
|
||||
- Update to version 0.5.1:
|
||||
* Reading files in /usr/_vendor_/_example_._suffix_.d/* regardless
|
||||
there is a /etc/_example_._suffix_ file. (#175)
|
||||
* Fri Dec 2 2022 schubi@suse.com
|
||||
- Update to version 0.5.0:
|
||||
* API calls econf_read*WithCallback supporting a general (void *)
|
||||
argument for user defined data with which the callback function is
|
||||
called.
|
||||
* Tagged following functions deprecated:
|
||||
econf_requireOwner, econf_requireGroup, econf_requirePermissions,
|
||||
econf_followSymlinks, econf_reset_security_settings
|
||||
Use one of the econf_read*WithCallback functions instead.
|
||||
* Wed Nov 23 2022 schubi@suse.com
|
||||
- Update to version 0.4.9:
|
||||
* libeconf.h: added missing sys/types.h header (#171)
|
||||
* new API calls: econf_readFileWithCallback,
|
||||
econf_readDirsWithCallback, econf_readDirsHistoryWithCallback (#172)
|
||||
* Checking NULL comment parameter in the parsing functions.
|
||||
* Mon Nov 14 2022 schubi@suse.com
|
||||
- Update to version 0.4.8+git20221114.7ff7704:
|
||||
* Parsing files which are containing keys only (#170)
|
||||
All delimiters are allowed now : "", " =", " ", "=". But the
|
||||
user should use "" in order to be distinct.
|
||||
* /usr/etc/shells.d/<file_name> will not be parsed if
|
||||
/etc/shells.d/<file_name> is defined too.
|
||||
* Lto build fixed (#168)
|
||||
* New calls: econf_comment_tag, econf_delimiter_tag, econf_set_comment_tag,
|
||||
econf_set_delimiter_tag
|
||||
* Checking UID,GroupID, permissions,... of the parsed files (#165)
|
||||
New calls: econf_requireOwner, econf_requireGroup, econf_requirePermissions,
|
||||
econf_followSymlinks
|
||||
* Ignoring Group without brackets; Do not hold brackets in the internal data structure. (#164)
|
||||
* Error handling improved for nums and booleans (#163)
|
||||
* Wed Apr 27 2022 schubi@suse.com
|
||||
- Update to version 0.4.6+git20220427.3016f4e:
|
||||
* econftool:
|
||||
* * Parsing error: Reporting file and line nr.
|
||||
* * --delimeters=spaces Taking all kind of spaces for delimiter
|
||||
* libeconf:
|
||||
Fixed bsc#1198165: Parsing files correctly which have space characters
|
||||
AND none space characters as delimiters.
|
||||
* Wed Apr 6 2022 schubi@suse.com
|
||||
- Update to version 0.4.5+git20220406.c9658f2:
|
||||
* econftool:
|
||||
* * New call "syntax" for checking the configuration files only.
|
||||
Returns an error string with line number if an error occurs.
|
||||
* * New options "--comment" and "--delimeters"
|
||||
* * Parsing one file only if needed.
|
||||
* Tue Jan 4 2022 schubi@suse.com
|
||||
- Update to version 0.4.4+git20220104.962774f:
|
||||
* Fixed i586 build (#158)
|
||||
* Tue Jan 4 2022 schubi@suse.com
|
||||
- Update to version 0.4.2+git20220104.5dfd69d:
|
||||
* Reading numbers with different bases (e.g. oktal) (bsc#1193632) (#157)
|
||||
* Thu Nov 11 2021 schubi@suse.com
|
||||
- Update to version libeconf-0.4.2+git20211111.c7a2c52:
|
||||
* CMake fixes regarding document installation.
|
||||
* Fixed different issues while writing string values to file.
|
||||
* Writing comments to file too.
|
||||
* Fixed memory leaks.
|
||||
* Fixed crash while merging values.
|
||||
* Fri Jul 9 2021 schubi@localhost
|
||||
- Update to version 0.4.1+git20210709.cf671f2:
|
||||
* CMake fixes regarding installation of econftool and man pages.
|
||||
* Thu Jul 8 2021 Stefan Schubert schubi@suse.com
|
||||
- Update to version 0.4.0+git20210708.6918ea1:
|
||||
* Fixed covscan FORWARD_NULL_issues warnings
|
||||
* Wed Jul 7 2021 schubi@suse.com
|
||||
- Update to version 0.4.0+git20210707.537a8a:
|
||||
* Fixed resource leaks found by Iker Pedrosa.
|
||||
* Thu Apr 15 2021 schubi@suse.com
|
||||
- Removed doxygen from build requires.
|
||||
* Tue Apr 13 2021 schubi@suse.com
|
||||
- Update to version 0.4.0+git20210413.fdb8025:
|
||||
* Installing man pages via meson. (#147)
|
||||
* Mon Apr 12 2021 schubi@suse.com
|
||||
- Update to version 0.4.0+git20210412.1513a26:
|
||||
* Added econftool cat option (#146)
|
||||
* new API call: econf_readDirsHistory (showing ALL locations)
|
||||
* new API call: econf_getPath (absolute path of the configuration file)
|
||||
* Thu Apr 8 2021 schubi@suse.com
|
||||
- Update to version 0.4.0+git20210408.6d33e5e:
|
||||
* Man pages libeconf.3 and econftool.8.
|
||||
* Handling multiline strings.
|
||||
* Added libeconf_ext which returns more information like
|
||||
line_nr, comments, path of the configuration file,...
|
||||
* Econftool, an command line interface for handling configuration
|
||||
files.
|
||||
* Generating HTML API documentation with doxygen.
|
||||
* Improving error handling and semantic file check.
|
||||
* Joining entries with the same key to one single entry if
|
||||
env variable ECONF_JOIN_SAME_ENTRIES has been set.
|
||||
* Thu Oct 22 2020 lnussel@suse.de
|
||||
- explicitly BuildRequire: pkgconfig for /usr/lib/rpm/pkgconfigdeps.sh
|
||||
On TW it's pulled in implicitly by libxcrypt-devel which is not the
|
||||
case on 15.2
|
||||
* Fri Jul 10 2020 rbrown@suse.com
|
||||
- Update to version 0.3.8+git20200710.5126fff:
|
||||
* Add CMake build scripts, remove autotools support
|
||||
* Move C++ ABI compatibility section
|
||||
* Fri Jun 5 2020 rbrown@suse.com
|
||||
- Update to version 0.3.7+git20200605.c67ef9a:
|
||||
* Fix build on i586
|
||||
* Thu Jun 4 2020 rbrown@suse.com
|
||||
- Update to version 0.3.6+git20200529.276359f:
|
||||
* Package meson files with autotools
|
||||
* Use newer version of actions/checkout
|
||||
* Add actions for meson
|
||||
* Create meson.yml
|
||||
* Use meson source root for tests configuration files
|
||||
* Add additional compiler warnings
|
||||
* First useable meson build support including unit tests
|
||||
* Add global options, build with pie and GNU_SOURCE
|
||||
* Fix name of library, add example binary
|
||||
* add support for meson
|
||||
* Add C++ compatibility
|
||||
* Add test case for crash with empty value keys
|
||||
* Mon Feb 3 2020 rbrown@suse.com
|
||||
- Update to version 0.3.5+git20200203.3144b69:
|
||||
* Release version 0.3.5
|
||||
* Use float.h instead of obsolete gnuism values.h
|
||||
* Remove gnuism (strdupa)
|
||||
* Check for empty value (NULL pointer) before calling strdup.
|
||||
* Tue Jan 21 2020 rbrown@suse.com
|
||||
- Update to version 0.3.4+git20200121.febebf2:
|
||||
* Release version 0.3.4
|
||||
* Fix buffer overflow in econf_readDirs
|
||||
* Fix parsing of quoted strings, and values starting with delimiters
|
||||
* tests: add test for quoted strings
|
||||
* tests: tst-configdirs5: fix config dir paths
|
||||
* Mon Oct 28 2019 iforster@suse.com
|
||||
- Update to version 0.3.3+git20191028.3ac14ce:
|
||||
* Release version 0.3.3
|
||||
* Reset *key_file to NULL after free
|
||||
* Thu Sep 26 2019 kukuk@suse.com
|
||||
- Update to version 0.3.2+git20190926.fea4a03:
|
||||
* Release version 0.3.2
|
||||
* Fix merging an empty file (#105)
|
||||
* Add test cases for merge function
|
||||
* Tue Sep 24 2019 rbrown@suse.com
|
||||
- Update to version 0.3.1+git20190924.822cf5b:
|
||||
* release version 0.3.1
|
||||
* Set delimiter in readFile
|
||||
* Change parser interface to store file name and line numbers per key
|
||||
* Update ccpp.yml
|
||||
* Fri Sep 6 2019 kukuk@suse.de
|
||||
- Update to version 0.3.0+git20190906.0e60a88:
|
||||
* Ensure LICENSE, README, and TODO are included in the release tarball
|
||||
* Rewrite set*ValueNum functions to avoid libm usage and add error checking
|
||||
* Move src/*.c to lib and release version 0.3.0
|
||||
* Thu Sep 5 2019 kukuk@suse.de
|
||||
- Update to version 0.3.0+git20190905.0ca8fe2:
|
||||
* Merge doc changes from parlt91 (pull rq#73)
|
||||
* Implement econf_get*ValueDef functions: if key is not found, a provided default is returned.
|
||||
* Differentiate between no value provided and empty value provided
|
||||
* Remove obsolete check for comments
|
||||
* Enhance and adjust test cases
|
||||
* Remove obsolete check for comments
|
||||
* Wed Sep 4 2019 kukuk@suse.de
|
||||
- Update to version 0.2.0+git20190904.03fa5b4:
|
||||
* Enhance and adjust test cases
|
||||
* Update ccpp.yml
|
||||
* Update ccpp.yml
|
||||
* Update ccpp.yml
|
||||
* Wed Sep 4 2019 kukuk@suse.de
|
||||
- Update to version 0.2.0+git20190904.989df9f:
|
||||
* Remove debug printf
|
||||
* Wed Sep 4 2019 kukuk@suse.de
|
||||
- Update to version 0.2.0+git20190904.c9c1820:
|
||||
* Implement alternate file parser solving the problems with group entry detection.
|
||||
* Add new parse error error code
|
||||
* Bool values read from a config file are not sanitzied, so we need to do that in the getBoolValueNum function, too.
|
||||
* Only use <file>.<suffix>.d directories
|
||||
* Release version 0.2.0
|
||||
* Add an explanation about this project.
|
||||
* Check for NULL pointer arguments
|
||||
* Fix error return value
|
||||
* Fix typo in comment
|
||||
* Add test case for reading login.defs with data from util-linux test suite
|
||||
* Mon Sep 2 2019 kukuk@suse.de
|
||||
- Update to version 0.0.0+git20190902.dd17c11:
|
||||
* Fix int64 variables on 32bit architectures
|
||||
* Sat Aug 31 2019 kukuk@suse.de
|
||||
- Update to version 0.0.0+git20190831.fb7c1bb:
|
||||
* Rewrite econf_readDirs - don't assume suffix is ".conf" - Read files and directories in correct order
|
||||
* Fri Aug 30 2019 kukuk@suse.de
|
||||
- Update to version 0.0.0+git20190830.04ba053:
|
||||
* Make clear that the API and ABI of the three functions econf_newIniFile, econf_newKeyFile, econf_writeFile are not stable yet.
|
||||
* Fix getGroups argument types and add several test cases for this.
|
||||
* Fix cppcheck and compiler warnings
|
||||
* Thu Aug 29 2019 kukuk@suse.de
|
||||
- Update to version 0.0.0+git20190829.a1479b1:
|
||||
* Make comment argument an array, so that we can support more than one comment character in the future.
|
||||
* Change the API
|
||||
* Fix size_t as return value of getc()
|
||||
* Thu Aug 29 2019 kukuk@suse.de
|
||||
- Update to version 0.0.0+git20190829.209219e:
|
||||
* Convert all functions to new error API
|
||||
* Convert econf_newKeyFile provide the error via return code
|
||||
* Wed Aug 28 2019 kukuk@suse.de
|
||||
- Update to version 0.0.0+git20190828.74eeb32:
|
||||
* Fix tst-arguments3 and tst-arguments4 and only use error return code.
|
||||
* Bug fixes for new API
|
||||
* Change API of econf_get* and econf_set* functions to return error code direct.
|
||||
* Fix some compiler warnings
|
||||
* Prevent possible crash when parsing 0xFF
|
||||
* Add "--enable-compiler-warnings" option to enable much more GCC compiler warnings
|
||||
* Fix more cppcheck warnings
|
||||
* Fix github actions build
|
||||
* Update bin/Makefile.am to work with Asan
|
||||
* Add missing tst-getconfdirs4-data to EXTRA_DIST
|
||||
* Fix some cppcheck warnings
|
||||
* Don't ignore getline return value
|
||||
* Add free for getStringValue in tst-group1
|
||||
* Remove XFAIL for tst-groups1
|
||||
* Update example.c to free after getStringValue
|
||||
* Add addbrackets for getValue functions
|
||||
* tst-getconfdirs4: make sure, only a file in /etc/ and not in /usr/etc works, too.
|
||||
* Tue Aug 27 2019 kukuk@suse.de
|
||||
- Update to version 0.0.0+git20190827.5ed5492:
|
||||
* Mark all input char pointer as const in the official API
|
||||
* Tue Aug 27 2019 kukuk@suse.de
|
||||
- Update to version 0.0.0+git20190827.b243e6c:
|
||||
* getStringValueNum returns a newly allocated string or NULL in error case.
|
||||
* Tue Aug 27 2019 kukuk@suse.de
|
||||
- Update to version 0.0.0+git20190827.8374759:
|
||||
* Fix missing return
|
||||
* Remove XFAIL for tst-setgetvalues1
|
||||
* Fix representation of float and double values
|
||||
* Add preliminary test case for group handling
|
||||
* NULL terminate string returned by addbrackets
|
||||
* Fix addbrackets function
|
||||
* Mon Aug 26 2019 kukuk@suse.de
|
||||
- Update to version 0.0.0+git20190826.99b6bf3:
|
||||
* Add more "const".
|
||||
* Fix setString and setBoolean
|
||||
* Add test suite which sets and gets all possible kind of types. Some are failing, so mark this test as XFAIL.
|
||||
* Start marking some string arguments/results as const
|
||||
* Optimize some strdup away
|
||||
* Mark econf_write_key_file as ALPHA as the API is not stable
|
||||
* Mon Aug 26 2019 kukuk@suse.de
|
||||
- Update to version 0.0.0+git20190826.9e69003:
|
||||
* Update ccpp.yml
|
||||
* Add --enable-compiler-checks option to configure, enables AddressSanitizer
|
||||
* Fix printf format directive
|
||||
* Rework set*Value functions for error checking and error handling
|
||||
* Add tst-getconfdirs3: verify we can load original file without local changes
|
||||
* Error handling for econf_getGroups and econf_getKeys
|
||||
* More errorreporting changes
|
||||
* Fix make distcheck/don't mess around with libtool install/uninstall, this breaks to much other stuff.
|
||||
* Autotools cleanup and fixes
|
||||
* Fix logindefs1 test case
|
||||
* Fri Aug 23 2019 kukuk@suse.de
|
||||
- Update to version 0.0.0+git20190823.09a8f2e:
|
||||
* Fix buffer overlow of realpath
|
||||
* Fri Aug 23 2019 kukuk@suse.de
|
||||
- Update to version 0.0.0+git20190823.acd8cdf:
|
||||
* Update ccpp.yml
|
||||
* Fix crash in strcmp, if strchr returns NULL
|
||||
* Add error reporting to econf_merge_key_files and adjust the depending code.
|
||||
* setStringValue return NULL on error/key not found
|
||||
* Add framework for correct error reporting
|
||||
* Disable searching through XDG dirs for now
|
||||
* Add test cases for econf_get_conf_from_dirs
|
||||
* Update comment setValue -> econf_setValue
|
||||
* Update test cases to use econf_destroy
|
||||
* Replace econf_afree with econf_destroy in example
|
||||
* Add _generic macro to free memory of econf_ functions
|
||||
* Add tst-merge2 to .gitignore
|
||||
* Fix pointer arithmetic
|
||||
* Adjust Makefiles and code to make "make distcheck" working
|
||||
* Thu Aug 22 2019 kukuk@suse.de
|
||||
- Update to version 0.0.0+git20190822.bb9702b:
|
||||
* Ignore /usr file if /etc exists when merging
|
||||
* Add NULL value handling
|
||||
* Update merge example
|
||||
* Rework merge_functionality
|
||||
* Use deep copies instead of pointers for merged files
|
||||
* Replace [] with KEY_FILE_NULL_VALUE
|
||||
* Refactor getfilecontent functions
|
||||
* Remove cmake files
|
||||
* Fix test cases
|
||||
* Update libeconf.c
|
||||
* Change License from LGPL-2.1 to MIT
|
||||
* libeconf.pc should only be deleted on distclean, not normal clean
|
||||
* Fix delim argument
|
||||
* Add more test cases for login.defs and wrong arguments
|
||||
* Link libeconf against libm, so that it is enough to link an application against libeconf and developers don't need to bother with other dependencies
|
||||
* Add autogen.sh, which calls autoconf/automake/libtool in the correct order to create the configure script
|
||||
* Tue Aug 20 2019 kukuk@suse.de
|
||||
- Update to version 0.0.0+git20190820.742af8c:
|
||||
* Remove accidental .swp file
|
||||
* Update example with conf.d directory
|
||||
* Remove regex, replace with strchr(delim, ch)
|
||||
* Add symbol versioning Don't ignore complete lib directory
|
||||
* Include all headers in tar archive
|
||||
* Don't define our own errno
|
||||
* Remove wrong commit
|
||||
* Add some basic tests
|
||||
* Tue Aug 20 2019 kukuk@suse.de
|
||||
- Update to version 0.0.0+git20190807.7aedb57:
|
||||
* Refactor getfilecontent functions
|
||||
* Update example file
|
||||
* Add econf prefix to public API functions
|
||||
* Add cmake targets for debugging
|
||||
* Fix build with cmake
|
||||
* Fix build with autotools
|
||||
* Move Key_File allocation from the stack to the heap
|
||||
* Move Key_File create functions to libeconf.c
|
||||
* Move destroy functions from helpers.c to libeconf.c
|
||||
* Add macro to set supported types generic.
|
||||
* Sat Aug 17 2019 kukuk@suse.com
|
||||
- Initial version
|
83
libeconf.spec
Normal file
83
libeconf.spec
Normal file
|
@ -0,0 +1,83 @@
|
|||
#
|
||||
# spec file for package libeconf
|
||||
#
|
||||
# Copyright (c) 2022-2023 ZhuningOS
|
||||
#
|
||||
|
||||
|
||||
%define lname libeconf0
|
||||
Name: libeconf
|
||||
Version: 0.5.2
|
||||
Release: 150400.3.6.1
|
||||
Summary: Enhanced config file parser ala systemd
|
||||
License: LGPL-2.1-or-later
|
||||
Group: Development/Libraries/C and C++
|
||||
URL: https://github.com/openSUSE/libeconf
|
||||
Source: libeconf-%{version}.tar.xz
|
||||
Source2: baselibs.conf
|
||||
BuildRequires: meson
|
||||
# for /usr/lib/rpm/pkgconfigdeps.sh
|
||||
BuildRequires: pkgconfig
|
||||
|
||||
%description
|
||||
Enhanced config file parser, which merges config files placed
|
||||
in several locations into one.
|
||||
|
||||
%package -n %{lname}
|
||||
Summary: Enhanced config file parser ala systemd
|
||||
Group: Development/Libraries/C and C++
|
||||
|
||||
%description -n %{lname}
|
||||
Enhanced config file parser, which merges config files placed
|
||||
in several locations into one.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for libeconf
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: %{lname} = %{version}
|
||||
|
||||
%description devel
|
||||
This package contains all necessary include files and libraries needed
|
||||
to develop applications that needs to read configuration files from
|
||||
different locations.
|
||||
|
||||
%package utils
|
||||
Summary: Command line interface for libeconf
|
||||
Group: System/Base
|
||||
Requires: %{lname} = %{version}
|
||||
|
||||
%description utils
|
||||
This package contains tools for handling configuration files in e.g. /usr/etc
|
||||
and /etc.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
|
||||
%build
|
||||
%meson
|
||||
%meson_build
|
||||
|
||||
%install
|
||||
%meson_install
|
||||
|
||||
%check
|
||||
%meson_test
|
||||
|
||||
%post -n %{lname} -p /sbin/ldconfig
|
||||
%postun -n %{lname} -p /sbin/ldconfig
|
||||
|
||||
%files -n %{lname}
|
||||
%license LICENSE
|
||||
%{_libdir}/libeconf.so.*
|
||||
|
||||
%files devel
|
||||
%{_includedir}/*.h
|
||||
%{_libdir}/libeconf.so
|
||||
%{_libdir}/pkgconfig/libeconf.pc
|
||||
%{_mandir}/man3/libeconf.3%{?ext_man}
|
||||
|
||||
%files utils
|
||||
%{_bindir}/econftool
|
||||
%{_mandir}/man8/econftool.8%{?ext_man}
|
||||
|
||||
%changelog
|
Loading…
Add table
Reference in a new issue