From 01154166057e7cf289318a8cfa4d43716f26ca20 Mon Sep 17 00:00:00 2001 From: Kyle Meyer Date: Sat, 10 Dec 2022 16:59:46 -0500 Subject: Update to Org 9.6-31-g954a95 --- lisp/org/org-persist.el | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'lisp/org/org-persist.el') diff --git a/lisp/org/org-persist.el b/lisp/org/org-persist.el index 108292f1e92..1a32ed01020 100644 --- a/lisp/org/org-persist.el +++ b/lisp/org/org-persist.el @@ -161,7 +161,7 @@ (declare-function org-at-heading-p "org" (&optional invisible-not-ok)) -(defconst org-persist--storage-version "2.5" +(defconst org-persist--storage-version "2.7" "Persistent storage layout version.") (defgroup org-persist nil @@ -856,9 +856,16 @@ When IGNORE-RETURN is non-nil, just return t on success without calling (setq associated (org-persist--normalize-associated (get-file-buffer (plist-get associated :file))))) (let ((collection (org-persist--get-collection container associated))) (setf collection (plist-put collection :associated associated)) - (unless (seq-find (lambda (v) - (run-hook-with-args-until-success 'org-persist-before-write-hook v associated)) - (plist-get collection :container)) + (unless (or + ;; Prevent data leakage from encrypted files. + ;; We do it in somewhat paranoid manner and do not + ;; allow anything related to encrypted files to be + ;; written. + (and (plist-get associated :file) + (string-match-p epa-file-name-regexp (plist-get associated :file))) + (seq-find (lambda (v) + (run-hook-with-args-until-success 'org-persist-before-write-hook v associated)) + (plist-get collection :container))) (when (or (file-exists-p org-persist-directory) (org-persist--save-index)) (let ((file (org-file-name-concat org-persist-directory (plist-get collection :persist-file))) (data (mapcar (lambda (c) (cons c (org-persist-write:generic c collection))) -- cgit v1.2.1