]>
git.ipfire.org Git - thirdparty/libsolv.git/log
Jaroslav Rohel [Thu, 8 Apr 2021 10:17:09 +0000 (12:17 +0200)]
Fix: Memory leaks in SWIG generated code (for Python)
There were memory leaks in the `Chksum_from_bin`, `Chksum_add`,
`SolvFp_write` functions wrapper for Python.
The problem was in "freearg" typemap argument defined in "solv.i".
Therefore, the typemap was not applied.
Michael Schroeder [Wed, 7 Apr 2021 12:57:00 +0000 (14:57 +0200)]
Add changes, bump version to 0.7.19
Michael Schroeder [Tue, 6 Apr 2021 14:01:29 +0000 (16:01 +0200)]
Make zchunkopen a bit easier to understand
Michael Schroeder [Tue, 6 Apr 2021 13:54:16 +0000 (15:54 +0200)]
Merge pull request #444 from jrohel/fix/resources_in_xxopen
Fix: lzopen, zstdopen, zchunkopen
Jaroslav Rohel [Tue, 30 Mar 2021 06:42:31 +0000 (08:42 +0200)]
Fix: zchunkopen: resources leaks, don't close supplied fd
System variant:
- resource leaks when `zck_init_read` or `zck_init_write` fails
- supplied fd will be closed if `zck_create` fails
Libsolv limited zchunk implementation:
- resource leak when `strcmp(mode, "r") != 0`
- supplied fd will be closed if `solv_zchunk_open` fails (Fix is thread
unsafe. However the original version caused a double-close in the caller
function and was thread unsafe too.)
Jaroslav Rohel [Mon, 29 Mar 2021 15:16:54 +0000 (17:16 +0200)]
Fix: lzopen and zstdopen: don't close supplied fd
In the case of failure of some functions, the `fp` file stream has been
closed. And the stream closed the associated supplied `fd` file descriptor.
The caller then closed the closed descriptor again (eg `curlfopen` in
`repoinfo_download.c`: `if (!Fp) close (fd);`) -> double_close.
In multithreaded software risk of race conditions. Another thread open
another file and reuse just closed file descriptor. The caller
then closes the file of another thread.
Jaroslav Rohel [Tue, 6 Apr 2021 07:17:27 +0000 (09:17 +0200)]
Fix: Use "solv_free" for memory allocated by "solv_calloc"
Michael Schroeder [Wed, 31 Mar 2021 11:46:16 +0000 (13:46 +0200)]
Change calloc/realloc calls to solv_calloc/solv_realloc
Spotted by Jaroslav Rohel, thanks!
Michael Schroeder [Wed, 31 Mar 2021 11:39:57 +0000 (13:39 +0200)]
Merge pull request #443 from tl-hbk/fix_resolve_jobrules_segfault
Fix segfault in resolve_jobrules
Thomas Lam [Tue, 30 Mar 2021 12:33:52 +0000 (05:33 -0700)]
Fix segfault in resolve_jobrules
In selectandinstall sometimes rules are added and a realloc is required if there's
no more memory available in the allocated block. r-- would just decrement the old
pointer but the realloc could return a completely different block of memory
Michael Schroeder [Mon, 29 Mar 2021 13:07:55 +0000 (15:07 +0200)]
tweak last commit
Michael Schroeder [Mon, 29 Mar 2021 13:06:44 +0000 (15:06 +0200)]
Merge pull request #442 from jrohel/fix/memory_leaks
Fix memory leaks
Jaroslav Rohel [Mon, 29 Mar 2021 10:46:31 +0000 (12:46 +0200)]
Fix memory leaks
Michael Schroeder [Fri, 26 Mar 2021 13:18:57 +0000 (14:18 +0100)]
Add changes, bump version to 0.7.18
Michael Schroeder [Fri, 19 Mar 2021 15:06:54 +0000 (16:06 +0100)]
Merge pull request #438 from tl-hbk/fix_align
Update long usage in regex polyfill
Thomas Lam [Thu, 18 Mar 2021 13:18:21 +0000 (08:18 -0500)]
Update long usage in regex polyfill
Michael Schroeder [Thu, 18 Mar 2021 12:16:28 +0000 (13:16 +0100)]
Merge pull request #414 from dthadi3/ppc64le
Travis-ci: added support for ppc64le
Michael Schroeder [Thu, 18 Mar 2021 12:15:31 +0000 (13:15 +0100)]
Merge pull request #439 from kontura/memleak
Fix memory leak of solv->choicerules_info
Aleš Matěj [Thu, 11 Mar 2021 08:11:12 +0000 (09:11 +0100)]
Remove bogus allocation of solv->choicerules_info
It was leaking memory.
Michael Schroeder [Mon, 8 Mar 2021 14:37:04 +0000 (15:37 +0100)]
Merge pull request #436 from tl-hbk/fix_win32_regex
Fix regex bug on windows
Thomas Lam [Mon, 8 Mar 2021 14:04:33 +0000 (08:04 -0600)]
Fix regex bug on windows
https://github.com/ifduyue/musl/blob/
a5aff1972c9e3981566414b09a28e331ccd2be5d /include/alltypes.h.in#L10
https://github.com/ifduyue/musl/blob/
a5aff1972c9e3981566414b09a28e331ccd2be5d /arch/x86_64/bits/alltypes.h.in#L1
Michael Schroeder [Tue, 2 Mar 2021 13:47:37 +0000 (14:47 +0100)]
Merge pull request #434 from tl-hbk/use_only_tar_bz2
Add flag to skip conda v2 packages when parsing conda repos
Thomas Lam [Mon, 1 Mar 2021 16:16:42 +0000 (10:16 -0600)]
Update flag because first 8 bits are reserved
Thomas Lam [Mon, 1 Mar 2021 15:48:03 +0000 (09:48 -0600)]
Add flag to skip conda v2 packages when parsing conda repos
Michael Schroeder [Tue, 19 Jan 2021 14:10:21 +0000 (15:10 +0100)]
Add changes, bump version to 0.7.17
Michael Schroeder [Tue, 19 Jan 2021 13:58:25 +0000 (14:58 +0100)]
Tweak default/visible handling in comps parser
Michael Schroeder [Tue, 19 Jan 2021 13:39:37 +0000 (14:39 +0100)]
Merge pull request #409 from pkratoch/comps-parsing
Parsing comps - add default, langonly and parse boolean values
Michael Schroeder [Mon, 14 Dec 2020 10:12:00 +0000 (11:12 +0100)]
testcase_read: error out if repos are added or the system is changed too late
We must not add new solvables after the considered map was created, the solver
was created, or jobs were added. We may not changed the system after jobs have
been added.
(Jobs may point inside the whatproviedes array, so we must not invalidate this
area.)
Michael Schroeder [Thu, 10 Dec 2020 15:39:50 +0000 (16:39 +0100)]
Really add code to set dbpath in rpmdb2solv
Should have been in commit
f74c5b79c2bc88c8c6067b64fb9c6beb2330ae33
Michael Schroeder [Thu, 10 Dec 2020 15:37:26 +0000 (16:37 +0100)]
Add _db_backend workaround for rpm-4.16.0
Rpm 4.16.0 cannot read the database if _db_config is not set.
Devendranath Thadi [Tue, 24 Nov 2020 08:22:20 +0000 (08:22 +0000)]
Travis-ci: added support for ppc64le
Michael Schroeder [Wed, 18 Nov 2020 12:13:08 +0000 (13:13 +0100)]
Support to set the dbpath in rpmdb2solv
Michael Schroeder [Wed, 18 Nov 2020 12:09:36 +0000 (13:09 +0100)]
Make use of the %_dbpath macro if it is set
Pavla Kratochvilova [Thu, 12 Nov 2020 07:50:28 +0000 (08:50 +0100)]
Parse boolean values in comps xml
Before this change, the resulting value was true if the attribute was
present, false otherwise. After this change, the resulting value is
true if the attribute value is "true", false if "false" and default
value otherwise. This is the same how libcomps parses the comps xml.
Michael Schroeder [Mon, 16 Nov 2020 14:11:14 +0000 (15:11 +0100)]
Properly escape preprocessor directives
Otherwise swig will process them instead of the compiler
Should have been in commit
170f8550b89c6c9e61b40e782cd75148825c2e89
Michael Schroeder [Mon, 16 Nov 2020 12:45:13 +0000 (13:45 +0100)]
Use PyBytes_AsStringAndSize() instead of PyObject_AsReadBuffer() for python3
PyObject_AsReadBuffer was deprecated since python-3.0 and has
now been removed in python-3.10.
Fixes issue #410
Michael Schroeder [Fri, 13 Nov 2020 14:58:51 +0000 (15:58 +0100)]
Further extend choicerule filtering check
Also add testcases. Fixes issue #406.
This is getting quite complicated...
Pavla Kratochvilova [Thu, 12 Nov 2020 07:46:18 +0000 (08:46 +0100)]
Add support for default and langonly in comps xml
Michael Schroeder [Fri, 6 Nov 2020 10:59:44 +0000 (11:59 +0100)]
Merge pull request #402 from kontura/collection_o
Updateinfo metadata with multiple collections in a single pkglist (using only ids)
Michael Schroeder [Fri, 6 Nov 2020 09:25:57 +0000 (10:25 +0100)]
repo_write: fix handling of nested flexarray
Fixes issue #402
Michael Schroeder [Tue, 20 Oct 2020 10:06:17 +0000 (12:06 +0200)]
Add changes, bump version to 0.7.16
Michael Schroeder [Tue, 20 Oct 2020 09:57:20 +0000 (11:57 +0200)]
Do not ask the namespace callback for splitprovides when writing a testcase
Michael Schroeder [Mon, 19 Oct 2020 11:09:33 +0000 (13:09 +0200)]
Fix add_complex_recommends() selecting conflicted packages in rare cases
Installing a recommended package can lead to a different recommended
package becoming confliced, so we have to re-check the candidates.
Fixes issue #399
Michael Schroeder [Tue, 6 Oct 2020 11:43:39 +0000 (13:43 +0200)]
Add testcase for better choicerule creation
Michael Schroeder [Tue, 6 Oct 2020 11:29:12 +0000 (13:29 +0200)]
Only do extra choicerule checking for newest packages
For old versions we prefer the choicerule so that we do
not switch to different providers instead of updating
the package.
Michael Schroeder [Tue, 6 Oct 2020 11:27:28 +0000 (13:27 +0200)]
Refactor solver_addchoicerules function
Split choicerule_find_installed() from the code so that
it can be reused in the next commit.
Michael Schroeder [Mon, 5 Oct 2020 11:08:34 +0000 (11:08 +0000)]
Add a changes entry for the last commit
Michael Schroeder [Mon, 5 Oct 2020 08:11:23 +0000 (10:11 +0200)]
Deal with missing repos in testcase_mangle_repo_names
Also simplify the code a bit.
Aleš Matěj [Tue, 8 Sep 2020 10:30:28 +0000 (12:30 +0200)]
Add collections to updateinfo xml parser
Aleš Matěj [Tue, 8 Sep 2020 10:32:04 +0000 (12:32 +0200)]
Rename collhandle to more accurate collpkg
Michael Schroeder [Fri, 11 Sep 2020 10:33:03 +0000 (12:33 +0200)]
Add changes, bump version to 0.7.15
Michael Schroeder [Fri, 11 Sep 2020 10:23:34 +0000 (12:23 +0200)]
Use 'rpm' for retracted to make the problem string match
Michael Schroeder [Fri, 11 Sep 2020 09:56:46 +0000 (11:56 +0200)]
Tweak new conda code a bit
Michael Schroeder [Fri, 11 Sep 2020 09:53:55 +0000 (11:53 +0200)]
Merge pull request #395 from SylvainCorlay/track-feature-over-version
Feature depriorization first
Michael Schroeder [Fri, 11 Sep 2020 09:46:58 +0000 (11:46 +0200)]
Use unset as architecure in the blacklist testcases
Otherwise the tests will fail on debian.
Michael Schroeder [Thu, 10 Sep 2020 13:17:12 +0000 (15:17 +0200)]
Support SOLVABLE_BUILDHOST in rpm and rpmmd parsers
Fixes issue #400
Michael Schroeder [Thu, 10 Sep 2020 10:26:30 +0000 (12:26 +0200)]
Update comment in addedmap2deduceq
The old "can't happen" is wrong as we now support complex
dependencies.
Michael Schroeder [Tue, 8 Sep 2020 13:03:41 +0000 (15:03 +0200)]
Fix deduceq2addedmap clearing bits outside of the added map
Michael Schroeder [Tue, 8 Sep 2020 10:00:21 +0000 (12:00 +0200)]
Add testcase_mangle_repo_names function
This will return an array containing the mangled names testcase_write
will use.
Michael Schroeder [Tue, 8 Sep 2020 09:31:19 +0000 (11:31 +0200)]
Revert the testcase meta commits
The libzypp folks will use an extraa file to store their meta
data, so we do not need the changes for now.
We can revive them later if we need them again.
Michael Schroeder [Thu, 3 Sep 2020 12:53:32 +0000 (14:53 +0200)]
Testcase meta: put strings in double quotes
This allows us to support other types in the future.
Michael Schroeder [Thu, 3 Sep 2020 12:16:06 +0000 (14:16 +0200)]
Dump repository metadata as comments for convenience
Michael Schroeder [Thu, 3 Sep 2020 12:05:05 +0000 (14:05 +0200)]
repo_testcase: support reading/writing of repository meta data
The meta data is stored in a REPOSITORY_TESTCASE_META flexarray.
We currently only read/write strings.
Sylvain Corlay [Tue, 28 Jul 2020 07:41:32 +0000 (09:41 +0200)]
Feature depriorization first
Michael Schroeder [Fri, 3 Jul 2020 10:07:50 +0000 (12:07 +0200)]
Merge pull request #392 from wolfv/fix_startswith
small conda startswith improvement
Wolf Vollprecht [Wed, 1 Jul 2020 09:15:24 +0000 (11:15 +0200)]
small conda startswith improvement
Michael Schroeder [Fri, 26 Jun 2020 13:41:46 +0000 (15:41 +0200)]
Use memcpy instead of strncpy
To silence gcc's warning about "strncpy specified bound depends on
the length of the source argument".
Michael Schroeder [Fri, 26 Jun 2020 13:40:15 +0000 (15:40 +0200)]
Rename testcases so that they get used by 'make test'
Michael Andres [Tue, 23 Jun 2020 10:41:45 +0000 (12:41 +0200)]
Enable zstd compression support for sle15
Michael Schroeder [Mon, 8 Jun 2020 12:12:58 +0000 (14:12 +0200)]
Cleandeps: do find_update_seeds() call before changing the userinstalled map
See issue #387
Michael Andres [Thu, 4 Jun 2020 10:13:36 +0000 (12:13 +0200)]
Revert "Disable zstd compression support for sle15-sp2 again"
This reverts commit
8038b53356d52c2930a683d0d0c627f310d04876 .
Michael Schroeder [Thu, 4 Jun 2020 09:45:47 +0000 (11:45 +0200)]
Merge pull request #376 from mikhirev/master
Fix build with rpm headers in non-standard path
Michael Andres [Thu, 4 Jun 2020 09:37:27 +0000 (11:37 +0200)]
Disable zstd compression support for sle15-sp2 again
Michael Schroeder [Wed, 3 Jun 2020 12:27:10 +0000 (14:27 +0200)]
Fix all memory errors found in 'make test'
Based on pull request #391 by Aaron D. Marasco. Thanks!
Michael Schroeder [Wed, 3 Jun 2020 12:06:32 +0000 (14:06 +0200)]
Add solv_fmemopen() function
The solv_xfopen_buf() function we have has the disadvantage
that it updates the buffer pointer/length when reading/writing.
This can easily lead to writing to locations that went out of
scope, like with our usage in testcase.c.
So solv_fmemopen() removes that indirection and directly takes
the buffer pointer and length as arguments. Only reading is
currently supported.
Michael Schroeder [Thu, 28 May 2020 09:51:58 +0000 (11:51 +0200)]
Enable zstd compression support for sle15-sp2
Michael Schroeder [Wed, 27 May 2020 09:55:11 +0000 (11:55 +0200)]
Add changes, bump version to 0.7.14
Michael Schroeder [Wed, 27 May 2020 09:47:41 +0000 (11:47 +0200)]
Tweak last commit
Michael Schroeder [Wed, 27 May 2020 09:41:21 +0000 (11:41 +0200)]
Merge pull request #384 from wolfv/enable_subprio_comparison
conda: take subprio into account for initial sort
Michael Schroeder [Wed, 27 May 2020 09:36:56 +0000 (11:36 +0200)]
Support rules with multiple neg literals in choice rule generation
Michael Schroeder [Tue, 26 May 2020 15:32:43 +0000 (17:32 +0200)]
Support blacklisted packages in solver_findproblemrule()
Should have been in commit
4120051be87d2cccc2146a30c5128edd5c78d76d
Michael Schroeder [Tue, 26 May 2020 12:53:02 +0000 (14:53 +0200)]
Merge pull request #386 from cgwalters/usr-sqlite
rpmdb: Also detect rpmdb.sqlite in /usr/share/rpm
Colin Walters [Mon, 25 May 2020 20:43:37 +0000 (20:43 +0000)]
rpmdb: Also detect rpmdb.sqlite in /usr/share/rpm
See: https://bugzilla.redhat.com/show_bug.cgi?id=
1838691
This is obviously adding to a tower of hacks; what we really
want is for this logic to live in librpm and be standardized.
But in order to fix the immediate issue of detecting the rpmdb
on rpm-ostree based systems (and any others that use `/usr/share/rpm`),
add the sqlite path to detection.
See also http://lists.rpm.org/pipermail/rpm-maint/2017-October/006681.html
Michael Schroeder [Mon, 25 May 2020 13:00:52 +0000 (15:00 +0200)]
Improve speed of
ed25519 code
Wolf Vollprecht [Tue, 19 May 2020 17:33:10 +0000 (19:33 +0200)]
conda: take subprio into account for initial sort
Michael Schroeder [Tue, 19 May 2020 13:51:45 +0000 (15:51 +0200)]
ed25519 : do not use mppow anymore
This speeds up signature verification by a factor of three.
Michael Schroeder [Tue, 19 May 2020 12:13:26 +0000 (14:13 +0200)]
Add USE_RPM_PUBKEY_BUILTTIME flag to switch to rpm style pubkey build times
Michael Schroeder [Tue, 19 May 2020 12:04:44 +0000 (14:04 +0200)]
Do no longer use internal rpm data to get the pubkey build time
Using internal rpm data is just too fragile. This time the code
did not work anymore because the time in the pgpDigParams_s was
changed to a uint32_t, leading to two padding bytes being added.
Rpm's way of calculating the pubkey build time did not change
the last 10 years, so just replicate the way rpm finds the
build time in libsolv. It's simply taking the creation time
of the first signature, which is pretty broken.
Michael Schroeder [Tue, 19 May 2020 11:59:16 +0000 (13:59 +0200)]
Michael Schroeder [Mon, 18 May 2020 16:17:42 +0000 (18:17 +0200)]
Add support for
ed25519 signature verification
I did this to learn about elliptic curve cryptography. All test
vectors from the
ed25519 reference implementation verify.
Michael Schroeder [Sun, 17 May 2020 16:21:35 +0000 (18:21 +0200)]
solv_pgpvrfy: rename mpmult to mpmul
No functual changes.
Michael Schroeder [Sun, 17 May 2020 16:15:59 +0000 (18:15 +0200)]
solv_pgpvrfy: simplify mpdec() a bit
Michael Schroeder [Sun, 17 May 2020 16:12:51 +0000 (18:12 +0200)]
solv_pgpvrfy: add mpisequal() helper
It just does the memcmp we did before.
Michael Schroeder [Sun, 17 May 2020 16:10:14 +0000 (18:10 +0200)]
solv_pgpvrfy: split mpsetfrombe from mpbuild
Michael Schroeder [Sun, 17 May 2020 16:05:43 +0000 (18:05 +0200)]
solv_pgpvrfy: fix buf in modulo reduction
The carry propagation did not work when subtracting
the modulo at the end of the computation.
I am amazed that this did not show up earlier.
Michael Schroeder [Fri, 24 Apr 2020 10:02:05 +0000 (12:02 +0200)]
Add changes, bump version to 0.7.13
Michael Schroeder [Fri, 24 Apr 2020 09:59:01 +0000 (11:59 +0200)]
Refactor track_feature parsing a bit
Michael Schroeder [Fri, 24 Apr 2020 09:54:01 +0000 (11:54 +0200)]
Clear repodata->lasthandle for freed/swapped solvable
Fixes issue #377
Dmitry Mikhirev [Thu, 23 Apr 2020 12:27:38 +0000 (15:27 +0300)]
Fix build with rpm headers in non-standard path
Michael Schroeder [Mon, 20 Apr 2020 15:33:22 +0000 (17:33 +0200)]
Add changes, bump version to 0.7.12