summary refs log tree commit diff
path: root/synapse/rest/media/v1 (follow)
Commit message (Expand)AuthorAgeFilesLines
* Provide more info why we don't have any thumbnails to serve (#13038)Eric Eastwood2022-07-151-2/+38
* Inline URL preview documentation. (#13261)Patrick Cloke2022-07-121-4/+58
* Uniformize spam-checker API, part 5: expand other spam-checker callbacks to r...David Teller2022-07-111-1/+3
* fix linting error from the 1.61.1 main -> develop mergeAndrew Morgan2022-06-281-1/+2
* Merge branch 'master' into developAndrew Morgan2022-06-281-24/+39
|\
| * Merge pull request from GHSA-22p3-qrh9-cx32reivilibre2022-06-281-24/+39
* | Add Cross-Origin-Resource-Policy header to thumbnail and download media endpo...Robert Long2022-06-272-2/+12
* | Improve URL previews for sites with only Twitter card information. (#13056)Patrick Cloke2022-06-161-17/+95
* | Uniformize spam-checker API, part 4: port other spam-checker callbacks to ret...David Teller2022-06-131-3/+4
|/
* Prevent local quarantined media from being claimed by media retention (#12972)Andrew Morgan2022-06-071-6/+16
* Do not break URL previews if an image is unreachable. (#12950)Patrick Cloke2022-06-061-6/+17
* Improve URL previews for some pages (#12951)Patrick Cloke2022-06-031-17/+35
* Fix potential thumbnail memory leaks. (#12932)Erik Johnston2022-06-012-135/+201
* Add config options for media retention (#12732)Andrew Morgan2022-05-311-1/+70
* Merge tag 'v1.60.0rc2' into developSean Quah2022-05-271-1/+9
|\
| * Improve URL previews by not including the content of media tags in the genera...reivilibre2022-05-261-1/+9
* | Correct annotation of `_iterate_over_text` (#12860)David Robertson2022-05-241-1/+1
|/
* URL preview cache expiry logs: INFO -> DEBUG, text clarifications (#12720)Andrew Morgan2022-05-121-9/+21
* Fix mypy against latest pillow stubs (#12671)David Robertson2022-05-091-3/+3
* Refactor and convert `Linearizer` to async (#12357)Sean Quah2022-04-051-3/+3
* Ensure the type of URL attributes is always str when matching against preview...Brendan Abolivier2022-03-311-2/+7
* Bump `black` and `click` versions (#12320)David Robertson2022-03-292-3/+3
* Clean-up logic for rebasing URLs during URL preview. (#12219)Patrick Cloke2022-03-162-48/+14
* Remove unnecessary pass statements. (#12206)Patrick Cloke2022-03-111-1/+0
* Use `ParamSpec` in type hints for `synapse.logging.context` (#12150)Sean Quah2022-03-081-2/+7
* Remove `HomeServer.get_datastore()` (#12031)Richard van der Hoff2022-02-234-4/+4
* Fetch images when previewing Twitter URLs. (#11985)AndrewRyanChama2022-02-221-1/+9
* Implement a content type allow list for URL previews (#11936)Denis Kasak2022-02-101-0/+8
* Pass the proper type when uploading files. (#11927)Patrick Cloke2022-02-071-4/+9
* Support rendering previews with data: URLs in them (#11767)Patrick Cloke2022-01-242-64/+191
* Fix preview of imgur and Tenor URLs. (#11669)Philippe Daouadi2022-01-182-13/+32
* Use auto_attribs/native type hints for attrs classes. (#11692)Patrick Cloke2022-01-131-3/+3
* Convert all namedtuples to attrs. (#11665)Patrick Cloke2021-12-301-6/+13
* Move HTML parsing to a separate file for URL previews. (#11566)Patrick Cloke2021-12-133-378/+407
* Fix media repository failing when media store path contains symlinks (#11446)Sean Quah2021-12-021-44/+71
* Merge branch 'master' into developSean Quah2021-11-232-43/+216
|\
| * Prevent the media store from writing outside of the configured directorySean Quah2021-11-192-43/+216
* | Add type hints to media repository storage module (#11311)Patrick Cloke2021-11-121-4/+4
* | Fix error in thumbnail generation (#11288)Neeeflix2021-11-101-4/+4
|/
* Merge remote-tracking branch 'origin/master' into developErik Johnston2021-11-021-3/+6
|\
| * Fix URL preview errors when previewing XML documents. (#11196)Patrick Cloke2021-10-271-3/+6
* | Handle missing Content-Type header when accessing remote media (#11200)Shay2021-11-012-2/+12
|/
* Ensure each charset is attempted only once during media preview. (#11089)Patrick Cloke2021-10-141-6/+28
* Attempt different character encodings when previewing a URL. (#11077)Patrick Cloke2021-10-141-41/+39
* Remove dead code from `MediaFilePaths` (#11056)Sean Quah2021-10-131-17/+0
* Be more lenient when parsing the version for oEmbed responses. (#11065)Patrick Cloke2021-10-132-8/+7
* Merge remote-tracking branch 'origin/release-v1.45' into developPatrick Cloke2021-10-121-1/+1
|\
| * Fix formatting string when oEmbed errors occur. (#11061)Patrick Cloke2021-10-121-1/+1
* | Update `_wrap_in_base_path` type hints to preserve function arguments (#11055)Sean Quah2021-10-121-3/+6
|/
* Autodiscover oEmbed endpoint from returned HTML (#10822)Patrick Cloke2021-10-082-38/+100
* Relax `ignore-missing-imports` for modules that have stubs now and update myp...David Robertson2021-10-082-29/+30
* Fix empty `url_cache_thumbnails/yyyy-mm-dd/` directories being left behind (#...Sean Quah2021-09-291-31/+43
* Avoid storing URL cache files in storage providers (#10911)Sean Quah2021-09-273-6/+16
* Fix race conditions when creating media store and config directories (#10913)Sean Quah2021-09-272-6/+3
* Use direct references for configuration variables (part 5). (#10897)Patrick Cloke2021-09-246-17/+21
* Add reactor to `SynapseRequest` and fix up types. (#10868)Erik Johnston2021-09-247-25/+23
* Use direct references for configuration variables (part 4). (#10893)Patrick Cloke2021-09-231-1/+3
* Include more information in oEmbed previews. (#10819)Patrick Cloke2021-09-222-5/+46
* Refactor oEmbed previews (#10814)Patrick Cloke2021-09-212-199/+272
* Add missing type hints to non-client REST servlets. (#10817)Patrick Cloke2021-09-157-25/+56
* Convert media repo's FileInfo to attrs. (#10785)Patrick Cloke2021-09-144-108/+139
* Request JSON for oEmbed requests (and ignore XML only providers). (#10759)Patrick Cloke2021-09-081-3/+23
* Use attrs internally for the URL preview code & add documentation. (#10753)Patrick Cloke2021-09-071-42/+79
* Allow configuration of the oEmbed URLs. (#10714)Patrick Cloke2021-08-312-142/+140
* Fix error when selecting between thumbnails with the same quality (#10684)Sean2021-08-251-9/+17
* Admin API to delete media for a specific user (#10558)Dirk Klimpel2021-08-111-2/+4
* Support underscores (in addition to hyphens) for charset detection. (#10410)sri-vidyut2021-07-271-2/+4
* Mitigate media repo XSSs on IE11. (#10468)Denis Kasak2021-07-271-0/+2
* Add a return type to parse_string. (#10438)Patrick Cloke2021-07-211-7/+3
* [pyupgrade] `synapse/` (#10348)Jonathan de Jong2021-07-191-2/+2
* Use inline type hints in `handlers/` and `rest/`. (#10382)Jonathan de Jong2021-07-165-15/+15
* Correct type hints for parse_string(s)_from_args. (#10137)Patrick Cloke2021-06-081-5/+6
* Fix /upload 500'ing when presented a very large image (#10029)Michael Telatynski2021-05-212-0/+11
* Remove various bits of compatibility code for Python <3.6 (#9879)Andrew Morgan2021-04-271-1/+1
* Improved validation for received requests (#9817)Richard van der Hoff2021-04-231-2/+0
* remove `HomeServer.get_config` (#9815)Richard van der Hoff2021-04-141-1/+1
* More robust handling of the Content-Type header for thumbnail generation (#9788)rkfg2021-04-141-0/+3
* Remove redundant "coding: utf-8" lines (#9786)Jonathan de Jong2021-04-1412-12/+0
* Add type hints to expiring cache. (#9730)Patrick Cloke2021-04-061-1/+1
* Make it possible to use dmypy (#9692)Erik Johnston2021-03-261-0/+2
* Import HomeServer from the proper module. (#9665)Patrick Cloke2021-03-237-7/+7
* Fix additional type hints from Twisted 21.2.0. (#9591)Patrick Cloke2021-03-123-3/+6
* Convert Requester to attrs (#9586)Richard van der Hoff2021-03-101-1/+2
* Handle image transparency better when thumbnailing. (#9473)Patrick Cloke2021-03-091-3/+8
* Use the proper Request in type hints. (#9515)Patrick Cloke2021-03-017-17/+22
* Add support for no_proxy and case insensitive env variables (#9372)Tim Leung2021-02-261-2/+1
* Return a 404 if we don't have the original fileErik Johnston2021-02-192-1/+8
* Regenerate exact thumbnails if missingErik Johnston2021-02-182-2/+49
* Update black, and run auto formatting over the codebase (#9381)Eric Eastwood2021-02-164-12/+26
* Fix some typos.Patrick Cloke2021-02-122-5/+5
* Handle additional errors when previewing URLs. (#9333)Patrick Cloke2021-02-081-19/+52
* Add check_media_file_for_spam spam checker hookErik Johnston2021-02-042-6/+65
* Try to recover from unknown encodings when previewing media. (#9164)Patrick Cloke2021-01-261-10/+34
* Return a 404 if no valid thumbnail is found. (#9163)Patrick Cloke2021-01-212-81/+158
* Add type hints to media rest resources. (#9093)Patrick Cloke2021-01-1511-164/+283
* Allow spam-checker modules to be provide async methods. (#8890)David Teller2020-12-111-10/+6
* Add X-Robots-Tag header to stop crawlers from indexing media (#8887)Aaron Raimist2020-12-081-0/+5
* Do not raise a 500 exception when previewing empty media. (#8883)Patrick Cloke2020-12-071-1/+5
* Do not 500 if the content-length is not provided when uploading media. (#8862)Patrick Cloke2020-12-041-1/+1
* Apply an IP range blacklist to push and key revocation requests. (#8821)Patrick Cloke2020-12-021-1/+1
* Fix race for concurrent downloads of remote media. (#8682)Erik Johnston2020-10-302-70/+125
* Add an admin api to delete local media. (#8519)Dirk Klimpel2020-10-262-1/+88
* Don't bother responding to client requests that have already disconnected (#8...Andrew Morgan2020-10-061-0/+6
* Fix bug in remote thumbnail search (#8438)Richard van der Hoff2020-10-021-20/+23
* fix a logging error in thumbnailer (#8435)Richard van der Hoff2020-10-011-1/+1
* Discard an empty upload_name before persisting an uploaded file (#7905)Will Hunt2020-09-292-3/+8
* Add type annotations to SimpleHttpClient (#8372)Richard van der Hoff2020-09-241-4/+10
* Use slots in attrs classes where possible (#8296)Patrick Cloke2020-09-141-1/+1
* Fix typos in comments.Patrick Cloke2020-09-141-2/+2
* Do not error when thumbnailing invalid files (#8236)Patrick Cloke2020-09-093-12/+76
* Include method in thumbnail media name (#7124)DeepBlueV7.X2020-09-082-1/+46
* Stop sub-classing object (#8249)Patrick Cloke2020-09-045-6/+6
* Remove unnecessary maybeDeferred calls (#8044)Patrick Cloke2020-08-071-2/+1
* Reduce unnecessary whitespace in JSON. (#7372)David Vo2020-08-071-2/+2
* Rename database classes to make some sense (#8033)Erik Johnston2020-08-051-1/+1
* Fix async/await calls for broken media providers. (#8027)Patrick Cloke2020-08-042-22/+20
* Convert the remaining media repo code to async / await. (#7947)Patrick Cloke2020-07-275-107/+130
* Support oEmbed for media previews. (#7920)Patrick Cloke2020-07-271-45/+220
* Convert more of the media code to async/await (#7873)Patrick Cloke2020-07-242-33/+42
* isort 5 compatibility (#7786)Will Hunt2020-07-051-2/+1
* Merge different Resource implementation classes (#7732)Erik Johnston2020-07-035-46/+14
* Support running multiple media repos. (#7706)Erik Johnston2020-06-171-3/+15
* Fetch from the r0 media path instead of the unspecced v1. (#7714)Patrick Cloke2020-06-171-4/+4
* Replace all remaining six usage with native Python 3 equivalents (#7704)Dagfinn Ilmari Mannsåker2020-06-163-13/+5
* Replace iteritems/itervalues/iterkeys with native versions. (#7692)Patrick Cloke2020-06-151-3/+1
* remove miscellaneous PY2 codeRichard van der Hoff2020-05-151-18/+9
* Reduce logging verbosity of URL cache cleanup. (#7295)Michael Kaye2020-04-221-2/+7
* Allow specifying the value of Accept-Language header for URL previews (#7265)Andrew Morgan2020-04-151-2/+6
* Set Referrer-Policy to no-referrer for media (#7009)Dionysis Grigoropoulos2020-03-231-0/+3
* Convert some of the media REST code to async/await (#7110)Patrick Cloke2020-03-203-111/+90
* Set charset to utf-8 when adding headers for certain text content types (#7044)The Stranjer2020-03-171-1/+24
* Clarify list/set/dict/tuple comprehensions and enforce via flake8 (#6957)Patrick Cloke2020-02-211-21/+19
* a bit of debugging for media storage providers (#6757)Richard van der Hoff2020-01-232-0/+7
* Fix typo in _select_thumbnailBrendan Abolivier2020-01-221-1/+1
* Fixup synapse.rest to pass mypy (#6732)Erik Johnston2020-01-203-11/+13
* Move background update handling out of storeErik Johnston2019-12-051-1/+1
* Fix: Pillow error when uploading RGBA image (#3325) (#6241)Filip Štědronský2019-12-021-1/+4
* Fix startup error when http proxy is defined. (#6421)Richard van der Hoff2019-11-261-2/+2
* Clean up newline quote marks around the codebase (#6362)Andrew Morgan2019-11-211-1/+1
* Merge pull request #6334 from matrix-org/rav/url_preview_limit_title_2Richard van der Hoff2019-11-051-1/+2
|\
| * Fix exception when OpenGraph tag values are intsRichard van der Hoff2019-11-051-1/+2
* | Merge branch 'develop' into rav/url_preview_limit_titleRichard van der Hoff2019-11-053-20/+26
|\ \ | |/ |/|
| * Support for routing outbound HTTP requests via a proxy (#6239)Richard van der Hoff2019-11-011-0/+2
| * Remove usage of deprecated logger.warn method from codebase (#6271)Andrew Morgan2019-10-313-15/+17
| * Address codestyle concernsMichael Kaye2019-10-241-1/+3
| * Delay printf until logging is required.Michael Kaye2019-10-241-6/+6
* | Apply suggestions from code reviewRichard van der Hoff2019-11-051-1/+1
* | Strip overlong OpenGraph data from url previewRichard van der Hoff2019-11-051-1/+19
|/
* Fix store_url_cache using bytesErik Johnston2019-10-101-2/+2
* add M_TOO_LARGE error code for uploading a too large file (#6151)Anshul Angaria2019-10-081-2/+6
* Log responder we are using. (#6139)Michael Kaye2019-10-071-1/+1
* media/thumbnailer: Better quality for 1-bit / 8-bit color palette images (#2142)Robert Swain2019-10-041-3/+11
* Remove double return statements (#5962)Andrew Morgan2019-09-031-1/+0
* fix thumbnail storage location (#5915)L0ric02019-09-021-1/+1
* Remove unnecessary parentheses around return statements (#5931)Andrew Morgan2019-08-302-4/+4
* Don't load the media repo when configured to use an external media repo (#5754)Amber Brown2019-08-131-1/+5
* Replace returnValue with return (#5736)Amber Brown2019-07-233-33/+31
* fix typo: backgroud -> backgroundAndrew Morgan2019-07-121-1/+1
* Move logging utilities out of the side drawer of util/ and into logging/ (#5606)Amber Brown2019-07-045-17/+13
* Fix media repo breaking (#5593)Amber Brown2019-07-021-0/+1
* Make the http server handle coroutine-making REST servlets (#5475)Amber Brown2019-06-295-68/+47
* Run Black. (#5482)Amber Brown2019-06-2011-401/+417
* Don't log exception when failing to fetch remote content.Erik Johnston2019-06-071-2/+4
* Fix error when downloading thumbnail with width/height param missing (#5258)Aaron Raimist2019-05-291-2/+2
* Fix image orientation when generating thumbnail (#5039)PauRE2019-05-162-0/+44
* Migrate all tests to use the dict-based config format instead of hanging item...Amber Brown2019-05-131-0/+1
* URL preview blacklisting fixes (#5155)Andrew Morgan2019-05-101-0/+10
* Prevent "producer not unregistered" message (#5009)Amber Brown2019-04-241-0/+4
* Remove periods from copyright headers (#5046)Andrew Morgan2019-04-111-1/+1
* fix incorrect encoding of filenames with spaces in (#2090)Matthew Hodgson2019-03-111-3/+51
* Fix parsing of Content-Disposition headers (#4763)Richard van der Hoff2019-02-271-20/+65
* Don't log stack trace when client has gone away during media download (#4738)Erik Johnston2019-02-251-2/+9
* Refactor request sending to have better excpetions (#4358)Erik Johnston2019-01-081-3/+4
* Fix IP URL previews on Python 3 (#4215)Amber Brown2018-12-221-2/+12
* Add 'sandbox' to CSP for media repo (#4284)David Baker2018-12-111-1/+2
* Move imports to one lineWill Hunt2018-12-101-4/+1
* Use `send_cors`Will Hunt2018-12-101-4/+1
* changelog & isortWill Hunt2018-12-091-1/+5
* Make /config more CORS-yWill Hunt2018-12-091-1/+3
* Fix Content-Disposition in media repository (#4176)Amber Brown2018-11-153-90/+110
* Use <meta> tags to discover the per-page encoding of html previews (#4183)Amber Brown2018-11-151-9/+22
* Fix URL preview bugs (type error when loading cache from db, content-type inc...Amber Brown2018-11-081-6/+16
* Delete the disused & unspecced identicon functionality (#4106)Amber Brown2018-10-292-70/+0
* Fix a number of flake8 errorsRichard van der Hoff2018-10-241-1/+1
* Correctly account for cpu usage by background threads (#4074)Richard van der Hoff2018-10-233-15/+23
* Fix bug where we raised StopIteration in a generatorErik Johnston2018-10-171-2/+5
* Merge pull request #3932 from matrix-org/erikj/auto_start_expiring_cachesRichard van der Hoff2018-09-251-1/+0
|\
| * Fix some instances of ExpiringCache not expiring cache itemsErik Johnston2018-09-211-1/+0
* | added "media-src: 'self'" to CSP for resources (#3578)Jérémy Farnaud2018-09-251-0/+1
|/
* Port rest/ to Python 3 (#3823)Amber Brown2018-09-124-38/+43
* Port over enough to get some sytests running on Python 3 (#3668)Amber Brown2018-08-201-5/+5
* Add GET media/v1/config (#3184)Will Hunt2018-08-162-1/+50
* Rename async to async_helpers because `async` is a keyword on Python 3.7 (#3678)Amber Brown2018-08-102-2/+2
* Refactor code for turning HttpResponseException into SynapseErrorRichard van der Hoff2018-08-011-1/+1
* Python 3: Convert some unicode/bytes uses (#3569)Amber Brown2018-08-021-1/+1
* Fix some looping_call calls which were broken in #3604Richard van der Hoff2018-07-262-2/+2
* Wrap a number of things that run in the backgroundRichard van der Hoff2018-07-252-2/+14
* check isort by travisKrombel2018-07-161-2/+2
* Use parse_{int,str} and assert from http.servletKrombel2018-07-133-6/+10
* run isortAmber Brown2018-07-0911-81/+71
* Attempt to be more performant on PyPy (#3462)Amber Brown2018-06-281-1/+2
* Pass around the reactor explicitly (#3385)Amber Brown2018-06-222-3/+7
* Merge pull request #3244 from NotAFile/py3-six-4Amber Brown2018-05-241-1/+2
|\
| * replace some iteritems with sixAdrian Tschira2018-05-191-1/+2
* | py3-ize url previewAdrian Tschira2018-05-191-3/+5
|/
* Set Server header in SynapseRequestRichard van der Hoff2018-05-104-5/+1
* Remove redundant request_handler decoratorRichard van der Hoff2018-05-104-26/+33
* Fix logcontext leak in media repoRichard van der Hoff2018-05-022-1/+4
* Merge pull request #3155 from NotAFile/py3-bytes-1Richard van der Hoff2018-04-301-3/+3
|\
| * more bytes stringsAdrian Tschira2018-04-291-3/+3
* | Merge pull request #3140 from matrix-org/rav/use_run_in_backgroundRichard van der Hoff2018-04-301-2/+3
|\ \
| * | Merge remote-tracking branch 'origin/develop' into rav/use_run_in_backgroundRichard van der Hoff2018-04-271-2/+7
| |\|
| * | Use run_in_background in preference to preserve_fnRichard van der Hoff2018-04-271-2/+3
* | | Merge pull request #3108 from NotAFile/py3-six-urlparseRichard van der Hoff2018-04-302-2/+2
|\ \ \ | |_|/ |/| |
| * | Use six.moves.urlparseAdrian Tschira2018-04-152-2/+2
| |/
* / Improve exception handling for background processesRichard van der Hoff2018-04-271-2/+7
|/
* Replace old-style raise with six.reraiseAdrian Tschira2018-04-061-1/+3
* Merge branch 'master' of github.com:matrix-org/synapse into developErik Johnston2018-03-191-1/+1
|\
| * Replace ujson with simplejsonErik Johnston2018-03-151-1/+1
* | Make store_file use store_into_fileErik Johnston2018-02-141-26/+11
* | Tell storage providers about new file so they can uploadErik Johnston2018-02-071-0/+6
* | Merge pull request #2791 from matrix-org/erikj/media_storage_refactorErik Johnston2018-02-053-12/+47
|\ \
| * | Use better file consumerErik Johnston2018-01-181-5/+10
| * | Ensure media is in local cache before thumbnailingErik Johnston2018-01-183-10/+40
* | | Handle url_previews with no content-typeRichard van der Hoff2018-02-021-21/+34
* | | Add federation_domain_whitelist option (#2820)Matthew Hodgson2018-01-221-2/+17
* | | Merge pull request #2814 from matrix-org/rav/fix_urlcache_thumbsRichard van der Hoff2018-01-191-0/+8
|\ \ \
| * | | Use the right path for url_preview thumbnailsRichard van der Hoff2018-01-191-0/+8
* | | | Fix storage provider bug introduced when renamed to store_localErik Johnston2018-01-181-1/+1
* | | | Merge pull request #2812 from matrix-org/erikj/media_storage_provider_configErik Johnston2018-01-182-20/+27
|\ \ \ \
| * | | | Missing staticmethodErik Johnston2018-01-181-0/+1
| * | | | Fixup commentsErik Johnston2018-01-181-2/+2
| * | | | Make storage providers more configurableErik Johnston2018-01-182-20/+26
| | |/ / | |/| |
* | | | Fix typo in thumbnail resource causing access times to be incorrectErik Johnston2018-01-181-2/+2
| |/ / |/| |
* | | Update last access time when thumbnails are viewedErik Johnston2018-01-171-0/+2
* | | Keep track of last access time for local mediaErik Johnston2018-01-171-7/+25
|/ /
* | Add docstringErik Johnston2018-01-171-1/+1
* | Use local varsErik Johnston2018-01-161-6/+2
* | Change _generate_thumbnails to take media_typeErik Johnston2018-01-162-7/+10
* | Move setting of file_id up to callerErik Johnston2018-01-162-13/+14
* | Fix typoErik Johnston2018-01-161-7/+10
* | Fix up log linesErik Johnston2018-01-162-7/+10
* | Correctly use server_name/file_id when generating/fetching remote thumbnailsErik Johnston2018-01-162-5/+8
* | Log when we respond with 404Erik Johnston2018-01-162-1/+8
* | Fix thumbnailing remote filesErik Johnston2018-01-162-2/+30
* | Merge pull request #2767 from matrix-org/erikj/media_storage_refactorErik Johnston2018-01-167-346/+843
|\ \
| * | Fix up commentsErik Johnston2018-01-122-7/+16
| * | Correctly reraise exceptionErik Johnston2018-01-121-2/+4
| * | Make Responder a context managerErik Johnston2018-01-122-9/+10
| * | Add missing class varErik Johnston2018-01-121-0/+3