1 INFO-VAX	Sun, 23 Nov 2003	Volume 2003 : Issue 650       Contents: Re: Apache logfile record desc?  Re: Apache logfile record desc?  Re: Apache logfile record desc? 8 Re: DCL Enhancements: Error messages for OPEN and DEFINE8 Re: DCL Enhancements: Error messages for OPEN and DEFINE8 Re: DCL Enhancements: Error messages for OPEN and DEFINE8 Re: DCL Enhancements: Error messages for OPEN and DEFINE8 Re: DCL Enhancements: Error messages for OPEN and DEFINE  FutureVAX page access statistics Re: Main memory for galaxy% Re: Peoplesoft Financials and OpenVMS 2 question about dates of patches on ftp.itrc.hp.com6 Re: question about dates of patches on ftp.itrc.hp.com6 Re: question about dates of patches on ftp.itrc.hp.com  F ----------------------------------------------------------------------  % Date: Sun, 23 Nov 2003 09:12:26 +0100 2 From: martin@radiogaga.harz.de (Martin Vorlaender)( Subject: Re: Apache logfile record desc?; Message-ID: <3fc06bea.524144494f47414741@radiogaga.harz.de>   # Didier Morandi (no@spam.com) wrote: H > Where could I find a record description of the Apache logfile, please? > In an RFC? Which one?   I All things Apache can usually be found hanging off http://www.apache.org/ 
 In this case: < http://httpd.apache.org/docs/mod/mod_log_config.html#formats  D It really is a configuration thingie; usually it's either the common or combined log format.   - > A typical record is (indice letters added):  > K > a)203.xxx.yyy.zzz - b) - c)[23/Oct/2003:01:49:07 +0200] d)"GET /_derived/ < > contact.htm_cmp_balance110_vbtn.gif HTTP/1.1" e)200 f)302 N > g)"http://www.didiermorandi.com/index_us.htm" h)"Mozilla/5.0 (X11; U; Linux B > i686; en-US; rv:1.2.1) Gecko/20030225" - i)www.didiermorandi.com >  > where  >  > a = originator   Remote host   < The first "-" is the remote user (from identd - rarely used)   > b = ?    Remote user    > c = timestamp 
 > d = request M > e = HTTP status or error code (see http://wats.ca/resources/httperrorcodes/  >24)   Correct.  ' > f = another HTTP status or error code   
 Bytes sent   > g = page requested  & See d) above. This one is the referrer  # > h = agent (detail of the data???)   8 The format of the user agent string is not standardized.   > i = ?   @ Obviously, your Apache is configured with a non-standard format.) I could image it's the virtual host name.   J > Are there other fields which may or may not appear in an Apache logfile?   See the link above.   J > Do you know of a good DCL tool to build a database from such records (or > I'll write it :-)    I usually do it using Perl.    cu,    Martin --  G  Your mouse has moved.     | Martin Vorlaender  |  VMS & WNT programmer 4  Windows must be restarted | work: mv@pdv-systeme.deH  for the change to take    |    http://www.pdv-systeme.de/users/martinv/;  effect. Reboot now? [OK]  | home: martin@radiogaga.harz.de    ------------------------------  # Date: Sun, 23 Nov 2003 14:59:06 GMT - From: Mike Rechtman <michael.rechtman@hp.com> ( Subject: Re: Apache logfile record desc?& Message-ID: <3FC0E757.69DD7418@hp.com>  , This is a multi-part message in MIME format.  & --------------6F39EE711EB724565190DCD7* Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit    Didier Morandi wrote:  > 	 > Hi all,  > H > Where could I find a record description of the Apache logfile, please? > In an RFC? Which one?  > - > A typical record is (indice letters added):  > R > a)203.xxx.yyy.zzz - b) - c)[23/Oct/2003:01:49:07 +0200] d)"GET /_derived/contact4 > .htm_cmp_balance110_vbtn.gif HTTP/1.1" e)200 f)302M > g)"http://www.didiermorandi.com/index_us.htm" h)"Mozilla/5.0 (X11; U; Linux B > i686; en-US; rv:1.2.1) Gecko/20030225" - i)www.didiermorandi.com >  > where  >  > a = originator > b = ?  > c = timestamp 
 > d = request P > e = HTTP status or error code (see http://wats.ca/resources/httperrorcodes/24)' > f = another HTTP status or error code  > g = page requested# > h = agent (detail of the data???)  > i = ?  > J > Are there other fields which may or may not appear in an Apache logfile?O > Do you know of a good DCL tool to build a database from such records (or I'll  > write it :-) > 	 > Thanks,  >  > D.+ > Happiness is writing DCL between two jobs   G The attached is rather long, but your reply-to address seems obfuscated - in the news header, so I'm sending it here...    Mike       --  E --------------------------------------------------------------------- E Usual disclaimer: All opinions are mine alone, perhaps not even that. ? Mike Rechtman                            *rechtman@tzora.co.il* F Kibbutz Tzor'a.                          Voice (home): 972-2-9908337  B   "20% of a job takes 80% of the time, the rest takes another 80%"E ---------------------------------------------------------------------  -----BEGIN GEEK CODE BLOCK-----  Version: 3.1: GCM/CS d(-)pu s:+>:- a++ C++ U-- L-- W++ N++ K? w--- V+++$6 PS+ PE-- t 5? X- tv-- b+ DI+ D-- G e++ h--- r+++ y+++@ ------END GEEK CODE BLOCK------   & --------------6F39EE711EB724565190DCD7< Content-Type: text/plain; charset=us-ascii; name="ACC.COM.1" Content-Transfer-Encoding: 7bit 1 Content-Disposition: inline; filename="ACC.COM.1"   
 $ set noon $!9 $ Logf = "APACHE$COMMON:[SPECIFIC.EYAL.LOGS]ACCESS_LOG.;"  $ proc = F$ENVIRON("PROCEDURE") ? $ here = f$parse(proc,,,"DEVICE") + f$parse(proc,,,"DIRECTORY") * $ proc = proc - f$parse(proc,,,"VERSION" ) $ apache_input := APACHE$INPUT $ wo := "write sys$output" $ crlf = f$fao("!/") $ pid = f$getjpi("","PID"), $ tmp_file = "SYS$SCRATCH:ACCESS_''pid'.TMP" $!D $ logf_date = f$cvt( f$file_attr("''Logf'","CDT"),"ABSOLUTE","DATE") $ a1=f$cvtime("",,"DAY")$ $ b1=f$cvtime("","ABSOLUTE","MONTH") $ c1=f$cvtime("",,"YEAR")  $ a2=f$cvtime("-1-",,"DAY") ' $ b2=f$cvtime("-1-","ABSOLUTE","MONTH")  $ c2=f$cvtime("-1-",,"YEAR") $ a3=f$cvtime("-2-",,"DAY") ' $ b3=f$cvtime("-2-","ABSOLUTE","MONTH")  $ c3=f$cvtime("-2-",,"YEAR") $ a4=f$cvtime("-3-",,"DAY") ' $ b4=f$cvtime("-3-","ABSOLUTE","MONTH")  $ c4=f$cvtime("-3-",,"YEAR") $ a5=f$cvtime("-4-",,"DAY") ' $ b5=f$cvtime("-4-","ABSOLUTE","MONTH")  $ c5=f$cvtime("-4-",,"YEAR") $ a6=f$cvtime("-5-",,"DAY") ' $ b6=f$cvtime("-5-","ABSOLUTE","MONTH")  $ c6=f$cvtime("-5-",,"YEAR") $ a7=f$cvtime("-6-",,"DAY") ' $ b7=f$cvtime("-6-","ABSOLUTE","MONTH")  $ c7=f$cvtime("-6-",,"YEAR") $ d1 = "[''a1'/''b1'/''c1'"  $ d2 = "[''a2'/''b2'/''c2'"  $ d3 = "[''a3'/''b3'/''c3'"  $ d4 = "[''a4'/''b4'/''c4'"  $ d5 = "[''a5'/''b5'/''c5'"  $ d6 = "[''a6'/''b6'/''c6'"  $ d7 = "[''a7'/''b7'/''c7'"  $!! $ disp_date = "''a7'-''b7'-''c7'" N $ if f$cvtime(Logf_date,"COMPARISON") .gts. f$cvtime(disp_date,"COMPARISON") -       then disp_date = Logf_date / $ wo "Cache-Control: no-cache, must-revalidate"  $ wo "Pragma: no-cache" * $ wo "Content-type: text/html", crlf, crlfE $ wo "<META HTTP-EQUIV=""Content-Type"" CONTENT=""text/html"">", crlf  $ wo "<HTML>", crlf  $ wo "<HEAD>", crlf 7 $ wo "<TITLE>Accesses since ''disp_date'</TITLE>", crlf  $ wo "</HEAD>", crlf# $ wo "<BODY TEXT=""black"" >", crlf 5 $ wo "<H1>Latest records in ACCESS_LOG on Eyal.</H1>" ) $ SEARC/OUTPUT='tmp_file';0       'logf - 8 	"''d1'","''d2'","''d3'","''d4'","''d5'","''d6'","''d7'" $ close/nolog tmp  $ open/read tmp 'tmp_file';  $ wo "<UL>",crlf $ the_date = " " $ robot_host = "??????" ! $ robot_header = "xx.xx.xx.xx.xx"  $ c = 0  $ nimda_host = "??????" ! $ nimda_header = "xx.xx.xx.xx.xx"  $ nimda_address = "" $ nimda_flag = "FALSE" $ j = 0  $! $ nessus_host = "??????"" $ nessus_header = "xx.xx.xx.xx.xx" $ k = 0  $! $ codered_host = "??????" # $ codered_header = "xx.xx.xx.xx.xx"  $ codered_flag = "FALSE" $! $ loop:  $  read/error=end_loop tmp lin< $  if f$locate( "/default.ida?XXXX",lin ) .lt. f$length(lin) $  then = $	lin = lin - "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" - - 0 	"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" - -0 	"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" - -0 	"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" - -0 	"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" - -, 	"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") $	x = f$locate( "/default.ida?XXXX",lin )  $	y = f$locate( " HTTP",lin )  $	if ( y .gt. x ) then -@ 		lin = f$extract(0,x+18,lin ) + "... " + f$extract(y,999,lin )  $  endif $  l = f$length(lin) $  if ( l .gt. 250 ) $  then  $	x = f$locate("?",lin)  $	a = f$extract(0,x,lin) $	b = f$extract(x+1,999,lin) $	y = f$locate(" ",b)  $	d = f$extract(y,999,b)
 $	lin = a + d  $  endif $!3 $  if f$locate( ".gif ",lin ) .lt. l then goto loop 3 $  if f$locate( ".GIF ",lin ) .lt. l then goto loop 3 $  if f$locate( ".jpg ",lin ) .lt. l then goto loop 3 $  if f$locate( ".JPG ",lin ) .lt. l then goto loop 7 $  if f$locate( ".com HTTP",lin ) .lt. l then goto loop 9 $  if f$locate( "/count.com?",lin ) .lt. l then goto loop  $!7 $  if f$locate( "*********",lin ) .lt. 3 then goto loop D $  if f$locate( "sys$scratch:ACCESS.LOG",lin ) .lt. 3 then goto loop $!9 $! if ( f$locate( " / ",lin ) .lt. l ) .and. ( k .gt. 0 )  $! then I $!	wo crlf," <B> ''k' Nessus probes from ''nessus_host'... </B><BR><BR> "  $!	k = 0 $!	nessus_host = "??????" # $!	nessus_header = "xx.xx.xx.xx.xx"  $! endif $!. $  if ( f$locate( nessus_header,lin ) .lt. 5 ) $  then 	 $	k = k+1  $	goto loop  $  else # $	if ( nessus_host .nes. "??????" )  $	then $	    if ( k .gt. 0 ) then -I 		wo crlf," <B> ''k' Nessus probes from ''nessus_host'... </B><BR><BR>  "  $	    k = 0  $	    nessus_host = "??????"& $	    nessus_header = "xx.xx.xx.xx.xx"
 $       endif  $  endif6 $  if f$locate( "/NessusTest",lin ) .lt. f$length(lin) $  then 1 $	nessus_host = f$edit(f$elem(0," ",lin),"TRIM")  # $	nessus_header = f$elem(0," ",lin)  $  endif $!8 $ if ( f$locate( " / ",lin ) .lt. l ) .and. ( c .gt. 0 ) $ thenH $	wo crlf," <B> ''c' robot accesses from ''robot_host'... </B><BR><BR> " $	c = 0  $	robot_host = "??????" ! $	robot_header = "xx.xx.xx.xx.xx"  $ endif  $!K $ if ( f$locate( " / ",lin ) .lt. l ) .and. ( codered_host .nes. "??????" )  $ thenb $	wo crlf," <B><FONT color=""red""> Code Red </FONT>attack from ''codered_host'... </B><BR><BR>  " $	codered_host = "??????" # $	codered_header = "xx.xx.xx.xx.xx"  $ endif  $!/ $  if ( f$locate( codered_header,lin ) .lt. 5 )  $  then  $	goto loop  $  else $ $	if ( codered_host .nes. "??????" ) $	thenf $	    wo crlf," <B><FONT color=""red""> Code Red </FONT>attack from ''codered_host'... </B><BR><BR>  " $	    codered_host = "??????" ' $	    codered_header = "xx.xx.xx.xx.xx" 
 $       endif  $  endif $!; $  if f$locate( "default.ida?XXXX",lin ) .lt. f$length(lin)  $  then 2 $	codered_host = f$edit(f$elem(0," ",lin),"TRIM") $ $	codered_header = f$elem(0," ",lin)' $	x = f$locate( "default.ida?XXX",lin )  $	y = f$locate( "...",lin ) 8 $	lin = f$extract(0,x,lin) + "<FONT COLOR=""red"" >" + -> 		f$extract(x,y-x+4,lin) + "</FONT> " + f$extract(y+3,999,lin) $	codered_flag = "TRUE"  $  endif $!- $  if ( f$locate( robot_header,lin ) .lt. 5 )  $  then 	 $	c = c+1  $	goto loop  $  else " $	if ( robot_host .nes. "??????" ) $	then $	    if ( c .gt. 0 ) then -I 		wo crlf," <B> ''c' robot accesses from ''robot_host'... </B><BR><BR>  "  $	    c = 0  $	    robot_host = "??????" % $	    robot_header = "xx.xx.xx.xx.xx" 
 $       endif  $  endif6 $  if f$locate( "/robots.txt",lin ) .lt. f$length(lin) $  then 0 $	robot_host = f$edit(f$elem(0," ",lin),"TRIM") " $	robot_header = f$elem(0," ",lin) $  endif $!~~~~~~~~~~8 $ if ( f$locate( " / ",lin ) .lt. l ) .and. ( j .gt. 0 ) $ then[ $	wo crlf, "<B> ''j' Virus attack attempts from ''nimda_host' ''nimda_address'</B><BR><BR>"  $	j = 0  $	nimda_host = "??????" ! $	nimda_header = "xx.xx.xx.xx.xx"  $	nimda_address = "" $ endif  $!% $  nimda_host_name = nimda_host + "." 3 $  nimda_host_name = f$elem(0,".",nimda_host_name ) ? $  if ( ( f$locate( "''nimda_host_name'",lin ) .lt. 3 ) .and. - 8 		( f$locate( nimda_address,lin ) .lt. f$length(lin) ) ) $  then 	 $	j = j+1  $	goto loop  $  else " $	if ( nimda_host .nes. "??????" ) $	then $	    if ( j .gt. 0 ) then -U $		wo crlf, "<B> ''j' Nimda attempts from ''nimda_host' ''nimda_address'</B><BR><BR>"  $	    j = 0  $	    nimda_host = "??????" % $	    nimda_header = "xx.xx.xx.xx.xx"  $	    nimda_address = ""
 $       endif  $  endif $!0 $  lin1 = lin - """" - """" - """" - """" - """") $  lin1 = f$edit( lin1,"UPCASE,COLLAPSE")  $  l1 = f$length(lin1)' $  ax = f$locate( "GET/SCRIPTS/",lin1 ) % $  bx = f$locate( "GET/MSADC/",lin1 ) ( $  cx = f$locate( "GET/SYSTEM32/",lin1 )" $  dx = f$locate( "/WINNT/",lin1 )R $  if (( ax .lt. l1 ) .or. ( bx .lt. l1 ) .or. ( cx .lt. l1 ) .or. ( dx .lt. l1 )) $  then   $	nimda_host = f$elem(0," ",lin)9 $	nimda_header = f$elem(0,":",lin)	! host, address & date % $	nimda_address = f$elem( 1," ",lin ) ? $	if ( nimda_address .eqs. nimda_host ) then nimda_address = "" " $	x = f$locate( """GET ",lin ) + 5 $	y = f$extract( x+3,999,lin ) $	z = f$locate( " ",y ) + 2 : $	lin = f$extract( 0,x,lin ) + "<FONT COLOR=""red"" >" + -( 		f$extract( x+1,z,lin ) + "</FONT>" + - 		f$extract( x+z+1,99,lin)   $	nimda_flag = "TRUE"  $  endif $! ~~~~~~~~~ $  lin = lin - "- " - " +0000"! $  tmp_header = f$elem(0,":",lin) & $  if ( f$length(tmp_header) .gt. 10 ) $  then " $	tmp_d = f$elem(1,"[",tmp_header) $	if ( tmp_d .nes. the_date )  $	then $		the_date = tmp_d  $		d = f$elem(0,"/",the_date)  $		m = f$elem(1,"/",the_date)  $		y = f$elem(2,"/",the_date) , $		w = f$cvtime("''d'-''m'-''y'",,"WEEKDAY")
 $		wo "</UL>" . $		wo crlf,"<BR><H2>",w,", ",the_date,":</H2>" $		wo "<UL>" $	endif  $  endif
 $  point = "" + $  if ( nimda_host .eqs. "??????" ) .and. - 4 	( f$locate("""GET ",lin) .lt. f$leng(lin) ) .and. -, 	( f$locate(" 404 ",lin) .ge. f$leng(lin) )  $  then  $	lin = f$edit(lin,"COMPRESS") $	x = f$locate("""GET ",lin) $	url = f$extract(x+5,200,lin) $	y = f$locate(" ",url)  $	a = f$extract(0,x+5,lin) $	b = f$extract(x+5+y,30,lin)  $	url = f$extract(0,y,url), $	point = "&nbsp;<A HREF=""''url'"" >&nbsp;"* $	lin = a + point + url + "</A>&nbsp;" + b $  endif $	lin = "<LI>" + lin $o_loop:! $  if ( f$length(lin) .lt. 120 )   $  then  $	wo  lin,"<BR>" $  else  $	x = f$locate(" ",lin)  $	x1= f$locate("<A",lin) $	x2= f$locate("</A>",lin) + 4$ $	x3= f$locate("</A>&nbsp;",lin) + 4# $	if (x2 .eq. x3) then x2 = x2 + 6  0 $	if ((x .gt. x1) .and. (x .lt. x2)) then x = x2 $	a = f$extract(0,x,lin) $	wo a) $	lin = "&nbsp;" + f$extract(x+1,999,lin) 
 $	goto o_loop  $  endif $  goto loop $ end_loop: = $ if ( j .gt. 0 ) .and. (  nimda_host .nes. "??????" ) then - S 	wo crlf, "<B> ''j' Nimda attempts from ''nimda_host' ''nimda_address'</B><BR><BR>" 	 $ wo crlf 
 $ set noon $ close/nolog tmp  $ dele/nolog 'tmp_file';*  $!	 $ wo crlf  $ wo "<HR>", crlf # $ if (nimda_flag .or. codered_flag)  $ then $	wo "<B>Note:</B>",crlfD $	wo "Sections marked in <B><FONT COLOR=""red"" >RED</FONT></B> are"6 $	wo "attempts by NIMDA or similar virii or worms.<P>" $ endif 	 $ wo crlf  $!# $ if f$type(HTTP_REFERER) .nes. ""   $ then> $   wo "<A HREF=""''HTTP_REFERER'"" ><B>Back</B></A><BR>",crlf $ endif g $ wo "<A HREF=""http://dandan.raa.cpqcorp.net/htbin/seeacc.com"" >See latest DANDAN usage</A><BR>",crlf G $ wo "<A HREF=""http://eyal.raa.cpqcorp.net/"" >Eyal home</A><BR>",crlf ) $ wo "<BR><CITE>",proc,"</CITE><BR>",crlf  $! $ wo "</BODY>",crlf  $ wo "</HTML>", crlf  ( --------------6F39EE711EB724565190DCD7--   ------------------------------  % Date: Sun, 23 Nov 2003 17:40:35 +0100 " From: Didier Morandi <no@spam.com>( Subject: Re: Apache logfile record desc?4 Message-ID: <3fc0e32a$0$26796$636a55ce@news.free.fr>   Martin Vorlaender wrote:     Your mouse has moved.    Windows must be restarted    for the change to take   effect. Reboot now? [OK]  
 I love it :-)    D.
 ps: merci.   ------------------------------  % Date: Sun, 23 Nov 2003 09:58:03 +0100 * From: Paul Sture <nospam@sture.homeip.net>A Subject: Re: DCL Enhancements: Error messages for OPEN and DEFINE 0 Message-ID: <3FC084AB.6674C637@sture.homeip.net>   Alan E. Feldman wrote: > d > Paul Sture <nospam@sture.homeip.net> wrote in message news:<3FBDC130.3A2617AE@sture.homeip.net>... > > jlsue wrote: > > > N > > > On Wed, 19 Nov 2003 19:24:24 +0100, Paul Sture <nospam@sture.homeip.net> > > > wrote: > > >  > > > > = > > > >It _has_ to be compatible with current behaviour IMHO.  > > > > $ > > > >Let's look at HELP OPEN/ERROR > > > > * > > > >     If the /ERROR qualifier is not@ > > > >     specified, the current ON condition action is taken. > > > > O > > > >Oh dear, currently working procedures could suddenly do a silent jump in M > > > >the code if the default were changed. There's simply too much code out  > > > >there...  > > > O > > > But how is that different than the change that required a "$" on each DCL  > > > command line?  > >  > > IIRC that was not silent.  > = > Is this in reference to the change made, c. 1985-1989, that H > continuation lines had to NOT start with a dollar sign? Or a post v6.2	 > change?   G Memory fails as to which version precisely, but I think you've probably  got the timescale right.  F I _can_ remember however that in the timeframe I was using 6.1 or 6.2,D we had an ex-Unix newbie who wrote a bit of code without the leadingG dollar sign (which surprisingly worked). We told him to change it as it  was officially unsupported.   G He refused. When we told him it might break in a future version of VMS, * he said "Well, we'll fix it if it breaks".  G He got overruled on that one, but it serves to illustrate that there is ' probably a lot of dodgy code out there.   G A real life example from about 5 years ago. A largely Unix shop sold us H some multi-platform software which sounded great in presentations and on" paper. It had something like this:   $ open /write  logfile out.log $ logname = f$trnlnm(logfile)  $ close logfile  $ open/write logfile 'logname'  H Needless to say, it fell over and had obviously never been tested. But IE still do not understand to this day why on earth the author wanted to " close the file in the first place.   > P > > > If it's an error situation, and an error is not being reported, then it isJ > > > a *latent* bug in the code and/or DCL that will eventually bite you. > > > N > > > In this particular case, it HAS caused problem for myself and some otherL > > > customers.  It is entirely non-intuitive, and inconsistent, that a DCLQ > > > procedure exiting abnormally, leaving a file opened, would *appear* to open M > > > the file, but really just continue from the last position.  I know that O > > > this should be handled by "on" conditions, but that's not always going to 
 > > > happen.  > > > P > > > Another example that's less so obvious (as I believe Didier showed before)N > > > was where two pieces of code open different files but use the same name.I > > > Again, not reporting an error is a big problem.  And the programmer M > > > shouldn't have to know/code something special to make that error report  > > > correctly. > > > ) > > > Latent bugs are pretty scarey, imho  > > I > > I'll agree about the inconsistencies, and it should perhaps have been : > > fixed in the V4.0 timeframe, when plenty of DCL broke. > > L > > It's simply been there so long that changing the default behaviour would > > be equally scary.  > G > I understand your point. And the last thing I want is to scare people H > off of VMS (as Larry Kilgallen warned in another post in this thread).E > However, this would only affect places doing upgrades to what would E > soon be the latest version. It would only immediately affect places D > doing upgrades to that soon-to-be latest version. Such places mostC > likely routinely upgrade and if they can do the upgrades they can E > probably deal with the new OPEN behavior. And the new OPEN behavior B > would only affect command procedures that actually used the OPEND > command "incorrectly". I don't think there'd be that many of them.G > You'd have to code a self-correcting OPEN statement bug for your code E > to work anyway. I mean if you OPEN a file, but you already OPENed a E > different file with the same logical name, then I think it would be H > rather unlikely that your code would work because the file you thoughtE > you OPENed is not the one that is actually opened. How could such a H > code work correctly? In which case just how much code could break with* > this change in OPEN? I'd guess not much. >   D I'm pretty sure I always treated this one with caution, but I'm also prettyE sure that I saw some code from DEC which used this (might have been a F layered product rather than VMS itself), which I took as a green light that it was normal behaviour.    IIRC it was something like:    $ if error then call log_error   ...    $log_error: subroutine" $ open/write logfile 'logfilename' ...    $ return  B Lazy coding I'll grant you, but under the present regime it works.9 If the subroutine is never called, no logfile is created.      D > So I don't think it would cause too much pain and it would make itC > easier for beginning DCL coders and it would correctly display an F > error message when needed. And it would make it easier for all of usH > to catch such OPEN errors. And good error messages are one of the many > great things about VMS.  >   8 Granted, but I have a gut feeling it _would_ cause pain.  E At this point I really have to ask why CLOSE/NOLOG (as recommended by @ Hoff and others) doesn't throw an error if the file is not open.   Let's be consistent please. :-)      E > > I've known about it for at least 20 years, and even used it to my 7 > > advantage on occasions (usually for DCL debugging).  >  > Can you tell us how?  D OK, here's a little bit of DCL I write on any new site where I might# want to do edits on multiple files.   ! $! EDIT.COM - edit multiple files  $! $       open /read in edit.dat $loop: $       read/end=exit in data 9 $       version = f$parse(data,,,"VERSION","SYNTAX_ONLY")  $!      show sym version $       data = data - version & $       def/user sys$input sys$command) $       edit/edt 'data' /command=edit.edt  $       goto loop  $exit: $       close in  % EDIT.DAT is typically the output from   4 $ SEARCH *.COB somestring /WINDOW=0 /OUTPUT=EDIT.DAT  @ but could also be the output from something rather more complex.  + EDIT.EDT might contain someing as simple as    s/oldstring/newstring/w  exit  B or be a whole lot more complicated, involving going direct to lineD numbers, switching into full screen mode for manual input and so on.  H While debugging or enhancing EDIT.INI (and it can get quite complex), atF present I can ^Y out of EDIT.COM, change my EDIT.EDT, and then pick up1 from where I left off, using the next input file.   B OK, nowadays I have a workstation where I could do that editing inG another DECterm session, but when I was tied to a single VT, I found it  a productive way of working.   > I > > I'm arguing that it's too late now to change the _default_ behaviour.  > > H > > Far easier to document it as a "feature", and as suggested elsewhereK > > have a logical or appropriate SET command to enable enhanced OPEN error  > > checking (off by default). > G > Additionally you could add a step to the upgrade procedure that would G > ask the upgrader about which OPEN he wants (correct, or incorrect :-) B > and force him to answer the question or the upgrade fails. OK, IH > wouldn't phrase it that way. Maybe it should just say "new or old". OrE > it could go into a nearly full screen explanation of the issue, and / > after the answer is given ask "Are you sure?"  >   G OK, but I'd answer OLD at any time I'm not imtimately familiar with the G DCL lurking on the target machine. You might answer NEW, and that would C be fine on your own system(s), but would you feel happy doing so on  someone else's system?   B > And there is, as always, the "Be careful what you wish for" bit. >   G In that one short sentence you have summed up my argument better than I  could have wished for :-)   A Sincere thanks for prompting me to explain my POV in more detail.    --  
 Paul Sture   ------------------------------  + Date: Sun, 23 Nov 2003 09:35:03 +0000 (UTC) P From: helbig@astro.multiCLOTHESvax.de (Phillip Helbig---remove CLOTHES to reply)A Subject: Re: DCL Enhancements: Error messages for OPEN and DEFINE $ Message-ID: <bppv06$nf6$1@online.de>  G > At this point I really have to ask why CLOSE/NOLOG (as recommended by B > Hoff and others) doesn't throw an error if the file is not open.   CLOSE      /LOG           /LOG (default)         /NOLOG  F      Generates a warning message when you attempt to close a file thatD      was not opened by DCL. If you specify the /ERROR qualifier, theE      /LOG qualifier has no effect. If the file has not been opened by @      DCL, the error branch is taken and no message is displayed.   ------------------------------  % Date: Sun, 23 Nov 2003 11:21:32 +0100 * From: Paul Sture <nospam@sture.homeip.net>A Subject: Re: DCL Enhancements: Error messages for OPEN and DEFINE 0 Message-ID: <3FC0983B.35CC790D@sture.homeip.net>  / Phillip Helbig---remove CLOTHES to reply wrote:  > I > > At this point I really have to ask why CLOSE/NOLOG (as recommended by D > > Hoff and others) doesn't throw an error if the file is not open. >  > CLOSE  >  >   /LOG >  >         /LOG (default) >         /NOLOG > H >      Generates a warning message when you attempt to close a file thatF >      was not opened by DCL. If you specify the /ERROR qualifier, theG >      /LOG qualifier has no effect. If the file has not been opened by B >      DCL, the error branch is taken and no message is displayed.   So how come:  ' $ close x/nolog		! no message displayed  $ sh sym $status   $STATUS == "%X00030001"  $ $ close x/nolog  $ sh sym $severity   $SEVERITY == "1"   In contrast:  	 $ close x C %DCL-W-UNDFIL, file has not been opened by DCL - check logical name  $ sh sym $severity   $SEVERITY == "0" $   @ It seems that CLOSE/NOLOG is a special case too, as it returns a success.   --  
 Paul Sture   ------------------------------  + Date: Sun, 23 Nov 2003 12:29:03 +0000 (UTC) P From: helbig@astro.multiCLOTHESvax.de (Phillip Helbig---remove CLOTHES to reply)A Subject: Re: DCL Enhancements: Error messages for OPEN and DEFINE $ Message-ID: <bpq96f$4c7$1@online.de>  ; In article <3FC0983B.35CC790D@sture.homeip.net>, Paul Sture " <nospam@sture.homeip.net> writes:   K > > > At this point I really have to ask why CLOSE/NOLOG (as recommended by F > > > Hoff and others) doesn't throw an error if the file is not open. > > 	 > > CLOSE  > > 
 > >   /LOG > >  > >         /LOG (default) > >         /NOLOG > > J > >      Generates a warning message when you attempt to close a file thatH > >      was not opened by DCL. If you specify the /ERROR qualifier, theI > >      /LOG qualifier has no effect. If the file has not been opened by D > >      DCL, the error branch is taken and no message is displayed. >  > So how come: > ) > $ close x/nolog		! no message displayed  > $ sh sym $status >   $STATUS == "%X00030001"  > $ $ close x/nolog  > $ sh sym $severity >   $SEVERITY == "1" >  > In contrast: >  > $ close x E > %DCL-W-UNDFIL, file has not been opened by DCL - check logical name  > $ sh sym $severity >   $SEVERITY == "0" > $  > B > It seems that CLOSE/NOLOG is a special case too, as it returns a
 > success.  I It says that /LOG is the default, which causes the warning message to be  H displayed if the file has not been opened.  /NOLOG then suppresses this C message.  So it seems to work as documented.  Or what am I missing?    ------------------------------  % Date: Sun, 23 Nov 2003 18:23:26 +0100 * From: Paul Sture <nospam@sture.homeip.net>A Subject: Re: DCL Enhancements: Error messages for OPEN and DEFINE 0 Message-ID: <3FC0FB1E.21FFB0C2@sture.homeip.net>  / Phillip Helbig---remove CLOTHES to reply wrote:  > = > In article <3FC0983B.35CC790D@sture.homeip.net>, Paul Sture # > <nospam@sture.homeip.net> writes:  > M > > > > At this point I really have to ask why CLOSE/NOLOG (as recommended by H > > > > Hoff and others) doesn't throw an error if the file is not open. > > >  > > > CLOSE  > > >  > > >   /LOG > > >  > > >         /LOG (default) > > >         /NOLOG > > > L > > >      Generates a warning message when you attempt to close a file thatJ > > >      was not opened by DCL. If you specify the /ERROR qualifier, theK > > >      /LOG qualifier has no effect. If the file has not been opened by F > > >      DCL, the error branch is taken and no message is displayed. > >  > > So how come: > > 8 > > $ close x/nolog               ! no message displayed > > $ sh sym $status > >   $STATUS == "%X00030001"  > > $ $ close x/nolog  > > $ sh sym $severity > >   $SEVERITY == "1" > >  > > In contrast: > > 
 > > $ close x G > > %DCL-W-UNDFIL, file has not been opened by DCL - check logical name  > > $ sh sym $severity > >   $SEVERITY == "0" > > $  > > D > > It seems that CLOSE/NOLOG is a special case too, as it returns a > > success. > J > It says that /LOG is the default, which causes the warning message to beI > displayed if the file has not been opened.  /NOLOG then suppresses this E > message.  So it seems to work as documented.  Or what am I missing?   H You are missing the fact that /LOG (the default) can return an error,butG CLOSE/NOLOG ignores any error. It's obviously a cludge, though a useful  one.  F A slightly smaller idiosyncracy than the OPEN statement, which variousC folks here have been complaining about, but still a cludge (which I  really don't mind about).    --  
 Paul Sture   ------------------------------  % Date: Sun, 23 Nov 2003 08:40:54 +0100 " From: Didier Morandi <no@spam.com>) Subject: FutureVAX page access statistics 4 Message-ID: <3fc064aa$0$17102$626a54ce@news.free.fr>  P You know what? Seems that we have over here more VAX running than elsewhere. Or ! more concerns, or less solutions:   ;                   Discover the FutureVAX: www.futurevax.com ;                   (number of visits, en : 1608 - fr : 2077) .                               since 3-nov-2003   Surprize surprize.   D.   ------------------------------    Date: 23 Nov 2003 07:36:35 -0600+ From: young_r@encompasserve.org (Rob Young) # Subject: Re: Main memory for galaxy 3 Message-ID: <WH5UrXR+3Db5@eisner.encompasserve.org>   W In article <3FBFAE34.4070601@tsoft-inc.com>, David Froble <davef@tsoft-inc.com> writes:  > Rob Young wrote: >  > ! >> 	Where Galaxy does make sense:  >>  > >> 		1) Day versus night load.  CPUs migrate to backup servers >> 			or report run servers. >>  ? >> 		2) Active-active clustering with substantial lock traffic. 5 >>                        locks through shared memory  >>  B >> 		3) Very high LAN traffic - applications using heavy net comm. >> 			LAN through shared memory  >  > S > You've ommitted possibly the best reason for Galaxy.  Scaling has generally been  Q > rather inefficient with large numbers of CPUs in a single system.  What Galaxy  R > does is sidestep the scaling issue, but then incurs the same issue in a cluster S > environment.  As you've noted above, there are some advantages to a cluster in a  / > 'single' system, so the result is a net gain.  >   B 	Very careful there, you are about to resurrect a debate.  As BillC 	has pointed out before, a good distributed caching system and 100  B 	MBit interconnect can scale very well indeed.  That is one reasonA 	I left out the performance scaling wordage.  That said, 1) above B 	is a very good performance differentiator that fast interconnects. 	and great distributed caching can't overcome.   				Rob    ------------------------------  % Date: Sun, 23 Nov 2003 10:57:05 +0100 * From: Paul Sture <nospam@sture.homeip.net>. Subject: Re: Peoplesoft Financials and OpenVMS0 Message-ID: <3FC09281.79A757A4@sture.homeip.net>   John Smith wrote:  >  > JF Mezei wrote:  > > "David J. Dachtera" wrote:J > >> So, maybe the thing to do would be to find a Sep-2003 Time, mark thatJ > >> page and forward the publication - one copy each - to Carly, Mark. G.E > >> and whoever else with a note attached asking the question (VMS's  > >> ad-worthiness). > > B > > The "we need to see VMS marketed" message has been sent to the > > pundits manyG > > many times. They know that customers would want to see VMS featured 
 > > in ads so ? > > that it would give VMS more life which would result in more - > > applications and easier to get employees.  > > B > > Nevertheless, the pundits continue to refuse to mention VMS or > > advertise VMS.F > > It is clear that they will not start to market VMS  by themselves. > > (except forgG > > a couple of ads here and there so that they can claim that they ares
 > > marketings6 > > VMS when the troups start to complain too loudly.) > >rG > > The "VMS doesn't need to be marketed" attitudes seems to be tightlyEH > > and widely rooted; even some engineers have expressed those opinionsF > > from time to time. Marcello knows and has documented evidence (the  > > short lived renaissance withB > > some marketing in targetted regions yielding significant sales > > improvements).I > > But Marcello isn't rocking the boat. Even under Compaq, even with theo > > successaF > > of the renaissance, he didn't rock the boat when the marketing was > > ordered stopped. > > F > > One possible argument in favour of the silence is that HP wants to > > wait untilI > > VMS runs on that IA64 thing before starting to advertise it big time.4 > > *IF*I > > that is the case, then the advertising should be starting pretty soonl > > nowaI > > because they would want to start to make as much noise as possible so H > > that the minute VMS is commercially available on that IA64 thing, no> > > matter how slow it might be, there would be some interest. > >.G > > But I am not holding my breath. In the end, HP is not interested in  > > anyn > > Digital legacy products. > M > Sales cycles to new customers is a long process. If HP wanted to be selling3N > IA64/VMS systems to *new* customers upon the formal launch of IA64/VMS, theyA > had better be smoothing the ways by beginning to advertise now._ >   G Dead right. I started looking at ConsoleWorks a year ago last September"@ and it took until something like April until we took the plunge.  B But in actual fact, the initial decision to have a look at what itE offered was based on my review of the available products 15 months or  more prior to that.e  H So in effect, it was nearly 2 years from the initial question "What's on$ the market?" to the actual purchase.     > Let's see:N > 1) Ad concepts - a few months...unless they want to licence some of my ideas  > 2) Mock ads - a few more weeks) > 3) Customer approval - a few more weeksd= > 4) Media buy and camera-ready production - a few more weekstN > 5) Actual Ad Run Date - varies by publication...for days to up to two months > lead time. > N > Elasped time until ads are seen: 14-22 weeks.....or anywhere from the end of+ > Q1 to end of Q2 2004 if they start today.a   --     -- c
 Paul Sture   ------------------------------  + Date: Sun, 23 Nov 2003 12:31:20 +0000 (UTC) P From: helbig@astro.multiCLOTHESvax.de (Phillip Helbig---remove CLOTHES to reply); Subject: question about dates of patches on ftp.itrc.hp.comk$ Message-ID: <bpq9an$4c7$2@online.de>  H I noticed that several of the kits have the date 20-NOV-2003.  However, H they appear to be rather older.  On the other hand, the file I download H has a different checksum than the one I already downloaded earlier, but 5 neither is the checksum mentioned in the readme file.   . What am I missing with regard to the checksum?  H How can one find out what patches have been put up after a given date?  B I signed up for the email notification, but it doesn't seem to be  working properly.    ------------------------------  # Date: Sun, 23 Nov 2003 12:40:42 GMT 4 From: brad@.gateway.2wire.net (Bradford J. Hamilton)? Subject: Re: question about dates of patches on ftp.itrc.hp.com20 Message-ID: <eV1wb.280782$HS4.2481115@attbi_s01>  w In article <bpq9an$4c7$2@online.de>, helbig@astro.multiCLOTHESvax.de (Phillip Helbig---remove CLOTHES to reply) writes:iI !I noticed that several of the kits have the date 20-NOV-2003.  However,  I !they appear to be rather older.  On the other hand, the file I download  I !has a different checksum than the one I already downloaded earlier, but d6 !neither is the checksum mentioned in the readme file. !e/ !What am I missing with regard to the checksum?  ! I !How can one find out what patches have been put up after a given date?   C !I signed up for the email notification, but it doesn't seem to be u !working properly. !    Hi Phillip,   : Do you have an account on EISNER::? (eisner.decuserve.org)  L Graham Burley has just posted an excellent little DCL tool that will do just what you are asking.  J __________________________________________________________________________A Bradford J. Hamilton                    "All opinions are my own"pK bMradAhamiPltSon-at-coMmcAast.nPeSt     "Lose the MAPS, and replace '-at-'  0                                          with @"   ------------------------------  + Date: Sun, 23 Nov 2003 13:04:36 +0000 (UTC)0P From: helbig@astro.multiCLOTHESvax.de (Phillip Helbig---remove CLOTHES to reply)? Subject: Re: question about dates of patches on ftp.itrc.hp.com $ Message-ID: <bpqb93$6cp$1@online.de>  H In article <eV1wb.280782$HS4.2481115@attbi_s01>, brad@.gateway.2wire.net (Bradford J. Hamilton) writes: C  y > In article <bpq9an$4c7$2@online.de>, helbig@astro.multiCLOTHESvax.de (Phillip Helbig---remove CLOTHES to reply) writes:tK > !I noticed that several of the kits have the date 20-NOV-2003.  However, 1K > !they appear to be rather older.  On the other hand, the file I download ;K > !has a different checksum than the one I already downloaded earlier, but a8 > !neither is the checksum mentioned in the readme file. > !O1 > !What am I missing with regard to the checksum?e > !oK > !How can one find out what patches have been put up after a given date?  CE > !I signed up for the email notification, but it doesn't seem to be " > !working properly. > !  > 
 > Hi Phillip,D > < > Do you have an account on EISNER::? (eisner.decuserve.org) > N > Graham Burley has just posted an excellent little DCL tool that will do just > what you are asking.   No, I don't.  + Would it be possible to post the tool here?O  F Note that both the compressed versions available for download AND the D uncompressed patches themselves have different checksums than their I prior versions.  The dates are different, but the readme files don't say c what has changed.)  I It would make sense to change the files and keep the names if it is just 6E the correction of a technical problem (there WERE some problems with -H patches, also discussed here in the newsgroup), but it would be nice to  have an official work on this.  H OK, I'm going to apply all patches I need for 7.3-1 ALPHA and 7.3 VAX.  / Anything to watch out for which is not obvious?'   ------------------------------   End of INFO-VAX 2003.650 ************************