Commit Graph

9515 Commits

Author SHA1 Message Date
Michael Pöhn
d1df6be2e2 🐛 publish: fix exit status integer overflow
publish.py currently uses the number of failed verifications as exit
status. `sys.exit(failed)` Whenever the number of failed verification
attempts is divisible by 256 the return status is 0. exit status 0
however conveys that there were no errors, so as long as an attacker can
controll the number of verification failures they can use this to turn
off verification alltogether.
2026-04-20 16:58:30 +00:00
Hans-Christoph Steiner
f569301ada Merge branch 'remove-NSFW' into 'master'
remove NSFW Anti-Feature

See merge request fdroid/fdroidserver!1807
2026-04-20 14:49:51 +00:00
Hans-Christoph Steiner
0b6ec94af7 remove NSFW Anti-Feature
admin#634
fdroiddata#3867
2026-04-20 14:40:29 +00:00
linsui
b3a0160b13 Merge branch 'gradlepath' into 'master'
fix gradle output path

See merge request fdroid/fdroidserver!1030
2026-04-13 17:23:06 +00:00
linsui
ad8bfca824 fix gradle output path 2026-04-13 17:21:32 +00:00
Hans-Christoph Steiner
3dac2c3d5b Merge branch 'clint-to-progress' into 'master'
Replace python clint by python progress

Closes #1274

See merge request fdroid/fdroidserver!1792
2026-04-13 14:44:21 +00:00
Benson Muite
3e7d495b95 Replace python clint by python progress 2026-04-13 14:44:20 +00:00
Hans-Christoph Steiner
b284d5044e Merge branch 'gradle-clean' into 'master'
Don't run gradle clean

See merge request fdroid/fdroidserver!1800
2026-03-26 19:50:12 +00:00
linsui
fe938367de Don't run gradle clean 2026-03-26 19:18:35 +00:00
Hans-Christoph Steiner
34e4a609a1 Merge branch 'gitlab-ci-fix-pip-audit' into 'master'
gitlab-ci: make pip_audit ignore CVE-2026-4539

See merge request fdroid/fdroidserver!1803
2026-03-26 19:18:22 +00:00
Hans-Christoph Steiner
d539c2d5de gitlab-ci: make pip_audit ignore CVE-2026-4539
* pygments is not used directly
* pygments is pulled in by androguard
* the issue is DoS when doing syntax highlighting
* https://www.resolvedsecurity.com/vulnerability-catalog/CVE-2026-4539
2026-03-26 20:15:50 +01:00
Hans-Christoph Steiner
5e0b6a8515 Merge branch 'patch-3' into 'master'
Conform to PEP 639

See merge request fdroid/fdroidserver!1793
2026-03-19 17:56:06 +00:00
Benson Muite
c47c39794f Conform to PEP 639
- Use full SPDX license identifier
- Add link to license file
- Remove outdated license specifier
2026-03-19 17:55:13 +00:00
Hans-Christoph Steiner
b28f5945fd Merge branch 'jvm-download' into 'master'
disable gradle jvm auto download

See merge request fdroid/fdroidserver!1798
2026-03-18 08:33:11 +00:00
linsui
7723311b44 disable gradle jvm auto download 2026-03-18 04:12:57 +08:00
Hans-Christoph Steiner
0aa48bbe23 Merge branch 'fix-mirrors-dns-entries' into 'master'
index: make sure DNS records are in the "mirrors" list

See merge request fdroid/fdroidserver!1797
2026-03-13 22:09:37 +00:00
Hans-Christoph Steiner
b20d505347 index: make sure DNS records are in the "mirrors" list
fdroidclient!1626
https://gitlab.com/fdroid/fdroidclient/-/work_items/2948#note_3157998787
fdroidclient#2717
fdroidclient#2948
2026-03-13 22:58:07 +01:00
Hans-Christoph Steiner
9f6f6e9d93 Merge branch 'lint-flag-share.google' into 'master'
lint: add share.google to list of link shorteners

See merge request fdroid/fdroidserver!1790
2026-03-13 15:56:32 +00:00
Hans-Christoph Steiner
9a1a682581 lint: add share.google to list of link shorteners 2026-03-13 15:55:42 +00:00
Hans-Christoph Steiner
1fffaaaf36 Merge branch 'dns_tests' into 'master'
Added check for IPv6 support to DNS tests

See merge request fdroid/fdroidserver!1794
2026-03-12 21:20:29 +00:00
Hans-Christoph Steiner
2e4b8c8d15 fix Fedora check in macOS job
platform.freedesktop_os_release() requires that /etc/os-release or
/usr/lib/os-release is present.
2026-03-12 22:00:04 +01:00
mnbogner
b7714db4f6 added check foripv6 suppot to dns tests 2026-03-12 22:00:02 +01:00
Hans-Christoph Steiner
36b3394959 Merge branch 'v1-add-nativecode' into 'master'
index_v1: restore nativecode field

Closes #1327

See merge request fdroid/fdroidserver!1796
2026-03-12 20:42:48 +00:00
Alexander Martinz
0577be66d5 test: test_index: test_make_v1: ensure nativecode exists
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
2026-03-12 20:32:10 +01:00
Alexander Martinz
313b8d0171 tests: test_index: add test_make_v1
Test index creation for index_v1.
This is based on test_make_v0 and uses the existing
org.dyndns.fules.ck test app.

The metadata was imported from fdroiddata.

Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
2026-03-12 20:32:10 +01:00
Alexander Martinz
1cd849f3df index_v1: restore nativecode field
This got removed with commit f0eedc3ade
which results in issues with clients using index v1.

These clients may end up offering the wrong arch for the device.

Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
2026-03-12 18:50:13 +01:00
Hans-Christoph Steiner
534fe8009e Merge branch 'patch-2' into 'master'
Update to a supported Fedora version

Closes #1271

See merge request fdroid/fdroidserver!1641
2026-03-11 16:17:58 +00:00
Benson Muite
a3d928f94b Update to a supported Fedora version
- use OpenJDK21
- Install python-oscrypto
- Enable weak ciphers when running tests
- Add Androguard dependency
- Skip gpg test on Fedora
- Ensure zlib not zlib-ng is used on Fedora
2026-03-11 14:46:23 +00:00
Hans-Christoph Steiner
2b1bb74865 Merge branch 'add_dns_info' into 'master'
Add DNS results when building repo index

See merge request fdroid/fdroidserver!1786
2026-03-11 11:05:11 +00:00
Hans-Christoph Steiner
67831d6608 add tests 2026-03-11 11:54:47 +01:00
mnbogner
099eaa3052 added a dns lookup while building the index so those results can be used to bypass dns queries at runtime 2026-03-11 11:54:47 +01:00
linsui
c223344689 Merge branch 'hg-placeholder-vcs' into 'master'
build: use placeholder vcs() instance for 'hg' til its purged

See merge request fdroid/fdroidserver!1791
2026-03-10 11:11:59 +00:00
Hans-Christoph Steiner
f7790e75cd build: use placeholder vcs() instance for 'hg' til its purged
There are a couple of active apps that use `RepoType: hg`, but they are
both no longer developed. `setup_vcs()` is called before the check whether
the build actually needs to run.  So it needs to return a `vcs()` instance
or it will try to run the build again.

follow up from !1662
2026-03-10 11:24:33 +01:00
Michael Pöhn
5518cd7d0a Merge branch 'ditch-extraneous-namedtuple' into 'master'
refactor out cruft structures; move torwards index-v2 as internal struct

See merge request fdroid/fdroidserver!1604
2026-03-09 09:44:48 +00:00
Hans-Christoph Steiner
e5630f0717 test YAML 1.2 for config
This disables pycodestyle's "W291 trailing whitespace" because these tests
need a trailing whitespace in the YAML string to represent null.  Black
handles this fine.
2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
b6ad69080b reset apkcache to move data to new internal format 2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
0c3ab11c2d purge utf8 tricks that date back to Python 2.7 2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
c8d04e38f0 move 'signer' into internal index-v2 format 2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
f5e0599571 move repo["timestamp"] to internal index-v2 format 2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
97ecf27eee move PackageAddedCache to update.py, it is only used there 2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
a1ea7cf325 move 'added' to internal index-v2 format
This ended up being a refactoring of the whole KnownApks setup.
2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
78aec37622 port 'added' integration test to JSON for clarity of purpose 2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
69995e5b33 move 'apkName' field into internal index-v2 format 2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
ff903ca675 use standard common.get_file_extension() 2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
bea377f183 move 'versionName' field to internal index-v2 format 2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
cd9c6a9231 minSdkVersion/targetSdkVersion/maxSdkVersion into internal index-v2 format 2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
6b16cd1024 init 'features' only when it is needed 2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
f0eedc3ade move 'nativecode' field into internal index-v2 format 2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
bf81f9f149 test_update: simplify scan_apk() tests 2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
5f180465de 'manifest' in internal struct; remove single use of namedtuple
Everywhere else, just plain data structures are used, like dict, list, etc.
Plus even the code that accesses these namedtuples is not using the features
of the namedtuple.

These are steps towards refactoring the code so that index-v2 is the
internal data structure of fdroid update.  Then ultimately, we'll be
able to remove the whole convert_version() function and streamline
other parts of the code.  Then the data structure conversions will
only need to happen in the code that generates the old index files.
2026-03-09 08:54:24 +00:00