File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Load Diff Large diffs are not rendered by default.
Original file line number Diff line number Diff line change 11(ns ^:no-doc taoensso.nippy.compression
2- " Private, implementation detail ."
2+ " Private compression utils, don't use ."
33 (:require
44 [taoensso.truss :as truss]
55 [taoensso.encore :as enc])
6+
67 (:import
78 [java.nio ByteBuffer]
89 [java.io
216217 " Different LZ4 modes no longer supported, prefer `lz4-compressor`."
217218 {:deprecated " v3.4.0-RC1 (2024-02-06)" }
218219 (LZ4Compressor. ))
220+
221+ (defn get-auto-compressor [compressor-id]
222+ (case compressor-id
223+ nil nil
224+ :snappy snappy-compressor
225+ :lzma2 lzma2-compressor
226+ :lz4 lz4-compressor
227+ :zstd zstd-compressor
228+ :no-header (truss/ex-info! " :auto not supported on headerless data." {})
229+ :else (truss/ex-info! " :auto not supported for non-standard compressors." {})
230+ (do (truss/ex-info! (str " Unrecognized :auto compressor id: " compressor-id)
231+ {:compressor-id compressor-id}))))
Original file line number Diff line number Diff line change 11(ns ^:no-doc taoensso.nippy.crypto
2- " Low-level crypto utils.
3- Private & alpha, very likely to change!"
2+ " Private low-level crypto utils, don't use!!"
43 (:refer-clojure :exclude [rand-nth])
54 (:require
65 [taoensso.truss :as truss]
Original file line number Diff line number Diff line change 11(ns ^:no-doc taoensso.nippy.encryption
2- " Private, implementation detail ."
2+ " Private encryption utils, don't use ."
33 (:require
44 [taoensso.truss :as truss]
55 [taoensso.encore :as enc]
113113 (do (fn [ salt-ba pwd] (crypto/take-ba 16 (crypto/sha512-key-ba salt-ba pwd (* Short/MAX_VALUE 5 )))))
114114 (enc/fmemoize (fn [_salt-ba pwd] (crypto/take-ba 16 (crypto/sha512-key-ba nil pwd (* Short/MAX_VALUE 64 )))))))
115115
116+ (defn get-auto-encryptor [encryptor-id]
117+ (case encryptor-id
118+ nil nil
119+ :aes128-gcm-sha512 aes128-gcm-encryptor
120+ :aes128-cbc-sha512 aes128-cbc-encryptor
121+ :no-header (truss/ex-info! " :auto not supported on headerless data." {})
122+ :else (truss/ex-info! " :auto not supported for non-standard encryptors." {})
123+ (do (truss/ex-info! (str " Unrecognized :auto encryptor id: " encryptor-id)
124+ {:encryptor-id encryptor-id}))))
125+
116126; ;;; Default implementation
117127
118128(comment
You can’t perform that action at this time.
0 commit comments