Andrew Dolgov
32db1cb872
OPML: include (and import) ttrss per-feed update interval and sort order
2019-02-25 14:06:26 +03:00
Andrew Dolgov
874a2d2170
Revert "enable fi_FI locale"
...
oops, nevermind
This reverts commit e00041b206
.
2019-02-08 10:16:42 +03:00
Andrew Dolgov
e00041b206
enable fi_FI locale
2019-02-08 10:15:50 +03:00
root
5ac1935db5
Make article date select 12/24 time based on SHORT_DATE_FORMAT
2019-02-01 08:34:10 -05:00
Andrii Zhuk
f1f2b81a90
Add i18n for auto mode:wq
2019-01-30 16:57:28 +02:00
Andrii Zhuk
57c3322088
Changed language name for Ukrainian
2019-01-30 16:14:07 +02:00
Andrew Dolgov
17a8821c0b
enable uk_UA locale; rebase translations
2019-01-16 10:20:23 +03:00
Andrew Dolgov
1351ce370a
truncate_middle: make it utf8 aware
2018-12-24 12:44:10 +03:00
Andrew Dolgov
a5517fe857
fetch_file_contents: decompress gzipped data
...
af_readability: remove utf8 preamble hack
2018-12-21 17:50:16 +03:00
Andrew Dolgov
957c44d177
rework git update checking to be initiated by frontend, outside of runtime info output
2018-12-16 19:05:37 +03:00
Andrew Dolgov
d53cdaf815
requestCounters: remove cooldown
2018-12-12 20:06:44 +03:00
Andrew Dolgov
25ca144bb7
score: get correct classes for rows/score icons on the client
2018-12-11 10:00:54 +03:00
Andrew Dolgov
7e5c999146
show alert if recent_log_events > 0
2018-12-10 10:53:11 +03:00
Andrew Dolgov
51de0ce807
runtime info: return count of recent eventlog entries
2018-12-10 10:44:28 +03:00
Andrew Dolgov
1c8593c1fa
add hotkey (a N) to toggle night.css
2018-12-09 21:17:50 +03:00
Andrew Dolgov
703351c79e
remove theme supports-version etc checking
2018-12-09 11:37:26 +03:00
Andrew Dolgov
3e4326e34d
add ttrss_filters2.last_triggered (bump schema version)
2018-12-06 19:37:20 +03:00
Andrew Dolgov
a01c33d654
add HOOK_FILTER_TRIGGERED (for filter debugging)
2018-12-06 19:15:00 +03:00
Andrew Dolgov
0b8cbc9156
remove some bitmaps and rework stuff using it to use iconfont instead
2018-12-06 15:22:52 +03:00
Andrew Dolgov
15d05e8a26
night.css: do not import default less theme statically
...
remove themes/default.php (not needed)
compact.css: fixes
2018-12-06 14:49:33 +03:00
Andrew Dolgov
d2d2cb7e7d
rework scoring display, JS processing and icons
2018-12-06 14:23:45 +03:00
Andrew Dolgov
197e80add6
fix several issues related to profile being set to a non-numeric value
2018-12-04 10:47:01 +03:00
Andrew Dolgov
d9c5c93cef
move some more stuff out of common.js
...
rework client-side cookie functions a bit
limit dojo cachebust based on server scripts modification time
remove param_escape()
2018-12-02 20:07:57 +03:00
Andrew Dolgov
f89924f7a1
set use strict on JS modules; remove some mostly useless stuff like get_minified_js()
2018-12-02 18:38:27 +03:00
Andrew Dolgov
874560db54
remove obsolete row selection functions
...
move getUrlParam() to Utils
2018-12-02 10:33:58 +03:00
Andrew Dolgov
5aa9c60494
bring back (debloated) version of unexpanded combined mode
2018-12-01 01:03:01 +03:00
Andrew Dolgov
bf1b89d0f1
enable c-up/down hotkeys even out of cdm
2018-12-01 00:20:09 +03:00
Andrew Dolgov
50052fb78a
strip_harmful_tags: remove data- attributes
2018-11-30 15:02:01 +03:00
Andrew Dolgov
9563e3bcd6
remove expandable CDM headlines
2018-11-30 13:51:54 +03:00
Andrew Dolgov
fc0a3050eb
use xhrPost is even more places!
2018-11-30 09:23:51 +03:00
Andrew Dolgov
c10a43069e
debug logging system rework:
...
* support various logging levels per-message
* remove hacks like debug_suppress, DAEMON_EXTENDED_DEBUG, etc
* _debug() is kept as a compatibility shim for plugins
2018-11-30 08:34:29 +03:00
Andrew Dolgov
5f66f872b6
fix session write handler always assuming that database entry exists and failing silently if it doesn't; remove session cookie-related hacks
2018-10-16 14:07:42 +03:00
Andrew Dolgov
f8fc1ac543
login: check for stale session in login handler, instead of authenticate_user()
2018-10-16 11:39:12 +03:00
Andrew Dolgov
f730d7bb0a
another attempt to enforce session ID regeneration on login
2018-10-16 09:11:32 +03:00
Andrew Dolgov
9dadbdbb21
properly save auth_module after logging in
2018-10-16 07:34:22 +03:00
Andrew Dolgov
77aebd7e4a
it was probably not the best idea to use session_regenerate_id() right after session_start(), duh
2018-10-15 21:47:12 +03:00
Andrew Dolgov
65e98f4086
force regenerate session id on successful login, remove previous blank SID check
2018-10-15 15:47:50 +03:00
Andrew Dolgov
ec5687a62b
logout user: commit destroyed session
2018-10-14 22:50:45 +03:00
Andrew Dolgov
d2e1e60ecc
1. per-feed option STRIP_IMAGES should now also affect other media tags
...
2. video/audio elements were not replaced with text links properly in
low bandwidth mode
2018-09-07 09:55:43 +03:00
Andrew Dolgov
f3068c6397
send_local_file: touch() sent files to reset their expiration cooldown
2018-08-23 13:43:31 +03:00
Andrew Dolgov
02bb26a93f
rewrite_cached_urls: support video posters
2018-08-20 14:13:14 +03:00
Andrew Dolgov
a1b8651949
Revert "add (hidden) _NGINX_XACCEL_PREFIX which uses nginx X-Accel-Redirect to serve static files faster"
...
This reverts commit c5c3a0a2a8
.
2018-08-20 12:48:23 +03:00
Andrew Dolgov
2aef804f4b
split transparent rewriting of locally cached media URLs to execute after both sanitize() and HOOK_RENDER_ARTICLE to allow plugins work on original source URLs consistently
2018-08-20 12:12:32 +03:00
Andrew Dolgov
c5c3a0a2a8
add (hidden) _NGINX_XACCEL_PREFIX which uses nginx X-Accel-Redirect to serve static files faster
2018-08-20 09:14:10 +03:00
Andrew Dolgov
88adf3da1b
send_local_file: add application/octet-stream hack
...
cached_url: return original requested filename to save as
2018-08-16 12:16:51 +03:00
Andrew Dolgov
a9105e2a61
move JShrink Minifier to vendor/
2018-06-20 15:04:59 +03:00
Andrew Dolgov
68d9c412ea
fetch_file_contents: allow setting http Accept header
2018-05-25 14:25:08 +03:00
Andrew Dolgov
f0dbfedc81
increase buffersize to 16384 bytes
...
(also some trailing whitespace got clipped)
2018-05-23 10:40:28 +03:00
Alexander Yaburov
74a98a6ff2
increased CURLOPT_BUFFERSIZE from 128 to 256
2018-05-23 10:02:03 +05:00
Andrew Dolgov
b14f6d58b4
implement hard limits on downloaded data size for general fetching and cache plugins: MAX_DOWNLOAD_FILE_SIZE & MAX_CACHE_FILE_SIZE
2018-05-20 11:08:33 +03:00
foobar
2008ec4ed7
change filter rule regexp type to text
2018-04-14 14:11:29 +02:00
JustAMacUser
905ff10dc9
Allow abbr tag when sanitizing.
2018-02-27 16:06:10 +00:00
Andrew Dolgov
e7c9bc60ec
fix previous wrt if-modified-since being added to context options headers
2018-02-25 14:22:46 +03:00
Metallizzer
dd597297cb
Обновить 'include/functions.php'
...
The "Connection: close" header is added to the context_options
2018-02-25 10:03:09 +00:00
Andrew Dolgov
3d7db21602
Merge branch 'master' of git.fakecake.org:tt-rss
2018-02-12 09:37:31 +03:00
Andrew Dolgov
8babb8e75a
sanitize: disallow width and height attributes for images
2018-02-11 16:47:19 +03:00
fox
1aeb282be1
Merge branch 'save-effective-url' of JustAMacUser/tt-rss into master
2018-02-11 08:57:12 +00:00
JustAMacUser
7ae05ed790
Have fetch_file_contents() save the effective URL.
2018-02-11 07:56:28 +00:00
Andrew Dolgov
2eaf2a1f36
tag_is_valid: simplify code
2018-02-11 10:26:33 +03:00
Andrew Dolgov
7f4a404566
include: convert some spaces to tabs
2018-01-30 10:44:31 +03:00
martin scharm
32dc9ec854
undocumenting the proxy settings [see #36 ]
...
in response to https://git.tt-rss.org/git/tt-rss/pulls/36#issuecomment-119
2018-01-18 08:48:53 +01:00
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
2018-01-17 12:28:47 +01:00
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.
2018-01-14 00:30:22 +01:00
Andrew Dolgov
9274109c19
search_to_sql: quote fallback search language
2017-12-30 16:27:05 +03:00
JustAMacUser
56c2216295
Add missing quotes to array_map.
2017-12-30 01:00:56 -05:00
Andrew Dolgov
bed2d6e054
force-cast some variables used in queries to integer
...
do not display SQL query in headlines debug mode
2017-12-17 16:24:13 +03:00
Andrew Dolgov
7651b6e2cd
sanitize: disable referrer via referrerpolicy for img elements
2017-12-13 20:07:10 +03:00
Andrew Dolgov
76fc7a2d9c
bool_to_sql_bool: for some reason PDO really likes integers for boolean columns
...
incidentally this fixes OPML filter import
2017-12-06 00:12:28 +03:00
Andrew Dolgov
c4a08e4ff0
remove mentions of deprecated.js
2017-12-05 07:09:01 +03:00
Andrew Dolgov
e6532439d6
force strip_tags() on all user input unless explicitly allowed
2017-12-03 23:35:38 +03:00
Andrew Dolgov
fa3bcfa379
queryfeedheadlines: there's no need to quote order_by/override_order
...
else: feedicon cache busting etc
2017-12-03 22:49:57 +03:00
Andrew Dolgov
7c0eb1b621
add defaultPasswordWarning nag dialog
2017-12-03 20:46:27 +03:00
Andrew Dolgov
bfebf57c5f
get_theme_path: fallback to css/default.css if default theme is selected
2017-12-03 14:17:25 +03:00
Andrew Dolgov
2cf93c046c
pref-users: fix sorting the table
2017-12-03 13:54:31 +03:00
Andrew Dolgov
8ff3cbb32e
filters: remove sql_bool_to_bool()
...
checkbox_to_sql_bool: return ints (???)
2017-12-03 09:26:11 +03:00
Andrew Dolgov
ed5cd6eae5
get_feed_access_key: param type bullshit
2017-12-03 00:25:12 +03:00
Andrew Dolgov
7d960ce7e9
auth_internal: use PDO + other fixes
2017-12-03 00:18:08 +03:00
Andrew Dolgov
4ee398a41e
Merge branch 'master' of git.fakecake.org:tt-rss into pdo-experimental
2017-12-02 23:13:49 +03:00
Andrew Dolgov
1e78803c44
search_to_sql: leftover tsquery query fix for pgsql
2017-12-02 23:11:28 +03:00
Andrew Dolgov
a2d77092fe
search_to_sql: quoting fix
2017-12-02 22:58:59 +03:00
Andrew Dolgov
0002e598f8
sql_bool_to_bool: backwards compat fix
2017-12-02 22:39:34 +03:00
Andrew Dolgov
e4befe6bf4
fix label cache being double escaped on save
...
remove some old-style escaping
2017-12-02 15:47:53 +03:00
Andrew Dolgov
ef83c69404
more boolean fixes
2017-12-02 14:13:16 +03:00
Andrew Dolgov
da9ea57d1c
checkbox to sql bool related changes, some more boolean fixes
2017-12-02 14:07:48 +03:00
Andrew Dolgov
7ccb4e91ff
boolean handling changes which probably won't break everything
2017-12-02 14:02:01 +03:00
Andrew Dolgov
c949a9282e
OPML: use PDO; minor fixes
2017-12-02 01:08:30 +03:00
Andrew Dolgov
fbe7cb0a48
rpc: switch to PDO
2017-12-01 23:49:14 +03:00
Andrew Dolgov
ecf6baaa1c
fix add_feed_category
2017-12-01 22:17:04 +03:00
Andrew Dolgov
cc9450c309
ccache, misc: fixes
...
feeds: start PDO transition
2017-12-01 19:42:02 +03:00
Andrew Dolgov
1271407eea
public: partial conversion to PDO, misc fixes
2017-12-01 18:57:34 +03:00
Andrew Dolgov
cab58c44ae
some minor PDO-related fixes
2017-12-01 18:26:53 +03:00
Andrew Dolgov
c9d5c26041
auth/base: PDO
...
functions: fix small pdo-related bug
2017-12-01 17:40:53 +03:00
Andrew Dolgov
fdda3e4efb
pdo pdo pdo
2017-12-01 14:50:10 +03:00
Andrew Dolgov
4d13514dd4
sessions: PDO
2017-12-01 14:48:23 +03:00
Andrew Dolgov
a21f7495ae
more pdo stuff
2017-12-01 14:39:24 +03:00
Andrew Dolgov
90dafaa9f6
add qmarks function
2017-12-01 12:44:54 +03:00
Andrew Dolgov
b78a6f08b6
more pdo stuff i guess
2017-12-01 12:42:18 +03:00
Andrew Dolgov
7c4d7bce3f
increase default of MAX_CONDITIONAL_INTERVAL to 12 hours
2017-12-01 11:51:46 +03:00
Andrew Dolgov
8aa568b3a2
some more pdo stuff
2017-12-01 10:35:22 +03:00
Andrew Dolgov
bfc54b0369
Merge branch 'pdo-experimental' of git.fakecake.org:tt-rss into pdo-experimental
2017-12-01 10:17:36 +03:00
Andrew Dolgov
e50c8eaa4e
enforce unconditional requests every 6 hours even if server claims data is not modified
2017-11-30 13:12:28 +03:00
Andrew Dolgov
ecd2e414bd
add ttrss_feeds.last_unconditional (schema bump)
2017-11-30 12:55:50 +03:00
Andrew Dolgov
8adb3ec472
add some WIP pdo stuff
2017-11-30 12:28:07 +03:00
Andrew Dolgov
0b68b1629e
add a sanity check for tt-rss myisam tables
2017-11-27 20:09:02 +03:00
woxcab
6eeeec4838
Allow <hr> tag in the RSS item' description
2017-11-03 10:23:29 +03:00
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
2017-10-30 13:13:10 +03:00
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
2017-10-08 17:14:56 +03:00
wn_
701c5a7ee4
get_favicon_url: only check base elements with href attribute
2017-10-01 15:47:31 -05:00
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
2017-10-01 14:25:12 -05:00
Andrew Dolgov
153cb6d305
add support for http 304 not modified (no timestamp calculation bullshit like last time)
2017-08-17 14:40:21 +03:00
Andrew Dolgov
5e78b0c253
do not base headlines label context submenu on feed tree labels category
2017-07-30 11:55:30 +03:00
Natan Frei
e234ac8dcb
$_SERVER['HTTPS'] can be exists and 'off' for non-https connectios
2017-07-17 00:44:48 +03:00
Andrew Dolgov
9f7bd151c6
hopefully unify handling of server HTTPS variables where needed, use scheme based on SELF_URL_PATH otherwise
2017-07-10 16:20:40 +03:00
Andrew Dolgov
b2d42e960b
replace some usages of SELF_URL_PATH with get_self_url_prefix()
2017-07-06 23:01:44 +03:00
Andrew Dolgov
10a1f28f7c
schema: updates for new filter format (bump version to 131)
2017-07-02 20:59:24 +03:00
Andrew Dolgov
02f3992a5a
Revert "Revert "filters: support matching on multiple feeds/categories""
...
This reverts commit f5d174bda9
.
2017-07-02 20:37:52 +03:00
Andrew Dolgov
f5d174bda9
Revert "filters: support matching on multiple feeds/categories"
...
This reverts commit 0bf7e007bb
.
2017-07-02 20:37:01 +03:00
Andrew Dolgov
0bf7e007bb
filters: support matching on multiple feeds/categories
...
opml: update filter export/import for new format
2017-07-02 20:27:21 +03:00
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
2017-05-29 23:14:42 +03:00
Andrew Dolgov
5b6ea1ef91
remove pubsubhubbub: dead
2017-05-16 10:41:20 +03:00
Andrew Dolgov
c114a2596f
move add_feed_url() to pref_feeds
2017-05-11 09:07:49 +03:00
Andrew Dolgov
4fd0790804
fix DAEMON_SLEEP_INTERVAL not being defined when used
...
enforce minimum 60 sec spawn/sleep interval in update processes
2017-05-06 10:54:14 +03:00
Andrew Dolgov
65af3b2cbb
move counter stuff to a separate class
2017-05-05 11:54:31 +03:00
Andrew Dolgov
7c9b5a3fe4
move label stuff to Labels class
...
fix some unresolved functions
2017-05-04 15:57:40 +03:00
Andrew Dolgov
0086a89740
move some label stuff to labels.php
...
move getfeedcategory() to Feeds
2017-05-04 15:36:36 +03:00
Andrew Dolgov
904aff7667
abs_to_rel_path: removed
2017-05-04 15:28:21 +03:00
Andrew Dolgov
2ed0d6c433
move counter cache to a separate class
...
fix references to get_article_tags
2017-05-04 15:22:57 +03:00
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
2017-05-04 15:13:02 +03:00
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) {
2017-05-04 15:00:21 +03:00
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) {
2017-05-04 14:50:56 +03:00
Andrew Dolgov
9549e33c2c
move some common control-generating functions to controls.php
2017-05-04 14:22:23 +03:00
Andrew Dolgov
7b55001eee
fix various issues reported by static analysis
...
update gitlab-ci config
2017-04-26 15:29:22 +03:00
Andrew Dolgov
337535416f
filter by search results while marking feed as read
2017-03-31 11:21:35 +03:00
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
2017-03-04 14:34:44 +03:00
Andrew Dolgov
dc8bd8a640
add some print_checkbox/print_button calls; rename some plugin preference pane titles
2017-02-10 14:57:25 +03:00
Andrew Dolgov
8cf37284e7
af_zz_imgproxy: add optional setting to proxy all remote images
...
functions: add some form helper methods
2017-02-10 14:17:18 +03:00
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
2017-01-28 12:45:49 +03:00
Andrew Dolgov
e934d63e0c
fetch_file_contents: rework the way shim works to prevent intermittent warnings
2017-01-24 15:11:13 +03:00
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
2017-01-22 20:20:35 +03:00
JustAMacUser
fabfb9fc2a
Added support to fetch_file_contents() to explicitly set CURLOPT_FOLLOWLOCATION.
2017-01-22 02:12:09 -05:00
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>
2017-01-21 15:01:14 -05:00
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
2017-01-07 14:25:46 +03:00
Andrew Dolgov
3bba9c396f
fetch_file_contents: set timeout when not using CURL
2016-10-24 16:12:18 +03:00
John Brayton
401eb0f694
Specify feed_id as an int rather than a string.
2016-08-28 20:08:37 -04:00
John Brayton
f1b3b3f330
Add feed_id to subscribeToFeed response when the code is 1 or 0.
...
Set the API_LEVEL to 14.
2016-08-27 10:29:25 -04:00
Andrew Dolgov
5cbd1fe8e4
perform housekeeping tasks for plugins loaded in user-context only
2016-08-11 15:01:01 +03:00
Andrew Dolgov
e6905f7f87
test if mb_internal_encoding() is available in functions.php head
2016-07-07 10:02:55 +03:00
Andrew Dolgov
c71add385d
fetch_file_contents: fix shim when invoked with 1 argument only
2016-03-31 09:48:05 +03:00
Andrew Dolgov
465fb16d33
remove fetch_file_contents2, use a compat shim instead
2016-03-30 13:46:32 +03:00
Andrew Dolgov
e3bc4591af
add a hash-based fetch_file_contents2()
2016-03-30 13:25:32 +03:00