Knut Petersen <knut_peter...@t-online.de> writes: > Hi everybody! > > Could someone please explain why we use ghostscript in -dNOSAFER > mode if the windows platform is used? > > (define-public (postscript->pdf paper-width paper-height > base-name tmp-name is-eps) > (let* ((pdf-name (string-append base-name ".pdf")) > (*unspecified* (if #f #f)) > (cmd > (remove (lambda (x) (eq? x *unspecified*)) > (list > (search-gs) > (if (ly:get-option 'verbose) *unspecified* "-q") > (if (or (ly:get-option 'gs-load-fonts) > (ly:get-option 'gs-load-lily-fonts) > (eq? PLATFORM 'windows)) > "-dNOSAFER" > "-dSAFER") > > Doesn't that mean that -dsafe is totaly broken on windows as it prevents > exploiting scheme but allows to use ghostscript as an unfriendly tool?!
Commit 11d5b22d4eb refactored the code badly: before that commit, Windows was called without -dSAFER option, afterwards it was called with explicit -dNOSAFER option. The original introduction was in commit 6a90fc4934c0c7ce8f2ac1bef7de3ec447ede3e2 Author: Jan Nieuwenhuizen <jann...@gnu.org> Date: Mon May 23 19:18:58 2005 +0000 * lily/main.cc (setup_paths)[__MINGW32__]: Normalize LILYPONDPREFIX. * lily/general-scheme.cc (ly:stderr-redirect): Rename from ly:port-move. Needs to be stderr-specific on mingw. Run fixcc. * lily/general-scheme.cc (ly:port-move): Remove. * scm/backend-library.scm (postscript->pdf): Remove -dSAFER in windows. * lily/main.cc (setup_paths) [ARGV0_RELOCATION]: Reinstate GS_* variables. This eliminates the need for a gs.bat wrapper, which opens a console. * scripts/lilypond-invoke-editor.scm (running-from-gui?): * scm/lily.scm (running-from-gui?): * lily/main.cc[MINGW]: Remove isatty inversion, this is an artifact of not compiling with -mwindows. * scm/editor.scm: Define PLATFORM. where it is mentioned in the commit message. No rationale is given in the patch itself, however it appears to be part of _another_ refactoring (different commit, apparently the Git conversion had problems) that also removes the following comment: - ;; gs on windows with -dSAFER fails on opening a - ;; file that has no group read permissions. - (if (eq? PLATFORM 'windows) "" "-dSAFER") The commit having added that comment (and apparently the ultimate source of the code refactored a few times afterwards) seems to be: commit d1ddb3de33c8811b914cccbafdf82549c4e76034 Author: Jan Nieuwenhuizen <jann...@gnu.org> Date: Sun May 15 23:44:07 2005 +0000 * scm/lily.scm (PLATFORM): Export. * scm/framework-ps.scm (write-preamble)[MINGW]: Use load-font-via-GS, ttftool or fopencookie is broken on windows. * scm/backend-library.scm (postscript->pdf)[MINGW]: Do not use -dSAFER, that is broken on windows. So the question is: has that apparent group read permission problem (?) been fixed in the last 13 years? Unless somebody has a clue, I lean towards just trying this out and waiting for problem reports. At least we should know more or less what to expect now. -- David Kastrup _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel