PROBLEM: :legacy-mode :auto/true thawing was resulting in JVM core dumps when attempting to use Snappy to decompress encrypted data. CAUSE: The org.iq80.snappy implementation seems to choke on the random IV byte data being generated by the AES128 encrypter. This may or may not be a bug (still awaiting feedback from lib's authors). SOLUTION: We're only susceptible to this issue when trying to decompress data that is: a) encrypted, b) being thawed in legacy mode. In particular, we're _not_ susceptible to this issue when thawing in non-legacy mode because in that case we have a header explicitly warning us that the data is encrypted. An obvious work-around, therefore, is just to disable decryption when attempting to thaw legacy-mode data. In practice this isn't a problem because older versions of Nippy didn't support encryption anyway.
23 lines
1.2 KiB
Clojure
23 lines
1.2 KiB
Clojure
(defproject com.taoensso/nippy "2.0.0-alpha7"
|
|
:description "Clojure serialization library"
|
|
:url "https://github.com/ptaoussanis/nippy"
|
|
:license {:name "Eclipse Public License"
|
|
:url "http://www.eclipse.org/legal/epl-v10.html"}
|
|
:dependencies [[org.clojure/clojure "1.4.0"]
|
|
[expectations "1.4.43"]
|
|
[org.iq80.snappy/snappy "0.3"]]
|
|
:profiles {:1.4 {:dependencies [[org.clojure/clojure "1.4.0"]]}
|
|
:1.5 {:dependencies [[org.clojure/clojure "1.5.1"]]}
|
|
:dev {:dependencies []}
|
|
:test {:dependencies [[org.xerial.snappy/snappy-java "1.0.5-M3"]]}
|
|
:bench {:dependencies []
|
|
:jvm-opts ["-server" "-XX:+UseCompressedOops"]}}
|
|
:aliases {"test-all" ["with-profile" "test,1.4:test,1.5" "expectations"]
|
|
"test-auto" ["with-profile" "test" "autoexpect"]
|
|
"start-dev" ["with-profile" "dev,test,bench" "repl" ":headless"]
|
|
"start-bench" ["trampoline" "start-dev"]}
|
|
:plugins [[lein-expectations "0.0.7"]
|
|
[lein-autoexpect "0.2.5"]
|
|
[codox "0.6.4"]]
|
|
:min-lein-version "2.0.0"
|
|
:warn-on-reflection true)
|