Date: Fri, 26 Feb 93 04:30:08 PST
From: Advanced Amateur Radio Networking Group <tcp-group@ucsd.edu>
Errors-To: TCP-Group-Errors@UCSD.Edu
Reply-To: TCP-Group@UCSD.Edu
Precedence: Bulk
Subject: TCP-Group Digest V93 #54
To: tcp-group-digest


TCP-Group Digest            Fri, 26 Feb 93       Volume 93 : Issue   54

Today's Topics:
                     Fixes to R: line processing 
                               Headers
                    looooooooooooooooong messages
     looooooooooooooooooooooooooooooooooooong messages  (2 msgs)
                Lyndon's "Fixes to R: line processing"
                       Multiple drive FTP code
                        PC-LAN cards -- ARRGH!
                               Protocls
                                stat()
                      Updated R: patch (2 msgs)
     Use of fixed-length data fields considered harmful. (4 msgs)

Send Replies or notes for publication to: <TCP-Group@UCSD.Edu>.
Subscription requests to <TCP-Group-REQUEST@UCSD.Edu>.
Problems you can't solve otherwise to brian@ucsd.edu.

Archives of past issues of the TCP-Group Digest are available
(by FTP only) from UCSD.Edu in directory "mailarchives".

We trust that readers are intelligent enough to realize that all text
herein consists of personal comments and does not represent the official
policies or positions of any party.  Your mileage may vary.  So there.
----------------------------------------------------------------------

Date: Thu, 25 Feb 93 11:33:58 PST
From: Lyndon Nerenberg <Lyndon.Nerenberg@ns.unbc.edu>
Subject: Fixes to R: line processing 
To: nos-bbs@hydra.carleton.CA

>> 
>>     2) The headers are limited to 80 characters. I have seen a
>>  number of bulletins come through my system lately that
>>  exceeded the limit. (I was guilty of generating some,
>>  too.) Since the patch for 1) makes the headers dangerously
>>  long I have removed the #:MsgNum field from the header.
>>  It's value in debugging forwarding problems seems questionable.

>NNNNNNOOOOOOOOOOO, aaaaaaaahhhhhhhhhhhh, DON'T do this!!!!! Many if not
>all BBS (except NOS) software use the #:MsgNum and @:BBScall fields to
>reconstruct lost BIDs. Taking this field out will do more harm than good.
>If you want to leave something out drop the [] they are only decoration

Sorry, but I disagree completely. What prompted me to make these changes
was the latest Spacenews bulletin. It was sent with a BID of $SPC0222.
How on earth is a #: field going to regenerate *that* ??? Three of the
four bad copies of the bulletin I saw were flotaing around *because*
they had incorrectly regenerated the BID using the #: field.

If the message comes in without a BID, DROP IT! With the number of
redundent feeds we have, a second, good, copy will show up before
long.

--lyndon

------------------------------

Date: Thu, 25 Feb 93 08:41:57 PST
From: "Roy Engehausen (8-457-2712)" <enge@almaden.ibm.com>
Subject: Headers
To: TCP-GROUP@UCSD.EDU

The #:xxxxx field in the header is NOT optional.  If the message
goes thru a W0RLI header censor, ZERO will be substituted and this
may cause REPLY to fail for AA4RE systems.

I will be happy to send a copy of the header spec to anyone who asks.

Roy, AA4RE
enge@almaden.ibm.com

------------------------------

Date: Fri, 26 Feb 93 12:23:12 +0100
From: jt@fuw.edu.pl
Subject: looooooooooooooooong messages
To: tcp-group@ucsd.edu

Hello, all
I suggest stop talking which compressor is most suitable.
Otherwise the talking can use more net bandwidth than the long msg itself.
BTW, seems most files on ucsd are compressed by PKZIP. Some disadvantage
of compress: needs *large* memory, I needed to unload sidekick to use the
compress on DOS (for decompressing I updated DOS decomp to reduce amount
of memory it needs and can use it being shelled out from NOS :-).
73's, JT

------------------------------

Date: Thu, 25 Feb 93 10:56:26 EST
From: tegra!vail@uunet.UU.NET (Johnathan Vail)
Subject: looooooooooooooooooooooooooooooooooooong messages 
To: uunet!ucsd.edu!tcp-group@uunet.UU.NET

beacker@tomahawk.asd.sgi.com writes:

    >I fully agree with the request to compress things that are so long.
    >What I disagree with is the method. It appears that the most universal
    >compression system is unix compress. This utility has been implemented
    >across almost all systems. Unfortunately PKZip has not. So, please,
    >if the file you wish to send is real long, use compress first...

  The thought that unix compress is the most universal is really
    unix-centric.  The largest population of computers on this planet is
    the PC-Clone, and the package in use on that platform is typically
    PKZip.
  Now just for your information there are a pair of packages,
    unzip and zip, available for Unix systems.  These will do the same
    thing that PKZip will do, and allow people to transfer between these
    platforms.  These packages are readily available from simtel20.


A better compression tool in terms of compatibility is ZOO.  It is
free software that runs on PCs, Amgias, Unix, Ataris and just about
anything else.  Since the source code is free and there are no
licensing fees you can share the software over amateur radio without
breaking the rules like you can with shareware.

Zoo is the standard tool used in comp.binaries.ibm.pc and can be found
on most archive sites.

Zip may ubiquitous on PCs and some compatible programs are available
on unix but its not quite the same as having the same program running
on different platforms. 


jv

 _____
|     | Johnathan Vail     vail@tegra.com     (508) 663-7435
|Tegra| jv@n1dxg.ampr.org    N1DXG@448.625-(WorldNet)
 -----  MEMBER: League for Programming Freedom (league@prep.ai.mit.edu)

------------------------------

Date: Thu, 25 Feb 93 10:56:26 EST
From: tegra!vail@uunet.UU.NET (Johnathan Vail)
Subject: looooooooooooooooooooooooooooooooooooong messages 
To: uunet!ucsd.edu!tcp-group@uunet.UU.NET

beacker@tomahawk.asd.sgi.com writes:

    >I fully agree with the request to compress things that are so long.
    >What I disagree with is the method. It appears that the most universal
    >compression system is unix compress. This utility has been implemented
    >across almost all systems. Unfortunately PKZip has not. So, please,
    >if the file you wish to send is real long, use compress first...

  The thought that unix compress is the most universal is really
    unix-centric.  The largest population of computers on this planet is
    the PC-Clone, and the package in use on that platform is typically
    PKZip.
  Now just for your information there are a pair of packages,
    unzip and zip, available for Unix systems.  These will do the same
    thing that PKZip will do, and allow people to transfer between these
    platforms.  These packages are readily available from simtel20.


A better compression tool in terms of compatibility is ZOO.  It is
free software that runs on PCs, Amgias, Unix, Ataris and just about
anything else.  Since the source code is free and there are no
licensing fees you can share the software over amateur radio without
breaking the rules like you can with shareware.

Zoo is the standard tool used in comp.binaries.ibm.pc and can be found
on most archive sites.

Zip may ubiquitous on PCs and some compatible programs are available
on unix but its not quite the same as having the same program running
on different platforms. 


jv

 _____
|     | Johnathan Vail     vail@tegra.com     (508) 663-7435
|Tegra| jv@n1dxg.ampr.org    N1DXG@448.625-(WorldNet)
 -----  MEMBER: League for Programming Freedom (league@prep.ai.mit.edu)

------------------------------

Date: Thu, 25 Feb 93 8:24:27 cst
From: Clarke Diekmann <cdiekman@ftsmhstn-hsc.army.mil>
Subject: Lyndon's "Fixes to R: line processing"
To: tcp-group@UCSD.EDU

I may be jumping into the middle of things but the suggestion to remove the
"#:<msgno>" field from the R:header could have BAD effects.  If the system is
using R: headers that include the originating BBS and message number in the
form "<msgno>@BBS_call+haddress" the n the "#:" field is redundant. BUT if the
system is using the other convention where the BBS places it's call/haddress in
the field "@:BBS_call+haddress" then the matching "#:<msgno>" field is
MANDATORY to keep some system software from regenerating a new message at the
receiving BBS.  The message number and BBS_callsign are required fields in
addition to the R:date/time field for proper operation of most BBS packages.

Clarke

------------------------------

Date: Thu, 25 Feb 93 14:11:21 PST
From: "Jerzy Tarasiuk" <JT@zfja-gate.fuw.edu.pl>
Subject: Multiple drive FTP code
To: RON MURRAY <NMURRAYR@cc.curtin.edu.au>

> Date: 25 Feb 1993 20:41:23 +0800
> Message-id: <01GV5HB826K29ODAXP@cc.curtin.edu.au>
>
>    Did you ever port your multiple-drive FTP code to GRI 2.0m? I had a

Try get nos/pa0gri/local/ftpd-20m.zip (26kB) from zfja-gate.fuw.edu.pl
(148.81.6.100) by guest ftp or mail to listserv@zfja-gate.fuw.edu.pl,
I did it few months ago, but it was never tested if works correctly.
To all: if it works OK somewhere, please let me and tcp-group know it.
73's, JT

------------------------------

Date: Fri, 26 Feb 1993 04:26:30 JAN_TIME_ZONE
From: NOWLIN@ksuvxb.kent.edu
Subject: PC-LAN cards -- ARRGH!
To: tcp-group@ucsd.EDU

Anybody have any ideas on this one?:

I have a IP LAN set up using the PC-LAN cards that IBM sold around 1985 or
so.  (The ones from Sytek).  I'm running NOS 1.06, with the NetBIOS packet
driver (v4) out of the Clarkson set.  The two commands I'm using to 
start the cards are:
nb.com 0x61 44.70.5.13
attach packet 0x61 lan 10 512

(In their appropriate files, of course.)

The problem I'm running into is that the source computer is sending out
a packet (during a Telnet attempt) that looks like:
Ether: len 60 00:00:2c:46:05:0d -> 00:00:2c:46:05:0e type IP

but the other computers are actually receiving

Ether: len 60 00:00:2c:46:05:0d -> 00:00:c4:c3:cc:c2 type IP

Notice the change in destination addresses?  I'm not doing anything
fancy that would trigger that.  I'm not sure if the problem is in the
source or destination systems, but it's universal.  The incorrect address
in the received packet is always the same -- doesn't matter what IP address
I try to Telnet to.  Everything LOOKS OK on the source CPU, but I can't 
be completely sure of that.

Actually, maybe I can be sure of it -- I tried NCSA Telnet, and the receiving
computer picked up the same incorrect address.

Somebody help me!!!!  I need this to work so I can get my serial ports back!

Thanks...  Mike    nowlin@ksuvxb.kent.edu

------------------------------

Date: Thu, 25 Feb 93 12:46:39 GMT
From: Alan Cox <iiitac@pyr.swan.ac.uk>
Subject: Protocls
To: tcp-group@ucsd.edu

Actually another idea to throw into the pot. Since bandwidth is so expensive
and tx/rx swithcing causes a lot of the packet losses, maybe the protocl
should allow multiple messages to different destinations with one
source header containing all the constant information followed by
a set of blocks containing destination address and data areas.

Alan

------------------------------

Date: Thu, 25 Feb 1993 10:20:37 -0600
From: miltonm@inetnode.austin.ibm.com (Milton Miller)
Subject: stat()
Last time I looked, realloc #ifdef' out because no one was using it :-)

milton

------------------------------

Date: Thu, 25 Feb 1993 12:24:34 -0800
From: Lyndon Nerenberg <Lyndon.Nerenberg@ns.unbc.edu>
Subject: Updated R: patch
To: nos-bbs@hydra.carleton.ca

OK, enough people have sent mail to convince me removing #: is a bad idea.
The uses for #: in all the examples I was given seem EXTREMELY contrived,
however it appears that AA4RE and W0RLI BBS code will break if this
field is not present.

Once again, I strongly suggest that BBS implementations be modified to
simply drop any bulletin that a remote BBS tries to forward without
an explicit BID on the SB command line.

--lyndon

*** forward.old Wed Feb 24 22:20:13 1993
--- forward.c Thu Feb 25 12:19:01 1993
***************
*** 32,39 ****
  #define ISPROMPT(s) (strlen(s) > 1 && s[strlen(s)-2] == '>')
  static struct timer fwdtimer;
  static struct proc *FwdProc = NULLPROC;
    
- 
  static char *findident __ARGS((char *str, int n, char *result));
  static void sendmsg __ARGS((struct mbx *m,int msgn));
  static char *mbxtime __ARGS((char *line));
--- 32,39 ----
  #define ISPROMPT(s) (strlen(s) > 1 && s[strlen(s)-2] == '>')
  static struct timer fwdtimer;
  static struct proc *FwdProc = NULLPROC;
+ static char bid[LINELEN];
  
  static char *findident __ARGS((char *str, int n, char *result));
  static void sendmsg __ARGS((struct mbx *m,int msgn));
  static char *mbxtime __ARGS((char *line));
***************
*** 144,159 ****
                  /* If exists, send H-address */
                  if(Mbhaddress != NULLCHAR)
                      usprintf(m->user,".%s ",Mbhaddress);
!                 else
!                     usputc(m->user,' ');
!                 /*if there is info, put it next */
!                 if(Mbfwdinfo != NULLCHAR)
!                     usprintf(m->user,"[%s] ",Mbfwdinfo);
!                 /* location, if any */
                  if(Mbqth != NULLCHAR)
!                     usprintf(m->user,"%s ",Mbqth);
!                 /* number of the message */
                  usprintf(m->user,"#:%u ",msgid);
                  /* zip code of the bbs */
                  if(Mbzip != NULLCHAR)
                      usprintf(m->user,"Z:%s",Mbzip);
--- 144,159 ----
                  /* If exists, send H-address */
                  if(Mbhaddress != NULLCHAR)
                      usprintf(m->user,".%s",Mbhaddress);
!                 /* next comes the QTH */
                  if (Mbqth != NULLCHAR)
!                     usprintf(m->user, " [%s]", Mbqth);
!                 if(Mbfwdinfo != NULLCHAR)
!                     usprintf(m->user," %s",Mbfwdinfo);
!                 /* add msgid */
                  usprintf(m->user, " #:%u", msgid);
+                 /* Tack on the BID */
+                 if (strlen(bid) > 1)
+                     usprintf(m->user," $:%s", &bid[1]);
                  /* zip code of the bbs */
                  if(Mbzip != NULLCHAR)
                      usprintf(m->user," Z:%s",Mbzip);
***************
*** 333,339 ****
  {
     int bulletin = *bul;
     int foundbid = 0;
!    char bid[LINELEN], to[LINELEN], atbbs[LINELEN], from[LINELEN],
          buf[LINELEN], *cp;
  
     if(m->mfile == NULLFILE)
--- 333,339 ----
  {
     int bulletin = *bul;
     int foundbid = 0;
!    char to[LINELEN], atbbs[LINELEN], from[LINELEN],
          buf[LINELEN], *cp;
  
     if(m->mfile == NULLFILE)
***************
*** 437,443 ****
              while(*cp == ' ' || *cp == '\t')
                  cp++;
              if(*cp == '\0')
!                 strcpy(subj,"None");
          }
              break;
        case FROM:
--- 437,443 ----
              while(*cp == ' ' || *cp == '\t')
                  cp++;
              if(*cp == '\0')
!                 strcpy(subj,"(none)");
          }
              break;
        case FROM:

------------------------------

Date: Thu, 25 Feb 1993 12:24:34 -0800
From: Lyndon Nerenberg <Lyndon.Nerenberg@ns.unbc.edu>
Subject: Updated R: patch
To: nos-bbs@hydra.carleton.ca

OK, enough people have sent mail to convince me removing #: is a bad idea.
The uses for #: in all the examples I was given seem EXTREMELY contrived,
however it appears that AA4RE and W0RLI BBS code will break if this
field is not present.

Once again, I strongly suggest that BBS implementations be modified to
simply drop any bulletin that a remote BBS tries to forward without
an explicit BID on the SB command line.

--lyndon

*** forward.old Wed Feb 24 22:20:13 1993
--- forward.c Thu Feb 25 12:19:01 1993
***************
*** 32,39 ****
  #define ISPROMPT(s) (strlen(s) > 1 && s[strlen(s)-2] == '>')
  static struct timer fwdtimer;
  static struct proc *FwdProc = NULLPROC;
    
- 
  static char *findident __ARGS((char *str, int n, char *result));
  static void sendmsg __ARGS((struct mbx *m,int msgn));
  static char *mbxtime __ARGS((char *line));
--- 32,39 ----
  #define ISPROMPT(s) (strlen(s) > 1 && s[strlen(s)-2] == '>')
  static struct timer fwdtimer;
  static struct proc *FwdProc = NULLPROC;
+ static char bid[LINELEN];
  
  static char *findident __ARGS((char *str, int n, char *result));
  static void sendmsg __ARGS((struct mbx *m,int msgn));
  static char *mbxtime __ARGS((char *line));
***************
*** 144,159 ****
                  /* If exists, send H-address */
                  if(Mbhaddress != NULLCHAR)
                      usprintf(m->user,".%s ",Mbhaddress);
!                 else
!                     usputc(m->user,' ');
!                 /*if there is info, put it next */
!                 if(Mbfwdinfo != NULLCHAR)
!                     usprintf(m->user,"[%s] ",Mbfwdinfo);
!                 /* location, if any */
                  if(Mbqth != NULLCHAR)
!                     usprintf(m->user,"%s ",Mbqth);
!                 /* number of the message */
                  usprintf(m->user,"#:%u ",msgid);
                  /* zip code of the bbs */
                  if(Mbzip != NULLCHAR)
                      usprintf(m->user,"Z:%s",Mbzip);
--- 144,159 ----
                  /* If exists, send H-address */
                  if(Mbhaddress != NULLCHAR)
                      usprintf(m->user,".%s",Mbhaddress);
!                 /* next comes the QTH */
                  if (Mbqth != NULLCHAR)
!                     usprintf(m->user, " [%s]", Mbqth);
!                 if(Mbfwdinfo != NULLCHAR)
!                     usprintf(m->user," %s",Mbfwdinfo);
!                 /* add msgid */
                  usprintf(m->user, " #:%u", msgid);
+                 /* Tack on the BID */
+                 if (strlen(bid) > 1)
+                     usprintf(m->user," $:%s", &bid[1]);
                  /* zip code of the bbs */
                  if(Mbzip != NULLCHAR)
                      usprintf(m->user," Z:%s",Mbzip);
***************
*** 333,339 ****
  {
     int bulletin = *bul;
     int foundbid = 0;
!    char bid[LINELEN], to[LINELEN], atbbs[LINELEN], from[LINELEN],
          buf[LINELEN], *cp;
  
     if(m->mfile == NULLFILE)
--- 333,339 ----
  {
     int bulletin = *bul;
     int foundbid = 0;
!    char to[LINELEN], atbbs[LINELEN], from[LINELEN],
          buf[LINELEN], *cp;
  
     if(m->mfile == NULLFILE)
***************
*** 437,443 ****
              while(*cp == ' ' || *cp == '\t')
                  cp++;
              if(*cp == '\0')
!                 strcpy(subj,"None");
          }
              break;
        case FROM:
--- 437,443 ----
              while(*cp == ' ' || *cp == '\t')
                  cp++;
              if(*cp == '\0')
!                 strcpy(subj,"(none)");
          }
              break;
        case FROM:

------------------------------

Date: Thu, 25 Feb 1993 11:59:24 -0800 (PST)
From: Bruce Perens <bruce@pixar.com>
Subject: Use of fixed-length data fields considered harmful.
To: Warren Toomey <wkt@csadfa.cs.adfa.oz.au>

On Thu, 25 Feb 1993, Warren Toomey wrote:
> 
>  Destination Address - 8 octets
>  Source Address     - 8 octets
>  Protocol     - 2 octets
>  Data length     - 2 octets
>  Data      - 0 to 2048 octet

A good start, but I submit that fixed-length fields should be avoided
for addresses. I am in favor of a _lot_ of flexibility in the address
fields. 

Eight octets are better than six, but still not enough. The address
fields should be of variable length, to at least 255 bytes maximum. This
would provide the option of using a hierarchical addresses, forwarding
chains, etc. Remember, one of the goals of the Amateur service is
experimentation - thus we should develop a format that would allow
experimentation and grow with us, not another AX.25 .

How about:

Host address type:  1 Octet
Host address length:  1 Octet
Destination address type: 1 Octet
Destination address length: 1 Octet.
Protocol   2 Octets
Data length:   2 Octets
Host address:   0-255 Octets
Destination address:  0-255 Octets
Data:    0-65535 Octets

The address type field enumerates different address types such as
callsigns, hierarchical addresses, multicast groups, forwarding chains,
etc. This gives us some room to experiment.

Zero-length address fields are legal. A zero-length destination address
may be used for broadcast. 

The minimum overhead at this layer is 8 bytes, for a packet
in which both address fields are empty. 

One problem I see here is that an odd-length address could cause the
data to begin on an odd boundary. We probably want to pad the start of
the data field to a two or four byte boundary, so that we can treat the
data as words or longwords without alignment problems.

   Bruce

------------------------------

Date: Thu, 25 Feb 1993 11:59:24 -0800 (PST)
From: Bruce Perens <bruce@pixar.com>
Subject: Use of fixed-length data fields considered harmful.
To: Warren Toomey <wkt@csadfa.cs.adfa.oz.au>

On Thu, 25 Feb 1993, Warren Toomey wrote:
> 
>  Destination Address - 8 octets
>  Source Address     - 8 octets
>  Protocol     - 2 octets
>  Data length     - 2 octets
>  Data      - 0 to 2048 octet

A good start, but I submit that fixed-length fields should be avoided
for addresses. I am in favor of a _lot_ of flexibility in the address
fields. 

Eight octets are better than six, but still not enough. The address
fields should be of variable length, to at least 255 bytes maximum. This
would provide the option of using a hierarchical addresses, forwarding
chains, etc. Remember, one of the goals of the Amateur service is
experimentation - thus we should develop a format that would allow
experimentation and grow with us, not another AX.25 .

How about:

Host address type:  1 Octet
Host address length:  1 Octet
Destination address type: 1 Octet
Destination address length: 1 Octet.
Protocol   2 Octets
Data length:   2 Octets
Host address:   0-255 Octets
Destination address:  0-255 Octets
Data:    0-65535 Octets

The address type field enumerates different address types such as
callsigns, hierarchical addresses, multicast groups, forwarding chains,
etc. This gives us some room to experiment.

Zero-length address fields are legal. A zero-length destination address
may be used for broadcast. 

The minimum overhead at this layer is 8 bytes, for a packet
in which both address fields are empty. 

One problem I see here is that an odd-length address could cause the
data to begin on an odd boundary. We probably want to pad the start of
the data field to a two or four byte boundary, so that we can treat the
data as words or longwords without alignment problems.

   Bruce

------------------------------

Date: Thu, 25 Feb 1993 11:59:24 -0800 (PST)
From: Bruce Perens <bruce@pixar.com>
Subject: Use of fixed-length data fields considered harmful.
To: Warren Toomey <wkt@csadfa.cs.adfa.oz.au>

On Thu, 25 Feb 1993, Warren Toomey wrote:
> 
>  Destination Address - 8 octets
>  Source Address     - 8 octets
>  Protocol     - 2 octets
>  Data length     - 2 octets
>  Data      - 0 to 2048 octet

A good start, but I submit that fixed-length fields should be avoided
for addresses. I am in favor of a _lot_ of flexibility in the address
fields. 

Eight octets are better than six, but still not enough. The address
fields should be of variable length, to at least 255 bytes maximum. This
would provide the option of using a hierarchical addresses, forwarding
chains, etc. Remember, one of the goals of the Amateur service is
experimentation - thus we should develop a format that would allow
experimentation and grow with us, not another AX.25 .

How about:

Host address type:  1 Octet
Host address length:  1 Octet
Destination address type: 1 Octet
Destination address length: 1 Octet.
Protocol   2 Octets
Data length:   2 Octets
Host address:   0-255 Octets
Destination address:  0-255 Octets
Data:    0-65535 Octets

The address type field enumerates different address types such as
callsigns, hierarchical addresses, multicast groups, forwarding chains,
etc. This gives us some room to experiment.

Zero-length address fields are legal. A zero-length destination address
may be used for broadcast. 

The minimum overhead at this layer is 8 bytes, for a packet
in which both address fields are empty. 

One problem I see here is that an odd-length address could cause the
data to begin on an odd boundary. We probably want to pad the start of
the data field to a two or four byte boundary, so that we can treat the
data as words or longwords without alignment problems.

   Bruce

------------------------------

Date: Fri, 26 Feb 93 16:17:00 +1100
From: wkt@csadfa.cs.adfa.oz.au (Warren Toomey)
Subject: Use of fixed-length data fields considered harmful.
To: Bruce Perens <bruce@pixar.com>, Warren Toomey <wkt@csadfa.cs.adfa.oz.au>

In atricle by Bruce Perens:
> 
> A good start, but I submit that fixed-length fields should be avoided
> for addresses. I am in favor of a _lot_ of flexibility in the address
> fields. 

Ok, but don't have a separate field for address type, just use the first
address octet as address type. Thus, the following fields:

> Protocol   2 Octets
> Destination address length: 1 Octet.
> Host address length:  1 Octet
> Data length:   2 Octets
> Destination address:  0-255 Octets
> Host address:   0-255 Octets
> Pad:    0-3 Octets
> Data:    0-65535 Octets

Comments from others? The pad is to ensure the data starts on a 4-octet
boundary.

 Warren vk1xwt

------------------------------

End of TCP-Group Digest V93 #54
******************************
******************************