Michael Pöhn
28f979584d
🗼 use v2+ signed apk in TestUpdateWithAllowedApkSigningKeys
2026-07-21 10:44:38 +00:00
Michael Pöhn
8b70f83d50
🛣️ switch TestUpdateWithAllowedApkSigningKeys to pathlib
2026-07-21 10:44:38 +00:00
Michael Pöhn
938009d7cc
🪣 TestUpdateWithAllowedApkSigningKeys rm pointless metadata copies
2026-07-21 10:44:38 +00:00
Michael Pöhn
b3e2f47ae4
🪚 simplify tmp dir setup in TestUpdateWithAllowedApkSigningKeys
2026-07-21 10:44:38 +00:00
Michael Pöhn
eb04ef67af
🔨 test_update_with_AllowedAPKSigningKeys contains 2 tests -> split
2026-07-21 10:44:38 +00:00
Michael Pöhn
366aee7f45
👉 move test_update_with_AllowedAPKSigningKeys into separate TestCase
2026-07-21 10:44:38 +00:00
Michael Pöhn
f61f06b413
🤏 separate test case for get_apks_without_allowed_signatures
2026-07-21 10:44:38 +00:00
Michael Pöhn
b218b890b1
⚔️ build: reject v1 only sigend reference Binaries
2026-07-21 10:44:38 +00:00
Michael Pöhn
836d32fe69
🚠 build: refactor binary download into testable sub function
...
This adds _download_and_check_reference_binary() to build.py and moves
some lines from the humongous main() function there. It also adds some
unit tests for that new fucntion.
2026-07-21 10:44:38 +00:00
Michael Pöhn
3a83ae9fd7
📇 publish: do not allow v1 signed Binaries
2026-07-21 10:44:38 +00:00
Michael Pöhn
ac3405fb28
🧓 add common.apk_is_v1_signed_only
...
Add a helper function that determines whether an APK is exclusively
singed with v1 signatures.
2026-07-21 10:44:38 +00:00
Michael Pöhn
a8d5bb460f
Merge branch 'skip-fedora-rb-zip-fail' into 'master'
...
publish: skip sig implant test on Fedora #1354
See merge request fdroid/fdroidserver!1849
2026-07-21 10:43:36 +00:00
Hans-Christoph Steiner
5c7bac295d
publish: skip sig implant test on Fedora #1354
...
There is a complicated issue with the ZIP library that needs to be resolved
in Fedora before this can work.
2026-07-21 12:32:28 +02:00
Hans-Christoph Steiner
dcb183cdd8
Merge branch 'revert-c18679d0' into 'master'
...
sdkmanager from trixie-backports to enable "SDK Extensions"
See merge request fdroid/fdroidserver!1846
2026-07-16 10:30:25 +00:00
linsui
6cf75e9952
Revert "Revert "Install sdkmanager from trixie-backports""
...
This reverts commit c18679d01b
2026-07-16 10:30:06 +00:00
Hans-Christoph Steiner
798477a643
Merge branch 'more-consistent-naming' into 'master'
...
🧹 consistent common.apk_extract_signatures argument naming
See merge request fdroid/fdroidserver!1847
2026-07-16 10:27:24 +00:00
Michael Pöhn
1a4aa0b319
🧹 consisten common.apk_extract_signatures argument naming
...
The `outdir` argument of common.apk_extract_signatures() is supposed to
point to the apps repsective signature directory. The other code wirking
with this path in fdroidserver is calling this variable `sigdir`. So I'm
renaming it for consistency.
2026-07-16 10:22:52 +02:00
linsui
4a8821a586
Merge branch 'revert-6d7b90be' into 'master'
...
Revert "Install sdkmanager from trixie-backports"
See merge request fdroid/fdroidserver!1845
2026-07-14 17:25:38 +00:00
linsui
c18679d01b
Revert "Install sdkmanager from trixie-backports"
...
This reverts commit 6d7b90be90
2026-07-14 16:46:31 +00:00
Hans-Christoph Steiner
d105ece6a4
Merge branch 'sdkmanager' into 'master'
...
Install sdkmanager from trixie-backports
See merge request fdroid/fdroidserver!1844
2026-07-14 13:52:15 +00:00
linsui
6d7b90be90
Install sdkmanager from trixie-backports
2026-07-14 20:33:15 +08:00
Hans-Christoph Steiner
00932d0a71
Merge branch 'scanner-androguard-fix' into 'master'
...
⚾ fix scanner.py for androguard >= 4.1.4
See merge request fdroid/fdroidserver!1836
2026-06-11 17:00:00 +00:00
Michael Pöhn
02ffbbdb93
⚾ fix scanner.py
...
scanner.py uses an internal api from androguard, that internal api
changed in androguard 4.1.4. This makes sure scanner handles this change
correctly.
2026-06-11 18:44:29 +02:00
Hans-Christoph Steiner
d66e1bbc11
Merge branch 'virustotal-v3-api' into 'master'
...
deploy: port virustotal to v3 API, closes #1276
Closes #1276
See merge request fdroid/fdroidserver!1835
2026-06-11 13:03:21 +00:00
Hans-Christoph Steiner
22f6e18739
deploy: port virustotal to v3 API, closes #1276
...
* allows large file uploads without a special API key
* puts the API Key in the headers rather than the query string
* cleaner REST API
2026-06-10 20:33:33 +02:00
Michael Pöhn
45089221df
Merge branch 'use-NoOverwriteDict-when-needed' into 'master'
...
only use NoOverwriteDict workaround when Androguard needs it
See merge request fdroid/fdroidserver!1833
2026-06-03 21:51:43 +00:00
Hans-Christoph Steiner
7e17f8b0cd
only use NoOverwriteDict workaround when Androguard needs it
...
Now that https://github.com/androguard/androguard/pull/1128 has been
released in androguard v4.1.4, this code should not override the upstream
fix.
https://gitlab.com/fdroid/fdroidserver/-/jobs/14671739625/viewer
https://github.com/androguard/androguard/issues/1030
2026-06-03 21:45:40 +00:00
Hans-Christoph Steiner
473fe3fea5
Merge branch 'mercurygram-v2-only-graft' into 'master'
...
common, publish: support v2/v3-only sigdirs in developer signature graft
Closes #1065
See merge request fdroid/fdroidserver!1825
2026-06-03 20:51:49 +00:00
Timothy Mario Redaelli
82e644fa17
common, publish: support v2/v3-only sigdirs in developer signature graft
2026-06-03 20:51:49 +00:00
Hans-Christoph Steiner
993016ef61
Merge branch 'master' into 'master'
...
Correct a typo in `fdroidserver/vmtools.py`
See merge request fdroid/fdroidserver!1831
2026-05-26 09:02:39 +00:00
Benjamin
9a79129a9f
Correct a typo in fdroidserver/vmtools.py
2026-05-24 19:39:54 +02:00
Michael Pöhn
7a9beaee8a
Merge branch 'big-icon-extraction-overhaul' into 'master'
...
implement all paths for extracting PNG icons; purge related ancient cruft
Closes #885
See merge request fdroid/fdroidserver!1788
2026-05-22 23:17:19 +00:00
Hans-Christoph Steiner
093752b06f
use IntEnum for SCREEN_RESOLUTIONS
...
This is a Pythonic structure for gathering all these constant values that
are used in a manageable way.
Enums have SCREEN_RESOLUTIONS['ldpi'] but throw KeyErrors when the key is
there.
2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner
778b6527a0
fix "doesn't conform to UPPER_CASE naming style (invalid-name)"
2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner
359587b4ae
update: stop running icon extraction for the 'archive' section
...
Do not extract icons in archive, they have not been used there
in a very long time, if ever. And if so, only in specific cases.
2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner
9609cbb082
update: purge system clock check, APKs no longer have dates in them
...
A long time ago, APKs' ZIP headers usually included the dates that the
files where actually created. That was a source of current date/time info
for fully offline signing servers, e.g. if the system clock was set to a
time older than included in the APK, then it was probably wrong.
For reproducibility, those dates have been zeroed out since long ago. So
now this is no longer useful since the dates are always 1980-01-01.
2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner
8ab474ad3b
update: "0" DPI only needed for extraction, not icon_dirs
...
The '0' value is not used to generate an icon_dir, e.g. repo/icons-0/, so
this additional "all" structure is not needed.
The 0 DPI value is the really old default when no DPI specified.
https://github.com/androguard/androguard/blob/dd458bead6165975c3ef0b1b78eaf2450e4889d9/androguard/core/apk/__init__.py#L681
2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner
9f101af294
update: fix ancient bug where not all icons get moved to archive
2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner
f3e3605f64
update: stop using density values as strings, they're ints
2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner
cc47f7cc0f
update: add tests for extract_apk_icons()
2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner
b2a7e8eae2
update: parse icons by fully resolving the resources
...
This was doing only quite simple resolution, which missed lots of
things starting in Android Gradle Plugin 4.2.
2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner
17e0224f63
remove "undefineddpi" from screen_resolutions
...
The key names from
This value was never unused as far as I can tell and made up in
06598ae406819223dc927ec5422cb150852776623b09e5ee082bd3a04bc76bd2b64fa57ac16a5994
from !234
https://android.googlesource.com/platform/tools/base/+/refs/tags/studio-2025.3.4/build-system/aaptcompiler/src/main/java/com/android/aaptcompiler/android/ResTableConfig.kt#372
2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner
09947064ff
add tests of fdroidserver.update.get_icon_dir()
2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner
f668343b35
update: move icon density parse to standalone function for testing
2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner
da58dc7c0a
update: PIL.Image constants moved to Resampling
2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner
02139d196d
remove obsolete test back when aapt dump badging was parsed
...
see !485
2026-05-22 23:02:59 +00:00
Michael Pöhn
5a8a111a29
Merge branch 'dont-hang-on-test_mirroring_a_repo-fail' into 'master'
...
ensure httpd is shut down when test_mirroring_a_repo fails
See merge request fdroid/fdroidserver!1830
2026-05-22 23:02:09 +00:00
Hans-Christoph Steiner
87ab3ca9da
gitlab-ci: add wget to ubuntu_jammy_pip so test_mirroring_a_repo runs
...
Otherwise, it only runs on the fedora_latest job. Debian-derives are by
far the most common platform, so this test should run on at least one. This
test caught bugs in !1788 so its valuable.
2026-05-20 11:48:38 +02:00
Hans-Christoph Steiner
976c9c0db4
ensure httpd is shut down when test_mirroring_a_repo fails
...
Otherwise, this will fail and then hang forever. THis just puts everything
that could cause the hang in try/finally.
2026-05-20 11:35:05 +02:00
Hans-Christoph Steiner
d77e8fa537
Merge branch 'remove-unused-string-from-translations' into 'master'
...
remove unused strings from translations
See merge request fdroid/fdroidserver!1829
2026-05-19 19:06:27 +00:00