最近久々に T-gnus を最新に上げたところ User-Agent が短かくなりました。
実害はないのですが、slim の怪しい(^^; コードネームが出ないのが淋しいで
すね。(爆)
User-Agent な環境です...って情報が足りません。(←実害?)
以下に書きます。
apel 10.3
emy 1.13-200106280559
slim 1.14.7
t-gnus 6.15.4-05-quimby
6.15.4-05-quimby-200107310008.patch
Meadow 1.10
OS Win98SE
--
三橋雅昭 mas...@tsi.co.jp
三橋さん> 最近久々に T-gnus を最新に上げたところ User-Agent が短かくな
三橋さん> りました。実害はないのですが、slim の怪しい(^^; コードネーム
三橋さん> が出ないのが淋しいですね。(爆)
こないだ gnus-message-make-user-agent という関数を書き換えた (*)
ので、何かミスったかと一瞬思ったんですが、違うようですね。:-)
(*) 使い方の一例を doc-string に書いてあります。
三橋さん> emy 1.13-200106280559
2001-06-28 TAKAHASHI Kaoru <ka...@kaisei.org>
* mime-edit.el (mime-edit-translate-body): Don't insert User-Agent
field.
(mime-edit-insert-user-agent-field): Changed default value to nil;
Fixed docstring.
EMY だけで行なわれたこれですね。これの凄いところは、ユーザオプショ
ンの mime-edit-insert-user-agent-field を t にしても、絶対に挿入
してくれないことなんですが、これで良いのでしょうか? → 高橋さん。
;; 個人的に今の User-Agent は大きすぎるなあ、とは思っていますが。
--
Katsumi Yamaoka <yam...@jpl.org>
From: Katsumi Yamaoka <yam...@jpl.org>
Subject: Re: User-Agent
Date: Tue, 31 Jul 2001 12:23:16 +0900
> * mime-edit.el (mime-edit-translate-body): Don't insert User-Agent
> field.
> (mime-edit-insert-user-agent-field): Changed default value to nil;
> Fixed docstring.
> EMY だけで行なわれたこれですね。これの凄いところは、ユーザオプショ
> ンの mime-edit-insert-user-agent-field を t にしても、絶対に挿入
> してくれないことなんですが、これで良いのでしょうか? → 高橋さん。
デフォルトで short User-Agent field になるというのは意図したところ
です。が、mime-edit-insert-user-agent-field を t にしても verbose
User-Agent field にならないというのは意図したところではありません。
MUA側で mime-edit-insert-user-agent-field と
mime-edit-user-agent-value を見て User-Agent: を作っているのだから、
わざわざ EMY で User-Agent: を入れる必要もないという考えでした。
MUA側でその2変数を参照するのがいいのかはわかりません。
;; cmail を忘れてるわけじゃありません。
ユーザオプションで verbose User-Agent field にできないというのは意
図したところではないので、
* mime-edit.el (mime-edit-translate-body): Don't insert User-Agent
field.
の変更は戻しました。
> ;; 個人的に今の User-Agent は大きすぎるなあ、とは思っていますが。
私は今の verbose なやつが好みですが、デフォルトは短い方がいいと考
えています。
--
TAKAHASHI "beatmaria" Kaoru (高橋 郁) <ka...@kaisei.org>
;; 絶対に挿入してくれない方が EMY らしいのかしら
>>>>> In [semi-gnus-ja : No.6182]
>>>>> TAKAHASHI Kaoru <ka...@se.uec.ac.jp> wrote:
山岡> EMY だけで行なわれたこれですね。これの凄いところは、ユーザオプショ
山岡> ンの mime-edit-insert-user-agent-field を t にしても、絶対に挿入
山岡> してくれないことなんですが、これで良いのでしょうか? → 高橋さん。
高橋さん> デフォルトで short User-Agent field になるというのは意図した
高橋さん> ところです。が、mime-edit-insert-user-agent-field を t にし
高橋さん> ても verbose User-Agent field にならないというのは意図したと
高橋さん> ころではありません。
高橋さん> MUA側で mime-edit-insert-user-agent-field と
高橋さん> mime-edit-user-agent-value を見て User-Agent: を作っているの
高橋さん> だから、わざわざ EMY で User-Agent: を入れる必要もないという
高橋さん> 考えでした。
T-gnus のデフォルトの動作ではそのどちらも参照していなくて、ただ
MIME-Edit が挿入した User-Agent: フィールドが存在していたら、そ
の先頭に "T-gnus/..." を追加します。
山岡> ;; 個人的に今の User-Agent は大きすぎるなあ、とは思っていますが。
高橋さん> 私は今の verbose なやつが好みですが、デフォルトは短い方がい
高橋さん> いと考えています。
ぼくは何でも手で書き換えられるようにしておくのが好みなので、ドラ
フトを書く段階ですでに、ヘッダに User-Agent が存在するようにして
います。例えば、形式ばったメールを出すときは User-Agent や
X-Face を付けないようにするとか。
先の記事で触れた gnus-message-make-user-agent はそういうことを意
図して作ったものでした。
--
Katsumi Yamaoka <yam...@jpl.org>
Kaoru> 私は今の verbose なやつが好みですが、デフォルトは短い方がいいと考
Kaoru> えています。
「短かい」じゃなく、ボクはこの折り返しされない長い
User-Agent の方が気になっています。
User-Agent: Wanderlust/2.6.0 (Twist And Shout) SUTEMI/1.14.3 (GUILTY) LIMIT/1.14.7 (Fujiidera) APEL/10.3 MULE XEmacs/21.5 (beta1) (anise) (i386-unknown-freebsd4.3)
X-ML-COUNT: 6182
や
User-Agent: T-gnus/6.15.4 (based on Oort Gnus v0.04) (revision 02) SEMI/1.14.3 (Ushinoya) FLIM/1.14.2 (Yagi-Nishiguchi) APEL/10.3 Emacs/20.7 (sparc-sun-solaris2.6) MULE/4.0 (HANANOEN)
X-ML-COUNT: 6175
などなど。
--
こせき @ Meadow のページも作成中
http://www.NetLaputa.ne.jp/~kose/Emacs/Meadow/
ko...@yk.NetLaputa.ne.jp
Kaoru> 私は今の verbose なやつが好みですが、デフォルトは短い方がいいと
Kaoru> 考えています。
小関さん> 「短かい」じゃなく、ボクはこの折り返しされない長い
小関さん> User-Agent の方が気になっています。
小関さん> X-ML-COUNT: 6182
小関さん> や
小関さん> X-ML-COUNT: 6175
小関さん> などなど。
小関さん、それを言うなら場所が違う。(^o^)
ぼくのがちゃんと折り返して見えるとしたら、ドラフトを書く段階で、
すでにそうなっているからです。
--
Katsumi Yamaoka <yam...@jpl.org>
;; 折り返さないのを付けてみたけど...。
山岡> 小関さん、それを言うなら場所が違う。(^o^)
違った。
ごめんなさい、てっきり Oort Gnus は伝送されてきたままを表示して
しまうんだと思っていましたが、そうじゃないみたいですね。(^^;;)
--
Katsumi Yamaoka <yam...@jpl.org>
山岡> ごめんなさい、てっきり Oort Gnus は伝送されてきたままを表示して
山岡> しまうんだと思っていましたが、そうじゃないみたいですね。(^^;;)
小関さんにあらぬ言葉を浴びせてしまったお詫びのしるしとして、
User-Agent の折り返しに関する調査結果をば。
Wanderlust や T-gnus でメッセージを送信するときは、User-Agent の
ボディに非 ascii 文字が含まれていた場合だけ MIME エンコードに伴っ
て行の折り返しが行なわれ、受信したものを表示するときは、内容に関
わらず行の折り返しをやり直します。したがって普通に読んでいるだけ
ならば、生のメッセージに含まれている User-Agent が折り返している
かどうかわかりません。
一方 Oort Gnus で受信したメッセージを表示するときは、User-Agent
に MIME エンコードされた非 ascii 文字が含まれている場合だけ、
MIME デコードに伴って行の折り返しをやり直すようです。
そこで、Wanderlust や T-gnus などで送信するメッセージに付加され
る User-Agent に非 ascii 文字が含まれていない場合でも、必ず折り
返すようにする advice を作ってみました。
念のために申し上げますが、このようなものは普通は要らないものです。
T-gnus では gnus-message-make-user-agent を使って送信前のバッファ
に挿入する方が、そういうことが気になる人にはお勧めです。
(defadvice mime-encode-header-in-buffer
(before fold-user-agent-field activate)
"Force to fold User-Agent field even if it does not have non-ascii chars."
(save-excursion
(save-restriction
(std11-narrow-to-header mail-header-separator)
(goto-char (point-min))
(let (from to)
(while (re-search-forward std11-field-head-regexp nil t)
(setq from (match-end 0))
(if (and (string-equal "user-agent"
(downcase (buffer-substring-no-properties
(match-beginning 0) (1- from))))
(progn
(setq to (std11-field-end))
(not (delq 'ascii (find-charset-region from to)))))
(progn
(insert (mime-encode-field-body
(buffer-substring-no-properties from to)
"user-agent"))
(delete-region from to))))))))
逆に Oort Gnus 側で何かの関数を advise して、適切に折り返したも
のを表示することができるかもしれませんね。いや、もし User-Agent
フィールドが人間に読まれることも想定しているのであれば、むしろ
Oort Gnus に標準装備すべき機能でしょう。
--
Katsumi Yamaoka <yam...@jpl.org>
いつもいろいろとありがとうございます。
おかげさまで User-Agent が長くなりました。(^^)
>>>>> In [semi-gnus-ja : No.6181]
>>>>>Katsumi Yamaoka <yam...@jpl.org> wrote:
> こないだ gnus-message-make-user-agent という関数を書き換えた (*)
> ので、何かミスったかと一瞬思ったんですが、違うようですね。:-)
> (*) 使い方の一例を doc-string に書いてあります。
C-h f で素早く見られるんですね。一つ利口になりました。
--
三橋雅昭 mas...@tsi.co.jp
code name が ascii だけの FLIM/SEMI を使った場合だけ
「行の折り返しをしないヘッダを付けて送信する。」
が気になったのでした。
(code name を日本語表記にしている人のヘッダは折り返しされま
す。)
山岡> 受信したものを表示するときは、内容に関
山岡> わらず行の折り返しをやり直します。したがって普通に読んでいるだけ
山岡> ならば、生のメッセージに含まれている User-Agent が折り返している
山岡> かどうかわかりません。
表示する場合に折り返しをするかどうかについてはそれほど気にな
っていません。(どっちでも良いと思ってる)
山岡> 一方 Oort Gnus で受信したメッセージを表示するときは、User-Agent
山岡> に MIME エンコードされた非 ascii 文字が含まれている場合だけ、
山岡> MIME デコードに伴って行の折り返しをやり直すようです。
山岡> そこで、Wanderlust や T-gnus などで送信するメッセージに付加され
山岡> る User-Agent に非 ascii 文字が含まれていない場合でも、必ず折り
山岡> 返すようにする advice を作ってみました。
山岡> 念のために申し上げますが、このようなものは普通は要らないものです。
山岡> T-gnus では gnus-message-make-user-agent を使って送信前のバッファ
山岡> に挿入する方が、そういうことが気になる人にはお勧めです。
o 長い行のまま送信する。
o 折り返した方が良い。
どっち? 折り返すべきなのかどうか、どっち?
小関さん> code name が ascii だけの FLIM/SEMI を使った場合だけ
小関さん> 「行の折り返しをしないヘッダを付けて送信する。」
小関さん> が気になったのでした。
小関さん> (code name を日本語表記にしている人のヘッダは折り返しされま
小関さん> す。)
ふだん Oort Gnus はヨソ行き (ding とか) で使っているだけなので、
気にしたこともありませんでした。しかし (この続きは最後に書きます)。
小関さん> o 長い行のまま送信する。
小関さん> o 折り返した方が良い。
小関さん> どっち? 折り返すべきなのかどうか、どっち?
人間に読んでもらうために表示のときだけ折り返す機能はあって良いと
思いますが、生のメッセージがどうなっているべきかは MTA に依存す
るのではないでしょうか?
1000 桁を越える User-Agent で実験してみたところ、sendmail の
SMTP サーバは受け付けてくれましたが、INN の NNTP サーバには拒否
されてしまいました。また、そんな長い User-Agent が付いたメールを
受信して T-gnus で表示すると、折り返してくれませんでした。:-p
--
Katsumi Yamaoka <yam...@jpl.org>
} SMTP サーバは受け付けてくれましたが、INN の NNTP サーバには拒否
} されてしまいました。
1036 には記述はないですが、draft-ietf-usefor-article-05 等では
article = 1*header separator body
body = *( *998text CRLF )
とあり、nnrpd ではこのチェックもどきがかかってます。header/body
にかかわらず単純に \r\n を含めて一行が 1000 bytes を越えた場合
に拒否するようになってます。header の byte 数を考慮するとこの
チェックは正確じゃないですが。
--
Katsuhiro Kondou
>} SMTP サーバは受け付けてくれましたが、INN の NNTP サーバには拒否
>} されてしまいました。
近藤さん> 1036 には記述はないですが、draft-ietf-usefor-article-05 等では
近藤さん> article = 1*header separator body
近藤さん> body = *( *998text CRLF )
近藤さん> とあり、nnrpd ではこのチェックもどきがかかってます。
実は 1000桁くらいの制限があったと微かに記憶していたのですが、や
はりそうだったんですね。
近藤さん> header/body にかかわらず単純に \r\n を含めて一行が 1000 bytes
近藤さん> を越えた場合に拒否するようになってます。header の byte 数を考
近藤さん> 慮するとこのチェックは正確じゃないですが。
ぼくも例外ではありませんが、本文より大きなヘッダを作る傾向が強い
人は気を付けましょう。:-p
--
Katsumi Yamaoka <yam...@jpl.org>