[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/dockerfile-mode a0faf92cc9 057/104: Use shell-quote-argume
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/dockerfile-mode a0faf92cc9 057/104: Use shell-quote-argument to protect against unsafe strings in commands |
Date: |
Sat, 29 Jan 2022 07:58:34 -0500 (EST) |
branch: elpa/dockerfile-mode
commit a0faf92cc986ef0100de3f820c7da0be52f1b35a
Author: Steve Purcell <steve@sanityinc.com>
Commit: Steve Purcell <steve@sanityinc.com>
Use shell-quote-argument to protect against unsafe strings in commands
File paths, args or directories containing quotes or spaces cannot
adequately be protected against by simple escaping with '"'.
---
dockerfile-mode.el | 35 ++++++++++++++---------------------
1 file changed, 14 insertions(+), 21 deletions(-)
diff --git a/dockerfile-mode.el b/dockerfile-mode.el
index e7f8899ba4..e1fa5e7bca 100644
--- a/dockerfile-mode.el
+++ b/dockerfile-mode.el
@@ -92,7 +92,7 @@ Each element of the list will be passed as a separate
(defun dockerfile-build-arg-string ()
"Create a --build-arg string for each element in `dockerfile-build-args'."
- (mapconcat (lambda (arg) (concat "--build-arg " "\"" arg "\""))
+ (mapconcat (lambda (arg) (concat "--build-arg " (shell-quote-argument arg)))
dockerfile-build-args " "))
(defun dockerfile-standard-filename (file)
@@ -117,18 +117,21 @@ This can be set in file or directory-local variables.")
;;;###autoload
-(defun dockerfile-build-buffer (image-name)
- "Build an image called IMAGE-NAME based upon the buffer."
- (interactive (list (dockerfile-read-image-name)))
+(defun dockerfile-build-buffer (image-name &optional no-cache)
+ "Build an image called IMAGE-NAME based upon the buffer.
+If prefix arg NO-CACHE is set, don't cache the image."
+ (interactive (list (dockerfile-read-image-name) prefix-arg))
(save-buffer)
(if (stringp image-name)
(async-shell-command
- (format "%sdocker build -t %s %s -f \"%s\" \"%s\""
- (if dockerfile-use-sudo "sudo " "")
- image-name
- (dockerfile-build-arg-string)
- (dockerfile-standard-filename (buffer-file-name))
- (dockerfile-standard-filename (file-name-directory
(buffer-file-name))))
+ (format
+ "%sdocker build %s -t %s %s -f %s %s"
+ (if dockerfile-use-sudo "sudo " "")
+ (if no-cache "--no-cache" "")
+ (shell-quote-argument image-name)
+ (dockerfile-build-arg-string)
+ (shell-quote-argument (dockerfile-standard-filename
(buffer-file-name)))
+ (shell-quote-argument (dockerfile-standard-filename
(file-name-directory (buffer-file-name)))))
"*docker-build-output*")
(print "dockerfile-image-name must be a string, consider surrounding it
with double quotes")))
@@ -136,17 +139,7 @@ This can be set in file or directory-local variables.")
(defun dockerfile-build-no-cache-buffer (image-name)
"Build an image called IMAGE-NAME based upon the buffer without cache."
(interactive (list (dockerfile-read-image-name)))
- (save-buffer)
- (if (stringp image-name)
- (async-shell-command
- (format "%s docker build --no-cache -t %s %s -f \"%s\" \"%s\""
- (if dockerfile-use-sudo "sudo" "")
- image-name
- (dockerfile-build-arg-string)
- (dockerfile-standard-filename (buffer-file-name))
- (dockerfile-standard-filename (file-name-directory
(buffer-file-name))))
- "*docker-build-output*")
- (print "dockerfile-image-name must be a string, consider surrounding it
with double quotes")))
+ (dockerfile-build-buffer image-name t))
;;;###autoload
(define-derived-mode dockerfile-mode prog-mode "Dockerfile"
- [nongnu] elpa/dockerfile-mode ed1d04c89c 095/104: fix: false positives caused by auto-mode-alist pattern, (continued)
- [nongnu] elpa/dockerfile-mode ed1d04c89c 095/104: fix: false positives caused by auto-mode-alist pattern, ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode 07dde72b0e 099/104: Add .elc files to .gitignore, ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode 5db94549ce 104/104: Add a toggle for auto indentation, ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode 29f60881d2 017/104: add a space after : in image name prompt, ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode 6b60974e74 027/104: Add autoload marker for `dockerfile-build-buffer`, ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode 2530eb8d01 013/104: Merge pull request #4 from vieux/master, ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode 2fbc75ed98 015/104: Merge pull request #5 from mikelaspina/autoload-auto-mode, ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode 8d18510480 028/104: Merge pull request #14 from Silex/master, ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode 9a75fcd119 034/104: Merge pull request #19 from giuseppe/giuseppe/color-label, ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode b99346c738 049/104: Add missing keywords shell and healthcheck., ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode a0faf92cc9 057/104: Use shell-quote-argument to protect against unsafe strings in commands,
ELPA Syncer <=
- [nongnu] elpa/dockerfile-mode 712302d04d 060/104: Drop unnecessary use of "format", ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode 37b7290b11 062/104: Add Homepage and Commentary headers, ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode 818e6946fc 073/104: Merge pull request #39 from Fuco1/feature/better-auto-mode-detection, ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode 11dc6eb095 088/104: fixed: and -> or, ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode 58b7380189 090/104: fix define-obsolete-function-alias error in Emacs28, ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode 33bd07b9b2 093/104: resolved conflict, ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode efab0b100b 097/104: Fix `M-x checkdoc` warnings, ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode 1e5e7a3c82 011/104: Merge pull request #3 from thomasf/master, ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode 95f55f3697 031/104: add dockerfile-build-no-cache-buffer, ELPA Syncer, 2022/01/29
- [nongnu] elpa/dockerfile-mode 363aca7803 087/104: added: dockerfile-indent-offset, ELPA Syncer, 2022/01/29