Commit Graph

11685 Commits

Author SHA1 Message Date
wn_
91a91dac15 Perform validation of redirect URLs during the redirect process.
Previously, validation was only done after all redirects and the final request had completed.  This approach ensures all redirects are to URLs that pass extended validation.
2023-12-29 00:41:52 +00:00
Andrew Dolgov
51cd02fc3e Merge branch 'feature/use-guzzle' into 'master'
Use Guzzle

See merge request tt-rss/tt-rss!16
2023-12-24 16:14:45 +00:00
wn_
0ea9db3170 Fix specifying auth type in UrlHelper::fetch(), add a test for 403 auth retry. 2023-12-24 11:21:43 +00:00
wn_
9a1f7c2ebf Appease PHPStan in UrlHelperTest 2023-12-23 19:58:39 +00:00
wn_
3c171cc92c Add some tests for UrlHelper::fetch() 2023-12-23 19:52:56 +00:00
wn_
e33b0297d5 Ensure the feed name is easily visible when looking at the feeds with errors list. 2023-12-23 17:01:24 +00:00
wn_
9132360d46 Rework content encoding error retrying in UrlHelper::fetch() 2023-12-23 16:34:39 +00:00
wn_
d82da74363 Clean up UrlHelper::resolve_redirects().
Also: this doesn't appear to be used... but maybe in some plugin?
2023-12-23 15:56:21 +00:00
wn_
ff59fbd460 Add back 'any auth' retry in UrlHelper::fetch() 2023-12-23 15:34:21 +00:00
wn_
e85d47dfd4 Use Guzzle 2023-12-22 16:51:23 +00:00
Andrew Dolgov
d4ae6c67db Merge branch 'dont-sanitize-figure-tag' into 'master'
sanitizer: keep <figure> intact

See merge request tt-rss/tt-rss!15
2023-12-18 14:51:58 +00:00
Chih-Hsuan Yen
f1a9ac9b15 sanitizer: add a test to make sure <figure> is intact
Somehow with the old approach, `<figure>` is rearranged into `<head>`,
and the latter is stripped by `Sanitizer::strip_harmful_tags()` (see
[1]). The issue is fixed by [2]. Here I added a test for the regression.

[1] https://community.tt-rss.org/t/unexpected-behavior-with-figure-tag/6244
[2] 67012f9dac
2023-12-18 22:46:35 +08:00
Andrew Dolgov
67012f9dac Revert "Fix sanitizer with libxml2 >= 2.12.0"
This reverts commit d4da4dcc32.
2023-12-17 22:42:52 +03:00
Andrew Dolgov
14ad8b21d5 bump CI jobs & utility scripts to php83 2023-12-10 09:36:09 +03:00
Andrew Dolgov
4b3cf17d8d Merge branch 'master' of gitlab.tt-rss.org:tt-rss/tt-rss 2023-12-10 09:32:00 +03:00
Andrew Dolgov
1b31e6fd5b Merge branch 'feature/php-8.3' into 'master'
Bump to Alpine 3.19 and PHP 8.3.

See merge request tt-rss/tt-rss!14
2023-12-10 06:18:10 +00:00
wn_
7883f024e7 Bump to Alpine 3.19 and PHP 8.3.
* https://alpinelinux.org/posts/Alpine-3.19.0-released.html
* https://www.php.net/releases/8.3/en.php
2023-12-07 12:38:23 +00:00
Andrew Dolgov
8f66f579e4 add coverage-filter 2023-12-02 18:04:55 +03:00
Andrew Dolgov
09898ccbc8 add phpunit code coverage driver 2023-12-02 18:03:06 +03:00
Andrew Dolgov
2b8e344532 add some unittest options for xmlrunner 2023-12-02 12:48:54 +03:00
Andrew Dolgov
e453befab6 fix filename 2023-12-02 12:47:36 +03:00
Andrew Dolgov
dbb6e7291e enable unit test results for selenium 2023-12-02 12:44:21 +03:00
Andrew Dolgov
eac9e7c103 collect phpunit artifacts 2023-12-02 11:42:12 +03:00
Andrew Dolgov
93bd96e356 add env prefixes 2023-12-02 11:38:25 +03:00
Andrew Dolgov
7005d6d5f3 add db vars 2023-12-02 11:36:09 +03:00
Andrew Dolgov
0621d22bbe add cobertura args for phpunit-integration 2023-12-02 11:30:17 +03:00
Andrew Dolgov
cc133d2c0a disable local rules for integration tests 2023-12-02 11:16:52 +03:00
Andrew Dolgov
e52eaf0e7b add sanitizer integration test 2023-12-02 11:14:07 +03:00
Andrew Dolgov
ce9847d317 Merge branch 'fix-sanitizer-new-libxml2' into 'master'
Fix sanitizer with libxml2 >= 2.12.0

See merge request tt-rss/tt-rss!12
2023-12-01 12:26:41 +00:00
Chih-Hsuan Yen
d4da4dcc32 Fix sanitizer with libxml2 >= 2.12.0
Somehow with newer libxml2, `<?xml encoding="UTF-8">` no longer enforces
UTF-8. Instead, non-ASCII contents are treated as ISO-8859-1 and get
broken.

For example, `<p>中文</p>` becomes
`<p>&auml;&cedil;&shy;&aelig;&#150;&#135;</p>` (should be
`<p>&#20013;&#25991;</p>`).

Switching to another trick mentioned on [1] fixes the issue, and the
new trick still works with older libxml2 (tested 2.11.5).

As a side note, DOMDocument::loadHTML uses HTMLParser in libxml2 [2][3].

[1] https://stackoverflow.com/questions/8218230/php-domdocument-loadhtml-not-encoding-utf-8-correctly
[2] https://github.com/php/php-src/blob/php-8.1.26/ext/dom/document.c#L1855
[3] https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-HTMLparser.html
2023-11-26 21:04:56 +08:00
Andrew Dolgov
2c7e000120 set registry project 2023-11-25 20:21:10 +03:00
Andrew Dolgov
1fe1132a1a use variable for fastcgi_pass to force resolver usage 2023-11-07 09:56:23 +03:00
Andrew Dolgov
61910acbcd explicitly set resolver in the nginx container (configurable envvar) 2023-11-07 08:38:11 +03:00
Andrew Dolgov
ff4248b09e add wip UI/backend stuff to filter feed tree 2023-11-03 08:33:35 +03:00
Andrew Dolgov
0b7d021f8e add wait-for-element to selenium test 2023-11-01 13:40:35 +03:00
Andrew Dolgov
d4c972f551 remove .git before_scripts 2023-11-01 13:24:32 +03:00
Andrew Dolgov
f48f1b0131 Revert "pass .git to docker context so self-built images would have some way to determine version without CI variables"
This reverts commit 5cfde4cada.
2023-11-01 13:24:04 +03:00
Andrew Dolgov
4ced03b4b6 forgot one job 2023-11-01 13:12:31 +03:00
Andrew Dolgov
9ce347d8d5 do the same for :publish jobs 2023-11-01 13:10:57 +03:00
Andrew Dolgov
e777f2e292 fix yaml indents 2023-11-01 13:09:29 +03:00
Andrew Dolgov
ee18936bfe add .git to .dockerignore when building master images 2023-11-01 13:08:50 +03:00
Andrew Dolgov
5cfde4cada pass .git to docker context so self-built images would have some way to determine version without CI variables 2023-11-01 13:06:40 +03:00
Andrew Dolgov
1be156408a add some more phpunit api tests 2023-10-29 10:46:01 +03:00
Andrew Dolgov
cfcab96e18 pass API_URL to phpunit-integration CLI 2023-10-29 10:01:14 +03:00
Andrew Dolgov
7cd2c5cac8 fix apitest 2023-10-29 09:42:53 +03:00
Andrew Dolgov
adf3985afa fix circular dependency 2023-10-29 09:25:01 +03:00
Andrew Dolgov
afaef66783 reduce targets 2023-10-29 09:19:35 +03:00
Andrew Dolgov
8b72d9ab11 add phpunit integration (wip) 2023-10-29 09:14:18 +03:00
Andrew Dolgov
855695a862 add stuff necessary to run integration tests using phpunit 2023-10-28 18:45:09 +03:00
Andrew Dolgov
0ac8710ea1 add always-failing mock of api test 2023-10-28 18:08:42 +03:00