Installing packages via PAR::WebStart

The CPAN search utility at cpan.uwinnipeg.ca may be configured to provide links which can launch applications to This document describes how to set up and use this service, as well as some of the security implications involved.


Setup

The following steps should be carried out to prepare for using this service.

1. Initial configuration

You may have to carry out some initial configuration on your system.

2. Install PAR::WebStart

Install PAR::WebStart; Win32 ppm packages for ActivePerl 8xx and ActivePerl 6xx are available. Note that the Module::Signature dependency requires either gnupg or Crypt::OpenPGP; Win32 binary packages are available in both cases.

PAR::WebStart is a Perl implementation of Java's WebStart. PAR-WebStart is a helper application associated with a browser. When a user clicks on a link that points to a PNLP [PAR Network Launch Protocol] launch file (a special XML file), it causes the browser to launch PAR-WebStart, which then automatically downloads, caches, and runs the specified PAR-based application.

3. File associations

Associate files with a mime-type application/x-perl-pnlp-file and extension .pnlp with the perlws script of PAR-WebStart. How to do this is dependent on the operating system and browser, and is described in more detail in the perlws documentation. In brief:

4. Enable links

Enable links to launch the appropriate applications by selecting the relevant form element in the "Preferences" menu item of cpan.uwinnipeg.ca; this requires that cookies be enabled for your browser.

top


Usage

After this setup, "[install]" links will appear within cpan.uwinnipeg.ca of two types:

top


Security

The installation of CPAN and ppm packages is done by downloading and executing specific PAR archives, as detailed in the PNLP file. The archives consist of: These archives are downloaded, and subsequently cached, in a directory specified by the PAR_TEMP environment variable, if set, or otherwise by the tmpdir method of the File::Spec module.

Of course, one must be extremely careful in running programs obtained from an external source, not just in trusting that source, but also to guard against man-in-the-middle attacks. There are two checks present here that help in this context.

As well, the user must confirm that she/he does wish to run the specified PAR-based application before that application is executed.

There are also some checks done on the arguments passed to the main scripts:

top


Contact

Please contact Randy Kobes for any problems, questions, or comments about any aspect of this feature.