Commit Graph

1502 Commits (2f8efab275f9c62c18fa4a5dd06273b4809480ee)

Author SHA1 Message Date
Andrew Dolgov 7874f6ac58 remove PHPMD.UnusedFormalParameter 4 years ago
Andrew Dolgov 942afb43a1 sanity checks: use better CLI detection, shorten most of the text 4 years ago
Andrew Dolgov 10392ecc28 event log: add pagination 4 years ago
Andrew Dolgov 8b39e6bca7 _color_pack: define variable before using 4 years ago
Andrew Dolgov a544123b59 fix clean() for arrays and user plugin list 4 years ago
Andrew Dolgov 6e774a58fe more php8 fixes mostly related to login 4 years ago
Andrew Dolgov 403dca154c initial WIP for php8; bump php version requirement to 7.0 4 years ago
Andrew Dolgov 33a5ecd2ce feed editor: show purge interval correctly if FORCE_ARTICLE_PURGE is set 4 years ago
Andrew Dolgov f59c567831 update_rss_feed: fix BLACKLISTED_TAGS not working properly, simplify tag-related code 4 years ago
wn c68f2aabc9 Make 'ttrss_error_handler' compatible w/ 8.
2d467abc46/UPGRADING (L43)
2d467abc46/UPGRADING (L63)
4 years ago
wn 936b91a7e6 Don't do deprecated 'libxml_disable_entity_loader(true)' under PHP 8.
2d467abc46/UPGRADING (L886)
4 years ago
wn 6bdf4a1a25 Switch to 'get_error_types()' to ensure availability in 'include/functions.php'.
The global in 'sanity_check()' was null... possibly due to circular requires?
4 years ago
wn 08a6f6bde2 Only do sanity checks for self URL if we can create a valid URL.
'sanity_check.php' gets included in 'update.php' and 'update_daemon2.php', where a Host request header is likely not provided.
4 years ago
Andrew Dolgov 65254f5db4 - move sphinx plugin to a separate repo
- regenerate config checks without sphinx-related variables
4 years ago
Andrew Dolgov 81c52b4b1e add support for an override stylesheet which applies to all users 4 years ago
Andrew Dolgov 24cdacd59e enable Farsi locale in the UI 4 years ago
Andrew Dolgov 8a02a728c8 add DAEMON_UNSUCCESSFUL_DAYS_LIMIT tunable (defaults to 30 days) 4 years ago
Andrew Dolgov da5deaaca1 set session.cookie_lifetime to 0 initially instead of a rather useless min() 4 years ago
Andrew Dolgov de22464ea8 schema: add ttrss_feeds.last_successful_update 4 years ago
Andrew Dolgov 215f388992 move timestamp-related stuff to a separate class 4 years ago
Andrew Dolgov 74568df4ff remove a lot of stuff from global context (functions.php), add a few helper classes instead 4 years ago
Andrew Dolgov d04ac399ff clarify some URL validation-related error messages 4 years ago
Andrew Dolgov 3dd4169b5f clarify some URL validation-related error messages 4 years ago
Andrew Dolgov 4785f21316 update_rss_feed: log effective URL after fetching
validate_url: treat scheme as case-insensitive
4 years ago
Andrew Dolgov 486f1d84ed resolve_redirects: fix previous 4 years ago
Andrew Dolgov d2867d887a resolve_redirects: only use three argument version of get_headers() on php 7.1+ 4 years ago
Andrew Dolgov 03a337a660 add basic safe mode which doesn't load any user plugins 4 years ago
Andrew Dolgov 4efc3d7b3f validate_url: relax requirements for URLs, limit additional port/loopback filtering to fetch_file_contents() 4 years ago
Andrew Dolgov a4525d31b2 replace FALSE with false so that static analyzer shuts up about it 4 years ago
Andrew Dolgov 57fac84516 rename gettext.inc to gettext.inc.php (cosmetic) 4 years ago
Andrew Dolgov c25edd0024 fetch_file_contents: validate effective URL (after redirects) without CURL 4 years ago
Andrew Dolgov 27e695436f fetch_file_contents: validate effective URL (after redirects) if using CURL 4 years ago
Andrew Dolgov 5a7e7e1367 don't try to call hash_equals() on unset user token 4 years ago
Andrew Dolgov f72e6947d5 use hash_equals() correctly 4 years ago
Andrew Dolgov e3adacc588 fix several cases of Db class being invoked as wrong name (as DB) 4 years ago
Andrew Dolgov 16c86e2fc3 replace some plain http links with https 4 years ago
Andrew Dolgov a817d3794d * use get_random_bytes() for CSRF token
* get_random_bytes: use PHP7 random_bytes() if it is available
* validate CSRF token using hash_equals
4 years ago
Andrew Dolgov 1f79d614c4 fix OTP QR code not displayed because of CSRF token passed as a query
parameter
use type-strict comparison when validating CSRF token on the backend
4 years ago
Andrew Dolgov 6a4b6cf603 amend previous to 127/8 subnet 4 years ago
Andrew Dolgov 213d6330b1 fetch_file_contents: resolve requested hosts and check for possible
loopback address
4 years ago
Andrew Dolgov 88c4dc405e build_url: also put query parameters and fragment in resulting URL
rewrite_relative_url: simplify handling of relative URLs
4 years ago
Andrew Dolgov da5af2fae0 cached_url: block SVG images because of potential javascript inside 4 years ago
Andrew Dolgov aeaafefa07 don't pass csrf token as a GET parameter to Article 4 years ago
Andrew Dolgov 1621abcffc rewrite_relative_url: validate resulting absolutized URLs 4 years ago
Andrew Dolgov aa89ea7769 validate_url: only allow safe ports (80, 443), disallow access to loopback 4 years ago
Andrew Dolgov 6c02fea641 validate_url: add clean() 4 years ago
Andrew Dolgov 4abc7d7898 rename base64_img() to image_to_base64() 4 years ago
Andrew Dolgov 1ee458b5c1 cached_url: perform mimetype validation before possible HOOK_SEND_LOCAL_FILE hooks 4 years ago
Andrew Dolgov b4cb67e77f remove csrf token from rpc method sanityCheck 4 years ago
Andrew Dolgov c3d14e1fa5 - fix multiple vulnerabilities in af_proxy_http
- fix vulnerability in rewrite_relative_url() which prevented some URLs from being properly absolutized
- fetch_file_contents: validate all URLs before requesting them
- validate URLs: explicitly whitelist http and https scheme, forbid everything else
- DiskCache/cached_url: only serve whitelisted content types (images, video)
- simplify filename/URL handling code, remove and consolidate some less-used functions
4 years ago