Commit Graph

1382 Commits (0b8f3909fe4d6b687955e101f624208c07fac88f)

Author SHA1 Message Date
martin scharm 32dc9ec854 undocumenting the proxy settings [see #36]
in response to https://git.tt-rss.org/git/tt-rss/pulls/36#issuecomment-119
7 years ago
martin scharm 213c01d459 some proxies require `request_fulluri` set to true [see #36]
at least polipo won't work for plain HTTP URLs (HTTPS strangely also works without `request_fulluri`..?)

see https://git.tt-rss.org/git/tt-rss/pulls/36
7 years ago
martin scharm ea55f2e11c Add proper support for proxies
There are situations where you want tt-rss to use a proxy (e.g.
because of network restrictions, or privacy concerns).
tt-rss already comes with an undocumented `_CURL_HTTP_PROXY`
variable (see eg https://binfalse.de/2015/05/06/ttrss-with-proxy/),
however that won't have an effect when, for example, php-curl is
not installed, see
c30f5e1811/include/functions.php (L377)
In this case it would use the `file_get_contents` with a stream
context without a proxy definition:
c30f5e1811/include/functions.php (L487)

Here I propose to properly support proxies, and I introduced a
`PROXY` variable, that is respected in both scenarios, with and
without curl installed.
7 years ago
Andrew Dolgov 9274109c19 search_to_sql: quote fallback search language 7 years ago
JustAMacUser 56c2216295 Add missing quotes to array_map. 7 years ago
Andrew Dolgov bed2d6e054 force-cast some variables used in queries to integer
do not display SQL query in headlines debug mode
7 years ago
Andrew Dolgov 7651b6e2cd sanitize: disable referrer via referrerpolicy for img elements 7 years ago
Andrew Dolgov 4d10b4abca merge login form css into default.css
update more hardcoded colors to use @color-accent
update @color-accent
7 years ago
Andrew Dolgov f8db5bb4db installer: use PDO, improve wording for some notices
PDO wrapper: allow working with blank DB_HOST
7 years ago
Andrew Dolgov 76fc7a2d9c bool_to_sql_bool: for some reason PDO really likes integers for boolean columns
incidentally this fixes OPML filter import
7 years ago
Andrew Dolgov c4a08e4ff0 remove mentions of deprecated.js 7 years ago
Andrew Dolgov e6532439d6 force strip_tags() on all user input unless explicitly allowed 7 years ago
Andrew Dolgov fa3bcfa379 queryfeedheadlines: there's no need to quote order_by/override_order
else: feedicon cache busting etc
7 years ago
Andrew Dolgov 7c0eb1b621 add defaultPasswordWarning nag dialog 7 years ago
Andrew Dolgov bfebf57c5f get_theme_path: fallback to css/default.css if default theme is selected 7 years ago
Andrew Dolgov 2cf93c046c pref-users: fix sorting the table 7 years ago
Andrew Dolgov 3eecebc34f sanity_check: do not invoke PDO without checking that it exists 7 years ago
Andrew Dolgov 97a5e13370 add sanity check for PDO 7 years ago
Andrew Dolgov 83303f20e0 update version static for css & db changes 7 years ago
Andrew Dolgov 09bc54c690 further stylesheet simplification related fixes 7 years ago
Andrew Dolgov 8ff3cbb32e filters: remove sql_bool_to_bool()
checkbox_to_sql_bool: return ints (???)
7 years ago
Andrew Dolgov ed5cd6eae5 get_feed_access_key: param type bullshit 7 years ago
Andrew Dolgov 6cf3a57282 login: fix profile dropdown popping out in a weird place 7 years ago
Andrew Dolgov 7d960ce7e9 auth_internal: use PDO + other fixes 7 years ago
Andrew Dolgov 4ee398a41e Merge branch 'master' of git.fakecake.org:tt-rss into pdo-experimental 7 years ago
Andrew Dolgov 1e78803c44 search_to_sql: leftover tsquery query fix for pgsql 7 years ago
Andrew Dolgov a2d77092fe search_to_sql: quoting fix 7 years ago
Andrew Dolgov 0002e598f8 sql_bool_to_bool: backwards compat fix 7 years ago
Andrew Dolgov e4befe6bf4 fix label cache being double escaped on save
remove some old-style escaping
7 years ago
Andrew Dolgov ef83c69404 more boolean fixes 7 years ago
Andrew Dolgov da9ea57d1c checkbox to sql bool related changes, some more boolean fixes 7 years ago
Andrew Dolgov 7ccb4e91ff boolean handling changes which probably won't break everything 7 years ago
Andrew Dolgov c949a9282e OPML: use PDO; minor fixes 7 years ago
Andrew Dolgov fbe7cb0a48 rpc: switch to PDO 7 years ago
Andrew Dolgov ecf6baaa1c fix add_feed_category 7 years ago
Andrew Dolgov cc9450c309 ccache, misc: fixes
feeds: start PDO transition
7 years ago
Andrew Dolgov 1271407eea public: partial conversion to PDO, misc fixes 7 years ago
Andrew Dolgov cab58c44ae some minor PDO-related fixes 7 years ago
Andrew Dolgov c9d5c26041 auth/base: PDO
functions: fix small pdo-related bug
7 years ago
Andrew Dolgov d068111a37 controls: PDO 7 years ago
Andrew Dolgov bbd9e5045e controls: start pdo stuff 7 years ago
Andrew Dolgov 4ff8bdcb00 feedbrowser: PDO 7 years ago
Andrew Dolgov fdda3e4efb pdo pdo pdo 7 years ago
Andrew Dolgov 4d13514dd4 sessions: PDO 7 years ago
Andrew Dolgov a21f7495ae more pdo stuff 7 years ago
Andrew Dolgov 90dafaa9f6 add qmarks function 7 years ago
Andrew Dolgov b78a6f08b6 more pdo stuff i guess 7 years ago
Andrew Dolgov 7c4d7bce3f increase default of MAX_CONDITIONAL_INTERVAL to 12 hours 7 years ago
Andrew Dolgov 8aa568b3a2 some more pdo stuff 7 years ago
Andrew Dolgov bfc54b0369 Merge branch 'pdo-experimental' of git.fakecake.org:tt-rss into pdo-experimental 7 years ago
Andrew Dolgov e50c8eaa4e enforce unconditional requests every 6 hours even if server claims data is not modified 7 years ago
Andrew Dolgov ecd2e414bd add ttrss_feeds.last_unconditional (schema bump) 7 years ago
Andrew Dolgov 8adb3ec472 add some WIP pdo stuff 7 years ago
Andrew Dolgov 9dd336a2c3 generate base css files using lessc 7 years ago
Andrew Dolgov 820873de9f update myisam fail warning 7 years ago
Andrew Dolgov 0b68b1629e add a sanity check for tt-rss myisam tables 7 years ago
woxcab 6eeeec4838 Allow <hr> tag in the RSS item' description 7 years ago
Andrew Dolgov 9d930af9e1 fetch_file_contents: improve error handling
1. if request fails get error string from http  response status line
2. do not override http error with possible CURL/php specific last error
3. fix silent php error generated while processing response headers to get last modified value
7 years ago
Andrew Dolgov 8716ec20d6 add sanity check for mime_content_type() 7 years ago
Andrew Dolgov 8b73bd28d8 remove apache-specific x-sendfile stuff
implement a hook (HOOK_SEND_LOCAL_FILE) which plugins may use to send files
via httpd-specific implementation to increase performance typically on larger files
7 years ago
wn_ 701c5a7ee4 get_favicon_url: only check base elements with href attribute 7 years ago
wn_ 241f69e4db Handle potentially-relative base element when getting favicon.
The base element's "href" attribute is not required to be absolute,
so rewrite relative to the site URL if it is relative.

See:
* https://www.w3.org/TR/html51/document-metadata.html#the-base-element
* https://html.spec.whatwg.org/multipage/semantics.html#the-base-element
7 years ago
Andrew Dolgov 153cb6d305 add support for http 304 not modified (no timestamp calculation bullshit like last time) 7 years ago
Andrew Dolgov 5e78b0c253 do not base headlines label context submenu on feed tree labels category 7 years ago
Andrew Dolgov 1b5b1e5fec sessions: use is_server_https() for secure cookie setting 7 years ago
Natan Frei e234ac8dcb $_SERVER['HTTPS'] can be exists and 'off' for non-https connectios 7 years ago
Andrew Dolgov 09628e1b1a rework previous 32 bit session stuff 7 years ago
Andrew Dolgov e6d77d2b29 Merge branch 'master' of git.fakecake.org:tt-rss 7 years ago
Andrew Dolgov b465c28ee0 sessions: clip max expiry value to a 32bit integer 7 years ago
Andrew Dolgov 9f7bd151c6 hopefully unify handling of server HTTPS variables where needed, use scheme based on SELF_URL_PATH otherwise 7 years ago
Cédric Barboiron 643ebe4229 sanity: check X-Forwarded-Proto for self_url 7 years ago
Andrew Dolgov b2d42e960b replace some usages of SELF_URL_PATH with get_self_url_prefix() 7 years ago
Andrew Dolgov 948471a44b self url path checking: accept value without an ending slash 7 years ago
Andrew Dolgov 2953687b72 sanity: it's probably a good idea to check whether we're running under httpd before enforcing SELF_URL_PATH checks 7 years ago
Andrew Dolgov 1f91695895 previous: spaces -> tabs 7 years ago
Andrew Dolgov 7506b61af2 sanity: check whether SELF_URL_PATH conforms to data returned by httpd 7 years ago
Andrew Dolgov d76d5e86d2 controls: disable print_feed_select (unused) 7 years ago
Andrew Dolgov 10a1f28f7c schema: updates for new filter format (bump version to 131) 7 years ago
Andrew Dolgov 02f3992a5a Revert "Revert "filters: support matching on multiple feeds/categories""
This reverts commit f5d174bda9.
7 years ago
Andrew Dolgov f5d174bda9 Revert "filters: support matching on multiple feeds/categories"
This reverts commit 0bf7e007bb.
7 years ago
Andrew Dolgov 0bf7e007bb filters: support matching on multiple feeds/categories
opml: update filter export/import for new format
7 years ago
Andrew Dolgov 6fd0399694 tunables:
* add CACHE_MAX_DAYS as a tunable generic expiry interval for various cached files
* add some comments to tunables in functions.php
* rename _MIN_CACHE_FILE_SIZE to MIN_CACHE_FILE_SIZE
* respect MIN_CACHE_FILE_SIZE setting in a few more places where content is cached
8 years ago
wn_ 9b8bec700a Replace '__autoload' (deprecated in PHP 7.2) with 'spl_autoload_register'.
http://php.net/manual/en/function.autoload.php
http://php.net/spl_autoload_register
https://wiki.php.net/rfc/deprecations_php_7_2
8 years ago
Andrew Dolgov 5b6ea1ef91 remove pubsubhubbub: dead 8 years ago
Andrew Dolgov c114a2596f move add_feed_url() to pref_feeds 8 years ago
Andrew Dolgov 4fd0790804 fix DAEMON_SLEEP_INTERVAL not being defined when used
enforce minimum 60 sec spawn/sleep interval in update processes
8 years ago
Andrew Dolgov e6c886bf66 wrap rssfuncs into rssutils class 8 years ago
Andrew Dolgov 65af3b2cbb move counter stuff to a separate class 8 years ago
Andrew Dolgov e35ba0e212 add sanity check for SELF_URL_PATH going to http url if server is accessed over https 8 years ago
Andrew Dolgov 7c9b5a3fe4 move label stuff to Labels class
fix some unresolved functions
8 years ago
Andrew Dolgov c2f0f24e4c move digest stuff to Digest class 8 years ago
Andrew Dolgov 0086a89740 move some label stuff to labels.php
move getfeedcategory() to Feeds
8 years ago
Andrew Dolgov 904aff7667 abs_to_rel_path: removed 8 years ago
Andrew Dolgov 4a0da0e5bf move get_article_labels to Article 8 years ago
Andrew Dolgov 2ed0d6c433 move counter cache to a separate class
fix references to get_article_tags
8 years ago
Andrew Dolgov aeb1abedb2 move a bunch of functions into Feeds/Article namespaces
+       static function catchupArticlesById($ids, $cmode, $owner_uid = false) {
+       static function getLastArticleId() {
+       static function queryFeedHeadlines($params) {
+       static function getParentCategories($cat, $owner_uid) {
+       static function getChildCategories($cat, $owner_uid) {

move the rest of functions2.php back to functions.php as it is of more manageable size, remove the former
8 years ago
Andrew Dolgov a230bf88a9 move to Article:
+       static function purge_orphans($do_output = false) {

move to Feeds

+       static function getGlobalUnread($user_id = false) {
+       static function getCategoryTitle($cat_id) {
+       static function getLabelUnread($label_id, $owner_uid = false) {
8 years ago
Andrew Dolgov 86a8351ca2 move the following to Feeds:
+       static function catchup_feed($feed, $cat_view, $owner_uid = false, $mode = 'all', $search = false) {
+       static function getFeedArticles($feed, $is_cat = false, $unread_only = false,
+       static function subscribe_to_feed($url, $cat_id = 0,
+       static function getFeedIcon($id) {
+       static function getFeedTitle($id, $cat = false) {
+       static function getCategoryUnread($cat, $owner_uid = false) {
+       static function getCategoryChildrenUnread($cat, $owner_uid = false) {
8 years ago
Andrew Dolgov 7e5f8d9fb3 move the following to Article:
+       static function format_article_enclosures($id, $always_display_enclosures,
+       static function format_article($id, $mark_as_read = true, $zoom_mode = false, $owner_uid = false) {
+       static function get_article_tags($id, $owner_uid = 0, $tag_cache = false) {
+       static function format_tags_string($tags) {
+       static function format_article_labels($labels) {
+       static function format_article_note($id, $note, $allow_edit = true) {
+       static function get_article_enclosures($id) {
8 years ago
Andrew Dolgov 4122da0290 move getArticleFeed to Article
move print_label_select to controls
8 years ago
Andrew Dolgov e60d5b0a84 move opml-specific get_feed_category to opml.php 8 years ago
Andrew Dolgov 9549e33c2c move some common control-generating functions to controls.php 8 years ago
Andrew Dolgov 07d3431e28 update_rss_feed: minor code cleanup 8 years ago
Andrew Dolgov ea79a0e033 remove some redundant php closing tags 8 years ago
Andrew Dolgov 7b55001eee fix various issues reported by static analysis
update gitlab-ci config
8 years ago
Andrew Dolgov 467bc4fe03 bump version_static to 17.4 8 years ago
Andrew Dolgov 337535416f filter by search results while marking feed as read 8 years ago
Andrew Dolgov 86e534290e enclosures: rewrite relative urls on import, duh 8 years ago
Andrew Dolgov 9594ea6875 add cosmetic suffixes back for cached url links 8 years ago
Andrew Dolgov dc2c4b13d4 when choosing enclosures to embed or rewrite (af_zz_imgproxy) only use content type instead of "filename"-based hacks 8 years ago
Andrew Dolgov 388d4dfa88 enable caching of media in article enclosures 8 years ago
Andrew Dolgov 48eefd8c5c allow caching of audio files 8 years ago
Andrew Dolgov 41bead9baa remove local file extensions and generalize some method names for cached media
file extensions may still be present in urls, but are ignored by the backend

MIGRATION (if you have any cached data worth keeping, not required):
in cache/images run "rename 's/\..*$//' *" i.e. strip file extensions
8 years ago
Andrew Dolgov 8519c68d93 rewrite relative urls for html5 audio source elements 8 years ago
Andrew Dolgov 1bfe1d7b31 simplify error handling
* less convoluted exception dialogs
* use window.onerror for the majority of exception catching/reporting
* remove most of now useless try/catch blocks
* report stacktrace instead of manually specified error locations
8 years ago
Luc Didry 453787526a Improve update_feedbrowser_cache SQL query 8 years ago
Andrew Dolgov 4a23031fcd rewrite_relative_url: cleanup resulting url path while rewriting 8 years ago
Andrew Dolgov 454292b295 format_article_enclosures: allow embedding .jpeg files 8 years ago
Andrew Dolgov 676c7303ca add HOOK_ENCLOSURE_ENTRY for af_zz_imgproxy (2) 8 years ago
Andrew Dolgov 58210301e0 add HOOK_ENCLOSURE_ENTRY for af_zz_imgproxy 8 years ago
Jérémy DECOOL ba2853caac Prevent target='_blank' vulnerability on dynamic link 8 years ago
Andrew Dolgov fafd32e2dc use get_self_url_prefix() when rewriting cached images 8 years ago
Andrew Dolgov dc8bd8a640 add some print_checkbox/print_button calls; rename some plugin preference pane titles 8 years ago
Andrew Dolgov 8cf37284e7 af_zz_imgproxy: add optional setting to proxy all remote images
functions: add some form helper methods
8 years ago
Andrew Dolgov 7818bfde0b sanitize: properly handle cached content in archived articles 8 years ago
Andrew Dolgov 70c0a8c2e0 pass several image files used in notify messages to frontend as base64 to prevent broken error messages in case network connection is down. also, update some close buttons to show correct cursor. 8 years ago
Andrew Dolgov 829d478f1b add some protection against opener attacks if external site is opened via window.open() 8 years ago
Andrew Dolgov 5edd605ae1 image cache: do not try to cache data: schema urls; add caching of html5 video content (similar to cache_starred_images plugin) 8 years ago
Andrew Dolgov 0442cbb6c1 image cache: send files as content-disposition: attachment; add .png suffix to image urls 8 years ago
Andrew Dolgov 24c7e4132d subscribe dialog: do not report errors via alert()
fetch_file_contents: reset all globals on start, return error message body when not using curl
subscribe_to_feed: report if cloudflare is in the error message
8 years ago
Andrew Dolgov 181c8285dd add compact theme with smaller font 8 years ago
Andrew Dolgov e432b8fbe2 implement cache-busting for default theme.css
night theme: small fixes
8 years ago
Andrew Dolgov 553ec3c351 pass article guid to hook_render_article 8 years ago
Shane Synan 311cdb27f4 sanitize: allow dfn tag
Add <dfn> tag to allowed tags list.  <dfn> represents the defining
instance of a term in HTML.
8 years ago
Andrew Dolgov 3b001e4330 support rel=noopener for links 8 years ago
Andrew Dolgov e934d63e0c fetch_file_contents: rework the way shim works to prevent intermittent warnings 8 years ago
Andrew Dolgov 67268b0017 sanitize: allow acronym tag 8 years ago
Andrew Dolgov cb3f877303 reference pubsubhubbub classes using their namespace 8 years ago
Andrew Dolgov 70c5b2bfcc feed tree: only run animation for appearing unread counters to prevent clashes with aux counter updating and animations ending up in wrong state 8 years ago
Andrew Dolgov a86255572a bump VERSION_STATIC due to Dojo changes 8 years ago
Andrew Dolgov fa287f6b11 Merge branch 'af-comics-gocomics-feed' into 'master'
Update af_comics plugin to support GoComics.

Updates the af_comics plugin to support new GoComics site, which dropped native RSS feeds.

See merge request !42
8 years ago
Andrew Dolgov 967f0619c7 force ngettext() count argument type to string 8 years ago
JustAMacUser fabfb9fc2a Added support to fetch_file_contents() to explicitly set CURLOPT_FOLLOWLOCATION. 8 years ago
Anders Kaseorg becd215a75 lib: Upgrade php-subscriber from ??? to 1213f89 (2016-11-15)
https://github.com/pubsubhubbub/php-subscriber

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
8 years ago
Anders Kaseorg 5ddc3e274d lib: Upgrade php-publisher from ??? to a5d6a0e (2016-11-15)
https://github.com/pubsubhubbub/php-publisher

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
8 years ago
Andrew Dolgov c606bd5741 tweak the enclosure dropdown display a little bit for less-readable urls 8 years ago
Andrew Dolgov f6bcb5c606 Merge branch 'subscribe-idn-feed' into 'master'
Subscribe to feed with Internationalized Domain Name

Currently you cannot subscribe to feeds on hosts with internationalized domain names (IDNA) within tt-rss. You need to manually convert them to punycode to subscribe to them.

This patch adds code to detect IDNA and convert them to punycode in fix_url() if possible on the system. This requires PHP IDN functions (e.g. on Debian Jessie this needs php5-intl to be installed), so a notice is added to the installer sanity check.

See merge request !37
8 years ago
Andrew Dolgov 17a8e61d2a deprecate encrypted feed passwords because mcrypt is getting removed from php 7.1
1. transparent decryption for existing installs stays for the time being
2. new passwords are not going to be encrypted even if FEED_CRYPT_KEY is defined
3. added update.php --decrypt-feeds to bulk decrypt existing encrypted passwords
4. updated install to not auto-generate crypt key
5. added warning to config.php-dist
8 years ago
Bernhard Thaler 62958fe9dc convert to punycode for feed on idn hostname 8 years ago
Andrew Dolgov 3d5d289077 set_basic_feed_info: fix typo 8 years ago