From: ervin@pinbot.enet.dec.com (Joseph James Ervin)
Subject: Re: unpostable sex48pos
Reply-To: ervin@pinbot.enet.dec.com (Joseph James Ervin)
Organization: Digital Equipment Corporation
Date: Fri, 28 Aug 1992 12:49:59 GMT




Hi Lutz,

I tried to respond via Mail as you requested, but it got bounced back to me
by postmaster@smurf.sub.org with a "No authorization" message, as follows:

>One or more of the addresses you specified in the following message
>could not be reached at this time.
>
>The mail link to *.sub.org is not free; sending and receiving mail across
>this link costs "real" money. 
>The recipient of this message has either chosen not to accept Internet mail,
>or it is so large that it is over their current cost limit.
>
>The people responsible for the situation will get an appropriate notification,
>and they will probably contact you if/when the situation changes.
>
>Your message is being returned; sorry for the inconvenience.
>
>You can reply to this mail if you have any further questions.
>[ This message is generated automatically. ]
>
>

Thanks for responding to the thread in COMP.SYS.HP48. 

I do have some comments about RFU.

In article <paQyr*BN1@mania.hotb.sub.org> you write:

|>This is what RFU does to check whether the object on the stack
|>is a valid RF-Archive:
|>
|>
|>main	
|>	textr	"HPHP48-E"
|>	
|>	rpl	Type_pgm
|>	
|>	rpl	Need_1_arg
|>	
|>	rpl	$02dcc
|>pgmbeg	
|>	rpl	pgmend-pgmbeg
|>	
|>	jsr	save_regs
|>	
|>	jsr	gc	; garbage collection
|>	
|>	jsr	restore_regs
|>	
|>	move.a	(d1),c
|>	move.a	c,d1
|>	move.a	(d1),a
|>	move.a	#$02a2c,c	; String ?
|>	bne.a	a,c,.2o

Okay, check that its a string object...

|>	
|>	add.a	#5,d1
|>	move.a	(d1),a
|>	move.a	#5+5+5,c
|>	blt.a	a,c,.2o	; long enough?
|>	

And that it's at least 5 nibbles long, which seems to be the length
of the "signature" that you look for below...

|>	add.a	#5,d1
|>	move.a	(d1),a
|>	move.a	#$24652,c		; !v
|>	beq.a	a,c,.2n	; RF-Object ?

So other than the fact that it's a string of minimum length, it appears
that the only thing done to validate it is to check the first 5 nibbles,
yes?  (what do these 5 nibbles represent, by the way?  I couldn't make
any sense out of the ASCII).

I think this is the main weakness of RFU, which, by the way is a 
very nice utility otherwise.  The String object is not at all secure
in the sense that it is easily edited by the user.  This is, in fact, 
what happened to Mr. Naggum.  The author of the software which Mr Naggum
was using had broken the RFU strings apart, so there was an RFU "header" 
string which if fed to the RFU utility, I suspect would crash the system.

I suspect that Mr Naggum tried to decode this or a similar incomplete string.  

Although this conceivably falls into the category of 

Patient: "It hurts when I do this..."
Doctor:  "Then don't _do_ that.

..I have some questions and some suggestions for making RFU more
robust.

1. Have you considered adding a CRC check like is used in the ASC routines?
   This is fairly straightforward and would validate the input string with
   a very high degree of reliability.

2. Does RFU check the result of the decode operation to ensure that the 
   result is a valid object?  I spoke with Jan Brittenson about his uudecoder
   and he said that he does this to ensure that the decoded object is 
   valid before returning it to the stack.  Could you perhaps do this?


|>.2o	
|>	bra	bad_arg_error
|>.2n	
|>
|>cu, Lutz Vieweg
|>


Anyway, I would think that the simple CRC check would be the obvious
way to prevent mishaps such as what happened to Mr. Naggum.  Please
send me mail if you would like to continue this discussion.

>>>Joe Ervin



% ====== Internet headers and postmarks (see DECWRL::GATEWAY.DOC) ======
% Received: by enet-gw.pa.dec.com; id AA10951; Thu, 27 Aug 92 15:26:17 -0700
% Received: from ira.uka.de by iraun1.ira.uka.de with SMTP (PP)           id <02699-1@iraun1.ira.uka.de>; Fri, 28 Aug 1992 00:25:50 +0200
% Received: from smurf.sub.org by xlink1.ira.uka.de id ab00583;          28 Aug 92 0:14 MET DST
% Received: by smurf.sub.org id <48119>; Thu, 27 Aug 1992 21:50:45 +0200
% To: pinbot::ervin
% From: The Post Office <postmaster@smurf.sub.org>
% Sender: mailer-daemon@smurf.sub.org
% Subject: No authorization
% Cc: The Post Office <postoffice@smurf.sub.org>
% Message-Id: <714945045.48119@smurf.sub.org>
% Date: Thu, 27 Aug 1992 21:48:45 +0200