<div dir="ltr">Looks great. Thanks, Jay.<div><br></div><div>Robby</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Nov 27, 2013 at 8:24 PM, Jay McCarthy <span dir="ltr"><<a href="mailto:jay@racket-lang.org" target="_blank">jay@racket-lang.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I left the other commit in place so that even if users customize<br>
download? and install? the command-line tool will continue to work.<br>
<br>
Jay<br>
<div><div class="h5"><br>
On Wed, Nov 27, 2013 at 7:23 PM,  <<a href="mailto:jay@racket-lang.org">jay@racket-lang.org</a>> wrote:<br>
> jay has updated `master' from c980182b6b to 1741e1b0d1.<br>
>   <a href="http://git.racket-lang.org/plt/c980182b6b..1741e1b0d1" target="_blank">http://git.racket-lang.org/plt/c980182b6b..1741e1b0d1</a><br>
><br>
> =====[ 2 Commits ]======================================================<br>
> Directory summary:<br>
>   44.7% pkgs/planet-pkgs/planet-doc/planet/<br>
>   55.2% racket/collects/planet/private/<br>
><br>
> ~~~~~~~~~~<br>
><br>
> 680b6f4 Jay McCarthy <<a href="mailto:jay@racket-lang.org">jay@racket-lang.org</a>> 2013-11-27 19:09<br>
> :<br>
> | Revert "Remove arbitrary code execution exploit from Racket and DrRacket"<br>
> |<br>
> | This reverts commit cf1755fc173cef39c3c4592011623269735084c0.<br>
> :<br>
>   M racket/collects/planet/private/resolver.rkt | 8 ++++----<br>
><br>
> ~~~~~~~~~~<br>
><br>
> 1741e1b Jay McCarthy <<a href="mailto:jay@racket-lang.org">jay@racket-lang.org</a>> 2013-11-27 19:22<br>
> :<br>
> | Explain how to control whether Planet auto-installation is enabled<br>
> :<br>
>   M pkgs/planet-pkgs/planet-doc/planet/planet.scrbl | 10 ++++++++++<br>
><br>
> =====[ Overall Diff ]===================================================<br>
><br>
> pkgs/planet-pkgs/planet-doc/planet/planet.scrbl<br>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
> --- OLD/pkgs/planet-pkgs/planet-doc/planet/planet.scrbl<br>
> +++ NEW/pkgs/planet-pkgs/planet-doc/planet/planet.scrbl<br>
> @@ -8,6 +8,7 @@<br>
>       planet/util<br>
>       planet/version<br>
>       planet/syntax<br>
> +     planet/resolver<br>
>       planet/scribble)<br>
>     scribble/bnf)<br>
><br>
> @@ -160,6 +161,15 @@ Once that is complete, PLaneT will use that version of the<br>
>  package for any subsequent @racket[require]s and won't try<br>
>  to use the network.<br>
><br>
> +If you wish to ensure that PLaneT won't use the network even if your<br>
> +operating system allows it, you can use the @racket[download?]<br>
> +parameter of the @racketmodname[planet/resolver] module to control<br>
> +whether it attempts to download files. Similarly, you can use the<br>
> +@racket[install?] parameter to prevent installation. Finally, you can<br>
> +block access at the operating system level to the path returned by<br>
> +@racket[(PLANET-BASE-DIR)] to control which operating system users can<br>
> +install PLaneT packages.<br>
> +<br>
>  @subsection{Fine-Grained Control Over Package Imports}<br>
><br>
>  The PLaneT client is designed to balance two competing goals:<br>
><br>
> racket/collects/planet/private/resolver.rkt<br>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
> --- OLD/racket/collects/planet/private/resolver.rkt<br>
> +++ NEW/racket/collects/planet/private/resolver.rkt<br>
> @@ -219,9 +219,9 @@ See the scribble documentation on the planet/resolver module.<br>
>           (struct-out exn:fail:planet))<br>
><br>
>  ;; if #f, will not install packages and instead raise a exn:fail:install? error<br>
> -(define install? (make-parameter #f))<br>
> +(define install? (make-parameter #t))<br>
>  ;; if #f, will not download packages and instead raise a exn:fail:install? error<br>
> -(define download? (make-parameter #f))<br>
> +(define download? (make-parameter #t))<br>
>  (define-struct (exn:fail:planet exn:fail) ())<br>
><br>
>  ;; update doc index only once for a set of installs:<br>
> @@ -541,7 +541,7 @@ See the scribble documentation on the planet/resolver module.<br>
>    (unless (download?)<br>
>      (raise (make-exn:fail:planet<br>
>              (format<br>
> -             "PLaneT error: cannot download package ~s without permission. Give permission with download? parameter or use 'raco planet install'"<br>
> +             "PLaneT error: cannot download package ~s since the download? parameter is set to #f"<br>
>               (list (car (pkg-spec-path pkg)) (pkg-spec-name pkg)))<br>
>              (current-continuation-marks))))<br>
>    ((if (USE-HTTP-DOWNLOADS?) download-package/http download-package/planet)<br>
> @@ -577,7 +577,7 @@ See the scribble documentation on the planet/resolver module.<br>
>    (unless (install?)<br>
>      (raise (make-exn:fail:planet<br>
>              (format<br>
> -             "PLaneT error: cannot install package ~s without permission. Give permission with download? parameter or use 'raco planet install'"<br>
> +             "PLaneT error: cannot install package ~s since the install? parameter is set to #f"<br>
>               (list (car pkg-path) pkg-name maj min))<br>
>              (current-continuation-marks))))<br>
>    (define owner (car pkg-path))<br>
</div></div>_________________________<br>
  Racket Developers list:<br>
  <a href="http://lists.racket-lang.org/dev" target="_blank">http://lists.racket-lang.org/dev</a><br>
</blockquote></div><br></div>