mirror of
https://github.com/penpot/penpot.git
synced 2025-05-12 13:56:37 +02:00
Merge branch 'staging' into develop
This commit is contained in:
commit
46b55822dc
4 changed files with 17 additions and 6 deletions
|
@ -140,7 +140,7 @@
|
|||
[middleware/errors errors/handle]
|
||||
[middleware/cookies]]}
|
||||
|
||||
["/svg" {:post svgparse}]
|
||||
["/svg/parse" {:post svgparse}]
|
||||
["/feedback" {:middleware [(:middleware session)]
|
||||
:post feedback}]
|
||||
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
[app.common.exceptions :as ex]
|
||||
[app.metrics :as mtx]
|
||||
[clojure.spec.alpha :as s]
|
||||
[clojure.tools.logging :as log]
|
||||
[clojure.xml :as xml]
|
||||
[integrant.core :as ig])
|
||||
(:import
|
||||
|
@ -45,14 +46,24 @@
|
|||
{:status 200
|
||||
:body (process-request body)})
|
||||
|
||||
(defn secure-factory
|
||||
[s ch]
|
||||
(.. (doto (javax.xml.parsers.SAXParserFactory/newInstance)
|
||||
(.setFeature javax.xml.XMLConstants/FEATURE_SECURE_PROCESSING true)
|
||||
(.setFeature "http://apache.org/xml/features/disallow-doctype-decl" true))
|
||||
(newSAXParser)
|
||||
(parse s ch)))
|
||||
|
||||
(defn parse
|
||||
[data]
|
||||
(try
|
||||
(with-open [istream (IOUtils/toInputStream data "UTF-8")]
|
||||
(xml/parse istream))
|
||||
(catch Exception _e
|
||||
(xml/parse istream secure-factory))
|
||||
(catch Exception e
|
||||
(log/warnf "error on processing svg: %s" (ex-message e))
|
||||
(ex/raise :type :validation
|
||||
:code :invalid-svg-file))))
|
||||
:code :invalid-svg-file
|
||||
:cause e))))
|
||||
|
||||
(defn process-request
|
||||
[body]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue