Ticket #44691

C-Kermit 9.0.305 Alpha.05 以降からの受信が行えない

Open Date: 2022-05-27 23:34 Last Update: 2023-01-10 21:50

Reporter:
Owner:
(None)
Type:
Status:
Closed
Component:
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
Fixed
File:
None
Vote
Score: 0
No votes
0.0% (0/0)
0.0% (0/0)

Details

Kermitでのファイル受信が行えない。ファイルの受信を行うと、Kermit受信ダイアログが出て最初のパケットを受け取った所で止まる。

バージョン

以下の組み合わせで発生

  • ローカル側: Tera Term 4.73以降、5.0alpha1
  • リモート側: C-Kermit:9.0.305.Alpha.06, 10.0 Beta.02

ローカル側が Tera Term 4.72 までや、リモート側が C-Kermit 9.0.302, 9.0.304, G-Kermit CU-1.00 では発生しない。

Ticket History (3/16 Histories)

2022-05-27 23:34 Updated by: doda
  • New Ticket "kermitでの受信が行えない" created
2022-06-16 20:54 Updated by: nmaya
Comment

発生する・しない環境の境目

C-Kermit 9.0.305 Alpha.049.0.305 Alpha.05
Tera Term 4.72OKOK
4.73-OKNG

2022-06-20 01:50 Updated by: nmaya
Comment

4.72 から 4.73 までの kermit.c の変更は r4802, r4803, r4810, r4812, r4816, r4824, r4832, r4836, r4837, r4838, r4839

r4801 では問題が起こらず、r4802 から発生する。

cf. 変更の経緯は 旧ユーザML teraterm:1126 以降

2022-06-20 08:50 Updated by: nmaya
Comment

cku305-alpha05 からは Long Packet (2バイト目が0) が送られてきている。

cku305-alpha04
0x030074E0  01 7b 22 44 23 23 69 6e 63 6c 75 64 65 20 22 63  .{"D##include "c
0x030074F0  6b 63 73 79 6d 2e 68 22 23 4d 23 4a 63 68 61 72  kcsym.h"#M#Jchar
0x03007500  20 2a 77 61 72 74 76 20 3d 20 22 57 61 72 74 20   *wartv = "Wart 
0x03007510  56 65 72 73 69 6f 6e 20 32 2e 31 35 2c 20 31 38  Version 2.15, 18
0x03007520  20 53 65 70 74 65 6d 62 65 72 20 32 30 32 30 20   September 2020 
0x03007530  22 3b 23 4d 23 4a 23 4d 23 4a 23 23 30 cd cd cd  ";#M#J#M#J##0ヘヘヘ

cku305-alpha05
0x02EAEA20  01 20 22 44 21 20 2a 23 23 69 6e 63 6c 75 64 65  . "D! *##include
0x02EAEA30  20 22 63 6b 63 73 79 6d 2e 68 22 23 4d 23 4a 63   "ckcsym.h"#M#Jc
0x02EAEA40  68 61 72 20 2a 77 61 72 74 76 20 3d 20 22 57 61  har *wartv = "Wa
0x02EAEA50  72 74 20 56 65 72 73 69 6f 6e 20 32 2e 31 35 2c  rt Version 2.15,
0x02EAEA60  20 31 38 20 53 65 70 74 65 6d 62 65 72 20 32 30   18 September 20
0x02EAEA70  32 30 20 22 3b 23 4d 23 4a 23 4d 23 4a 23 23 cd  20 ";#M#J#M#J##ヘ

Tera Term は TERATERM.INI で KmtLongPacket=on としないと、Long Packet を扱わない。送信しない。

onになっていないと「私はLong Packetを受信する」とリモートに伝えないが、それでも送ってきたら受信している。

(Edited, 2022-08-23 00:53 Updated by: nmaya)
2022-06-20 08:54 Updated by: nmaya
Comment

現在の仕様だとこの ticket は INVALID になりますが、KmtLongPacket 設定を見て ts->KermitOpt |= KmtOptLongPacket; しています。

無条件に有効にすることもできますが、なにかの副作用を心配してこうしたのだと思います。どうしましょうか?

(Edited, 2022-08-14 13:48 Updated by: nmaya)
2022-08-14 13:54 Updated by: nmaya
Comment

C-Kermit 9.0.305 Alpha.05 以降は、Tera Term が「Long Packet に対応している」と応答していないのに Long Packet を送ってきています。

  • 最初に C-Kermit から来る SendInitiate
  • Tera Term からの ACK
<<<
01 39 20 53 7E 90 20 40 2D 23 59 33 7E 5E 3E 4A     .9 S~. @-#Y3~^>J
29 30 5F 5F 5F 4E 22 55 31 40 26                    )0___N"U1@&
MARK=1 LEN=25 SEQ#=0 TYPE=SendInitiate DATA_LEN=22
  Data: MAXL=94 TIME=112 NPAD=0 PADC=0 EOL=2d QCTL=# QBIN=Y CHKT=3 REPT=~ CAPAS=5e WINDO=3e MAXLX1=4a MAXLX2=29 

>>>
01 30 20 59 BF 2A 20 40 2D 23 4E 31 7E 22 20 4A     .0 Y.* @-#N1~" J
2A 58                                               *X
MARK=1 LEN=16 SEQ#=0 TYPE=ACK DATA_LEN=13

相手が C-Kermit 9.0.305 Alpha.04, C-Kermit 9.0.305 Alpha.05 で全く同じです。

C-Kermit 側のバグでしょうか?

(Edited, 2022-08-14 20:11 Updated by: nmaya)
2022-08-14 20:57 Updated by: nmaya
Comment

止めずに受信するようにして試してみました。

  • 305-alpha04 では、LEN=90-93(datalen=87-90) の Normal Packet が送られてきます。
  • 305-alpha05 では、LEN=94(datalen=91) の Normal Packet, LENX=93-95(datalen=92-94) の Long Packet が送られてきます。

サイズが大きくないので、サポートしていない Long Packet を意図的に送ってきている感じはしません。

Long Packet で MAXLEN が 4000 なのに 4001 のデータが飛んでくる(#44873)ことも併せて考えると、C-Kermit には

  • 305-alpha05 から MAXL ギリギリまで使うようになった
  • Long Pakcet の時に「リモート(Tera Term)の MAXL + 1」で送ってくるバグがあるのではないか
  • Normal Packet の時に「リモート(Tera Term)の MAX + 1から3」で送ってくる(ゆえに Long Packet になる)バグがあるのではないか

という感じがします。

(Edited, 2022-08-16 20:00 Updated by: nmaya)
2022-08-19 02:02 Updated by: nmaya
Comment

C-Kermit の挙動を The Kermit Project に報告しました。

C-Kermit 側が修正されても #44873 の問題により受信できません。

r10174 この問題があっても受信できる回避策

(Edited, 2022-08-23 20:54 Updated by: nmaya)
2022-08-23 00:48 Updated by: nmaya
  • Type Update from Bugs to Reminds
  • Summary Updated
2022-09-03 19:12 Updated by: nmaya
Comment

途中経過です。

C-Kermit 側で採取した packet.log を送りましたが、コントロールフィールドに 8bit 文字(8進の220)が含まれている、よってログファイルが壊れている、と連絡がありました。

送ったのは採取したログファイルそのものであること、受信側(Tera Term)のログにもその文字が現れていること、その文字を送っているのは C-Kermit であることを伝えました。

01 39 20 53 7E 90 20 40 2D 23 59 33 7E 5E 3E 4A     .9 S~. @-#Y3~^>J
29 30 5F 5F 5F 4E 22 55 31 40 26                    )0___N"U1@&
MARK=1 LEN=25 SEQ#=0 TYPE=SendInitiate DATA_LEN=22
  Data: MAXL=94 TIME=112 NPAD=0 PADC=0 ...

(8進の220)= 0x90 = TIME=112

そしたら、調べてみるとの返事がありました。

2022-09-15 20:25 Updated by: nmaya
Comment

Normal Packet の時に「リモート(Tera Term)の MAX + 1から3」で送ってくる(ゆえに Long Packet になる)バグがあるのではないか

こちらは次のリリースで直りそうです。

「Long Packet を受信する」と言っていないのに Long Packet を送ってきても、Tera Term は Long Pakcet を受信します。

なので、これが直っても「本当に Long Packet を受信しないソフト」に対してのみ効果がある修正ということになります。

Long Pakcet の時に「リモート(Tera Term)の MAXL + 1」で送ってくるバグがあるのではないか

こちらも最初から説明しているのですが、いまいち分かってもらえていないのか、今のところ直っていません。

説明(リクエスト)を続けています。

2022-09-23 18:05 Updated by: nmaya
Comment

Long Pakcet の時に「リモート(Tera Term)の MAXL + 1」で送ってくるバグがあるのではないか

直してもらえました。おそらくC-Kermit 10.0 Beta.05 が出たら修正されていると思います。

2022-10-04 21:32 Updated by: nmaya
Comment

10.0 Beta.05 が出ました。問題なさそうです。

https://www.kermitproject.org/ftp/kermit/test/tar/cku400-beta05.tar.gz

(Edited, 2022-10-04 21:32 Updated by: nmaya)
2022-10-08 08:32 Updated by: nmaya
  • Resolution Update from None to Fixed
Comment

r10302 で 4-stable にマージしました。

2023-01-10 21:50 Updated by: nmaya
  • Status Update from Open to Closed
2023-01-10 21:50 Updated by: nmaya

Attachment File List

No attachments

Edit

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login