Commit graph

3596 commits

Author SHA1 Message Date
SilentGhost
8e89cf511d Correct traversing cibase
Partly revert d9aab228 and fix bug introduced in 548f73d9:
modifying list that is being iterated over
2024-09-06 15:05:36 +02:00
linsui
0ad2820b6f lint: check config keys 2024-09-05 18:54:46 +08:00
linsui
debac3fd61 lint.py: format 2024-09-05 02:09:55 +08:00
linsui
9b633fb827 scanner: fix build_dir type 2024-09-04 23:58:09 +08:00
linsui
4e829e2f19 scanner: fix npm lock file name 2024-09-04 22:32:48 +08:00
linsui
9482ddfbe3 scanner: support workspace for lock files 2024-09-04 22:32:48 +08:00
linsui
9ccb3b5f0d Remove comment of google mave repo to workground a bug of ruff 2024-08-31 02:45:14 +08:00
linsui
8884732114 scanner.py: skip format on hex literal 2024-08-31 01:47:26 +08:00
linsui
1d796b734f scanner: error on dependency files without lock file 2024-08-30 13:46:17 +02:00
linsui
c3644464ff scanner.py: format 2024-08-30 13:46:17 +02:00
WrenIX
d1d1eb4c53
chore(nightly): improve log messages 2024-08-29 09:58:27 +02:00
WrenIX
d9aab228e2
fix(nightly): workaround for broken os.walk and more logging 2024-08-29 00:51:30 +02:00
g0t mi1k
19aef075b4 Drop --reset-server 2024-08-15 15:44:59 +00:00
Jochen Sprickerhof
0edc732705
Support UpdateCheckName in dirs_with_manifest
Closes: #1155
2024-07-25 10:45:27 +02:00
Michael Pöhn
8cf4503a00 🐜 scanner: fix ScannerTool init crash
When scanner.py::ScannerTool is instatiated but the calling code was
started by a call to e.g. `build.py` ScannerTool will crash. This change
makes it so that ScannerTool will intializes with a default value
instead of crashing when triging to access a non existen cli argument.

also see https://gitlab.com/fdroid/fdroidserver/-/issues/1212
2024-07-25 06:54:42 +00:00
Jochen Sprickerhof
e1aaa3ce93
Replace unmaintained appdirs by platformdirs
8734277956
2024-07-25 08:36:45 +02:00
linsui
d1856bea26 Prune origin before fetch 2024-07-10 15:33:51 +08:00
Hans-Christoph Steiner
fbb6772e37 always use GitLab Pages, not Artifacts, with index-only mode
If the repo is too large, then it'll hit the GitLab Pages limit.  That is
basically impossible in index-only mode, so it should always use Pages.
2024-07-03 09:18:22 +00:00
Hans-Christoph Steiner
034e83bfca deploy: complete index-only support for awsbucket: 2024-07-03 09:18:22 +00:00
Michael Pöhn
0fa88c5c20
💇 implement review nits
Implement review nits as requested bei @eighthave in
https://gitlab.com/fdroid/fdroidserver/-/merge_requests/1471
2024-06-27 12:28:54 +02:00
Michael Pöhn
3cf3685280
🐐 appeace bandint security warnings
In this particular case bandit was complaining about potential path
escape exploits on urlopen. However the urls are safe enough, because
all template parameters inserted into the url are from:

 * config.yml - malicious changes to config.yml are possible that's
   already a lot bigger issue than this than redirecting github api
   calls.
 * git tags witch are present in bot the local index-v2.json file (as
   versionName) and the remote github API. (git tags don't allow the
   string '..')
2024-06-27 12:28:41 +02:00
Michael Pöhn
aca98c1355
🏏 incorporate review feedback 2024-06-27 12:28:29 +02:00
Michael Pöhn
a87284cf80
🚥 deploy: tests for github releases deploy functions
Add test cases for github releases function in deploy.py
2024-06-27 12:28:16 +02:00
Michael Pöhn
242490ddc3
🎯 deploy: no releaseChannels on github releases
Don't deploy versions of to GitHub releases where a `releaseChannels`
value is set in index-v2.json. (This usually would mean it's a alpha or
beta version.)
2024-06-27 12:28:04 +02:00
Michael Pöhn
c6598f2835
☄️ deploy: github releases - whatsNew text as note
Use whatsNew text (if available) as release notes text when deploying to
Github releases. This feature will always use 'en-US' locale texts,
since English is the lingua franka on GitHub. Additionally this change
also adds a config option to preprend a static text to those release
notes.
2024-06-27 12:27:51 +02:00
Michael Pöhn
a079f9d85f
♟️ deploy: add global config github_token 2024-06-27 12:27:39 +02:00
Michael Pöhn
7a6fa7f816
🛄 deploy: separate function for release file lookup 2024-06-27 12:27:27 +02:00
Michael Pöhn
44b0af933d
🎡 add unit tests for github.py
add unittests for our github api calls
2024-06-27 12:27:15 +02:00
Michael Pöhn
1b19293ab0
🛰️ deploy: github releases
Implemented basic support for using `fdroid delpoy` to upload APKs from
the repo to GitHub releases.
2024-06-27 12:27:01 +02:00
pmmayero
8255dec6b8 fix: jinja 2 CVE 2024-06-12 06:30:27 +00:00
pmmayero
3f59d0908f fix: subprocess.check_output to produce string and not bytes 2024-06-12 06:30:27 +00:00
proletarius101
845ed3ef47 Add index only deployment mode 2024-06-11 17:45:59 +00:00
paul mayero
7aabfbcbf0 Adding rclone as an option to fdroid deploy 2024-05-29 14:08:07 +00:00
Licaon_Kter
df97ebe052 scanner - pickup by id, sort list 2024-05-22 09:25:49 +00:00
Hans-Christoph Steiner
18f3acc32e split out options from read_config()
There is no longer any reason for these to be intertwined.

This deliberately avoids touching some files as much as possible because
they are super tangled and due to be replaced.  Those files are:

* fdroidserver/build.py
* fdroidserver/update.py

# Conflicts:
#	tests/testcommon.py

# Conflicts:
#	fdroidserver/btlog.py
#	fdroidserver/import_subcommand.py
2024-05-08 16:26:46 +02:00
Hans-Christoph Steiner
1e5699e90c remove all references to optparse (deprecated since Python 3.2) 2024-05-08 16:19:27 +02:00
Hans-Christoph Steiner
717df09be0 clarify that config/options can be global or module-level variable 2024-05-08 16:19:27 +02:00
Hans-Christoph Steiner
92a3f4b191 rename local variable to stop overwriting global options
This fixes a bug where if smartcardoptions is set as a str in config.yml
will overwrite all command line options.

a4d069862
fdroidserver!1106
2024-05-08 16:19:27 +02:00
Hans-Christoph Steiner
1eaba25021 common: do not use module reference for local functions
This just makes things more confusing.
2024-05-08 16:19:27 +02:00
Gregor Düster
dbdefe200c Format files with ruff 2024-05-08 15:41:51 +02:00
Gregor Düster
df27405d8b [build] Add more docstrings 2024-05-08 15:35:28 +02:00
Gregor Düster
1c70758940 [btlog] Add more docstrings 2024-05-08 15:31:43 +02:00
Gregor Düster
4109e8fb03 [checkupdates] Add module docstring 2024-05-08 15:31:38 +02:00
Gregor Düster
97346a2cba [nightly] Add more docstrings 2024-05-08 15:31:32 +02:00
Gregor Düster
6c27fec94b [import] Add more docstrings 2024-05-08 15:31:29 +02:00
Hans-Christoph Steiner
9a327b5097 reliable implementation of get_first_signer_certificate()
This keeps key pieces of @linsui's algorithm, specifically the check
that all certificates are the same.  apksigner also does this check.

closes #1128
2024-05-07 16:22:59 +02:00
Hans-Christoph Steiner
a8fd360a88 skip AndroidManifest.xml and resources when fetching v2+ certs 2024-05-07 16:22:59 +02:00
FC (Fay) Stegerman
6f5fd2b132 PoC + writeup + patch
6c6dc25112/fdroidserver.patch (L28)

https://github.com/androguard/androguard/issues/1030
refs #1128

(this is an excerpt of the original patch)
2024-05-07 16:22:59 +02:00
Hans-Christoph Steiner
312f822764 androguard is required, stop using use_androguard() 2024-05-07 16:22:59 +02:00
linsui
2fea71a6c7 get_first_signer_certificate: check all v1 v2 and v3 certs 2024-05-07 16:22:59 +02:00