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

  1. 24-Jun-94 15:04:54-GMT,2236;000000000005
  2. Received: by watsun.cc.columbia.edu id AA23458
  3.   (5.65c+CU/IDA-1.4.4/HLK); Fri, 24 Jun 1994 11:04:44 -0400
  4. Date: Fri, 24 Jun 94 11:04:43 EDT
  5. From: Frank da Cruz <fdc@watsun.cc.columbia.edu>
  6. To: Mike Freeman <freeman@watsun.cc.columbia.edu>
  7. Subject: Re: C-Kermit "Feature?"
  8. In-Reply-To: Your message of Fri, 24 Jun 94 10:51:18 EDT
  9. Cc: Bo Kullmar <bk@kullmar.se>
  10. Message-Id: <CMM.0.90.4.772470283.fdc@watsun.cc.columbia.edu>
  11.  
  12. > Hi, Frank.
  13. > I have put commands like:
  14. > remote set file type binary
  15. > get ~kermit/test/bin/cku190.tar.gz
  16. > into a "take-file" and tried to execute using C-Kermit for Vax/VMS
  17. > (Alpha 18).  Unfortunately, the incoming files have attribute "text" as
  18. > if the "remote set" hadn't taken effect.  Am I doing something wrong or
  19. > do we have a "feature" here?  BTW, a "remote set file type binary"
  20. > works in interactive mode.
  21. This is very hard to explain, but I think it's a feature.
  22.  
  23. Many people in the past have complained about the following scenario:
  24.  
  25. 1. Start Kermit on remote end and put it in server mode.
  26.  
  27. 2. Escape back to local Kermit, "set file type binary", and "get" a file.
  28.  
  29. They expect the file to be transferred in binary mode, but it comes in text
  30. mode.
  31.  
  32. The new feature, which so far appears only in C-Kermit 5A(190), called
  33. "WHATAMI", works like this:
  34.  
  35. If both Kermits support WHATAMI, and they have a client-server relationship,
  36. then the client's file-transfer mode (and file names conversion setting)
  37. predominates, rather than the file sender's.
  38.  
  39. Obviously there are disadvantages to the old approach (file sender determines
  40. the file transfer mode) -- it is hard to explain to most people.  They want
  41. Kermit to work like FTP.  I was hoping that the new method would work right
  42. more often for more people than the old method.
  43.  
  44. But obviously, since you are familiar with the old method, it took you by
  45. surprise.
  46.  
  47. I am not sure what to do about this.  I can back off and remove the new
  48. feature, which would be bad for new users, or I can publicize it better (which
  49. would confuse new users but inform old users), or add Yet Another SET command
  50. to turn it on or off, but that would do no good for new users who would not
  51. understand what it is for anyway.
  52.  
  53. What's your opinion?
  54.  
  55. - Frank
  56.  
  57. 24-Jun-94 15:26:16-GMT,2597;000000000015
  58. Received: by watsun.cc.columbia.edu id AA24836
  59.   (5.65c+CU/IDA-1.4.4/HLK); Fri, 24 Jun 1994 11:26:15 -0400
  60. Date: Fri, 24 Jun 94 11:26:10 EDT
  61. From: Mike Freeman <freeman@watsun.cc.columbia.edu>
  62. To: Frank da Cruz <fdc@watsun.cc.columbia.edu>
  63. Subject: Re: C-Kermit "Feature?"
  64. In-Reply-To: Your message of Fri, 24 Jun 94 11:04:43 EDT
  65. Cc: freeman@watsun.cc.columbia.edu
  66. Message-Id: <CMM.0.90.4.772471570.freeman@watsun.cc.columbia.edu>
  67.  
  68. > Obviously there are disadvantages to the old approach (file sender determines
  69. > the file transfer mode) -- it is hard to explain to most people.  They want
  70. > Kermit to work like FTP.  I was hoping that the new method would work right
  71. > more often for more people than the old method.
  72. >
  73. Makes considerable sense.
  74. > But obviously, since you are familiar with the old method, it took you by
  75. > surprise.
  76. >
  77. That it did!  I had discovered since I sent you the message exactly
  78. the behavior you describe; i.e., what-am-i implies Kermit
  79. works like FTP.  Being a Kermit veteran, as you say, caused
  80. me to expect the "old" behavior; being a mainframe programmer
  81. leads me to expect about eight different behaviors depending
  82. upon the comm package I'm using :-).  I don't say, though, that
  83. such a profusion of syntaxes is ideal.
  84.  
  85. In any event, once you pointed the feature out/I discovered it
  86. myself, it makes sense.
  87. > I am not sure what to do about this.  I can back off and remove the new
  88. > feature, which would be bad for new users, or I can publicize it better (which
  89. > would confuse new users but inform old users), or add Yet Another SET command
  90. > to turn it on or off, but that would do no good for new users who would not
  91. > understand what it is for anyway.
  92. >
  93. I favor a combination of [2] and [3]:  publicize the feature
  94. but allow it to be turned off, either at compile-time or
  95. via "set" at run-time (perhaps the latter gives most flexibility).
  96. You could have the feature ENABLEd by default so as not to
  97. confuse new users.  This does entail, however, warning the
  98. "old hands" plus warning new users that when dealing with a
  99. Kermit that does NOT support "whatamI" that they'll still
  100. have to do a "remote set file type binary".  The key is to look at
  101. the file status and see what it is to tell what to do.  I'm
  102. thinking on-the-fly here.  Ah yes: even better:  tell users to
  103. do a local SET FILE TYPE; if it doesn't work, do a REMOTE SET FILE TYPE.
  104.  
  105. Of course, when not in client/server mode (issuing commands to each Kermit),
  106. the remote Kermit's file type still wins at present.
  107. Given the way the Kermit protocol works, seems to me that
  108. this must still be the case.
  109.  
  110.  
  111. 24-Jun-94 16:16:33-GMT,712;000000000005
  112. Received: by watsun.cc.columbia.edu id AA27889
  113.   (5.65c+CU/IDA-1.4.4/HLK for Frank da Cruz <fdc@watsun.cc.columbia.edu>); Fri, 24 Jun 1994 12:16:32 -0400
  114. Date: Fri, 24 Jun 94 12:16:27 EDT
  115. From: Mike Freeman <freeman@watsun.cc.columbia.edu>
  116. To: Frank da Cruz <fdc@watsun.cc.columbia.edu>
  117. Subject: Re: C-Kermit "Feature?"
  118. In-Reply-To: Your message of Fri, 24 Jun 94 11:36:22 EDT
  119. Message-Id: <CMM.0.90.4.772474587.freeman@watsun.cc.columbia.edu>
  120.  
  121. > Perhaps if I add one more bit of magic, then there will be even fewer
  122. > surprises, namely:
  123. > If you give a REMOTE SET FILE TYPE command, it should also set the local
  124. > file type to the same thing.
  125. I like it!  Great idea!  That solves the whole problem.
  126.  
  127. Mike
  128.  
  129. 24-Jun-94 18:02:32-GMT,2170;000000000005
  130. Received: by watsun.cc.columbia.edu id AA03494
  131.   (5.65c+CU/IDA-1.4.4/HLK for fdc); Fri, 24 Jun 1994 14:02:29 -0400
  132. Date: Fri, 24 Jun 94 14:02:28 EDT
  133. From: Frank da Cruz <fdc@watsun.cc.columbia.edu>
  134. To: "John F. Chandler" <JCHBN@CUVMB.CC.COLUMBIA.EDU>
  135. Subject: Re: Another Kermit protocol change
  136. In-Reply-To: Your message of Fri, 1994 Jun 24 13:35 EDT
  137. Message-Id: <CMM.0.90.4.772480948.fdc@watsun.cc.columbia.edu>
  138.  
  139. > 1) For the purposes of this feature, what is a "protocol transaction"?
  140. >    E.g., is it any sequence of packets starting with an "I" or "S"?
  141. >    Is it a "file" transfer (successful or not)?  Do transfers include
  142. >    short replies to server queries?
  143. I'd say it's any sequence of packet exchanges that must start by setting
  144. its packet sequence number to 0.
  145.  
  146. > 2) Should the switch caused by WHATAMI be "permanent"?  I believe it
  147. >    should.
  148. >
  149. Yes.
  150.  
  151. > 3) Should the switch be made upon detecting a GET request?
  152. >
  153. Yes.
  154.  
  155. >    Should it be
  156. >    made whenever a SEND operation begins in server mode?
  157. >
  158. I guess so, but that shouldn't matter because the old method worked here
  159. anyway (file type in A packet).
  160.  
  161. >    Should it
  162. >    occur whenever a WHATAMI is received?
  163. >
  164. I don't think so.  The S/I-packet/ACK is just an exchange of information,
  165. not a command.  So when you get this information, just stash it away for
  166. later use.  The main time it is useful is when you are in server mode and
  167. you receive a GET command packet.
  168.  
  169. >    If the WHATAMI value is always used "immediately" it matters very
  170. >    little how or when Kermit clears the saved value.
  171. At the end of each transaction (B or E packet, etc) -- just in case the
  172. client switches software on you without breaking the connection.
  173.  
  174. > 4) Is the sense of FNAMES really "inverted" as described in Draft 2?
  175. >    The description says literal names are like binary, and converted
  176. >    are like text.  Why, then, does binary=1 while literal=0?
  177. You're right, it's inconsistent, but it's not a mistake.
  178.  
  179. > 5) Another point about the draft: the bit "names" in the figure do not
  180. >    match those in the descriptions below, nor are the latter in the
  181. >    same order.
  182. I'll check that, thanks.
  183.  
  184. - Frank
  185.  
  186. 24-Jun-94 17:42:21-GMT,3479;000000000011
  187. Received: from cuvmb.cc.columbia.edu by watsun.cc.columbia.edu with SMTP id AA02620
  188.   (5.65c+CU/IDA-1.4.4/HLK for <fdc@watsun.CC.COLUMBIA.EDU>); Fri, 24 Jun 1994 13:42:20 -0400
  189. Received: from CUVMB.CC.COLUMBIA.EDU by CUVMB.CC.COLUMBIA.EDU (IBM VM SMTP V2R1)
  190.    with BSMTP id 5547; Fri, 24 Jun 94 13:42:34 EDT
  191. Date: Fri, 1994 Jun 24   13:35 EDT
  192. From: "John F. Chandler"   <JCHBN@CUVMB.CC.COLUMBIA.EDU>
  193. To: Frank da Cruz   <fdc@watsun.CC.COLUMBIA.EDU>
  194. Subject: Re: Another Kermit protocol change
  195. In-Reply-To: fdc@watsun.cc.columbia.edu message
  196.    <CMM.0.90.4.771265596.fdc@watsun.cc.columbia.edu> of Fri, 10 Jun 94 12:26:36
  197.    EDT
  198. Message-Id: <JCHBN.940624.133511.RC0@CUVMB.CC.COLUMBIA.EDU>
  199.  
  200. Frank,
  201.    The operator was able to clear my disabled session.  Thanks.  I now
  202. have a seemingly functional implementation of the WHATAMI feature.
  203. However, I have some questions about the draft:
  204.  
  205. 1) For the purposes of this feature, what is a "protocol transaction"?
  206.    E.g., is it any sequence of packets starting with an "I" or "S"?
  207.    Is it a "file" transfer (successful or not)?  Do transfers include
  208.    short replies to server queries?
  209.  
  210. 2) Should the switch caused by WHATAMI be "permanent"?  I believe it
  211.    should.  To the user, it should appear as if a REMOTE SET FILE TYPE
  212.    had been issued.  Also, unlike the switch made by a receiver in
  213.    response to an "A" packet, this switch has no clearly-defined scope.
  214.    It may need to be in effect during the transfer of more than one file
  215.    (as in GET *), or it may not affect any files at all (if the GET
  216.    request cannot be honored).
  217.  
  218. 3) Should the switch be made upon detecting a GET request?  Should it be
  219.    made whenever a SEND operation begins in server mode?  Should it
  220.    occur whenever a WHATAMI is received?  If the intent is to make SET
  221.    FILE TYPE at the client propagate to the server, then it should do so
  222.    at every opportunity, including both the "I" packet (if any) received
  223.    before *any* server command and the "Y" packet received after sending
  224.    the "S" that starts *any* outward transmission.
  225.  
  226.    Other considerations: the point where the switch actually takes place
  227.    may not matter in practice.  Unless the user issues FINISH, CONNECT,
  228.    SHOW FILE, it makes no difference whether the server happens to be
  229.    in binary mode at any given instant.  However, I would like to see
  230.    a situation which is as straightforward as possible for the expert,
  231.    not just for the tyro.  Therefore, there is a motivation for making
  232.    the choice *standard*, whatever it happens to be.  My initial
  233.    implementation places the switch operation in SEND (just after the
  234.    exchange of S/Y packets), but I am inclined to favor moving it to
  235.    the routine that interprets a received parameter packet (S/I/Y).
  236.    If the WHATAMI value is always used "immediately" it matters very
  237.    little how or when Kermit clears the saved value.
  238.  
  239. 4) Is the sense of FNAMES really "inverted" as described in Draft 2?
  240.    The description says literal names are like binary, and converted
  241.    are like text.  Why, then, does binary=1 while literal=0?
  242.  
  243. 5) Another point about the draft: the bit "names" in the figure do not
  244.    match those in the descriptions below, nor are the latter in the
  245.    same order.
  246.  
  247. Previously, I argued that bit 5 of the WHATAMI value could be reused
  248. someday if there were a need for one more bit, but I take that back.
  249. I was forgetting that the default has to be *ignore*.
  250.                                        John
  251.  
  252. 24-Jun-94 21:57:02-GMT,3255;000000000015
  253. Received: from cuvmb.cc.columbia.edu by watsun.cc.columbia.edu with SMTP id AA17828
  254.   (5.65c+CU/IDA-1.4.4/HLK for <fdc@watsun.CC.COLUMBIA.EDU>); Fri, 24 Jun 1994 17:56:58 -0400
  255. Received: from CUVMB.CC.COLUMBIA.EDU by CUVMB.CC.COLUMBIA.EDU (IBM VM SMTP V2R1)
  256.    with BSMTP id 9921; Fri, 24 Jun 94 17:57:11 EDT
  257. Date: Fri, 1994 Jun 24   17:01 EDT
  258. From: "John F. Chandler"   <JCHBN@CUVMB.CC.COLUMBIA.EDU>
  259. To: Frank da Cruz   <fdc@watsun.CC.COLUMBIA.EDU>
  260. Subject: Re: Another Kermit protocol change
  261. In-Reply-To: fdc@watsun.cc.columbia.edu message
  262.    <CMM.0.90.4.772480948.fdc@watsun.cc.columbia.edu> of Fri, 24 Jun 94 14:02:28
  263.    EDT
  264. Message-Id: <JCHBN.940624.170114.RC0@CUVMB.CC.COLUMBIA.EDU>
  265.  
  266. > >    Should it be
  267. > >    made whenever a SEND operation begins in server mode?
  268. > >
  269. > I guess so, but that shouldn't matter because the old method worked here
  270. > anyway (file type in A packet).
  271.  
  272. No, I meant a SEND from the server's standpoint.  In other words, the
  273. server gets a GET command, does some validation and housekeeping, and
  274. then begins a SEND operation.  My question was whether the switch should
  275. be closely tied to the GET processing or not.  Consider the user command
  276. REMOTE KERMIT REMOTE PRINT file.  Or the command REMOTE KERMIT SEND
  277. file.  You could argue that PRINT should always be in text mode, but I
  278. think there are exceptions.  You could argue that REM KER SEND is a
  279. synonym for GET, but it isn't quite.  It is *not* enough to make the
  280. switch when and only when a GET is received.  The immediate fallback
  281. position is to do the switch as part of any SEND operation.  Or...
  282.  
  283. > >    Should it
  284. > >    occur whenever a WHATAMI is received?
  285. > >
  286. > I don't think so.  The S/I-packet/ACK is just an exchange of information,
  287. > not a command.
  288.  
  289. I'm arguing that this feature is designed to *make* this into a command
  290. (or, rather, to make the SET FILE xxx at the client be a command to the
  291. server).  Admittedly, the "command" doesn't take effect right away --
  292. not until an exchange of information occurs, but the naive user is
  293. supposedly assuming that the command is forwarded to the server.  If
  294. you're serious about honoring that model, do it all the way.
  295.  
  296. > At the end of each transaction (B or E packet, etc) -- just in case the
  297. > client switches software on you without breaking the connection.
  298.  
  299. In short, the saved WHATAMI value has no "archival" use -- there is
  300. really no point in saving it at all, aside from some reluctance to
  301. switch modes without really "needing" to.  I argue that there *is* a
  302. need to honor the WHATAMI "command" immediately, even if the user is
  303. not planning to do any GET requests -- just so that Kermit doesn't
  304. become hopelessly schizophrenic.  Remember that there is no need to
  305. send an "I" packet before the "R" packet of a GET request unless
  306. some parameters have changed since the last exchange of info.  Even
  307. though both CK and MSK apparently send an "I" packet unconditionally,
  308. there is no logical reason why they should, and the draft doesn't say
  309. they *must* in order to be WHATAMI-compliant, *and*, if the server
  310. can react to the "Y" response to its "S" packet after beginning to
  311. act upon a GET request, there is no justification for requiring an
  312. unconditional "I"-before-"R".
  313.                                        John
  314.  
  315. 25-Jun-94 21:04:23-GMT,3259;000000000001
  316. Received: by watsun.cc.columbia.edu id AA02176
  317.   (5.65c+CU/IDA-1.4.4/HLK for fdc); Sat, 25 Jun 1994 17:04:22 -0400
  318. Date: Sat, 25 Jun 94 17:04:21 EDT
  319. From: Frank da Cruz <fdc@watsun.cc.columbia.edu>
  320. To: "John F. Chandler" <JCHBN@CUVMB.CC.COLUMBIA.EDU>
  321. Subject: Re: Another Kermit protocol change
  322. In-Reply-To: Your message of Fri, 1994 Jun 24 17:01 EDT
  323. Message-Id: <CMM.0.90.4.772578261.fdc@watsun.cc.columbia.edu>
  324.  
  325. > No, I meant a SEND from the server's standpoint.  In other words, the
  326. > server gets a GET command, does some validation and housekeeping, and
  327. > then begins a SEND operation.  My question was whether the switch should
  328. > be closely tied to the GET processing or not.  Consider the user command
  329. > REMOTE KERMIT REMOTE PRINT file.  Or the command REMOTE KERMIT SEND
  330. > file.  You could argue that PRINT should always be in text mode, but I
  331. > think there are exceptions.  You could argue that REM KER SEND is a
  332. > synonym for GET, but it isn't quite.  It is *not* enough to make the
  333. > switch when and only when a GET is received.  The immediate fallback
  334. > position is to do the switch as part of any SEND operation.  Or...
  335. I had not considered REMOTE KERMIT.  But K-370 is the only one that
  336. implements it -- it's too hard for everybody else.  So yes, if you are
  337. a server, and about to send (a) file(s), then sure, check the WHATAMI
  338. bits from the client and make the switch at that point too.
  339.  
  340. > > >    Should it occur whenever a WHATAMI is received?
  341. > > >
  342. > > I don't think so.  The S/I-packet/ACK is just an exchange of information,
  343. > > not a command.
  344. > I'm arguing that this feature is designed to *make* this into a command
  345. > (or, rather, to make the SET FILE xxx at the client be a command to the
  346. > server).  Admittedly, the "command" doesn't take effect right away --
  347. > not until an exchange of information occurs, but the naive user is
  348. > supposedly assuming that the command is forwarded to the server.  If
  349. > you're serious about honoring that model, do it all the way.
  350. I suppose you might be right, but in practice I don't see where it makes
  351. a difference.  Maybe I'm just not thinking hard enough about it.
  352.  
  353. > > At the end of each transaction (B or E packet, etc) -- just in case the
  354. > > client switches software on you without breaking the connection.
  355. > In short, the saved WHATAMI value has no "archival" use -- there is
  356. > really no point in saving it at all, aside from some reluctance to
  357. > switch modes without really "needing" to.  I argue that there *is* a
  358. > need to honor the WHATAMI "command" immediately, even if the user is
  359. > not planning to do any GET requests -- just so that Kermit doesn't
  360. > become hopelessly schizophrenic.  Remember that there is no need to
  361. > send an "I" packet before the "R" packet of a GET request unless
  362. > some parameters have changed since the last exchange of info.  Even
  363. > though both CK and MSK apparently send an "I" packet unconditionally,
  364. > there is no logical reason why they should, and the draft doesn't say
  365. > they *must* in order to be WHATAMI-compliant, *and*, if the server
  366. > can react to the "Y" response to its "S" packet after beginning to
  367. > act upon a GET request, there is no justification for requiring an
  368. > unconditional "I"-before-"R".
  369. OK, I'm coming around...
  370.  
  371. - Frank
  372.  
  373. 24-Jun-94 20:33:03-GMT,792;000000000001
  374. Received: from mail.swip.net by watsun.cc.columbia.edu with SMTP id AA12889
  375.   (5.65c+CU/IDA-1.4.4/HLK for <fdc@watsun.cc.columbia.edu>); Fri, 24 Jun 1994 16:32:55 -0400
  376. Received: by mail.swip.net (8.6.8/2.01)
  377.     id WAA22244; Fri, 24 Jun 1994 22:32:54 +0200
  378. Received: by kullmar.se (4.1/SMI-4.1)
  379.     id AA14972; Fri, 24 Jun 94 21:17:59 +0200
  380. Date: Fri, 24 Jun 94 21:17:59 +0200
  381. From: bk@kullmar.se (Bo Kullmar)
  382. Message-Id: <9406241917.AA14972@kullmar.se>
  383. To: fdc@watsun.cc.columbia.edu
  384. Subject: Re: C-Kermit "Feature?"
  385.  
  386. > What's your opinion?
  387.  
  388. This only applays to server mode? If that is the case I think it is ok
  389. to change it! But I think that we need some kind of message when the
  390. clients file type is changed. It looks like that this also applys to
  391. file name litteral/converted.
  392.  
  393. --Bo Kullmar
  394.  
  395.