From 734cec2e3bb24799869462e57853f99b8d89b294 Mon Sep 17 00:00:00 2001 From: sterni Date: Tue, 16 May 2023 16:11:00 +0200 Subject: [PATCH] refactor(3p/lisp/mime4cl): use qbase64 for decoding FILE-PORTIONs Porting over the rest of the decoding (RFC2047) and especially encoding over to qbase64 is still pending, as it is a little trickier. Change-Id: Id4740eb074a387aeea2cb94b781e204248530799 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8582 Autosubmit: sterni Reviewed-by: sterni Tested-by: BuildkiteCI --- third_party/lisp/mime4cl/default.nix | 1 + third_party/lisp/mime4cl/streams.lisp | 3 +-- users/sterni/mblog/config.lisp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/third_party/lisp/mime4cl/default.nix b/third_party/lisp/mime4cl/default.nix index 06a20f77c..99b23c91a 100644 --- a/third_party/lisp/mime4cl/default.nix +++ b/third_party/lisp/mime4cl/default.nix @@ -9,6 +9,7 @@ depot.nix.buildLisp.library { depot.third_party.lisp.flexi-streams depot.third_party.lisp.npg depot.third_party.lisp.trivial-gray-streams + depot.third_party.lisp.qbase64 ]; srcs = [ diff --git a/third_party/lisp/mime4cl/streams.lisp b/third_party/lisp/mime4cl/streams.lisp index b1c78d6d0..d49e73824 100644 --- a/third_party/lisp/mime4cl/streams.lisp +++ b/third_party/lisp/mime4cl/streams.lisp @@ -45,7 +45,6 @@ '(unsigned-byte 8)) (defclass quoted-printable-decoder-stream (coder-input-stream-mixin quoted-printable-decoder) ()) -(defclass base64-decoder-stream (coder-input-stream-mixin base64-decoder) ()) (defclass 8bit-decoder-stream (coder-input-stream-mixin 8bit-decoder) ()) (defclass quoted-printable-encoder-stream (coder-output-stream-mixin quoted-printable-encoder) ()) @@ -262,7 +261,7 @@ be modified to match the :POSITION argument." (make-instance (ccase encoding (:quoted-printable 'quoted-printable-decoder-stream) - (:base64 'base64-decoder-stream)) + (:base64 'qbase64:decode-stream)) :underlying-stream portion-stream) portion-stream)))) diff --git a/users/sterni/mblog/config.lisp b/users/sterni/mblog/config.lisp index 08e2a872f..0d4cbfe8a 100644 --- a/users/sterni/mblog/config.lisp +++ b/users/sterni/mblog/config.lisp @@ -28,4 +28,4 @@ (setf ,name (funcall ,parser ,val-var-sym)))))))) (define-configuration-variables - *general-buffer-size* 4096 #'parse-integer) + *general-buffer-size* (min 4096 qbase64:+max-bytes-length+) #'parse-integer)