Tíquete #26751

YMODEM 受信に失敗する

: 2011-11-16 21:16 Última Atualização: 2012-01-21 13:13

Relator:
(del#1144)
Dono:
(del#24082)
Tipo:
Estado:
Fechado
Componente:
Prioridade:
5 - Medium
Gravidade:
5 - Medium
Resolução:
Invalid
Arquivo:
2
Vote
Score: 0
No votes
0.0% (0/0)
0.0% (0/0)

Details

nサーバが Linux の場合には受信に成功するが、FreeBSD の場合は失敗する。

サーバ側はどちらも lrzsz-0.12.20 (パッチレベルは違うかもしれない)で、ファイルはどちらも同一のもの。

各サーバに対しての動作ログを添付しておく。

Ticket History (3/6 Histories)

2011-11-16 21:16 Updated by: (del#1144)
  • New Ticket "YMODEM 受信に失敗する" created
2012-01-04 21:08 Updated by: (del#24082)
  • Dono Update from (Nenhum) to yutakapon
Comentário

ブロック0のフォーマットに違いがあるようです。

Linuxのほうはオールゼロですが、FreeBSDでは最後の3バイトに何か値が入っています。

これにより、Tera Termは「ファイルの終わり」が検出できていません。

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00     ................
00 00 00 01 10 21 
         ^^^^^^^^これはなに?

2012-01-05 01:10 Updated by: (del#1144)
Comentário

後ろ2つはCRCで、後ろから3つ目と4つ目をパケット数として使う実装があるみたいで、最初のファイル名を渡しているブロック0でも 01 が出ていますね。それが「転送終了」のブロック0でも出力されるのは lrzsz 側のバグではないかと思います。

ただ、ソースは同じなのに Linux のほうでは問題の現象が出ていないんですが、その理由は不明です。lrzsz-0.12.20-19.src.rpm をほどいてパッチも見てみましたが、とくに違う様子はないんですが…

2012-01-21 13:13 Updated by: (del#1144)
  • Marco Update from (Nenhum) to Tera Term 4.73 (fechado)
  • Resolução Update from Nenhum to Invalid
  • Estado Update from Aberto to Fechado
  • Ticket Close date is changed to 2012-01-21 13:13
Comentário

lrzsz 側で構造体が明示的に初期化がされておらず、Linux では 0 で暗黙的に初期化しているかたまたま 0 になっているために問題が起こらないようです。

Tera Term 側の対応は不要で、FreeBSD のほうに send-pr しておきました。 http://www.freebsd.org/cgi/query-pr.cgi?pr=164347

Attachment File List

Editar

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