home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / protocol / tagged.txt < prev    next >
Text File  |  2020-01-01  |  9KB  |  165 lines

  1. > To: cmg@watsun.cc.columbia.edu
  2. > From: Paul W Placeway <pplacewa@BBN.COM>
  3. > Subject: Tagged Files...
  4. > Date: Tue, 7 Aug 90 13:42:38 EDT
  5. > Ummmm....  It's a good idea, but not for the Macintosh.
  6. > I'm fairly shure that it would be a Bad Thing to have a non-standard
  7. > (in the Mac community) version of MacBinary.  The existing MacBinary
  8. > standard does exactly what is required (for the Mac), and
  9. > implimentations are compatible between MacKermit, NCSA Telnet,
  10. > MicroPhone, VersaTerm, ... (which is a BIG win).
  11. > So I guess what I would suggest is to use MacBinary to store Mac files
  12. > on forign file systems, and do something more reasonable for VMS etc.
  13. > It isn't a nice general orthogonal approach, but it also won't screw
  14. > up existing usage, and the Mac version of Kermit is the only one that
  15. > actually has to deal with it.
  16. Right, the Mac already has MacBinary, and should continue to use it for
  17. interoperability with the commercial Mac communication programs that also
  18. do MacBinary Kermi transfers.  Changing Mac Kermit to do it "the new way"
  19. wasn't really a serious suggestion.  But the Mac is a good example of the
  20. kind of weird file system that needs this kind of treatment.  But from the
  21. point of view of the protocol, it will be an odd case, like CMS Kermit and
  22. SET FILE TYPE V-BINARY.  This is not a bad thing.  The alternative (adding
  23. MacBinary and V-Binary to the protocol) is not a good idea, though,
  24. because then every Kermit in the world would need to have SET FILE TYPE
  25. MACBINARY and V-BINARY added to it, just so it could send a special
  26. file-type attribute.  Better to leave things as they stand, and let the
  27. user of Mac Kermit or CMS Kermit indicate the special treatment on the
  28. computer that knows about it.
  29.  
  30. ------------------------------
  31.  
  32. > Date: Tue, 7 Aug 90 11:55 MDT
  33. > From: Joe Doupnik <JRD@cc.usu.edu>
  34. > Subject: Tagged files proposal
  35. >     Nice idea so far, but it lacks most internals. For example, TAGs
  36. > implies tags, naturally, and that means a field devoted to the kind-of
  37. > information which follows. I suppose that 4 character numbers are ok for
  38. > lengths, but the 6 character item seems excessive.
  39. >
  40. Yes, but why be stingy.  Given the way that OS/2 and MS-Windows eat up
  41. memory, it's not inconceivable that files of the future could have
  42. megabyte-long "resource forks" or whatever...  Come to think of it, maybe
  43. 6 bytes isn't long enough!
  44.  
  45. >     Personally I'd do the organization without a leading count of the
  46. > number of tags. An overall count is messy in the program and leads to
  47. > trouble if the actual count differs. Rather, I would use TAGging as it was
  48. > intended: each field is independent of the others, identifies itself as a
  49. > tag-thing and then comes length of tag-dependent data which follows
  50. > immediately thereafter.  One tag is reserved for "this is the end of
  51. > tagging stuff, no tagged data for me either." This places limits on the
  52. > number of different tags, but a two byte field ought to cover even the
  53. > most obtuse file system.
  54. >
  55. Having distinguished tags would slow down the innermost loop of Kermit
  56. file transfer -- the decoding of packets.  It also introduces transparency
  57. problems.  If the tag is "FOO", then what happens when FOO occurs in the
  58. data?  Since the file is being transferred in binary mode, the count will
  59. be accurate.
  60.  
  61. >     There really should be an operating system release level (and
  62. > whatever other factors are needed) to pinpoint the file system
  63. > particulars. This is machine dependent, of course.
  64. >
  65. Does everybody think this is important?  If so, we have to come up with
  66. some kind of "standard" for how to write the OS version.
  67.  
  68. >     There should be a way of rejecting a tagged file if one or more of
  69. > the tags turns out to be incompatible with the receiver. It wouldn't know
  70. > about the problem until that tag is processed. The returned error message,
  71. > if any, should be generic enough to not require large amounts of program
  72. > space to chat about every possible tag.
  73. >
  74. The regular old interruption mechanism (X in ACK to D packet) should do
  75. the trick.  Unfortunately, this does not return an error message.  An E
  76. packet could also be used: it certainly gets the job done!  And it can
  77. contain an error message like "Invalid format for tagged file".
  78.  
  79. > I think it is not reasonable to
  80. > expect the receiver to backup and write the file as literal binary, tags
  81. > and all, if incompatibilities arise in the tag information; that requires
  82. > holding far too much information in original form.
  83. >
  84. Agreed.
  85.  
  86. >     Directory information. This is an interesting thing. The reason I
  87. > say so is that Novell is now supporting multiple name spaces for files, a
  88. > file name structure for each of several file system styles for each real
  89. > file. DOS, MAC, and VMS, and probably Unix are the immediate kinds, with
  90. > the first two having been implemented already (I run such a system).
  91. > Consequently, one tagged item might well be the filename in native form,
  92. > with embedded spaces or high-bits or whatever. Btw, this also raises a
  93. > point that the tried and true 8.3 filename rule is now out of fashion, and
  94. > will be so shortly even on OS/2 based PCs. A Capabilities bit permitting
  95. > longer filenames would be nice to have in I/S packets.
  96. >     Clearly, the meaning of the tags is strictly operating system
  97. > dependent. Otherwise we would have to catalogue all the likely o/s' in the
  98. > civilized world and that gets out of hand.
  99. So for each OS we need to define the format of the TAG field carefully.
  100. Let's experiment with VMS and see how it works, and then refine the idea
  101. based on our experience.
  102.  
  103. ------------------------------
  104.  
  105. > Date: Tue, 7 Aug 90 13:38 MDT
  106. > From: Joe Doupnik <JRD@cc.usu.edu>
  107. > Subject: Tagged files proposal, cont'd
  108. > The group:
  109. >     A couple more points I should have mentioned last time.
  110. >     The usefulness of tagged files is really limited to machines
  111. > running the same version of the same o/s. Sending from a New to an Old
  112. > system likely gives troubles from features added to New, and in the other
  113. > direction from features obsoleted away in New.
  114.  
  115. >     Exchanging files between unlike machines is not so good either,
  116. > because once stored as Binary on the destination it can't come back as
  117. > Tagged (whose tags??). The fact that a file has its tags held at the front
  118. > of the file is not a property of the file (the destination can't remember)
  119. > and no one will suggest reading the front of Binary files to discover
  120. > embedded tags.
  121. >
  122. This should not be a problem.  Example: VMS Kermit sends a tagged file to
  123. DOS.  MS-DOS Kermit treats it as a binary file, and stores all the bytes
  124. without any knowledge that it contains tags, etc.  Later, MS-DOS Kermit
  125. sends the file back to VMS Kermit.  The user has to say SET FILE TYPE
  126. TAGGED to VMS Kermit to make it look in the data for the tags.  If the
  127. user doesn't give this command, then it's stored -- tags and all -- as a
  128. binary file.  But in that case, a postprocesssing program can convert it
  129. back.
  130.  
  131. Actually, there is one little problem...  MS-DOS Kermit sends the file as
  132. a binary file, so it puts a "B" in its file-type attribute, whereas VMS
  133. Kermit has been told to SET FILE TYPE TAGGED.  So which one does it do?
  134. Up till now, we have said that the contents of the attribute packet
  135. override the current settings on a per-file basis, but in this case we
  136. want the opposite to happen.  So we must choose between (a) making the
  137. current setting take precedence only if it is TAGGED, or (b) adding SET
  138. FILE TYPE TAGGED to every Kermit program so that it can put T in its
  139. outbound attribute packets, rather than B.  (a) probably makes more sense.
  140.  
  141. >     Maybe Terry has this figured out, but... What about indexed files?
  142. > Some systems treat them as sparce matricies: don't allocate space for
  143. > every possible element, but keep a record of which exist and where they
  144. > are. I would think that "raw disk i/o" (poor man's attempts of making a
  145. > flat file of this stuff) might do the wrong things.
  146. >     So, we come around to the archiving aspects. I would think that
  147. > the code in a Kermit to convert local files to flat archive files is
  148. > comparable in size (say half, for using intelligence and skill!) to the
  149. > system's own backup programs. I think of doing this stuff across a wire to
  150. > another host as akin to putting the file(s) on punched paper tape (no
  151. > backing up and redoing a tape block, regardless of finesse).
  152. >
  153. These are questions for Terry.  The VMS version would do essentially what
  154. the VMSHEX and VMSDEH programs do now, except skipping the hexification.
  155. If VMSHEX/DEH work on ISAM files, then so will this method.
  156.  
  157. - Frank & Chris
  158.