$!-----------------------------------------------------------------'f$verify(0) $! SCRIPTS.COM $! $! Selectively installs or removes groups of WASD package scripts. $! P1 can be "INSTALL" or "REMOVE" to install or remove ALL scripts. $! $! Copyright (C) 1996-2021 Mark G.Daniel. $! $! Licensed under the Apache License, Version 2.0 (the "License"); $! you may not use this file except in compliance with the License. $! You may obtain a copy of the License at $! $! http://www.apache.org/licenses/LICENSE-2.0 $! $! Unless required by applicable law or agreed to in writing, software $! distributed under the License is distributed on an "AS IS" BASIS, $! WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. $! See the License for the specific language governing permissions and $! limitations under the License. $! $! 18-AUG-2021 MGD v12.0.0, add [SRC.SCREPER] $! 28-JUN-2019 MGD v11.4.0, add WASDOC $! 29-APR-2017 MGD v11.1.0, add "Raw"Socket examples $! 23-NOV-2014 MGD remove CALENDAR, CHARSET, COLORS, GLIST, HDISK $! 23-MAY-2013 MGD add LINER utility $! 26-DEC-2012 MGD bugfix; remove WS_PTD.EXE $! 02-OCT-2011 MGD v10.1.0, add WebSocket examples $! 07-NOV-2009 MGD v10.0.0, logical naming schema $! add HTTPD_ADMIN_REPORT_CLUSTER.COM $! 27-AUG-2005 MGD add IPCTICKLER utility $! 30-APR-2005 MGD bugfix; not copying CGIPLUSPROC.COM $! 30-OCT-2004 MGD add FORMWORK example $! 23-DEC-2003 MGD add CGILIB_EXAMPLE.EXE $! 22-DEC-2002 MGD server utility scripts $! 01-NOV-2002 MGD initial $!----------------------------------------------------------------------------- $! $ if f$trnlnm("INSTALL$DBUG") .nes. "" then set verify $ ss$_abort = 44 $ ss$_bugcheck = 676 $ arch_name = f$edit(f$getsyi("arch_name"),"upcase") $ if arch_name .eqs. "ALPHA" then arch_name = "AXP" $ say = "write sys$output" $ vms_version = f$integer(f$extract(1,1,f$getsyi("version"))) * 10 +- f$integer(f$extract(3,1,f$getsyi("version"))) $ if vms_version .ge. 72 then set process /parse=traditional $ set control=Y $ on controly then exit ss$_abort $! $ install = 0 $ if p1 .eqs. "install" then install = 1 $ remove = 0 $ if p1 .eqs. "remove" then remove = 1 $ all = 0 $ if install .or. remove then all = 1 $! $ if f$environment("depth") .eq. 1 then @wasd_root:[install]copyright.com $! $ type sys$input ***************************** * INSTALL PACKAGE SCRIPTS * ***************************** This procedure copies scripts from the package delivery or build locations into the directories where the server scripting account can access them. It will also optionally remove them again. It is considered more secure to make available to the server only those scripts that a site will actually use. Others do not need to be accessable. This procedure allows some scripts to be selected and others not. All groups of scripts may be individually accepted or declined. This procedure may be executed any number of times to tailor the local scripting environment. Of course, individual or groups of scripts can manually be installed by copying the required file(s) into the required directory(ies), and manually deinstalled by deleting them. Most scripts describe their requirements in the source code. $ response = "YES" $ read sys$command response /prompt="Continue with this procedure? [YES]: " $ say "" $ if response .eqs. "" then response = "YES" $ if .not. response then exit $! $ existing_scripts = 0 $ if f$search("wasd_root:[cgi-bin]*.com") .nes. "" then existing_scripts = 1 $ if f$search("wasd_root:['arch_name'-bin]*.exe") .nes. "" then existing_scripts = 1 $ if existing_scripts $ then $ type sys$input ******************************* * EXISTING SCRIPTS DETECTED * ******************************* $ say "Files have been detected in [CGI-BIN] or [''arch_name'-BIN]." $ type sys$input These can all be deleted before commencing any further script installation. The advantage with this is you get a very "clean" script environment. The DISADVANTAGE (AND IT MAY BE A SIGNIFICANT ONE) is you lose any local scripts you have not archived elsewhere and any customization to currently installed scripts. $ response = "NO" $ read sys$command response /prompt="Delete files from these directories? [NO]: " $ say "" $ if response .eqs. "" then response = "NO" $! $ if response .or. remove $ then $ delete = "delete/log" $ delete wasd_root:[cgi-bin]*.*;* /exclude=(.*;*,readme.*;*) $ delete wasd_root:['arch_name'-bin]*.*;* /exclude=(.*;*,readme.*;*) $ say "" $ endif $! $ endif $! $ if arch_name .nes. "VAX" $ then $ type sys$input *************************** * CGILIB SHARABLE IMAGE * *************************** CGILIBSHR32 ... CGILIB in a sharable image STARTUP.COM will detect the presence of this image and define the system-level logical name WASD_CGILIBSHR32 that should be linked against. (Not available for VAX where build dependencies are too proscriptive.) $ response = "NO" $ if .not. all then read sys$command response /prompt="Install this image? [NO]: " $ if response .eqs. "" then response = "NO" $ if response .or. install $ then $ say "" $ copy = "copy/log" $ set noon $ copy wasd_root:['arch_name']cgilibshr32.exe wasd_root:['arch_name'-bin] $ set on $ say "" $ else $ response = "NO" $ if .not. all then read sys$command response /prompt="Remove this image (if installed)? [NO]: " $ say "" $ if response .eqs. "" then response = "NO" $ if response .or. remove $ then $ delete = "delete/log" $ set noon $ delete wasd_root:['arch_name'-bin]cgilibshr32.exe;* $ set on $ say "" $ endif $ endif $ endif $! $ type sys$input **************************** * SERVER UTILITY SCRIPTS * **************************** PROXYMUNGE.EXE ....... reverse-proxy URL rewriting for HTML and CSS QDLOGSTATS.EXE ....... Quick and Dirty LOG STATisticS WASDOC.EXE ........... WASD Document Processor HTTPD_ADMIN_REPORT_CLUSTER.COM ... additional detail via Server Admin report $ response = "NO" $ if .not. all then read sys$command response /prompt="Install these scripts? [NO]: " $ if response .eqs. "" then response = "NO" $ if response .or. install $ then $ say "" $ copy = "copy/log" $ set noon $ copy wasd_root:['arch_name']proxymunge.exe wasd_root:['arch_name'-bin] $ copy wasd_root:['arch_name']qdlogstats.exe wasd_root:['arch_name'-bin] $ copy wasd_root:[src.wasdoc.obj_'arch_name']wasdoc.exe wasd_root:['arch_name'-bin] $ copy wasd_root:[script]httpd_admin_report_cluster.com wasd_root:[cgi-bin] $ set on $ say "" $ else $ response = "NO" $ if .not. all then read sys$command response /prompt="Remove these scripts (if installed)? [NO]: " $ say "" $ if response .eqs. "" then response = "NO" $ if response .or. remove $ then $ delete = "delete/log" $ set noon $ delete wasd_root:['arch_name'-bin]proxymunge.exe;* $ delete wasd_root:['arch_name'-bin]qdlogstats.exe;* $ delete wasd_root:['arch_name'-bin]wasdoc.exe;* $ delete wasd_root:[cgi-bin]httpd_admin_report_cluster.com;* $ set on $ say "" $ endif $ endif $! $ type sys$input ************************ * USEFUL VMS SCRIPTS * ************************ Conan The Librarian ..... Help and Text Library access HyperReader ............. Online Documentation, Bookreader and BNU access HyperSPI ................ System Performance Information SHOW ................... provides system information (must be enabled) $ response = "NO" $ if .not. all then read sys$command response /prompt="Install these scripts? [NO]: " $ if response .eqs. "" then response = "NO" $ if response .or. install $ then $ say "" $ copy = "copy/log" $ set noon $ copy wasd_root:[script]conan.com wasd_root:[cgi-bin] $ copy wasd_root:['arch_name']conan.exe wasd_root:['arch_name'-bin] $ copy wasd_root:[script]hypershelf.com wasd_root:[cgi-bin] $ copy wasd_root:['arch_name']hypershelf.exe wasd_root:['arch_name'-bin] $ copy wasd_root:[script]hyperreader.com wasd_root:[cgi-bin] $ copy wasd_root:['arch_name']hyperreader.exe wasd_root:['arch_name'-bin] $ copy wasd_root:[script]hyperspi.com wasd_root:[cgi-bin] $ copy wasd_root:['arch_name']hyperspi.exe wasd_root:['arch_name'-bin] $ copy wasd_root:[script]show.com wasd_root:[cgi-bin] $ set on $ say "" $ else $ response = "NO" $ if .not. all then read sys$command response /prompt="Remove these scripts (if installed)? [NO]: " $ say "" $ if response .eqs. "" then response = "NO" $ if response .or. remove $ then $ delete = "delete/log" $ set noon $ delete wasd_root:[cgi-bin]conan.com;* $ delete wasd_root:['arch_name'-bin]conan.exe;* $ delete wasd_root:[cgi-bin]hypershelf.com;* $ delete wasd_root:['arch_name'-bin]hypershelf.exe;* $ delete wasd_root:[cgi-bin]hyperreader.com;* $ delete wasd_root:['arch_name'-bin]hyperreader.exe;* $ delete wasd_root:[cgi-bin]hyperspi.com;* $ delete wasd_root:['arch_name'-bin]hyperspi.exe;* $ delete wasd_root:[cgi-bin]show.com;* $ set on $ say "" $ endif $ endif $! $ type sys$input ***************************** * DOCUMENT/FILE SEARCHING * ***************************** QUERY and EXTRACT are scripts that can be used to perform ad hoc searching of HTML and plain-text documents and files, returning all or partial documents. The scope of where they can search should be carefully controlled but they can be very useful. Check script source descriptive prologue for more detail. $ response = "NO" $ if .not. all then read sys$command response /prompt="Install these scripts? [NO]: " $ if response .eqs. "" then response = "NO" $ if response .or. install $ then $ say "" $ copy = "copy/log" $ set noon $ copy wasd_root:[script]query.com wasd_root:[cgi-bin] $ copy wasd_root:['arch_name']query.exe wasd_root:['arch_name'-bin] $ copy wasd_root:[script]extract.com wasd_root:[cgi-bin] $ copy wasd_root:['arch_name']extract.exe wasd_root:['arch_name'-bin] $ set on $ say "" $ else $ response = "NO" $ if .not. all then read sys$command response /prompt="Remove these scripts (if installed)? [NO]: " $ say "" $ if response .eqs. "" then response = "NO" $ if response .or. remove $ then $ delete = "delete/log" $ set noon $ delete wasd_root:[cgi-bin]query.com;* $ delete wasd_root:['arch_name'-bin]query.exe;* $ delete wasd_root:[cgi-bin]extract.com;* $ delete wasd_root:['arch_name'-bin]extract.exe;* $ set on $ say "" $ endif $ endif $! $ type sys$input *************************************** * CGIPLUS/RTE DEMONSTRATION SCRIPTS * *************************************** The CGIplus demonstration scripts are examples of how to create persistent scripting using DCL and the C language. See the "Scripting Overview" document for further information on CGIplus. Includes the CGIsapi (ISAPI) environment and demonstration DLL. Includes the RTE (Run Time Environment) example interpreter. $ response = "NO" $ if .not. all then read sys$command response /prompt="Install these scripts? [NO]: " $ if response .eqs. "" then response = "NO" $ if response .or. install $ then $ say "" $ copy = "copy/log" $ set noon $ copy wasd_root:[script]cgiplusproc.com wasd_root:[cgi-bin] $ copy wasd_root:[script]cgicalloutproc.com wasd_root:[cgi-bin] $ copy wasd_root:[script]cgicalloutsinglebyte.com wasd_root:[cgi-bin] $ copy wasd_root:[script]cgipluscalloutproc.com wasd_root:[cgi-bin] $ copy wasd_root:['arch_name']cgicallout.exe wasd_root:['arch_name'-bin] $ copy wasd_root:['arch_name']cgipluscallout.exe wasd_root:['arch_name'-bin] $ copy wasd_root:['arch_name']cgiplusdemo.exe wasd_root:['arch_name'-bin] $ copy wasd_root:['arch_name']cgiplusloop.exe wasd_root:['arch_name'-bin] $ copy wasd_root:['arch_name']cgiplusskel.exe wasd_root:['arch_name'-bin] $ copy wasd_root:['arch_name']cgiplustest.exe wasd_root:['arch_name'-bin] $ copy wasd_root:['arch_name']cgisapi.exe wasd_root:['arch_name'-bin] $ copy wasd_root:['arch_name']isapiexample.dll wasd_root:['arch_name'-bin] $ copy wasd_root:['arch_name']rte_example.exe wasd_root:['arch_name'-bin] $ copy wasd_root:['arch_name']cgilib_example.exe wasd_root:['arch_name'-bin] $ set on $ say "" $ else $ response = "NO" $ if .not. all then read sys$command response /prompt="Remove these scripts (if installed)? [NO]: " $ say "" $ if response .eqs. "" then response = "NO" $ if response .or. remove $ then $ delete = "delete/log" $ set noon $ delete wasd_root:[cgi-bin]cgicalloutproc.com;* $ delete wasd_root:[cgi-bin]cgicalloutsinglebyte.com;* $ delete wasd_root:[cgi-bin]cgipluscalloutproc.com;* $ delete wasd_root:['arch_name'-bin]cgicallout.exe;* $ delete wasd_root:['arch_name'-bin]cgipluscallout.exe;* $ delete wasd_root:['arch_name'-bin]cgiplusdemo.exe;* $ delete wasd_root:['arch_name'-bin]cgiplusloop.exe;* $ delete wasd_root:['arch_name'-bin]cgiplusskel.exe;* $ delete wasd_root:['arch_name'-bin]cgiplustest.exe;* $ delete wasd_root:['arch_name'-bin]cgisapi.exe;* $ delete wasd_root:['arch_name'-bin]isapiexample.dll;* $ delete wasd_root:['arch_name'-bin]rte_example.exe;* $ delete wasd_root:['arch_name'-bin]cgilib_example.exe;* $ set on $ say "" $ endif $ endif $! $ type sys$input ******************************* * DCL DEMONSTRATION SCRIPTS * ******************************* The DCL demonstration scripts are examples of CGI scripting using DCL. CGI_SYMBOLS.COM ....... displays the CGI variables available to a script CGIUTL.EXE ............ utility for assisting with DCL scripts COOKIE_DEMO.COM ....... an example of cookie manipulation using DCL. FORMWORK.EXE .......... HTML form data validation and CSV processor IPCTICKLER.EXE ........ script programmer education tool TMAILER.EXE ........... email using a template Some include using the CGIUTL utility within the DCL environment. $ response = "NO" $ if .not. all then read sys$command response /prompt="Install these scripts? [NO]: " $ if response .eqs. "" then response = "NO" $ if response .or. install $ then $ say "" $ copy = "copy/log" $ set noon $ copy wasd_root:[script]cookie_demo.com wasd_root:[cgi-bin] $ copy wasd_root:[script]cgi_symbols.com wasd_root:[cgi-bin] $ copy wasd_root:[script]cgiutl*.com wasd_root:[cgi-bin] $ copy wasd_root:['arch_name']cgiutl.exe wasd_root:['arch_name'-bin] $ copy wasd_root:[script]face2face.com wasd_root:[cgi-bin] $ copy wasd_root:[script]formwork_example.com wasd_root:[cgi-bin] $ copy wasd_root:['arch_name']formwork.exe wasd_root:['arch_name'-bin] $ copy wasd_root:['arch_name']ipctickler.exe wasd_root:['arch_name'-bin] $ copy wasd_root:['arch_name']tmailer.exe wasd_root:['arch_name'-bin] $ set on $ say "" $ else $ response = "NO" $ if .not. all then read sys$command response /prompt="Remove these scripts (if installed)? [NO]: " $ say "" $ if response .eqs. "" then response = "NO" $ if response .or. remove $ then $ delete = "delete/log" $ set noon $ delete wasd_root:[cgi-bin]cookie_demo.com;* $ delete wasd_root:[cgi-bin]cgi_symbols.com;* $ delete wasd_root:[cgi-bin]cgiutl*.com;* $ delete wasd_root:['arch_name'-bin]cgiutl.exe;* $ delete wasd_root:[cgi-bin]face2face.com;* $ delete wasd_root:[cgi-bin]formwork_example.com;* $ delete wasd_root:['arch_name'-bin]formwork.exe;* $ delete wasd_root:['arch_name'-bin]ipctickler.exe;* $ delete wasd_root:['arch_name'-bin]tmailer.exe;* $ set on $ say "" $ endif $ endif $! $ type sys$input ********************* * SCREPER SCRIPTS * ********************* SCREPER.C is terminal output to web page code. Somewhat experimental. These utilities demonstrate its capabilities as well as being useful. Each requires authorisation to be activated. SadHoc .......... ad hoc in-browser DCL command utility sHTTPDmon ....... the HTTPDmon utility running in a browser sMONitor ........ in-browser system MONITOR utility $ response = "NO" $ if .not. all then read sys$command response /prompt="Install these scripts? [NO]: " $ if response .eqs. "" then response = "NO" $ if response .or. install $ then $ say "" $ copy = "copy/log" $ set noon $ copy wasd_root:['arch_name']sadhoc.exe wasd_root:['arch_name'-bin] $ copy wasd_root:['arch_name']shttpdmon.exe wasd_root:['arch_name'-bin] $ copy wasd_root:['arch_name']smonitor.exe wasd_root:['arch_name'-bin] $ set on $ say "" $ else $ response = "NO" $ if .not. all then read sys$command response /prompt="Remove these scripts (if installed)? [NO]: " $ say "" $ if response .eqs. "" then response = "NO" $ if response .or. remove $ then $ delete = "delete/log" $ set noon $ delete wasd_root:['arch_name'-bin]sadhoc.exe;* $ delete wasd_root:['arch_name'-bin]shttpdmon.exe;* $ delete wasd_root:['arch_name'-bin]smonitor.exe;* $ set on $ say "" $ endif $ endif $! $ type sys$input *************************** * MISCELLANEOUS SCRIPTS * *************************** Fetch ........... can get pages and other resources from HTTP servers Liner ........... list a text file with leading line numbers $ response = "NO" $ if .not. all then read sys$command response /prompt="Install these scripts? [NO]: " $ if response .eqs. "" then response = "NO" $ if response .or. install $ then $ say "" $ copy = "copy/log" $ set noon $ copy wasd_root:['arch_name']fetch.exe wasd_root:['arch_name'-bin] $ copy wasd_root:[script]fetch_example.com wasd_root:[cgi-bin] $ copy wasd_root:['arch_name']liner.exe wasd_root:['arch_name'-bin] $ set on $ say "" $ else $ response = "NO" $ if .not. all then read sys$command response /prompt="Remove these scripts (if installed)? [NO]: " $ say "" $ if response .eqs. "" then response = "NO" $ if response .or. remove $ then $ delete = "delete/log" $ set noon $ delete wasd_root:['arch_name'-bin]fetch.exe;* $ delete wasd_root:[cgi-bin]fetch_example.com;* $ delete wasd_root:['arch_name'-bin]liner.exe;* $ set on $ say "" $ endif $ endif $! $ type sys$input ************************ * WEBSOCKET EXAMPLES * ************************ Bench ........... measures platform raw WebSocket throughput Chat ............ yet another simple chat program Echo ............ echoes what's typed Mouse ........... distributing your mouse coordinates $ response = "NO" $ if .not. all then read sys$command response /prompt="Install these scripts? [NO]: " $ if response .eqs. "" then response = "NO" $ if response .or. install $ then $ say "" $ copy = "copy/log" $ set noon $ copy wasd_root:['arch_name']ws_bench.exe wasd_root:['arch_name'-bin] $ copy wasd_root:['arch_name']ws_chat.exe wasd_root:['arch_name'-bin] $ copy wasd_root:['arch_name']ws_echo.exe wasd_root:['arch_name'-bin] $ copy wasd_root:['arch_name']ws_mouse.exe wasd_root:['arch_name'-bin] $ set on $ say "" $ else $ response = "NO" $ if .not. all then read sys$command response /prompt="Remove these scripts (if installed)? [NO]: " $ say "" $ if response .eqs. "" then response = "NO" $ if response .or. remove $ then $ delete = "delete/log" $ set noon $ delete wasd_root:['arch_name'-bin]ws_bench.exe;* $ delete wasd_root:['arch_name'-bin]ws_chat.exe;* $ delete wasd_root:['arch_name'-bin]ws_echo.exe;* $ delete wasd_root:['arch_name'-bin]ws_mouse.exe;* $ set on $ say "" $ endif $ endif $! $ type sys$input ************************** * "RAW"SOCKET EXAMPLES * ************************** Chat ............ simple chat program using telnet client Echo ............ echoes what's typed using telnet client PTD ............. Pseudo-Terminal Driver "telnet" server (NOT for production) $ response = "NO" $ if .not. all then read sys$command response /prompt="Install these scripts? [NO]: " $ if response .eqs. "" then response = "NO" $ if response .or. install $ then $ say "" $ copy = "copy/log" $ set noon $ copy wasd_root:['arch_name']raw_chat.exe wasd_root:['arch_name'-bin] $ copy wasd_root:['arch_name']raw_echo.exe wasd_root:['arch_name'-bin] $ copy wasd_root:['arch_name']raw_ptd.exe wasd_root:['arch_name'-bin] $ set on $ say "" $ else $ response = "NO" $ if .not. all then read sys$command response /prompt="Remove these scripts (if installed)? [NO]: " $ say "" $ if response .eqs. "" then response = "NO" $ if response .or. remove $ then $ delete = "delete/log" $ set noon $ delete wasd_root:['arch_name'-bin]raw_chat.exe;* $ delete wasd_root:['arch_name'-bin]raw_echo.exe;* $ delete wasd_root:['arch_name'-bin]raw_ptd.exe;* $ set on $ say "" $ endif $ endif $! $ type sys$input ************************************** * OSU/DECNET DEMONSTRATION SCRIPTS * ************************************** These are some OSU demonstration scripts (from the OSU package). There are also WASD-specific CGI DECnet script examples. $ response = "NO" $ if .not. all then read sys$command response /prompt="Install these scripts? [NO]: " $ if response .eqs. "" then response = "NO" $ if response .or. install $ then $ say "" $ copy = "copy/log" $ set noon $ copy wasd_root:['arch_name']cgi_symbols.exe wasd_root:['arch_name'-bin] $ copy wasd_root:['arch_name']html_preproc.exe wasd_root:['arch_name'-bin] $ copy wasd_root:['arch_name']html_preproc.com wasd_root:[cgi-bin] $ copy wasd_root:['arch_name']set_dcl_env.exe wasd_root:['arch_name'-bin] $ copy wasd_root:['arch_name']dcl_env_rm.com wasd_root:[cgi-bin] $ copy wasd_root:['arch_name']osu_testcgi.exe wasd_root:['arch_name'-bin] $ copy wasd_root:['arch_name']osu_testform.exe wasd_root:['arch_name'-bin] $ copy wasd_root:['arch_name']tmail.exe wasd_root:['arch_name'-bin] $ copy wasd_root:['arch_name']vmshelpgate.exe wasd_root:['arch_name'-bin] $ copy wasd_root:['arch_name']helpgate.com wasd_root:[cgi-bin] $ copy wasd_root:['arch_name']webbook.exe wasd_root:['arch_name'-bin] $ copy wasd_root:['arch_name']cgiwasd.com wasd_root:[cgi-bin] $ copy wasd_root:['arch_name']wwwexec.com wasd_root:[cgi-bin] $ set on $ say "" $ else $ response = "NO" $ if .not. all then read sys$command response /prompt="Remove these scripts (if installed)? [NO]: " $ say "" $ if response .eqs. "" then response = "NO" $ if response .or. remove $ then $ delete = "delete/log" $ set noon $ delete wasd_root:['arch_name'-bin]cgi_symbols.exe;* $ delete wasd_root:['arch_name'-bin]html_preproc.exe;* $ delete wasd_root:[cgi-bin]html_preproc.com;* $ delete wasd_root:['arch_name'-bin]set_dcl_env.exe;* $ delete wasd_root:[cgi-bin]dcl_env_rm.com;* $ delete wasd_root:['arch_name'-bin]osu_testcgi.exe;* $ delete wasd_root:['arch_name'-bin]osu_testform.exe;* $ delete wasd_root:['arch_name'-bin]tmail.exe;* $ delete wasd_root:['arch_name'-bin]vmshelpgate.exe;* $ delete wasd_root:[cgi-bin]helpgate.com;* $ delete wasd_root:['arch_name'-bin]webbook.exe;* $ delete wasd_root:[cgi-bin]cgiwasd.com;* $ delete wasd_root:[cgi-bin]wwwexec.com;* $ set on $ say "" $ endif $ endif $! $ type sys$input ******************************** * JAVA DEMONSTRATION CLASSES * ******************************** The JAVA.COM java script wrapper procedure and example Java classes. $ response = "NO" $ if .not. all then read sys$command response /prompt="Install these scripts? [NO]: " $ if response .eqs. "" then response = "NO" $ if response .or. install $ then $ say "" $ copy = "copy/log" $ set noon $ copy wasd_root:[script]java.com wasd_root:[cgi-bin] $ copy wasd_root:[script]cgiplus.class wasd_root:[cgi-bin] $ copy wasd_root:[script]dumpcgi.class wasd_root:[cgi-bin] $ copy wasd_root:[script]hi1cgi.class wasd_root:[cgi-bin] $ copy wasd_root:[script]hi1cgiplus.class wasd_root:[cgi-bin] $ copy wasd_root:[script]hi2cgi.class wasd_root:[cgi-bin] $ copy wasd_root:[script]hi2cgiplus.class wasd_root:[cgi-bin] $ copy wasd_root:[script]postcgi.class wasd_root:[cgi-bin] $ copy wasd_root:[script]postcgiplus.class wasd_root:[cgi-bin] $ set on $ say "" $ else $ response = "NO" $ if .not. all then read sys$command response /prompt="Remove these scripts (if installed)? [NO]: " $ say "" $ if response .eqs. "" then response = "NO" $ if response .or. remove $ then $ delete = "delete/log" $ set noon $ delete wasd_root:[cgi-bin]java.com;* $ delete wasd_root:[cgi-bin]cgiplus.class;* $ delete wasd_root:[cgi-bin]dumpcgi.class;* $ delete wasd_root:[cgi-bin]hi1cgi.class;* $ delete wasd_root:[cgi-bin]hi1cgiplus.class;* $ delete wasd_root:[cgi-bin]hi2cgi.class;* $ delete wasd_root:[cgi-bin]hi2cgiplus.class;* $ delete wasd_root:[cgi-bin]postcgi.class;* $ delete wasd_root:[cgi-bin]postcgiplus.class;* $ set on $ say "" $ endif $ endif $! $ type sys$input ******************************** * [LOCAL]INSTALL_SCRIPTS.COM * ******************************** This convenience procedure may be created and maintained by local site administration with DCL commands to ensure that required local site scripts are correctly set up and/or configured for correct operation following an update or reapplication of site security. $ if f$search("wasd_root:[local]install_scripts.com") .eqs. "" $ then $ type sys$input This procedure was NOT FOUND on this site! $ else $ response = "YES" $ if .not. all then read sys$command response /prompt="Execute this procedure? [YES]: " $ if response .eqs. "" then response = "YES" $ if response $ then $ set noon $ @WASD_ROOT:[LOCAL]INSTALL_SCRIPTS.COM $ set on $ endif $ endif $! $ type sys$input *************************************** * INSTALL SCRIPTS C O M P L E T E * *************************************** $ exit $!-----------------------------------------------------------------------------